diff options
author | Graham Christensen <graham@grahamc.com> | 2017-11-06 13:11:04 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-06 13:11:04 -0500 |
commit | 240b4f36a6467d1863b8402e057991a66a50a694 (patch) | |
tree | dff7c4ac8e7d694caf01ca2b96a26acc1534cf2e | |
parent | 5549fa767fe9393dba635d615f6e4b7796b5a333 (diff) | |
parent | 40124cd0cf474dd17959b5ae36c8a98112c173c0 (diff) | |
download | nixlib-240b4f36a6467d1863b8402e057991a66a50a694.tar nixlib-240b4f36a6467d1863b8402e057991a66a50a694.tar.gz nixlib-240b4f36a6467d1863b8402e057991a66a50a694.tar.bz2 nixlib-240b4f36a6467d1863b8402e057991a66a50a694.tar.lz nixlib-240b4f36a6467d1863b8402e057991a66a50a694.tar.xz nixlib-240b4f36a6467d1863b8402e057991a66a50a694.tar.zst nixlib-240b4f36a6467d1863b8402e057991a66a50a694.zip |
Merge pull request #31160 from mpickering/idris-10450
Add wrapper for idris exe for gcc/gmp runtime deps
-rw-r--r-- | pkgs/development/idris-modules/default.nix | 9 | ||||
-rw-r--r-- | pkgs/development/idris-modules/idris-wrapper.nix | 14 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 5 |
3 files changed, 25 insertions, 3 deletions
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix index 4d7c4928283a..16f6c65b094a 100644 --- a/pkgs/development/idris-modules/default.nix +++ b/pkgs/development/idris-modules/default.nix @@ -1,4 +1,4 @@ -{ pkgs, idris, overrides ? (self: super: {}) }: let +{ pkgs, idris-no-deps, overrides ? (self: super: {}) }: let inherit (pkgs.lib) callPackageWith fix' extends; /* Taken from haskell-modules/default.nix, should probably abstract this away */ @@ -33,7 +33,12 @@ value = callPackage (./. + "/${name}.nix") {}; }) files)) // { - inherit idris callPackage; + inherit idris-no-deps callPackage; + # See #10450 about why we have to wrap the executable + idris = + (pkgs.callPackage ./idris-wrapper.nix {}) + idris-no-deps + { path = [ pkgs.gcc ]; lib = [pkgs.gmp]; }; # A list of all of the libraries that come with idris builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_; diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix new file mode 100644 index 000000000000..32424ba1f862 --- /dev/null +++ b/pkgs/development/idris-modules/idris-wrapper.nix @@ -0,0 +1,14 @@ +{ symlinkJoin, makeWrapper, stdenv }: idris: { path, lib }: + +symlinkJoin { + name = idris.name; + src = idris.src; + paths = [ idris ]; + buildInputs = [ makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/idris \ + --suffix PATH : ${ stdenv.lib.makeBinPath path } \ + --suffix LIBRARY_PATH : ${stdenv.lib.makeLibraryPath lib} + ''; + } + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 37a35aca0083..983dacda0449 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5874,7 +5874,8 @@ with pkgs; icedtea_web = icedtea8_web; idrisPackages = callPackage ../development/idris-modules { - idris = + + idris-no-deps = let inherit (self.haskell) lib; haskellPackages = self.haskellPackages.override { @@ -5891,6 +5892,8 @@ with pkgs; haskellPackages.idris; }; + idris = idrisPackages.with-packages [ idrisPackages.base ] ; + intercal = callPackage ../development/compilers/intercal { }; irony-server = callPackage ../development/tools/irony-server/default.nix { |