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 =