about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorTomas Hlavaty <tom@logand.com>2015-09-27 22:40:05 +0200
committerTomas Hlavaty <tom@logand.com>2015-09-30 23:36:40 +0200
commitf9f919e2bf2c503bfea9ec89f8127f5600913cbf (patch)
tree17a71c7c263e35a1ee1fbfda61b90a6789c25cf7 /pkgs/development/compilers
parent411d83d5fed24c3faab8ae6cba89ba11ef0d0663 (diff)
downloadnixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.tar
nixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.tar.gz
nixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.tar.bz2
nixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.tar.lz
nixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.tar.xz
nixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.tar.zst
nixlib-f9f919e2bf2c503bfea9ec89f8127f5600913cbf.zip
ccl: also on arm
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/ccl/default.nix35
1 files changed, 30 insertions, 5 deletions
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 3522e234fa2a..30eb528cab71 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,23 +1,48 @@
 { stdenv, fetchsvn, gcc, glibc, m4, coreutils }:
 
 /* TODO: there are also MacOS, FreeBSD and Windows versions */
-assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
+assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux"
+  || stdenv.system == "armv7l-linux" || stdenv.system == "armv6l-linux";
 
+let
+  options = rec {
+    x86_64-linux = {
+      arch = "linuxx86";
+      sha256 = "04p77n18cw0bc8i66mp2vfrhlliahrx66lm004a3nw3h0mdk0gd8";
+      runtime = "lx86cl64";
+      kernel = "linuxx8664";
+    };
+    i686-linux = {
+      arch = "linuxx86";
+      sha256 = x86_64-linux.sha256;
+      runtime = "lx86cl";
+      kernel = "linuxx8632";
+    };
+    armv7l-linux = {
+      arch = "linuxarm";
+      sha256 = "0xg9p1q1fpgyfhwjk2hh24vqzddzx5zqff04lycf0vml5qw1gnkv";
+      runtime = "armcl";
+      kernel = "linuxarm";
+    };
+    armv6l-linux = armv7l-linux;
+  };
+  cfg = options.${stdenv.system};
+in
 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;
+    url = "http://svn.clozure.com/publicsvn/openmcl/release/${version}/${cfg.arch}/ccl";
     rev = revision;
-    sha256 = "04p77n18cw0bc8i66mp2vfrhlliahrx66lm004a3nw3h0mdk0gd8";
+    sha256 = cfg.sha256;
   };
 
   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";
+  CCL_RUNTIME = cfg.runtime;
+  CCL_KERNEL = cfg.kernel;
 
   patchPhase = ''
     substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \