summary refs log tree commit diff
diff options
context:
space:
mode:
authormuflax <mail@muflax.com>2014-11-27 22:48:07 +0000
committermuflax <mail@muflax.com>2014-11-27 22:48:07 +0000
commit856e5839e1102dcbe4f499c004b819d9dde10a26 (patch)
tree077f8f9f516e221d323caa58a6a3bc8037d5dfb6
parenta68b596aa82553f6891cca3cfb3abab8d06dbee6 (diff)
downloadnixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.tar
nixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.tar.gz
nixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.tar.bz2
nixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.tar.lz
nixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.tar.xz
nixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.tar.zst
nixpkgs-856e5839e1102dcbe4f499c004b819d9dde10a26.zip
ccl: 1.8 -> 1.10 (reapply after false revert)
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/development/compilers/ccl/default.nix76
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 39 insertions, 40 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index e64ecce1b4e..7ff3a25b3df 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -108,6 +108,7 @@
   mornfall = "Petr Ročkai <me@mornfall.net>";
   MP2E = "Cray Elliott <MP2E@archlinux.us>";
   msackman = "Matthew Sackman <matthew@wellquite.org>";
+  muflax = "Stefan Dorn <mail@muflax.com>";
   nathan-gs = "Nathan Bijnens <nathan@nathan.gs>";
   nckx = "Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>";
   notthemessiah = "Brian Cohen <brian.cohen.88@gmail.com>";
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 7678c066df2..6ca11ef7aec 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,49 +1,47 @@
-a :  
-let 
-  buildInputs = with a; [
-    
-  ];
-in
-rec {
-  version = "1.8";
-  name = "ccl-${version}";
-
-  /* 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";
+{ stdenv, fetchsvn, gcc, glibc, m4 }:
+
+/* 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";
   };
-  
-  inherit buildInputs;
-  configureFlags = [];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doUnpack" "doPatchElf" "doCopy"];
+  buildInputs = [ gcc glibc m4 ];
+
+  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'
 
-  doCopy = a.fullDepEntry ''
+    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 = ''
     mkdir -p "$out/share"
-    cp -r . "$out/share/ccl-installation"
+    cp -r .  "$out/share/ccl-installation"
 
     mkdir -p "$out/bin"
-    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"];
-      
+    echo -e '#!/bin/sh\n'"$out/share/ccl-installation/${CCL_RUNTIME}"' "$@"\n' > "$out"/bin/"${CCL_RUNTIME}"
+    chmod a+x "$out"/bin/"${CCL_RUNTIME}"
+  '';
+
   meta = {
     description = "Clozure Common Lisp";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = with a.lib.platforms; 
-      linux;
+    homepage    = http://ccl.clozure.com/;
+    maintainers = with stdenv.lib.maintainers; [ raskin muflax ];
+    platforms   = stdenv.lib.platforms.linux;
+    license     = stdenv.lib.licenses.lgpl21;
   };
 }
-
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 32837a7ef80..aaf4d5a348d 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 = builderDefsPackage ../development/compilers/ccl {};
+  ccl = callPackage ../development/compilers/ccl { };
 
   clang = wrapGCC llvmPackages.clang;