summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-01-20 14:54:50 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-01-20 14:58:09 +0100
commit88904928729ea72e879a5dddfbdddfdb0e61f729 (patch)
tree196b5fd6484397e67379d486a797d3588e335432 /pkgs
parent9068ba2bb4183ec5fc250a88fea74f464928b276 (diff)
downloadnixlib-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.nix9
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