aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
author宋文武 <iyzsong@gmail.com>2015-04-08 16:04:37 +0800
committer宋文武 <iyzsong@gmail.com>2015-04-08 16:04:37 +0800
commitcf3e3e374c4bd1c9f0f976fc8f02f66aff6417dc (patch)
treeb4ce7938c855781af2e0a1e68b3588f96de7e7e1 /gnu/packages/patches
parent4ae7559fd62c03a800b010c228639f18b9f58006 (diff)
parent068a53c36dec5ace42cc3ea89060d9a485592f08 (diff)
downloadguix-cf3e3e374c4bd1c9f0f976fc8f02f66aff6417dc.tar
guix-cf3e3e374c4bd1c9f0f976fc8f02f66aff6417dc.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0817.patch44
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch67
-rw-r--r--gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch28
-rw-r--r--gnu/packages/patches/icecat-bug-1127780.patch25
-rw-r--r--gnu/packages/patches/icecat-bug-1144991.patch76
-rw-r--r--gnu/packages/patches/icecat-bug-1145870.patch43
-rw-r--r--gnu/packages/patches/icecat-bug-1146339.patch162
-rw-r--r--gnu/packages/patches/librep-rules.mk.patch30
-rw-r--r--gnu/packages/patches/linux-libre-libreboot-fix.patch37
-rw-r--r--gnu/packages/patches/linux-libre-vblank-fix.patch175
-rw-r--r--gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch53
-rw-r--r--gnu/packages/patches/pulseaudio-longer-test-timeout.patch13
-rw-r--r--gnu/packages/patches/source-highlight-regexrange-test.patch15
-rw-r--r--gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch45
14 files changed, 323 insertions, 490 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2015-0817.patch b/gnu/packages/patches/icecat-CVE-2015-0817.patch
deleted file mode 100644
index bb530a535d..0000000000
--- a/gnu/packages/patches/icecat-CVE-2015-0817.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From cedbdf8290018fbef65458e9e438c72adf2c2775 Mon Sep 17 00:00:00 2001
-From: Steve Fink <sfink@mozilla.com>
-Date: Thu, 19 Mar 2015 15:46:24 -0700
-Subject: [PATCH] Bug 1145255. r=luke, a=lmandel
-
----
- js/src/jit/AsmJS.cpp | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/js/src/jit/AsmJS.cpp b/js/src/jit/AsmJS.cpp
-index 302b5ab..1b8eed6 100644
---- a/js/src/jit/AsmJS.cpp
-+++ b/js/src/jit/AsmJS.cpp
-@@ -14,6 +14,7 @@
-
- #include "jsmath.h"
- #include "jsprf.h"
-+#include "jsutil.h"
- #include "jsworkers.h"
- #include "prmjtime.h"
-
-@@ -3432,9 +3433,17 @@ FoldMaskedArrayIndex(FunctionCompiler &f, ParseNode **indexExpr, int32_t *mask,
- if (IsLiteralOrConstInt(f, maskNode, &mask2)) {
- // Flag the access to skip the bounds check if the mask ensures that an 'out of
- // bounds' access can not occur based on the current heap length constraint.
-- if (mask2 == 0 ||
-- CountLeadingZeroes32(f.m().minHeapLength() - 1) <= CountLeadingZeroes32(mask2)) {
-+ if (mask2 == 0) {
- *needsBoundsCheck = NO_BOUNDS_CHECK;
-+ } else {
-+ uint32_t minHeap = f.m().minHeapLength();
-+ uint32_t minHeapZeroes = CountLeadingZeroes32(minHeap - 1);
-+ uint32_t maskZeroes = CountLeadingZeroes32(mask2);
-+ if ((minHeapZeroes < maskZeroes) ||
-+ (IsPowerOfTwo(minHeap) && minHeapZeroes == maskZeroes))
-+ {
-+ *needsBoundsCheck = NO_BOUNDS_CHECK;
-+ }
- }
- *mask &= mask2;
- *indexExpr = indexNode;
---
-2.2.1
-
diff --git a/gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch b/gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch
deleted file mode 100644
index 5d396eed6b..0000000000
--- a/gnu/packages/patches/icecat-CVE-2015-0818-pt1.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 79dddb16aaa58f5b5cef49dac6d234f500af3baf Mon Sep 17 00:00:00 2001
-From: Olli Pettay <Olli.Pettay@helsinki.fi>
-Date: Thu, 19 Mar 2015 21:53:32 -0400
-Subject: [PATCH] Bug 1144988 - Don't let other pages to load while doing
- scroll-to-anchor. r=bz, a=lmandel
-
----
- docshell/base/nsDocShell.cpp | 23 ++++++++++++++---------
- docshell/base/nsDocShell.h | 1 +
- 2 files changed, 15 insertions(+), 9 deletions(-)
-
-diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
-index 887c910..14ff3f2 100644
---- a/docshell/base/nsDocShell.cpp
-+++ b/docshell/base/nsDocShell.cpp
-@@ -4204,8 +4204,8 @@ nsDocShell::IsPrintingOrPP(bool aDisplayErrorDialog)
- bool
- nsDocShell::IsNavigationAllowed(bool aDisplayPrintErrorDialog)
- {
-- bool isAllowed = !IsPrintingOrPP(aDisplayPrintErrorDialog) && !mFiredUnloadEvent;
-- if (!isAllowed) {
-+ bool isAllowed = !IsPrintingOrPP(aDisplayPrintErrorDialog) &&
-+ !mFiredUnloadEvent && !mBlockNavigation; if (!isAllowed) {
- return false;
- }
- if (!mContentViewer) {
-@@ -9321,13 +9321,18 @@ nsDocShell::InternalLoad(nsIURI * aURI,
- GetCurScrollPos(ScrollOrientation_X, &cx);
- GetCurScrollPos(ScrollOrientation_Y, &cy);
-
-- // ScrollToAnchor doesn't necessarily cause us to scroll the window;
-- // the function decides whether a scroll is appropriate based on the
-- // arguments it receives. But even if we don't end up scrolling,
-- // ScrollToAnchor performs other important tasks, such as informing
-- // the presShell that we have a new hash. See bug 680257.
-- rv = ScrollToAnchor(curHash, newHash, aLoadType);
-- NS_ENSURE_SUCCESS(rv, rv);
-+ {
-+ AutoRestore<bool> scrollingToAnchor(mBlockNavigation);
-+ mBlockNavigation = true;
-+
-+ // ScrollToAnchor doesn't necessarily cause us to scroll the window;
-+ // the function decides whether a scroll is appropriate based on the
-+ // arguments it receives. But even if we don't end up scrolling,
-+ // ScrollToAnchor performs other important tasks, such as informing
-+ // the presShell that we have a new hash. See bug 680257.
-+ rv = ScrollToAnchor(curHash, newHash, aLoadType);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ }
-
- // Reset mLoadType to its original value once we exit this block,
- // because this short-circuited load might have started after a
-diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h
-index c191777..be353ee 100644
---- a/docshell/base/nsDocShell.h
-+++ b/docshell/base/nsDocShell.h
-@@ -835,6 +835,7 @@ protected:
- bool mInPrivateBrowsing;
- bool mUseRemoteTabs;
- bool mDeviceSizeIsPageSize;
-+ bool mBlockNavigation;
-
- // Because scriptability depends on the mAllowJavascript values of our
- // ancestors, we cache the effective scriptability and recompute it when
---
-2.2.1
-
diff --git a/gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch b/gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch
deleted file mode 100644
index 4eac5df4db..0000000000
--- a/gnu/packages/patches/icecat-CVE-2015-0818-pt2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 83364c747c421b191f9d4012896a9e5a1d5223ad Mon Sep 17 00:00:00 2001
-From: Kyle Huey <khuey@kylehuey.com>
-Date: Fri, 20 Mar 2015 19:15:13 -0700
-Subject: [PATCH] Bug 1144988. r=bz a=lmandel
-
----
- docshell/base/nsDocShell.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
-index 4cddcef..bdf88a5cf 100644
---- a/docshell/base/nsDocShell.cpp
-+++ b/docshell/base/nsDocShell.cpp
-@@ -1322,9 +1322,10 @@ nsDocShell::LoadURI(nsIURI * aURI,
-
- // Note: we allow loads to get through here even if mFiredUnloadEvent is
- // true; that case will get handled in LoadInternal or LoadHistoryEntry.
-- if (IsPrintingOrPP()) {
-+ if (IsPrintingOrPP() || mBlockNavigation) {
- return NS_OK; // JS may not handle returning of an error code
- }
-+
- nsCOMPtr<nsIURI> referrer;
- nsCOMPtr<nsIInputStream> postStream;
- nsCOMPtr<nsIInputStream> headersStream;
---
-2.2.1
-
diff --git a/gnu/packages/patches/icecat-bug-1127780.patch b/gnu/packages/patches/icecat-bug-1127780.patch
deleted file mode 100644
index c433616087..0000000000
--- a/gnu/packages/patches/icecat-bug-1127780.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From cf1de3d04302841aaa05aed8364da3399cbca9b4 Mon Sep 17 00:00:00 2001
-From: Bobby Holley <bobbyholley@gmail.com>
-Date: Tue, 17 Feb 2015 17:47:12 -0500
-Subject: [PATCH] Bug 1127780 - Add null check. r=bz, a=bkerensa
-
----
- js/xpconnect/wrappers/XrayWrapper.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/xpconnect/wrappers/XrayWrapper.h b/js/xpconnect/wrappers/XrayWrapper.h
-index ead095f1..cc8c580 100644
---- a/js/xpconnect/wrappers/XrayWrapper.h
-+++ b/js/xpconnect/wrappers/XrayWrapper.h
-@@ -131,7 +131,7 @@ class XrayWrapper : public Base {
- {
- if (!Base::getPrototypeOf(cx, wrapper, protop))
- return false;
-- if (WrapperFactory::IsXrayWrapper(protop))
-+ if (!protop || WrapperFactory::IsXrayWrapper(protop))
- return true;
-
- protop.set(JS_GetObjectPrototype(cx, wrapper));
---
-2.2.1
-
diff --git a/gnu/packages/patches/icecat-bug-1144991.patch b/gnu/packages/patches/icecat-bug-1144991.patch
deleted file mode 100644
index 5632e37eb3..0000000000
--- a/gnu/packages/patches/icecat-bug-1144991.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From ae49ed04f54c2f78d6ba7e545e0099602a3270fa Mon Sep 17 00:00:00 2001
-From: Boris Zbarsky <bzbarsky@mit.edu>
-Date: Thu, 19 Mar 2015 18:58:44 -0400
-Subject: [PATCH] Bug 1144991 - Be a bit more restrictive about when a
- URI_IS_UI_RESOURCE source is allowed to link to a URI_IS_UI_RESOURCE URI that
- doesn't have the same scheme. r=bholley, a=abillings
-
----
- caps/src/nsScriptSecurityManager.cpp | 38 +++++++++++++++++++++++++-----------
- 1 file changed, 27 insertions(+), 11 deletions(-)
-
-diff --git a/caps/src/nsScriptSecurityManager.cpp b/caps/src/nsScriptSecurityManager.cpp
-index 3587358..6577b95 100644
---- a/caps/src/nsScriptSecurityManager.cpp
-+++ b/caps/src/nsScriptSecurityManager.cpp
-@@ -770,12 +770,31 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal,
- NS_ENSURE_SUCCESS(rv, rv);
- if (hasFlags) {
- if (aFlags & nsIScriptSecurityManager::ALLOW_CHROME) {
-+
-+ // For now, don't change behavior for resource:// or moz-icon:// and
-+ // just allow them.
- if (!targetScheme.EqualsLiteral("chrome")) {
-- // for now don't change behavior for resource: or moz-icon:
- return NS_OK;
- }
-
-- // allow load only if chrome package is whitelisted
-+ // Allow a URI_IS_UI_RESOURCE source to link to a URI_IS_UI_RESOURCE
-+ // target if ALLOW_CHROME is set.
-+ //
-+ // ALLOW_CHROME is a flag that we pass on all loads _except_ docshell
-+ // loads (since docshell loads run the loaded content with its origin
-+ // principal). So we're effectively allowing resource://, chrome://,
-+ // and moz-icon:// source URIs to load resource://, chrome://, and
-+ // moz-icon:// files, so long as they're not loading it as a document.
-+ bool sourceIsUIResource;
-+ rv = NS_URIChainHasFlags(sourceBaseURI,
-+ nsIProtocolHandler::URI_IS_UI_RESOURCE,
-+ &sourceIsUIResource);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ if (sourceIsUIResource) {
-+ return NS_OK;
-+ }
-+
-+ // Allow the load only if the chrome package is whitelisted.
- nsCOMPtr<nsIXULChromeRegistry> reg(do_GetService(
- NS_CHROMEREGISTRY_CONTRACTID));
- if (reg) {
-@@ -787,17 +806,14 @@ nsScriptSecurityManager::CheckLoadURIWithPrincipal(nsIPrincipal* aPrincipal,
- }
- }
-
-- // resource: and chrome: are equivalent, securitywise
-- // That's bogus!! Fix this. But watch out for
-- // the view-source stylesheet?
-- bool sourceIsChrome;
-- rv = NS_URIChainHasFlags(sourceBaseURI,
-- nsIProtocolHandler::URI_IS_UI_RESOURCE,
-- &sourceIsChrome);
-- NS_ENSURE_SUCCESS(rv, rv);
-- if (sourceIsChrome) {
-+ // Special-case the hidden window: it's allowed to load
-+ // URI_IS_UI_RESOURCE no matter what. Bug 1145470 tracks removing this.
-+ nsAutoCString sourceSpec;
-+ if (NS_SUCCEEDED(sourceBaseURI->GetSpec(sourceSpec)) &&
-+ sourceSpec.EqualsLiteral("resource://gre-resources/hiddenWindow.html")) {
- return NS_OK;
- }
-+
- if (reportErrors) {
- ReportError(nullptr, errorTag, sourceURI, aTargetURI);
- }
---
-2.2.1
-
diff --git a/gnu/packages/patches/icecat-bug-1145870.patch b/gnu/packages/patches/icecat-bug-1145870.patch
deleted file mode 100644
index 34a018c697..0000000000
--- a/gnu/packages/patches/icecat-bug-1145870.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a40e2ebc2ab57dacb539d4e49ed4193764ff7112 Mon Sep 17 00:00:00 2001
-From: Kyle Huey <khuey@kylehuey.com>
-Date: Fri, 20 Mar 2015 19:05:56 -0700
-Subject: [PATCH] Bug 1145870. r=bz a=lmandel
-
----
- docshell/base/nsDocShell.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
-index 14ff3f2..4cddcef 100644
---- a/docshell/base/nsDocShell.cpp
-+++ b/docshell/base/nsDocShell.cpp
-@@ -8900,6 +8900,8 @@ nsDocShell::InternalLoad(nsIURI * aURI,
-
- NS_ENSURE_TRUE(!mIsBeingDestroyed, NS_ERROR_NOT_AVAILABLE);
-
-+ NS_ENSURE_TRUE(!mBlockNavigation, NS_ERROR_UNEXPECTED);
-+
- // wyciwyg urls can only be loaded through history. Any normal load of
- // wyciwyg through docshell is illegal. Disallow such loads.
- if (aLoadType & LOAD_CMD_NORMAL) {
-@@ -12570,7 +12572,7 @@ nsDocShell::OnLinkClick(nsIContent* aContent,
- {
- NS_ASSERTION(NS_IsMainThread(), "wrong thread");
-
-- if (!IsOKToLoadURI(aURI)) {
-+ if (!IsOKToLoadURI(aURI) || mBlockNavigation) {
- return NS_OK;
- }
-
-@@ -12626,7 +12628,7 @@ nsDocShell::OnLinkClickSync(nsIContent *aContent,
- *aRequest = nullptr;
- }
-
-- if (!IsOKToLoadURI(aURI)) {
-+ if (!IsOKToLoadURI(aURI) || mBlockNavigation) {
- return NS_OK;
- }
-
---
-2.2.1
-
diff --git a/gnu/packages/patches/icecat-bug-1146339.patch b/gnu/packages/patches/icecat-bug-1146339.patch
deleted file mode 100644
index 9d858523b9..0000000000
--- a/gnu/packages/patches/icecat-bug-1146339.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-From 4ca86283a71427f27e810d77c8e75418f6428457 Mon Sep 17 00:00:00 2001
-From: Olli Pettay <Olli.Pettay@helsinki.fi>
-Date: Mon, 23 Mar 2015 22:23:53 -0400
-Subject: [PATCH] Bug 1146339 - Do anchor scrolling right before dispatching
- popstate/hashchange. r=bz, a=lmandel
-
----
- docshell/base/nsDocShell.cpp | 64 +++++++++++++++++++++-----------------------
- docshell/base/nsDocShell.h | 1 -
- 2 files changed, 30 insertions(+), 35 deletions(-)
-
-diff --git a/docshell/base/nsDocShell.cpp b/docshell/base/nsDocShell.cpp
-index bdf88a5cf..efb6a6e 100644
---- a/docshell/base/nsDocShell.cpp
-+++ b/docshell/base/nsDocShell.cpp
-@@ -1322,7 +1322,7 @@ nsDocShell::LoadURI(nsIURI * aURI,
-
- // Note: we allow loads to get through here even if mFiredUnloadEvent is
- // true; that case will get handled in LoadInternal or LoadHistoryEntry.
-- if (IsPrintingOrPP() || mBlockNavigation) {
-+ if (IsPrintingOrPP()) {
- return NS_OK; // JS may not handle returning of an error code
- }
-
-@@ -4206,7 +4206,8 @@ bool
- nsDocShell::IsNavigationAllowed(bool aDisplayPrintErrorDialog)
- {
- bool isAllowed = !IsPrintingOrPP(aDisplayPrintErrorDialog) &&
-- !mFiredUnloadEvent && !mBlockNavigation; if (!isAllowed) {
-+ !mFiredUnloadEvent;
-+ if (!isAllowed) {
- return false;
- }
- if (!mContentViewer) {
-@@ -8901,8 +8902,6 @@ nsDocShell::InternalLoad(nsIURI * aURI,
-
- NS_ENSURE_TRUE(!mIsBeingDestroyed, NS_ERROR_NOT_AVAILABLE);
-
-- NS_ENSURE_TRUE(!mBlockNavigation, NS_ERROR_UNEXPECTED);
--
- // wyciwyg urls can only be loaded through history. Any normal load of
- // wyciwyg through docshell is illegal. Disallow such loads.
- if (aLoadType & LOAD_CMD_NORMAL) {
-@@ -9324,19 +9323,6 @@ nsDocShell::InternalLoad(nsIURI * aURI,
- GetCurScrollPos(ScrollOrientation_X, &cx);
- GetCurScrollPos(ScrollOrientation_Y, &cy);
-
-- {
-- AutoRestore<bool> scrollingToAnchor(mBlockNavigation);
-- mBlockNavigation = true;
--
-- // ScrollToAnchor doesn't necessarily cause us to scroll the window;
-- // the function decides whether a scroll is appropriate based on the
-- // arguments it receives. But even if we don't end up scrolling,
-- // ScrollToAnchor performs other important tasks, such as informing
-- // the presShell that we have a new hash. See bug 680257.
-- rv = ScrollToAnchor(curHash, newHash, aLoadType);
-- NS_ENSURE_SUCCESS(rv, rv);
-- }
--
- // Reset mLoadType to its original value once we exit this block,
- // because this short-circuited load might have started after a
- // normal, network load, and we don't want to clobber its load type.
-@@ -9424,16 +9410,6 @@ nsDocShell::InternalLoad(nsIURI * aURI,
- mOSHE->SetCacheKey(cacheKey);
- }
-
-- /* restore previous position of scroller(s), if we're moving
-- * back in history (bug 59774)
-- */
-- if (mOSHE && (aLoadType == LOAD_HISTORY || aLoadType == LOAD_RELOAD_NORMAL))
-- {
-- nscoord bx, by;
-- mOSHE->GetScrollPosition(&bx, &by);
-- SetCurScrollPosEx(bx, by);
-- }
--
- /* Restore the original LSHE if we were loading something
- * while short-circuited load was initiated.
- */
-@@ -9471,12 +9447,36 @@ nsDocShell::InternalLoad(nsIURI * aURI,
-
- SetDocCurrentStateObj(mOSHE);
-
-+ // Inform the favicon service that the favicon for oldURI also
-+ // applies to aURI.
-+ CopyFavicon(currentURI, aURI, mInPrivateBrowsing);
-+
-+ nsRefPtr<nsGlobalWindow> win = mScriptGlobal ?
-+ mScriptGlobal->GetCurrentInnerWindowInternal() : nullptr;
-+
-+ // ScrollToAnchor doesn't necessarily cause us to scroll the window;
-+ // the function decides whether a scroll is appropriate based on the
-+ // arguments it receives. But even if we don't end up scrolling,
-+ // ScrollToAnchor performs other important tasks, such as informing
-+ // the presShell that we have a new hash. See bug 680257.
-+ rv = ScrollToAnchor(curHash, newHash, aLoadType);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ /* restore previous position of scroller(s), if we're moving
-+ * back in history (bug 59774)
-+ */
-+ if (mOSHE && (aLoadType == LOAD_HISTORY ||
-+ aLoadType == LOAD_RELOAD_NORMAL)) {
-+ nscoord bx, by;
-+ mOSHE->GetScrollPosition(&bx, &by);
-+ SetCurScrollPosEx(bx, by);
-+ }
-+
- // Dispatch the popstate and hashchange events, as appropriate.
- //
- // The event dispatch below can cause us to re-enter script and
- // destroy the docshell, nulling out mScriptGlobal. Hold a stack
- // reference to avoid null derefs. See bug 914521.
-- nsRefPtr<nsGlobalWindow> win = mScriptGlobal;
- if (win) {
- // Fire a hashchange event URIs differ, and only in their hashes.
- bool doHashchange = sameExceptHashes && !curHash.Equals(newHash);
-@@ -9492,10 +9492,6 @@ nsDocShell::InternalLoad(nsIURI * aURI,
- }
- }
-
-- // Inform the favicon service that the favicon for oldURI also
-- // applies to aURI.
-- CopyFavicon(currentURI, aURI, mInPrivateBrowsing);
--
- return NS_OK;
- }
- }
-@@ -12573,7 +12569,7 @@ nsDocShell::OnLinkClick(nsIContent* aContent,
- {
- NS_ASSERTION(NS_IsMainThread(), "wrong thread");
-
-- if (!IsOKToLoadURI(aURI) || mBlockNavigation) {
-+ if (!IsOKToLoadURI(aURI)) {
- return NS_OK;
- }
-
-@@ -12629,7 +12625,7 @@ nsDocShell::OnLinkClickSync(nsIContent *aContent,
- *aRequest = nullptr;
- }
-
-- if (!IsOKToLoadURI(aURI) || mBlockNavigation) {
-+ if (!IsOKToLoadURI(aURI)) {
- return NS_OK;
- }
-
-diff --git a/docshell/base/nsDocShell.h b/docshell/base/nsDocShell.h
-index be353ee..c191777 100644
---- a/docshell/base/nsDocShell.h
-+++ b/docshell/base/nsDocShell.h
-@@ -835,7 +835,6 @@ protected:
- bool mInPrivateBrowsing;
- bool mUseRemoteTabs;
- bool mDeviceSizeIsPageSize;
-- bool mBlockNavigation;
-
- // Because scriptability depends on the mAllowJavascript values of our
- // ancestors, we cache the effective scriptability and recompute it when
---
-2.2.1
-
diff --git a/gnu/packages/patches/librep-rules.mk.patch b/gnu/packages/patches/librep-rules.mk.patch
deleted file mode 100644
index 4ea2a3ae1b..0000000000
--- a/gnu/packages/patches/librep-rules.mk.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-rules.mk.in: Don't set prefix, datadir, libdir, datarootdir and repdir.
-rules.mk.in: Use pkg-config to get the absolute path for repcommonexedir.
-
-Merged into upstream: <https://github.com/SawfishWM/librep/commit/a1f2db721aa5055e90f6a76fde625946340ed8cf>.
-
---- librep_0.92.4.orig/rules.mk.in 2015-01-31 23:21:59.614751496 +0800
-+++ librep_0.92.4/rules.mk.in 2015-02-02 18:56:55.097171657 +0800
-@@ -1,18 +1,10 @@
- # rules.mk
-
--prefix=@prefix@
--datadir=@datadir@
--libdir=@libdir@
-+repcommonexecdir?=$(shell pkg-config --variable=repcommonexecdir librep)
-+rpath_repcommonexecdir:=$(repcommonexecdir)
-
--# shut up configure
--datarootdir=@datarootdir@
--
--repdir=@repdir@
--repcommonexecdir=@repcommonexecdir@
--rpath_repcommonexecdir=@repcommonexecdir@
--
--rep_LIBTOOL=$(repcommonexecdir)/libtool --tag CC
--rep_INSTALL_ALIASES=$(repcommonexecdir)/install-aliases
-+rep_LIBTOOL:=$(repcommonexecdir)/libtool --tag CC
-+rep_INSTALL_ALIASES:=$(repcommonexecdir)/install-aliases
-
- # use this like:
- # foo.la : foo.lo bar.lo
diff --git a/gnu/packages/patches/linux-libre-libreboot-fix.patch b/gnu/packages/patches/linux-libre-libreboot-fix.patch
new file mode 100644
index 0000000000..d340a99fcb
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-libreboot-fix.patch
@@ -0,0 +1,37 @@
+This patch fixes linux-libre-3.19.x on Libreboot X60 machines.
+Copied from https://bugzilla.kernel.org/show_bug.cgi?id=93171#c25
+
+--- a/drivers/gpu/drm/i915/i915_irq.c
++++ a/drivers/gpu/drm/i915/i915_irq.c
+@@ -3598,14 +3598,12 @@ static int i8xx_irq_postinstall(struct drm_device *dev)
+ ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
+ I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
+ I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
+- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
+- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
++ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
+ I915_WRITE16(IMR, dev_priv->irq_mask);
+
+ I915_WRITE16(IER,
+ I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
+ I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
+- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
+ I915_USER_INTERRUPT);
+ POSTING_READ16(IER);
+
+@@ -3767,14 +3765,12 @@ static int i915_irq_postinstall(struct drm_device *dev)
+ I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
+ I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
+ I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT |
+- I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT |
+- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT);
++ I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT);
+
+ enable_mask =
+ I915_ASLE_INTERRUPT |
+ I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
+ I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
+- I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT |
+ I915_USER_INTERRUPT;
+
+ if (I915_HAS_HOTPLUG(dev)) {
diff --git a/gnu/packages/patches/linux-libre-vblank-fix.patch b/gnu/packages/patches/linux-libre-vblank-fix.patch
new file mode 100644
index 0000000000..7f242cfcc1
--- /dev/null
+++ b/gnu/packages/patches/linux-libre-vblank-fix.patch
@@ -0,0 +1,175 @@
+From f9b61ff6bce9a44555324b29e593fdffc9a115bc Mon Sep 17 00:00:00 2001
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date: Wed, 7 Jan 2015 13:54:39 +0100
+Subject: [PATCH] drm/i915: Push vblank enable/disable past
+ encoder->enable/disable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It is platform/output depenedent when exactly the pipe will start
+running. Sometimes we just need the (cpu) pipe enabled, in other cases
+the pch transcoder is enough and in yet other cases the (DP) port is
+sending the frame start signal.
+
+In a perfect world we'd put the drm_crtc_vblank_on call exactly where
+the pipe starts running, but due to cloning and similar things this
+will get messy. And the current approach of picking the most
+conservative place for all combinations also doesn't work since that
+results in legit vblank waits (in encoder->enable hooks, e.g. the 2
+vblank waits for sdvo) failing.
+
+Completely going back to the old world before
+
+commit 51e31d49c89055299e34b8f44d13f70e19aaaad1
+Author: Daniel Vetter <daniel.vetter@ffwll.ch>
+Date: Mon Sep 15 12:36:02 2014 +0200
+
+ drm/i915: Use generic vblank wait
+
+isn't great either since screaming when the vblank wait work because
+the pipe is off is kinda nice.
+
+Pick a compromise and move the drm_crtc_vblank_on right before the
+encoder->enable call. This is a lie on some outputs/platforms, but
+after the ->enable callback the pipe is guaranteed to run everywhere.
+So not that bad really. Suggested by Ville.
+
+v2: Same treatment for drm_crtc_vblank_off and encoder->disable: I've
+missed the ibx pipe B select w/a, which also has a vblank wait in the
+disable function (while the pipe is obviously still running).
+
+Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
+---
+ drivers/gpu/drm/i915/intel_display.c | 42 ++++++++++++++++++------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index a1dbe74..e224820 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -4301,15 +4301,15 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
+ if (intel_crtc->config.has_pch_encoder)
+ ironlake_pch_enable(crtc);
+
++ assert_vblank_disabled(crtc);
++ drm_crtc_vblank_on(crtc);
++
+ for_each_encoder_on_crtc(dev, crtc, encoder)
+ encoder->enable(encoder);
+
+ if (HAS_PCH_CPT(dev))
+ cpt_verify_modeset(dev, intel_crtc->pipe);
+
+- assert_vblank_disabled(crtc);
+- drm_crtc_vblank_on(crtc);
+-
+ intel_crtc_enable_planes(crtc);
+ }
+
+@@ -4421,14 +4421,14 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
+ if (intel_crtc->config.dp_encoder_is_mst)
+ intel_ddi_set_vc_payload_alloc(crtc, true);
+
++ assert_vblank_disabled(crtc);
++ drm_crtc_vblank_on(crtc);
++
+ for_each_encoder_on_crtc(dev, crtc, encoder) {
+ encoder->enable(encoder);
+ intel_opregion_notify_encoder(encoder, true);
+ }
+
+- assert_vblank_disabled(crtc);
+- drm_crtc_vblank_on(crtc);
+-
+ /* If we change the relative order between pipe/planes enabling, we need
+ * to change the workaround. */
+ haswell_mode_set_planes_workaround(intel_crtc);
+@@ -4479,12 +4479,12 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
+
+ intel_crtc_disable_planes(crtc);
+
+- drm_crtc_vblank_off(crtc);
+- assert_vblank_disabled(crtc);
+-
+ for_each_encoder_on_crtc(dev, crtc, encoder)
+ encoder->disable(encoder);
+
++ drm_crtc_vblank_off(crtc);
++ assert_vblank_disabled(crtc);
++
+ if (intel_crtc->config.has_pch_encoder)
+ intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
+
+@@ -4544,14 +4544,14 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
+
+ intel_crtc_disable_planes(crtc);
+
+- drm_crtc_vblank_off(crtc);
+- assert_vblank_disabled(crtc);
+-
+ for_each_encoder_on_crtc(dev, crtc, encoder) {
+ intel_opregion_notify_encoder(encoder, false);
+ encoder->disable(encoder);
+ }
+
++ drm_crtc_vblank_off(crtc);
++ assert_vblank_disabled(crtc);
++
+ if (intel_crtc->config.has_pch_encoder)
+ intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
+ false);
+@@ -5021,12 +5021,12 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
+ intel_update_watermarks(crtc);
+ intel_enable_pipe(intel_crtc);
+
+- for_each_encoder_on_crtc(dev, crtc, encoder)
+- encoder->enable(encoder);
+-
+ assert_vblank_disabled(crtc);
+ drm_crtc_vblank_on(crtc);
+
++ for_each_encoder_on_crtc(dev, crtc, encoder)
++ encoder->enable(encoder);
++
+ intel_crtc_enable_planes(crtc);
+
+ /* Underruns don't raise interrupts, so check manually. */
+@@ -5082,12 +5082,12 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
+ intel_update_watermarks(crtc);
+ intel_enable_pipe(intel_crtc);
+
+- for_each_encoder_on_crtc(dev, crtc, encoder)
+- encoder->enable(encoder);
+-
+ assert_vblank_disabled(crtc);
+ drm_crtc_vblank_on(crtc);
+
++ for_each_encoder_on_crtc(dev, crtc, encoder)
++ encoder->enable(encoder);
++
+ intel_crtc_enable_planes(crtc);
+
+ /*
+@@ -5159,12 +5159,12 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)
+ */
+ intel_wait_for_vblank(dev, pipe);
+
+- drm_crtc_vblank_off(crtc);
+- assert_vblank_disabled(crtc);
+-
+ for_each_encoder_on_crtc(dev, crtc, encoder)
+ encoder->disable(encoder);
+
++ drm_crtc_vblank_off(crtc);
++ assert_vblank_disabled(crtc);
++
+ intel_disable_pipe(intel_crtc);
+
+ i9xx_pfit_disable(intel_crtc);
+--
+2.2.1
+
diff --git a/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch b/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch
new file mode 100644
index 0000000000..b2ff43c0d3
--- /dev/null
+++ b/gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch
@@ -0,0 +1,53 @@
+This patch (adapted from nixpkgs for Build.PL) configures Getopt::Long to pass
+options so they will be available at the second GetOptions call.
+
+Also an option to specify the search path for libfontconfig is added.
+
+--- GD-2.56/Build.PL 2014-10-27 20:34:54.000000000 -0500
++++ GD-2.56/Build.PL 2015-02-22 10:08:12.569973657 -0600
+@@ -2,14 +2,14 @@
+
+ use strict;
+ use Module::Build;
+-use Getopt::Long;
++use Getopt::Long qw(:config pass_through);
+ use Config;
+
+ # =====> PATHS: CHECK AND ADJUST <=====
+ my (@INC,@LIBPATH,@LIBS);
+ my $AUTOCONFIG = 0; # global set by try_to_autoconfigure() below
+
+-my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path);
++my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$lib_fontconfig_path);
+
+ unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS)) {
+ die <<END;
+@@ -38,6 +38,7 @@
+ "lib_jpeg_path=s" => \$lib_jpeg_path,
+ "lib_xpm_path=s" => \$lib_xpm_path,
+ "lib_zlib_path=s" => \$lib_zlib_path,
++ "lib_fontconfig_path=s" => \$lib_fontconfig_path,
+ );
+ unless ($result) {
+ die <<END;
+@@ -53,6 +54,7 @@
+ -lib_jpeg_path path path to libjpeg
+ -lib_xpm_path path path to libxpm
+ -lib_zlib_path path path to libpng
++ -lib_fontconfig_path path path to fontconfig
+ -ignore_missing_gd Ignore missing or old libgd installations and try to compile anyway
+
+ If no options are passed on the command line. The program will
+@@ -100,6 +102,12 @@
+ @INC = ("-I$lib_zlib_path/include", @INC);
+ @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH);
+ }
++if( defined($lib_fontconfig_path) )
++{
++ print "Fontconfig library used from: $lib_fontconfig_path\n";
++ @INC = ("-I$lib_fontconfig_path/include", @INC);
++ @LIBPATH = ("-L$lib_fontconfig_path/lib", @LIBPATH);
++}
+ #############################################################################################
+
+ if ($^O eq 'VMS'){
diff --git a/gnu/packages/patches/pulseaudio-longer-test-timeout.patch b/gnu/packages/patches/pulseaudio-longer-test-timeout.patch
new file mode 100644
index 0000000000..fa81f749d2
--- /dev/null
+++ b/gnu/packages/patches/pulseaudio-longer-test-timeout.patch
@@ -0,0 +1,13 @@
+Increase the timeout on 'cpu-mix-test' to accommodate slower machines.
+
+--- pulseaudio-6.0/src/tests/cpu-mix-test.c.ORIG 2015-02-12 09:10:35.000000000 -0500
++++ pulseaudio-6.0/src/tests/cpu-mix-test.c 2015-03-31 13:45:05.316878322 -0400
+@@ -212,7 +212,7 @@
+ #if defined (__arm__) && defined (__linux__) && defined (HAVE_NEON)
+ tcase_add_test(tc, mix_neon_test);
+ #endif
+- tcase_set_timeout(tc, 120);
++ tcase_set_timeout(tc, 240);
+ suite_add_tcase(s, tc);
+
+ sr = srunner_create(s);
diff --git a/gnu/packages/patches/source-highlight-regexrange-test.patch b/gnu/packages/patches/source-highlight-regexrange-test.patch
deleted file mode 100644
index 298c831b35..0000000000
--- a/gnu/packages/patches/source-highlight-regexrange-test.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Disable a single check. The failure is discussed at:
-
- https://savannah.gnu.org/bugs/index.php?41786
-
---- a/lib/tests/test_regexranges_main.cpp 2012-04-14 08:58:25.000000000 -0500
-+++ b/lib/tests/test_regexranges_main.cpp 2014-03-05 23:49:23.520402043 -0600
-@@ -52,7 +52,7 @@
- check_range_regex("simple regex");
- check_range_regex("[[:alpha:]]+");
- // test with a wrong regular expression
-- check_range_regex("{notclosed", false);
-+ // check_range_regex("{notclosed", false);
-
- // reset regular expressions
- ranges.clear();
diff --git a/gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch b/gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch
new file mode 100644
index 0000000000..f5cd0b9a9e
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch
@@ -0,0 +1,45 @@
+Fix X server crash when sis driver is used with EXA acceleration.
+
+Source: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/xserver-xorg-video-sis/trusty/revision/24/debian/patches/fix-exa-crash.diff
+
+The patch was originally proposed by nihui:
+https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-sis/+bug/1066464/comments/13
+
+--- a/src/sis310_accel.c
++++ b/src/sis310_accel.c
+@@ -1874,7 +1874,7 @@
+ {
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen);
+ SISPtr pSiS = SISPTR(pScrn);
+- unsigned char *dst = pDst->devPrivate.ptr;
++ unsigned char *dst = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pDst);
+ int dst_pitch = exaGetPixmapPitch(pDst);
+
+ (pSiS->SyncAccel)(pScrn);
+@@ -1882,7 +1882,7 @@
+ if(pDst->drawable.bitsPerPixel < 8)
+ return FALSE;
+
+- dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * src_pitch);
++ dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * dst_pitch);
+ while(h--) {
+ SiSMemCopyToVideoRam(pSiS, dst, (unsigned char *)src,
+ (w * pDst->drawable.bitsPerPixel / 8));
+@@ -1953,7 +1953,7 @@
+ {
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen);
+ SISPtr pSiS = SISPTR(pScrn);
+- unsigned char *src = pSrc->devPrivate.ptr;
++ unsigned char *src = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pSrc);
+ int src_pitch = exaGetPixmapPitch(pSrc);
+ int size = src_pitch < dst_pitch ? src_pitch : dst_pitch;
+
+@@ -1964,7 +1964,7 @@
+
+ src += (x * pSrc->drawable.bitsPerPixel / 8) + (y * src_pitch);
+ while(h--) {
+- SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, size);
++ SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, (w * pSrc->drawable.bitsPerPixel / 8));
+ src += src_pitch;
+ dst += dst_pitch;
+ }