summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/interpreters/picolisp/default.nix12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix
index 5bf68ea8f0f..496a4ff6668 100644
--- a/pkgs/development/interpreters/picolisp/default.nix
+++ b/pkgs/development/interpreters/picolisp/default.nix
@@ -8,7 +8,17 @@ stdenv.mkDerivation rec {
     url = "http://www.software-lab.de/${name}.tgz";
     sha256 = "01kgyz0lkz36lxvibv07qd06gwdxvvbain9f9cnya7a12kq3009i";
   };
-  buildInputs = [ jdk ];
+  buildInputs = if stdenv.is64bit then [ jdk ] else [];
+  patchPhase = if stdenv.isArm then ''
+    sed -i s/-m32//g Makefile
+    cat >>Makefile <<EOF
+    ext.o: ext.c
+    	\$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c
+    ht.o: ht.c
+    	\$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c
+    EOF
+  ''
+  else "";
   sourceRoot = ''picoLisp/src${optionalString stdenv.is64bit "64"}'';
   installPhase = ''
     cd ..