about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/pakcs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/pakcs/default.nix')
-rw-r--r--nixpkgs/pkgs/development/compilers/pakcs/default.nix39
1 files changed, 17 insertions, 22 deletions
diff --git a/nixpkgs/pkgs/development/compilers/pakcs/default.nix b/nixpkgs/pkgs/development/compilers/pakcs/default.nix
index e38f4e8c02ba..42b2e208c1d4 100644
--- a/nixpkgs/pkgs/development/compilers/pakcs/default.nix
+++ b/nixpkgs/pkgs/development/compilers/pakcs/default.nix
@@ -5,27 +5,24 @@
 
 let
   pname = "pakcs";
-  version = "2.2.1";
+  version = "3.6.0";
 
   # Don't switch to "Current release" without a reason, because its
   # source updates without version bump. Prefer last from "Older releases" instead.
   src = fetchurl {
     url = "https://www.informatik.uni-kiel.de/~pakcs/download/pakcs-${version}-src.tar.gz";
-    sha256 = "1jyg29j8r8pgcin7ixdya6c3zzfjdi66rghpwrfnkk133fz4iz7s";
+    hash = "sha256-1r6jEY3eEGESKcAepiziVbxpIvQLtCS6l0trBU3SGGo=";
   };
 
   curry-frontend = (haskellPackages.override {
     overrides = self: super: {
-      curry-base = haskell.lib.compose.overrideCabal (drv: {
-        inherit src;
-        postUnpack = "sourceRoot+=/frontend/curry-base";
-      }) (super.callPackage ./curry-base.nix {});
       curry-frontend = haskell.lib.compose.overrideCabal (drv: {
         inherit src;
-        postUnpack = "sourceRoot+=/frontend/curry-frontend";
-      }) (super.callPackage ./curry-frontend.nix {});
+        postUnpack = "sourceRoot+=/frontend";
+      }) (super.callPackage ./curry-frontend.nix { });
     };
   }).curry-frontend;
+
 in stdenv.mkDerivation {
   inherit pname version src;
 
@@ -41,28 +38,24 @@ in stdenv.mkDerivation {
   ];
 
   preConfigure = ''
-    # Since we can't expand $out in `makeFlags`
-    #makeFlags="$makeFlags PAKCSINSTALLDIR=$out/pakcs"
-
-    for file in currytools/cpm/src/CPM/Repository.curry \
-                currytools/cpm/src/CPM/Repository/CacheDB.curry \
-                scripts/compile-all-libs.sh \
-                scripts/cleancurry.sh \
-                examples/test.sh testsuite/test.sh lib/test.sh; do
+    for file in examples/test.sh             \
+                currytools/optimize/Makefile \
+                testsuite/test.sh            \
+                scripts/cleancurry.sh        \
+                scripts/compile-all-libs.sh; do
         substituteInPlace $file --replace "/bin/rm" "rm"
     done
   '' ;
 
-  # cypm new: EXISTENCE ERROR: source_sink
-  # "/tmp/nix-build-pakcs-2.0.2.drv-0/pakcs-2.0.2/currytools/cpm/templates/LICENSE"
-  # does not exist
-  buildPhase = ''
+  preBuild = ''
     mkdir -p $out/pakcs
     cp -r * $out/pakcs
-    (cd $out/pakcs ; make -j$NIX_BUILD_CORES $makeFlags)
+    cd $out/pakcs
   '';
 
   installPhase = ''
+    runHook preInstall
+
     ln -s $out/pakcs/bin $out
 
     mkdir -p $out/share/emacs/site-lisp
@@ -75,6 +68,8 @@ in stdenv.mkDerivation {
     # List of dependencies from currytools/cpm/src/CPM/Main.curry
     wrapProgram $out/pakcs/bin/cypm \
       --prefix PATH ":" "${lib.makeBinPath [ curl git unzip gnutar coreutils sqlite ]}"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -94,7 +89,7 @@ in stdenv.mkDerivation {
       with dynamic web pages, prototyping embedded systems).
     '';
 
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ t4ccer ];
     platforms = platforms.linux;
   };
 }