haskellPackages.dbus: fix for new DBUS_SESSION_BUS_ADDRESS format

This commit is contained in:
Nikolay Amiantov 2016-11-05 14:43:16 +03:00
parent 45bff42b1e
commit dd8f60fbd9
2 changed files with 38 additions and 1 deletions

View File

@ -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);
}

View File

@ -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