summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/xmonad-dynamic-linking.patch16
-rw-r--r--gnu/packages/wm.scm3
2 files changed, 18 insertions, 1 deletions
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)