summary refs log tree commit diff
diff options
context:
space:
mode:
authorTimothy Sample <samplet@ngyro.com>2020-09-02 18:05:36 -0400
committerTimothy Sample <samplet@ngyro.com>2020-09-02 18:09:01 -0400
commit57983029a9ad86dfad3ae5e352c24557ffae9829 (patch)
treecdbd4cfbc944a19e9f5c19320e28b052df01e571
parent4ff0fed778172f80d938dfe42716cc9fefeb4fdc (diff)
downloadguix-57983029a9ad86dfad3ae5e352c24557ffae9829.tar.gz
gnu: xmonad: Add patch to support dynamic linking.
Fixes <https://bugs.gnu.org/43131>.

* gnu/packages/patches/xmonad-dynamic-linking.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/wm.scm (xmonad)[source]: Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/xmonad-dynamic-linking.patch16
-rw-r--r--gnu/packages/wm.scm3
3 files changed, 19 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6e47d74e0a..d2753f52ae 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1676,6 +1676,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xf86-video-voodoo-pcitag.patch		\
   %D%/packages/patches/xfce4-panel-plugins.patch		\
   %D%/packages/patches/xfce4-settings-defaults.patch		\
+  %D%/packages/patches/xmonad-dynamic-linking.patch		\
   %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch		\
   %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch	\
   %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch	\
diff --git a/gnu/packages/patches/xmonad-dynamic-linking.patch b/gnu/packages/patches/xmonad-dynamic-linking.patch
new file mode 100644
index 0000000000..4f3386e53a
--- /dev/null
+++ b/gnu/packages/patches/xmonad-dynamic-linking.patch
@@ -0,0 +1,16 @@
+This patch is required for xmonad to make use of shared libraries.
+Without it, xmonad will not work since we do not (by default) use
+statically linked Haskell libraries.
+
+diff -ruN xmonad-0.15-a/src/XMonad/Core.hs xmonad-0.15-b/src/XMonad/Core.hs
+--- xmonad-0.15-a/src/XMonad/Core.hs	1969-12-31 19:00:00.000000000 -0500
++++ xmonad-0.15-b/src/XMonad/Core.hs	1969-12-31 19:00:00.000000000 -0500
+@@ -681,6 +681,8 @@
+        compileGHC bin dir errHandle =
+          runProcess "ghc" ["--make"
+                           , "xmonad.hs"
++                          , "-dynamic"
++                          , "-fPIC"
+                           , "-i"
+                           , "-ilib"
+                           , "-fforce-recomp"
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index bb5a91a230..15fbf43ec7 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -655,7 +655,8 @@ desktop environment.")
                                   "xmonad-" version ".tar.gz"))
               (sha256
                (base32
-                "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa"))))
+                "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa"))
+              (patches (search-patches "xmonad-dynamic-linking.patch"))))
     (build-system haskell-build-system)
     (inputs
      `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)