diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-20 14:54:50 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-20 14:58:09 +0100 |
commit | 88904928729ea72e879a5dddfbdddfdb0e61f729 (patch) | |
tree | 196b5fd6484397e67379d486a797d3588e335432 /pkgs | |
parent | 9068ba2bb4183ec5fc250a88fea74f464928b276 (diff) | |
download | nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.tar nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.tar.gz nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.tar.bz2 nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.tar.lz nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.tar.xz nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.tar.zst nixlib-88904928729ea72e879a5dddfbdddfdb0e61f729.zip |
openjdk: Ugly hack to fix nix-env installation
Nix-env always wants to install all outputs of a derivation, but this failed for openjdk/openjre because openjdk has some symlinks (such as bin/java) to openjre. Also, it prevents installing the openjre without the openjdk. So as a workaround, mess with the "outputs" attribute to fool nix-env. Also, give openjre a separate name and description. Fixes #1535.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/top-level/all-packages.nix | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72bdda00bfe8..096880a63317 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2851,11 +2851,14 @@ let else let openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { }; - in callPackage ../development/compilers/openjdk { + in (callPackage ../development/compilers/openjdk { jdk = openjdkBootstrap; - }; + }) // { outputs = [ "out" ]; }; - openjre = pkgs.openjdk.jre; + # FIXME: Need a way to set per-output meta attributes. + openjre = (lib.setName "openjre-${lib.getVersion pkgs.openjdk.jre}" (lib.addMetaAttrs + { description = "The open-source Java Runtime Environment"; } + pkgs.openjdk.jre)) // { outputs = [ "jre" ]; }; jdk = if stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then pkgs.openjdk |