about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2013-02-05 15:23:09 +0100
committerVladimír Čunát <vcunat@gmail.com>2013-02-05 15:23:09 +0100
commitbb7f1f38c246d62667ca2a9baa0c17565a484101 (patch)
treeaa29a1ca4a6dc31579f7ddbb719a0c2eee65417c
parentbe88539d84a48e37a3aded84252c264c2b830569 (diff)
downloadnixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.tar
nixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.tar.gz
nixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.tar.bz2
nixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.tar.lz
nixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.tar.xz
nixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.tar.zst
nixlib-bb7f1f38c246d62667ca2a9baa0c17565a484101.zip
clisp: fix after glibc update
-rw-r--r--pkgs/development/interpreters/clisp/bits_ipctypes_to_sys_ipc.patch12
-rw-r--r--pkgs/development/interpreters/clisp/default.nix10
2 files changed, 20 insertions, 2 deletions
diff --git a/pkgs/development/interpreters/clisp/bits_ipctypes_to_sys_ipc.patch b/pkgs/development/interpreters/clisp/bits_ipctypes_to_sys_ipc.patch
new file mode 100644
index 000000000000..d6163022830d
--- /dev/null
+++ b/pkgs/development/interpreters/clisp/bits_ipctypes_to_sys_ipc.patch
@@ -0,0 +1,12 @@
+diff -ru a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
+--- a/modules/bindings/glibc/linux.lisp	2008-10-10 16:15:49.000000000 +0300
++++ b/modules/bindings/glibc/linux.lisp	2012-12-04 01:01:35.000000000 +0200
+@@ -86,7 +86,7 @@
+ 
+ (def-c-type __key_t)            ; int
+ 
+-(c-lines "#include <bits/ipctypes.h>~%")
++(c-lines "#include <sys/ipc.h>~%")
+ (def-c-type __ipc_pid_t)        ; ushort
+ 
+ ; --------------------------- <sys/types.h> -----------------------------------
diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix
index 23b4e4e9e54d..bd19d738860a 100644
--- a/pkgs/development/interpreters/clisp/default.nix
+++ b/pkgs/development/interpreters/clisp/default.nix
@@ -18,14 +18,20 @@ stdenv.mkDerivation rec {
       libXt pcre zlib libXpm xproto libXext xextproto libffi
       libffcall
     ];
- 
+
+  patches = [ ./bits_ipctypes_to_sys_ipc.patch ]; # from Gentoo
+
   # First, replace port 9090 (rather low, can be used)
   # with 64237 (much higher, IANA private area, not
   # anything rememberable).
-  patchPhase = ''
+  # Also remove reference to a type that disappeared from recent glibc
+  # (seems the correct thing to do, found no reference to any solution)
+  postPatch = ''
     sed -e 's@9090@64237@g' -i tests/socket.tst
     sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
     find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
+
+    substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
   '';
 
   configureFlags =