46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
{stdenv, fetchgit, autoreconfHook, libtool, gnulib, gnu-classpath_98, jamvm_1_5_4, ecj, fastjar, texinfo}: stdenv.mkDerivation rec {
|
|
pname = "gnu-classpath";
|
|
version = "0.99";
|
|
|
|
src = fetchgit {
|
|
url = "https://git.savannah.gnu.org/git/classpath.git";
|
|
rev = "e7c13ee0cf2005206fbec0eca677f8cf66d5a103";
|
|
hash = "sha256-gQonVt3Ps6LDZV0tNmiRjqIbYaaQwYjpUogu9Y7nLIo=";
|
|
deepClone = true;
|
|
};
|
|
|
|
patches = [./gnu-classpath.patch];
|
|
|
|
nativeBuildInputs = [autoreconfHook gnu-classpath_98 jamvm_1_5_4 ecj fastjar texinfo];
|
|
|
|
env = {
|
|
ACLOCAL_PATH="${libtool}/share/aclocal:${gnulib}/m4";
|
|
};
|
|
|
|
configureFlags = ["--disable-gtk-peer" "--disable-gconf-peer" "--disable-plugin" "--disable-gjdoc" "--with-ecj-jar=${ecj}/bin/ecj.jar"];
|
|
|
|
postPatch = ''
|
|
echo "@Override wird gedesed..."
|
|
find . -name "*.java" -exec sed -i 's/@Override\s*//g' {} +
|
|
'';
|
|
|
|
postInstall = ''
|
|
mkdir -p $out/jre/lib
|
|
ln -s $out/share/classpath/tools.zip $out/lib/tools.jar
|
|
ln -s $out/share/classpath/glibj.zip $out/jre/lib/rt.jar
|
|
|
|
cat << 'EOF' > $out/bin/javac
|
|
#!/bin/bash
|
|
exec ${ecj}/bin/ecj "$@"
|
|
EOF
|
|
sed -i "s|\$out|$out|g" $out/bin/javac
|
|
chmod +x $out/bin/javac
|
|
|
|
cat << 'EOF' > $out/bin/java
|
|
#!/bin/bash
|
|
exec jamvm "$@"
|
|
EOF
|
|
chmod +x $out/bin/java
|
|
'';
|
|
}
|