diff options
Diffstat (limited to 'pkgs/development/compilers/pakcs')
-rw-r--r-- | pkgs/development/compilers/pakcs/curry-base.nix | 16 | ||||
-rw-r--r-- | pkgs/development/compilers/pakcs/curry-frontend.nix | 22 | ||||
-rw-r--r-- | pkgs/development/compilers/pakcs/default.nix | 39 |
3 files changed, 29 insertions, 48 deletions
diff --git a/pkgs/development/compilers/pakcs/curry-base.nix b/pkgs/development/compilers/pakcs/curry-base.nix deleted file mode 100644 index c461d2caa93c3..0000000000000 --- a/pkgs/development/compilers/pakcs/curry-base.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ mkDerivation, base, Cabal, containers, directory, extra, filepath -, mtl, parsec, pretty, lib, time, transformers -}: -mkDerivation { - pname = "curry-base"; - version = "1.1.0"; - src = ./.; - libraryHaskellDepends = [ - base containers directory extra filepath mtl parsec pretty time - transformers - ]; - testHaskellDepends = [ base Cabal filepath mtl ]; - homepage = "http://curry-language.org"; - description = "Functions for manipulating Curry programs"; - license = lib.licenses.bsd3; -} diff --git a/pkgs/development/compilers/pakcs/curry-frontend.nix b/pkgs/development/compilers/pakcs/curry-frontend.nix index 88e88487594bb..acf658024b010 100644 --- a/pkgs/development/compilers/pakcs/curry-frontend.nix +++ b/pkgs/development/compilers/pakcs/curry-frontend.nix @@ -1,26 +1,28 @@ -{ mkDerivation, base, bytestring, Cabal, containers, curry-base -, directory, extra, file-embed, filepath, mtl, network-uri, pretty -, process, set-extra, lib, template-haskell, transformers +{ mkDerivation, base, binary, bytestring, Cabal, containers +, directory, extra, file-embed, filepath, lib, mtl, network-uri +, parsec, pretty, process, set-extra, template-haskell, time +, transformers }: mkDerivation { pname = "curry-frontend"; - version = "1.0.4"; + version = "2.1.0"; src = ./.; isLibrary = true; isExecutable = true; enableSeparateDataOutput = true; libraryHaskellDepends = [ - base bytestring containers curry-base directory extra file-embed - filepath mtl network-uri pretty process set-extra template-haskell - transformers + base binary bytestring containers directory extra file-embed + filepath mtl network-uri parsec pretty process set-extra + template-haskell time transformers ]; - executableHaskellDepends = [ - base bytestring containers curry-base directory extra file-embed + executableHaskellDepends = [ base ]; + testHaskellDepends = [ + base bytestring Cabal containers directory extra file-embed filepath mtl network-uri pretty process set-extra template-haskell transformers ]; - testHaskellDepends = [ base Cabal curry-base filepath ]; homepage = "http://curry-language.org"; description = "Compile the functional logic language Curry to several intermediate formats"; license = lib.licenses.bsd3; + mainProgram = "curry-frontend"; } diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index e38f4e8c02ba8..42b2e208c1d49 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/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; }; } |