at 16.09-beta 53 lines 1.5 kB view raw
1{ stdenv, fetchurl, jdk }: 2with stdenv.lib; 3 4stdenv.mkDerivation rec { 5 name = "picoLisp-${version}"; 6 version = "15.11"; 7 src = fetchurl { 8 url = "http://www.software-lab.de/${name}.tgz"; 9 sha256 = "0gi1n7gl786wbz6sn0f0002h49f0zvfrzxlhabkghwlbva1rwp58"; 10 }; 11 buildInputs = optional stdenv.is64bit jdk; 12 patchPhase = optionalString stdenv.isArm '' 13 sed -i s/-m32//g Makefile 14 cat >>Makefile <<EOF 15 ext.o: ext.c 16 \$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c 17 ht.o: ht.c 18 \$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c 19 EOF 20 ''; 21 sourceRoot = ''picoLisp/src${optionalString stdenv.is64bit "64"}''; 22 installPhase = '' 23 cd .. 24 25 mkdir -p "$out/share/picolisp" "$out/lib" "$out/bin" 26 cp -r . "$out/share/picolisp/build-dir" 27 ln -s "$out/share/picolisp/build-dir" "$out/lib/picolisp" 28 ln -s "$out/lib/picolisp/bin/picolisp" "$out/bin/picolisp" 29 30 cat >"$out/bin/pil" <<EOF 31 #! /bin/sh 32 exec $out/bin/picolisp $out/lib/picolisp/lib.l @lib/misc.l @lib/btree.l @lib/db.l @lib/pilog.l 33 EOF 34 chmod +x "$out/bin/pil" 35 36 mkdir -p "$out/share/emacs" 37 ln -s "$out/lib/picolisp/lib/el" "$out/share/emacs/site-lisp" 38 ''; 39 40 meta = { 41 description = "A simple Lisp with an integrated database"; 42 homepage = http://picolisp.com/; 43 license = licenses.mit; 44 platforms = platforms.all; 45 maintainers = with maintainers; [ raskin tohl ]; 46 }; 47 48 passthru = { 49 updateInfo = { 50 downloadPage = "http://www.software-lab.de/down.html"; 51 }; 52 }; 53}