about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/picat/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/picat/default.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/picat/default.nix43
1 files changed, 19 insertions, 24 deletions
diff --git a/nixpkgs/pkgs/development/compilers/picat/default.nix b/nixpkgs/pkgs/development/compilers/picat/default.nix
index 91e29a740c2f..4898f991079c 100644
--- a/nixpkgs/pkgs/development/compilers/picat/default.nix
+++ b/nixpkgs/pkgs/development/compilers/picat/default.nix
@@ -1,41 +1,36 @@
 { stdenv, fetchurl, zlib }:
 
+let
+  ARCH = {
+    i686-linux    = "linux32";
+    x86_64-linux  = "linux64";
+    aarch64-linux = "linux64";
+  }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+in
 stdenv.mkDerivation {
   pname = "picat";
-  version = "2.8-2";
+  version = "3.0p3";
 
   src = fetchurl {
-    url = "http://picat-lang.org/download/picat28_src.tar.gz";
-    sha256 = "10hf2fxxbpq28gi39icr8c9wafdiy9ddfkk6l4rx7kkqyrdi7n85";
+    url    = "http://picat-lang.org/download/picat30_3_src.tar.gz";
+    sha256 = "052w0vk2xfmky5nv280ysb8in6vaph7i79yvbddqmahzszarq5hw";
   };
 
   buildInputs = [ zlib ];
 
-  ARCH = if stdenv.hostPlatform.system == "i686-linux" then "linux32"
-         else if stdenv.hostPlatform.system == "x86_64-linux" then "linux64"
-         else throw "Unsupported system";
+  inherit ARCH;
 
   hardeningDisable = [ "format" ];
+  enableParallelBuilding = true;
 
-  buildPhase = ''
-    cd emu
-    make -f Makefile.$ARCH
-  '';
+  buildPhase = "cd emu && make -j $NIX_BUILD_CORES -f Makefile.$ARCH";
+  installPhase = "mkdir -p $out/bin && cp picat $out/bin/picat";
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp picat $out/bin/picat
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Logic-based programming langage";
-    longDescription = ''
-      Picat is a simple, and yet powerful, logic-based multi-paradigm
-      programming language aimed for general-purpose applications.
-    '';
-    homepage = "http://picat-lang.org/";
-    license = stdenv.lib.licenses.mpl20;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.earldouglas ];
+    homepage    = "http://picat-lang.org/";
+    license     = licenses.mpl20;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ earldouglas thoughtpolice ];
   };
 }