BefatorNix/jdk/jdk6-bootstrap.nix
2025-09-05 17:38:49 +02:00

91 lines
3.7 KiB
Nix

{stdenv, fetchzip, fetchurl, ant_1_6, gnu-classpath, jamvm, zip, unzip, freetype, pkg-config, perl, which, procps,
alsa-lib, cups, motif, wget, cpio, fastjar, libxslt, xorg, zlib, libjpeg, libpng, giflib, lcms, krb5, breakpointHook}: stdenv.mkDerivation rec {
pname = "jdk";
version = "1.13.13";
src = fetchzip {
url = "https://icedtea.wildebeest.org/download/source/icedtea6-${version}.tar.gz";
hash = "sha256-7j5Fm+bxpUzrDuI7UOfYsnv7vEc0oGos+AaHr7eKSHQ=";
};
jdkSrc = fetchurl {
url = "https://ponce.cc/slackware/sources/repo/openjdk-6-src-b41-04_jan_2017.tar.xz";
hash = "sha256-jjTUUc7GX66LQwRlEFjtTcjQe9Rbqi9JeAAJCXr8GhU=";
};
patches = [./jdk6-bootstrap.patch];
nativeBuildInputs = [pkg-config ant_1_6 wget zip unzip cpio fastjar jamvm gnu-classpath libxslt perl which procps];
buildInputs = [cups.dev zlib.dev libjpeg.dev libpng.dev giflib lcms.dev krb5.dev freetype.dev alsa-lib.dev
xorg.libX11.dev xorg.libXt.dev xorg.libXinerama.dev xorg.libXcomposite.dev xorg.libXrender.dev xorg.libXtst breakpointHook];
env = {
# BUILD_CORBA="false";
# BUILD_JAXP="false";
BUILD_JAXWS="false";
# NO_DOCS="true";
# NO_IMAGES="true";
DISABLE_HOTSPOT_OS_VERSION_CHECK="ok";
ALT_FREETYPE_HEADERS_PATH="${freetype.dev}/include";
ALT_FREETYPE_LIB_PATH="${freetype}/lib";
ALSA_DIR="${alsa-lib.dev}";
ALT_CUPS_HEADERS_PATH="${cups.dev}/include";
# ALT_MOTIF_DIR="${motif}";
# ALT_BOOTDIR="${gnu-classpath}";
NIX_CFLAGS_COMPILE="-fpermissive";
ALT_UNIXCOMMAND_PATH="";
ALT_USRBIN_PATH="";
ALT_COMPILER_PATH="";
ALT_DEVTOOLS_PATH="";
};
#preConfigure = ''
# sed -i "s|/usr/bin/perl|${perl}/bin/perl|g" javac.in
#'';
prePatch = ''
sed -i "s|/usr/bin/perl|${perl}/bin/perl|g" javac.in
cp ${jdkSrc} ./openjdk-6-src-b41-04_jan_2017.tar.xz
#Aus Make geklaut
mkdir openjdk
echo "Fette Extraction..."
tar xf openjdk-6-src-b41-04_jan_2017.tar.xz -C openjdk
chmod -R ug+w openjdk
'';
postConfigure = ''
sh /build/source/fsg.sh
sed -i "s|/bin/echo|echo|g" openjdk/jdk/make/common/shared/Defs-utils.gmk
sed -i "s|/bin/echo|echo|g" openjdk/corba/make/common/shared/Defs-utils.gmk
sed -i "s|\$(BOOTDIR)/bin/rmic \$(JAVA_TOOLS_FLAGS:%=-J%)|\$(BOOTDIR)/bin/befator|g" openjdk/jdk/make/common/shared/Defs-java.gmk
sed -i "s|\$(BOOTDIR)/bin/rmic \$(JAVA_TOOLS_FLAGS:%=-J%)|\$(BOOTDIR)/bin/befator2|g" openjdk/corba/make/common/shared/Defs-java.gmk
sed -i "s|/usr/include/alsa/version.h|\$(ALSA_DIR)/include/alsa/version.h|g" openjdk/jdk/make/common/shared/Sanity.gmk
sed -i "s|/usr/lib/libasound.so|\$(ALSA_DIR)/lib/libasound.so|g" openjdk/jdk/make/common/shared/Sanity.gmk
sed -i "s|FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH);|FREETYPE_MAJOR, FREETYPE_MINOR > 9 ? 9 : FREETYPE_MINOR, FREETYPE_PATCH);|g" openjdk/jdk/make/tools/freetypecheck/freetypecheck.c
sed -i "s|major, minor, patch);|major, minor > 9 ? 9 : minor, patch);|g" openjdk/jdk/make/tools/freetypecheck/freetypecheck.c
'';
#buildPhase = ''
# make
# #./build.sh
# #bash ./gradlew build
# #bash ./gradlew install -Pgradle_installPath=$out
#'';
#installPhase = ''
# mkdir $out
# cp -r ./dist/* $out/
#'';
configureFlags = ["--with-ecj" "--with-java=${jamvm}/bin/jamvm" "--with-jdk-home=${gnu-classpath}" "--without-rhino" "--disable-downloading" "--disable-tests" "--enable-nss"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}