# SPDX-FileCopyrightText: 2020 Luke Granger-Brown # # SPDX-License-Identifier: Apache-2.0 { pkgs, ... }: let jdk = pkgs.jdk8; cookedJDK = pkgs.stdenvNoCC.mkDerivation { inherit (jdk) version; pname = jdk.pname + "-cooked"; outputs = [ "out" "jre" ]; src = jdk; unpackPhase = ""; installPhase = '' cp -R $src $out chmod -R u+rw $out cp -R ${jdk.jre} $jre chmod -R u+rw $jre for symlink in $(find $out -lname '*jre*'); do original_target="$(readlink -f "$symlink")" new_target="$(echo "$original_target" | sed "s,${jdk.jre},$jre,g")" rm "$symlink" ln -s "$new_target" "$symlink" done # Reenable RC4 and SSLv3 :( sed -Ei \ -e 's/jdk.tls.disabledAlgorithms=/disabled.\0/' \ -e 's/jdk.jar.disabledAlgorithms=/disabled.\0/' \ -e 's/jdk.certpath.disabledAlgorithms=/disabled.\0/' \ $jre/lib/openjdk/jre/lib/security/java.security cat <>"$jre/lib/openjdk/jre/lib/security/java.security" jdk.tls.disabledAlgorithms= jdk.jar.disabledAlgorithms= jdk.certpath.disabledAlgorithms= EOF ''; meta = jdk.meta; passthru = jdk.passthru // { home = "${cookedJDK}/lib/openjdk"; }; }; icedtea = pkgs.adoptopenjdk-icedtea-web.override { jdk = cookedJDK; }; in pkgs.buildFHSUserEnv { name = "javaws-env"; targetPkgs = pkgs: (with pkgs; [ icedtea ]); runScript = "javaws"; passthru.jdk = cookedJDK; passthru.icedtea = icedtea; }