{ "{" (1, 1)
ID "stdenv" (1, 3)
, "," (1, 9)
ID "lib" (1, 11)
, "," (1, 14)
ID "fetchurl" (1, 16)
, "," (1, 24)
ID "bash" (1, 26)
, "," (1, 30)
ID "pkg-config" (1, 32)
, "," (1, 42)
ID "autoconf" (1, 44)
, "," (1, 52)
ID "cpio" (1, 54)
, "," (1, 58)
ID "file" (1, 60)
, "," (1, 64)
ID "which" (1, 66)
, "," (1, 71)
ID "unzip" (1, 73)
, "," (2, 1)
ID "zip" (2, 3)
, "," (2, 6)
ID "perl" (2, 8)
, "," (2, 12)
ID "cups" (2, 14)
, "," (2, 18)
ID "freetype" (2, 20)
, "," (2, 28)
ID "alsa-lib" (2, 30)
, "," (2, 38)
ID "libjpeg" (2, 40)
, "," (2, 47)
ID "giflib" (2, 49)
, "," (2, 55)
ID "libpng" (2, 57)
, "," (2, 63)
ID "zlib" (2, 65)
, "," (2, 69)
ID "lcms2" (2, 71)
, "," (3, 1)
ID "libX11" (3, 3)
, "," (3, 9)
ID "libICE" (3, 11)
, "," (3, 17)
ID "libXrender" (3, 19)
, "," (3, 29)
ID "libXext" (3, 31)
, "," (3, 38)
ID "libXt" (3, 40)
, "," (3, 45)
ID "libXtst" (3, 47)
, "," (3, 54)
ID "libXi" (3, 56)
, "," (3, 61)
ID "libXinerama" (3, 63)
, "," (4, 1)
ID "libXcursor" (4, 3)
, "," (4, 13)
ID "libXrandr" (4, 15)
, "," (4, 24)
ID "fontconfig" (4, 26)
, "," (4, 36)
ID "openjdk11" (4, 38)
, "," (4, 47)
ID "fetchpatch" (4, 49)
, "," (5, 1)
ID "setJavaClassPath" (5, 3)
, "," (6, 1)
ID "headless" (6, 3)
? "?" (6, 12)
ID "false" (6, 14)
, "," (7, 1)
ID "enableJavaFX" (7, 3)
? "?" (7, 16)
ID "openjfx" (7, 18)
. "." (7, 25)
ID "meta" (7, 26)
. "." (7, 30)
ID "available" (7, 31)
, "," (7, 40)
ID "openjfx" (7, 42)
, "," (8, 1)
ID "enableGnome2" (8, 3)
? "?" (8, 16)
ID "true" (8, 18)
, "," (8, 22)
ID "gtk3" (8, 24)
, "," (8, 28)
ID "gnome_vfs" (8, 30)
, "," (8, 39)
ID "glib" (8, 41)
, "," (8, 45)
ID "GConf" (8, 47)
} "}" (9, 1)
: ":" (9, 2)
LET "let" (11, 1)
ID "major" (12, 3)
= "=" (12, 9)
" "\"" (12, 11)
STR "12" (12, 12)
" "\"" (12, 14)
; ";" (12, 15)
ID "update" (13, 3)
= "=" (13, 10)
" "\"" (13, 12)
STR ".0.2" (13, 13)
" "\"" (13, 17)
; ";" (13, 18)
ID "build" (14, 3)
= "=" (14, 9)
" "\"" (14, 11)
STR "ga" (14, 12)
" "\"" (14, 14)
; ";" (14, 15)
ID "openjdk" (16, 3)
= "=" (16, 11)
ID "stdenv" (16, 13)
. "." (16, 19)
ID "mkDerivation" (16, 20)
REC "rec" (16, 33)
{ "{" (16, 37)
ID "pname" (17, 5)
= "=" (17, 11)
" "\"" (17, 13)
STR "openjdk" (17, 14)
" "\"" (17, 21)
+ "+" (17, 23)
ID "lib" (17, 25)
. "." (17, 28)
ID "optionalString" (17, 29)
ID "headless" (17, 44)
" "\"" (17, 53)
STR "-headless" (17, 54)
" "\"" (17, 63)
; ";" (17, 64)
ID "version" (18, 5)
= "=" (18, 13)
" "\"" (18, 15)
DOLLAR_CURLY "${" (18, 16)
ID "major" (18, 18)
} "}" (18, 23)
DOLLAR_CURLY "${" (18, 24)
ID "update" (18, 26)
} "}" (18, 32)
STR "-" (18, 33)
DOLLAR_CURLY "${" (18, 34)
ID "build" (18, 36)
} "}" (18, 41)
" "\"" (18, 42)
; ";" (18, 43)
ID "src" (20, 5)
= "=" (20, 9)
ID "fetchurl" (20, 11)
{ "{" (20, 20)
ID "url" (21, 7)
= "=" (21, 11)
" "\"" (21, 13)
STR "http://hg.openjdk.java.net/jdk-updates/jdk" (21, 14)
DOLLAR_CURLY "${" (21, 56)
ID "major" (21, 58)
} "}" (21, 63)
STR "u/archive/jdk-" (21, 64)
DOLLAR_CURLY "${" (21, 78)
ID "version" (21, 80)
} "}" (21, 87)
STR ".tar.gz" (21, 88)
" "\"" (21, 95)
; ";" (21, 96)
ID "sha256" (22, 7)
= "=" (22, 14)
" "\"" (22, 16)
STR "1ndlxmikyy298z7lqpr1bd0zxq7yx6xidj8y3c8mw9m9fy64h9c7" (22, 17)
" "\"" (22, 69)
; ";" (22, 70)
} "}" (23, 5)
; ";" (23, 6)
ID "nativeBuildInputs" (25, 5)
= "=" (25, 23)
[ "[" (25, 25)
ID "pkg-config" (25, 27)
ID "autoconf" (25, 38)
ID "unzip" (25, 47)
] "]" (25, 53)
; ";" (25, 54)
ID "buildInputs" (26, 5)
= "=" (26, 17)
[ "[" (26, 19)
ID "cpio" (27, 7)
ID "file" (27, 12)
ID "which" (27, 17)
ID "zip" (27, 23)
ID "perl" (27, 27)
ID "zlib" (27, 32)
ID "cups" (27, 37)
ID "freetype" (27, 42)
ID "alsa-lib" (27, 51)
ID "libjpeg" (27, 60)
ID "giflib" (27, 68)
ID "libpng" (28, 7)
ID "zlib" (28, 14)
ID "lcms2" (28, 19)
ID "libX11" (28, 25)
ID "libICE" (28, 32)
ID "libXrender" (28, 39)
ID "libXext" (28, 50)
ID "libXtst" (28, 58)
ID "libXt" (28, 66)
ID "libXtst" (28, 72)
ID "libXi" (29, 7)
ID "libXinerama" (29, 13)
ID "libXcursor" (29, 25)
ID "libXrandr" (29, 36)
ID "fontconfig" (29, 46)
ID "openjdk11" (29, 57)
] "]" (30, 5)
CONCAT "++" (30, 7)
ID "lib" (30, 10)
. "." (30, 13)
ID "optionals" (30, 14)
( "(" (30, 24)
! "!" (30, 25)
ID "headless" (30, 26)
AND "&&" (30, 35)
ID "enableGnome2" (30, 38)
) ")" (30, 50)
[ "[" (30, 52)
ID "gtk3" (31, 7)
ID "gnome_vfs" (31, 12)
ID "GConf" (31, 22)
ID "glib" (31, 28)
] "]" (32, 5)
; ";" (32, 6)
ID "patches" (34, 5)
= "=" (34, 13)
[ "[" (34, 15)
PATH "./fix-java-home-jdk10.patch" (35, 7)
PATH_END "\n" (35, 34)
PATH "./read-truststore-from-env-jdk10.patch" (36, 7)
PATH_END "\n" (36, 45)
PATH "./currency-date-range-jdk10.patch" (37, 7)
PATH_END "\n" (37, 40)
PATH "./increase-javadoc-heap.patch" (38, 7)
PATH_END "\n" (38, 36)
( "(" (43, 7)
ID "fetchurl" (43, 8)
{ "{" (43, 17)
ID "url" (44, 9)
= "=" (44, 13)
" "\"" (44, 15)
STR "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch" (44, 16)
" "\"" (44, 176)
; ";" (44, 177)
ID "sha256" (45, 9)
= "=" (45, 16)
" "\"" (45, 18)
STR "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r" (45, 19)
" "\"" (45, 71)
; ";" (45, 72)
} "}" (46, 7)
) ")" (46, 8)
( "(" (48, 7)
ID "fetchpatch" (48, 8)
{ "{" (48, 19)
ID "url" (49, 9)
= "=" (49, 13)
" "\"" (49, 15)
STR "https://github.com/openjdk/panama-foreign/commit/af5c725b8109ce83fc04ef0f8bf6aaf0b50c0441.patch" (49, 16)
" "\"" (49, 111)
; ";" (49, 112)
ID "sha256" (50, 9)
= "=" (50, 16)
" "\"" (50, 18)
STR "0ja84kih5wkjn58pml53s59qnavb1z92dc88cbgw7vcyqwc1gs0h" (50, 19)
" "\"" (50, 71)
; ";" (50, 72)
} "}" (51, 7)
) ")" (51, 8)
] "]" (52, 5)
CONCAT "++" (52, 7)
ID "lib" (52, 10)
. "." (52, 13)
ID "optionals" (52, 14)
( "(" (52, 24)
! "!" (52, 25)
ID "headless" (52, 26)
AND "&&" (52, 35)
ID "enableGnome2" (52, 38)
) ")" (52, 50)
[ "[" (52, 52)
PATH "./swing-use-gtk-jdk10.patch" (53, 7)
PATH_END "\n" (53, 34)
] "]" (54, 5)
; ";" (54, 6)
ID "prePatch" (56, 5)
= "=" (56, 14)
IND_STRING_OPEN "''\n" (56, 16)
IND_STR "      chmod +x configure\n      patchShebangs --build configure\n    " (57, 1)
IND_STRING_CLOSE "''" (59, 5)
; ";" (59, 7)
ID "configureFlags" (61, 5)
= "=" (61, 20)
[ "[" (61, 22)
" "\"" (62, 7)
STR "--with-boot-jdk=" (62, 8)
DOLLAR_CURLY "${" (62, 24)
ID "openjdk11" (62, 26)
. "." (62, 35)
ID "home" (62, 36)
} "}" (62, 40)
" "\"" (62, 41)
" "\"" (63, 7)
STR "--with-version-pre=" (63, 8)
" "\"" (63, 27)
" "\"" (64, 7)
STR "--enable-unlimited-crypto" (64, 8)
" "\"" (64, 33)
" "\"" (65, 7)
STR "--with-native-debug-symbols=internal" (65, 8)
" "\"" (65, 44)
" "\"" (66, 7)
STR "--with-libjpeg=system" (66, 8)
" "\"" (66, 29)
" "\"" (67, 7)
STR "--with-giflib=system" (67, 8)
" "\"" (67, 28)
" "\"" (68, 7)
STR "--with-libpng=system" (68, 8)
" "\"" (68, 28)
" "\"" (69, 7)
STR "--with-zlib=system" (69, 8)
" "\"" (69, 26)
" "\"" (70, 7)
STR "--with-lcms=system" (70, 8)
" "\"" (70, 26)
" "\"" (71, 7)
STR "--with-stdc++lib=dynamic" (71, 8)
" "\"" (71, 32)
] "]" (72, 5)
CONCAT "++" (72, 7)
ID "lib" (72, 10)
. "." (72, 13)
ID "optional" (72, 14)
ID "stdenv" (72, 23)
. "." (72, 29)
ID "isx86_64" (72, 30)
" "\"" (72, 39)
STR "--with-jvm-features=zgc" (72, 40)
" "\"" (72, 63)
CONCAT "++" (73, 7)
ID "lib" (73, 10)
. "." (73, 13)
ID "optional" (73, 14)
ID "headless" (73, 23)
" "\"" (73, 32)
STR "--enable-headless-only" (73, 33)
" "\"" (73, 55)
CONCAT "++" (74, 7)
ID "lib" (74, 10)
. "." (74, 13)
ID "optional" (74, 14)
( "(" (74, 23)
! "!" (74, 24)
ID "headless" (74, 25)
AND "&&" (74, 34)
ID "enableJavaFX" (74, 37)
) ")" (74, 49)
" "\"" (74, 51)
STR "--with-import-modules=" (74, 52)
DOLLAR_CURLY "${" (74, 74)
ID "openjfx" (74, 76)
} "}" (74, 83)
" "\"" (74, 84)
; ";" (74, 85)
ID "separateDebugInfo" (76, 5)
= "=" (76, 23)
ID "true" (76, 25)
; ";" (76, 29)
ID "NIX_CFLAGS_COMPILE" (78, 5)
= "=" (78, 24)
[ "[" (78, 26)
" "\"" (78, 28)
STR "-Wno-error" (78, 29)
" "\"" (78, 39)
] "]" (78, 41)
; ";" (78, 42)
ID "NIX_LDFLAGS" (80, 5)
= "=" (80, 17)
ID "lib" (80, 19)
. "." (80, 22)
ID "optionals" (80, 23)
( "(" (80, 33)
! "!" (80, 34)
ID "headless" (80, 35)
) ")" (80, 43)
[ "[" (80, 45)
" "\"" (81, 7)
STR "-lfontconfig" (81, 8)
" "\"" (81, 20)
" "\"" (81, 22)
STR "-lcups" (81, 23)
" "\"" (81, 29)
" "\"" (81, 31)
STR "-lXinerama" (81, 32)
" "\"" (81, 42)
" "\"" (81, 44)
STR "-lXrandr" (81, 45)
" "\"" (81, 53)
" "\"" (81, 55)
STR "-lmagic" (81, 56)
" "\"" (81, 63)
] "]" (82, 5)
CONCAT "++" (82, 7)
ID "lib" (82, 10)
. "." (82, 13)
ID "optionals" (82, 14)
( "(" (82, 24)
! "!" (82, 25)
ID "headless" (82, 26)
AND "&&" (82, 35)
ID "enableGnome2" (82, 38)
) ")" (82, 50)
[ "[" (82, 52)
" "\"" (83, 7)
STR "-lgtk-3" (83, 8)
" "\"" (83, 15)
" "\"" (83, 17)
STR "-lgio-2.0" (83, 18)
" "\"" (83, 27)
" "\"" (83, 29)
STR "-lgnomevfs-2" (83, 30)
" "\"" (83, 42)
" "\"" (83, 44)
STR "-lgconf-2" (83, 45)
" "\"" (83, 54)
] "]" (84, 5)
; ";" (84, 6)
ID "enableParallelBuilding" (90, 5)
= "=" (90, 28)
ID "false" (90, 30)
; ";" (90, 35)
ID "buildFlags" (92, 5)
= "=" (92, 16)
[ "[" (92, 18)
" "\"" (92, 20)
STR "all" (92, 21)
" "\"" (92, 24)
] "]" (92, 26)
; ";" (92, 27)
ID "installPhase" (94, 5)
= "=" (94, 18)
IND_STRING_OPEN "''\n" (94, 20)
IND_STR "      mkdir -p $out/lib\n\n      mv build/*/images/jdk $out/lib/openjdk\n\n      # Remove some broken manpages.\n      rm -rf $out/lib/openjdk/man/ja*\n\n      # Mirror some stuff in top-level.\n      mkdir -p $out/share\n      ln -s $out/lib/openjdk/include $out/include\n      ln -s $out/lib/openjdk/man $out/share/man\n\n      # jni.h expects jni_md.h to be in the header search path.\n      ln -s $out/include/linux/*_md.h $out/include/\n\n      # Remove crap from the installation.\n      rm -rf $out/lib/openjdk/demo\n      " (95, 1)
DOLLAR_CURLY "${" (112, 7)
ID "lib" (112, 9)
. "." (112, 12)
ID "optionalString" (112, 13)
ID "headless" (112, 28)
IND_STRING_OPEN "''\n" (112, 37)
IND_STR "        rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so\n      " (113, 1)
IND_STRING_CLOSE "''" (114, 7)
} "}" (114, 9)
IND_STR "\n\n      ln -s $out/lib/openjdk/bin $out/bin\n    " (114, 10)
IND_STRING_CLOSE "''" (117, 5)
; ";" (117, 7)
ID "preFixup" (119, 5)
= "=" (119, 14)
IND_STRING_OPEN "''\n" (119, 16)
IND_STR "      # Propagate the setJavaClassPath setup hook so that any package\n      # that depends on the JDK has $CLASSPATH set up properly.\n      mkdir -p $out/nix-support\n      #TODO or printWords?  cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040\n      echo -n \"" (120, 1)
DOLLAR_CURLY "${" (124, 16)
ID "setJavaClassPath" (124, 18)
} "}" (124, 34)
IND_STR "\" > $out/nix-support/propagated-build-inputs\n\n      # Set JAVA_HOME automatically.\n      mkdir -p $out/nix-support\n      cat <<EOF > $out/nix-support/setup-hook\n      if [ -z \"\\" (124, 35)
IND_STR "$" (129, 17)
IND_STR "{JAVA_HOME-}\" ]; then export JAVA_HOME=$out/lib/openjdk; fi\n      EOF\n    " (129, 20)
IND_STRING_CLOSE "''" (131, 5)
; ";" (131, 7)
ID "postFixup" (133, 5)
= "=" (133, 15)
IND_STRING_OPEN "''\n" (133, 17)
IND_STR "      # Build the set of output library directories to rpath against\n      LIBDIRS=\"\"\n      for output in $outputs; do\n        if [ \"$output\" = debug ]; then continue; fi\n        LIBDIRS=\"$(find $(eval echo \\$$output) -name \\*.so\\* -exec dirname {} \\+ | sort | uniq | tr '\\n' ':'):$LIBDIRS\"\n      done\n      # Add the local library paths to remove dependencies on the bootstrap\n      for output in $outputs; do\n        if [ \"$output\" = debug ]; then continue; fi\n        OUTPUTDIR=$(eval echo \\$$output)\n        BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \\*.so\\*)\n        echo \"$BINLIBS\" | while read i; do\n          patchelf --set-rpath \"$LIBDIRS:$(patchelf --print-rpath \"$i\")\" \"$i\" || true\n          patchelf --shrink-rpath \"$i\" || true\n        done\n      done\n    " (134, 1)
IND_STRING_CLOSE "''" (150, 5)
; ";" (150, 7)
ID "disallowedReferences" (152, 5)
= "=" (152, 26)
[ "[" (152, 28)
ID "openjdk11" (152, 30)
] "]" (152, 40)
; ";" (152, 41)
ID "meta" (154, 5)
= "=" (154, 10)
ID "import" (154, 12)
PATH "./meta.nix" (154, 19)
PATH_END " " (154, 29)
ID "lib" (154, 30)
; ";" (154, 33)
ID "passthru" (156, 5)
= "=" (156, 14)
{ "{" (156, 16)
ID "architecture" (157, 7)
= "=" (157, 20)
" "\"" (157, 22)
" "\"" (157, 23)
; ";" (157, 24)
ID "home" (158, 7)
= "=" (158, 12)
" "\"" (158, 14)
DOLLAR_CURLY "${" (158, 15)
ID "openjdk" (158, 17)
} "}" (158, 24)
STR "/lib/openjdk" (158, 25)
" "\"" (158, 37)
; ";" (158, 38)
INHERIT "inherit" (159, 7)
ID "gtk3" (159, 15)
; ";" (159, 19)
} "}" (160, 5)
; ";" (160, 6)
} "}" (161, 3)
; ";" (161, 4)
IN "in" (162, 1)
ID "openjdk" (162, 4)