Commit df9e485b authored by t4ccer's avatar t4ccer Committed by sternenseemann
Browse files

pakcs: 2.2.1 -> 3.6.0

parent 94a417d7
Loading
Loading
Loading
Loading
+0 −16
Original line number Diff line number Diff line
{ 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;
}
+12 −10
Original line number Diff line number Diff line
{ 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";
}
+17 −22
Original line number Diff line number Diff line
@@ -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";
        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 \
    for file in examples/test.sh             \
                currytools/optimize/Makefile \
                testsuite/test.sh            \
                scripts/cleancurry.sh        \
                examples/test.sh testsuite/test.sh lib/test.sh; do
                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;
  };
}