lol
at 15.09-beta 68 lines 2.1 kB view raw
1{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11 2, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto 3, libffi, libffcall, coreutils}: 4 5stdenv.mkDerivation rec { 6 v = "2.49"; 7 name = "clisp-${v}"; 8 9 src = fetchurl { 10 url = "mirror://gnu/clisp/release/${v}/${name}.tar.bz2"; 11 sha256 = "8132ff353afaa70e6b19367a25ae3d5a43627279c25647c220641fed00f8e890"; 12 }; 13 14 inherit libsigsegv gettext coreutils; 15 16 buildInputs = 17 [ libsigsegv gettext ncurses readline libX11 libXau 18 libXt pcre zlib libXpm xproto libXext xextproto libffi 19 libffcall 20 ]; 21 22 patches = [ ./bits_ipctypes_to_sys_ipc.patch ]; # from Gentoo 23 24 # First, replace port 9090 (rather low, can be used) 25 # with 64237 (much higher, IANA private area, not 26 # anything rememberable). 27 # Also remove reference to a type that disappeared from recent glibc 28 # (seems the correct thing to do, found no reference to any solution) 29 postPatch = '' 30 sed -e 's@9090@64237@g' -i tests/socket.tst 31 sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in 32 find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i 33 34 substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" "" 35 ''; 36 37 configureFlags = 38 '' 39 --with-readline builddir --with-dynamic-ffi --with-ffcall 40 --with-module=clx/new-clx --with-module=i18n --with-module=bindings/glibc 41 --with-module=pcre --with-module=rawsock --with-module=readline 42 --with-module=syscalls --with-module=wildcard --with-module=zlib 43 --with-threads=POSIX_THREADS 44 ''; 45 46 preBuild = '' 47 sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d 48 cd builddir 49 ''; 50 51 postInstall = '' 52 ./clisp-link add "$out"/lib/clisp*/base "$(dirname "$out"/lib/clisp*/base)"/full \ 53 clx/new-clx bindings/glibc pcre rawsock wildcard zlib 54 ''; 55 56 NIX_CFLAGS_COMPILE="-O0"; 57 58 # TODO : make mod-check fails 59 doCheck = false; 60 61 meta = { 62 description = "ANSI Common Lisp Implementation"; 63 homepage = http://clisp.cons.org; 64 maintainers = [stdenv.lib.maintainers.raskin]; 65 platforms = stdenv.lib.platforms.linux; 66 }; 67} 68