pakcs: 2.2.1 -> 3.6.0

This commit is contained in:
t4ccer
2024-01-08 12:44:38 +01:00
committed by sternenseemann
parent 94a417d743
commit df9e485b6c
3 changed files with 30 additions and 49 deletions
@@ -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;
}
@@ -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
base binary bytestring containers directory extra file-embed
filepath mtl network-uri parsec pretty process set-extra
template-haskell time transformers
];
executableHaskellDepends = [ base ];
testHaskellDepends = [
base bytestring Cabal containers directory extra file-embed
filepath mtl network-uri pretty process set-extra template-haskell
transformers
];
executableHaskellDepends = [
base bytestring containers curry-base 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";
}
+17 -22
View File
@@ -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;
};
}