summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix5
-rw-r--r--pkgs/development/haskell-modules/patches/hdbus-semicolons.patch34
2 files changed, 38 insertions, 1 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 6849fa039082..69c0d073bc0c 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -291,7 +291,6 @@ self: super: {
   bitcoin-api-extra = dontCheck super.bitcoin-api-extra;
   bitx-bitcoin = dontCheck super.bitx-bitcoin;          # http://hydra.cryp.to/build/926187/log/raw
   concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
-  dbus = dontCheck super.dbus;                          # http://hydra.cryp.to/build/498404/log/raw
   digitalocean-kzs = dontCheck super.digitalocean-kzs;  # https://github.com/KazumaSATO/digitalocean-kzs/issues/1
   github-types = dontCheck super.github-types;          # http://hydra.cryp.to/build/1114046/nixlog/1/raw
   hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
@@ -1067,4 +1066,8 @@ self: super: {
   # horribly outdated (X11 interface changed a lot)
   sindre = markBroken super.sindre;
 
+  # https://github.com/jmillikin/haskell-dbus/pull/7
+  # http://hydra.cryp.to/build/498404/log/raw
+  dbus = dontCheck (appendPatch super.dbus ./patches/hdbus-semicolons.patch);
+
 }
diff --git a/pkgs/development/haskell-modules/patches/hdbus-semicolons.patch b/pkgs/development/haskell-modules/patches/hdbus-semicolons.patch
new file mode 100644
index 000000000000..dc7ece8f3e8d
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/hdbus-semicolons.patch
@@ -0,0 +1,34 @@
+From 8fd84b4d6ba257ac93a61bce3378777840e8bf80 Mon Sep 17 00:00:00 2001
+From: Nikolay Amiantov <ab@fmap.me>
+Date: Sat, 5 Nov 2016 14:27:04 +0300
+Subject: [PATCH] getSessionAddress: take first bus address from
+ semicolon-separated variable
+
+---
+ lib/DBus/Address.hs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/DBus/Address.hs b/lib/DBus/Address.hs
+index 72ac99d..596b18c 100644
+--- a/lib/DBus/Address.hs
++++ b/lib/DBus/Address.hs
+@@ -18,6 +18,7 @@ module DBus.Address where
+ import qualified Control.Exception
+ import           Data.Char (digitToInt, ord, chr)
+ import           Data.List (intercalate)
++import           Data.Maybe (listToMaybe)
+ import qualified Data.Map
+ import           Data.Map (Map)
+ import qualified System.Environment
+@@ -152,7 +153,7 @@ getSystemAddress = do
+ getSessionAddress :: IO (Maybe Address)
+ getSessionAddress = do
+ 	env <- getenv "DBUS_SESSION_BUS_ADDRESS"
+-	return (env >>= parseAddress)
++	return $ maybe Nothing listToMaybe (env >>= parseAddresses)
+ 
+ -- | Returns the address in the environment variable
+ -- @DBUS_STARTER_ADDRESS@, which must be set.
+-- 
+2.10.1
+