diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 7ff3a25b3df5..e64ecce1b4e3 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -108,7 +108,6 @@ mornfall = "Petr Ročkai "; MP2E = "Cray Elliott "; msackman = "Matthew Sackman "; - muflax = "Stefan Dorn "; nathan-gs = "Nathan Bijnens "; nckx = "Tobias Geerinckx-Rice "; notthemessiah = "Brian Cohen "; diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix index 6ca11ef7aec8..7678c066df28 100644 --- a/pkgs/development/compilers/ccl/default.nix +++ b/pkgs/development/compilers/ccl/default.nix @@ -1,47 +1,49 @@ -{ stdenv, fetchsvn, gcc, glibc, m4 }: +a : +let + buildInputs = with a; [ + + ]; +in +rec { + version = "1.8"; + name = "ccl-${version}"; -/* TODO: there are also MacOS, FreeBSD and Windows versions */ -assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"; - -stdenv.mkDerivation rec { - name = "ccl-${version}"; - version = "1.10"; - revision = "16313"; - - src = fetchsvn { - url = http://svn.clozure.com/publicsvn/openmcl/release/1.10/linuxx86/ccl; - rev = revision; - sha256 = "11lmdvzj1mbm7mbr22vjbcrsvinyz8n32a91ms324xqdqpr82ifb"; + /* There are also MacOS and FreeBSD and Windows versions */ + src = a.fetchurl { + url = "ftp://ftp.clozure.com/pub/release/${version}/${name}-linuxx86.tar.gz"; + sha256 = "1dgg6a8i2csa6xidsq66hbw7zx62gm2178hpkp88yyzgxylszp01"; }; + + inherit buildInputs; + configureFlags = []; - buildInputs = [ gcc glibc m4 ]; + /* doConfigure should be removed if not needed */ + phaseNames = ["doUnpack" "doPatchElf" "doCopy"]; - CCL_RUNTIME = if stdenv.system == "x86_64-linux" then "lx86cl64" else "lx86cl"; - CCL_KERNEL = if stdenv.system == "x86_64-linux" then "linuxx8664" else "linuxx8632"; - - buildPhase = '' - sed -i lisp-kernel/${CCL_KERNEL}/Makefile -e's/svnversion/echo ${revision}/g' - - make -C lisp-kernel/${CCL_KERNEL} clean - make -C lisp-kernel/${CCL_KERNEL} all - - ./${CCL_RUNTIME} -n -b -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)' - ''; - - installPhase = '' + doCopy = a.fullDepEntry '' mkdir -p "$out/share" - cp -r . "$out/share/ccl-installation" + cp -r . "$out/share/ccl-installation" mkdir -p "$out/bin" - echo -e '#!/bin/sh\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}" - chmod a+x "$out"/bin/"${CCL_RUNTIME}" - ''; + for i in $(find . -maxdepth 1 -type f -perm +111); do + echo -e '#! /bin/sh\n'"$out/share/ccl-installation/$(basename "$i")"'"$@"\n' > "$out"/bin/"$(basename "$i")" + chmod a+x "$out"/bin/"$(basename "$i")" + done + '' ["minInit" "doUnpack" "defEnsureDir"]; + doPatchElf = a.fullDepEntry '' + patchelfFile="$(type -P patchelf)" + goodInterp="$(patchelf --print-interpreter "$patchelfFile")" + find . -type f -perm +111 -exec patchelf --set-interpreter "$goodInterp" '{}' ';' + '' ["minInit" "doUnpack"]; + meta = { description = "Clozure Common Lisp"; - homepage = http://ccl.clozure.com/; - maintainers = with stdenv.lib.maintainers; [ raskin muflax ]; - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.lgpl21; + maintainers = [ + a.lib.maintainers.raskin + ]; + platforms = with a.lib.platforms; + linux; }; } + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index aaf4d5a348df..32837a7ef809 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2933,7 +2933,7 @@ let chickenEggs = callPackage ../development/tools/egg2nix/chicken-eggs.nix { }; }; - ccl = callPackage ../development/compilers/ccl { }; + ccl = builderDefsPackage ../development/compilers/ccl {}; clang = wrapGCC llvmPackages.clang;