summary refs log tree commit diff
path: root/pkgs/development/interpreters/picolisp/default.nix
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2011-03-28 08:16:15 +0000
committerMichael Raskin <7c6f434c@mail.ru>2011-03-28 08:16:15 +0000
commit1233bbb9fa2a001fac8d09e875f32dcafdfa997f (patch)
tree30b6cf63691c7d47edd5113efa739a3e4b9b20ab /pkgs/development/interpreters/picolisp/default.nix
parent4b26d460142bc7b0a3892f7baf9b003ced837d20 (diff)
downloadnixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.tar
nixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.tar.gz
nixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.tar.bz2
nixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.tar.lz
nixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.tar.xz
nixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.tar.zst
nixpkgs-1233bbb9fa2a001fac8d09e875f32dcafdfa997f.zip
Adding PicoLisp
svn path=/nixpkgs/trunk/; revision=26558
Diffstat (limited to 'pkgs/development/interpreters/picolisp/default.nix')
-rw-r--r--pkgs/development/interpreters/picolisp/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix
new file mode 100644
index 00000000000..298c12d271a
--- /dev/null
+++ b/pkgs/development/interpreters/picolisp/default.nix
@@ -0,0 +1,66 @@
+x@{builderDefsPackage
+  , jdk /* only used in bootstrap */
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="picolisp";
+    tarballBaseName="picoLisp";
+    version="3.0.5";
+    name="${baseName}-${version}";
+    tarballName="${tarballBaseName}-${version}";
+    extension="tgz";
+    url="http://www.software-lab.de/${tarballName}.${extension}";
+    hash="07w2aygllkmnfcnby3dy88n9giqsas35s77rp2lr2ll5yy2hkc0x";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["doMake" "doDeploy"];
+
+  goSrcDir = if a.stdenv.system == "x86_64-linux" then 
+    "cd src64" else "cd src";
+  makeFlags = [''PREFIX=$out''];
+
+  doDeploy = a.fullDepEntry (''
+    cd ..
+
+    sed -e "s@/usr/@$out/@g" -i bin/pil
+
+    ensureDir "$out/share/picolisp" "$out/lib" "$out/bin"
+    cp -r . "$out/share/picolisp/build-dir"
+    ln -s "$out/share/picolisp/build-dir" "$out/lib/picolisp"
+    ln -s "$out/lib/picolisp/bin/picolisp" "$out/bin/picolisp"
+  '') ["minInit" "defEnsureDir" "doMake"];
+      
+  meta = {
+    description = "An interpreter for a small Lisp dialect with builtin DB";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = a.lib.licenses.mit;
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.software-lab.de/down.html";
+    };
+  };
+}) x
+