java work

This commit is contained in:
Some One 2025-08-25 15:18:39 +02:00
parent 7ad14eb8aa
commit c2c92aa452
38 changed files with 1276 additions and 18 deletions

33
ant.nix Normal file
View File

@ -0,0 +1,33 @@
{stdenv, fetchzip, jdk8, junit, breakpointHook}: stdenv.mkDerivation rec {
pname = "ant";
version = "1.7.0";
src = fetchzip {
url = "https://archive.apache.org/dist/ant/source/apache-ant-1.7.0-src.tar.gz";
hash = "sha256-IFAA0jVdnK5a6ElnPd8K24N4i2XyvlhfPmJlu2wrPgM=";
};
#patches = [./mysql.patch];
nativeBuildInputs = [jdk8];
buildInputs = [breakpointHook];
#buildInputs = [autoreconfHook ncurses breakpointHook];
#env = {
# ACLOCAL_PATH="${libtool}/share/aclocal";
# NIX_CFLAGS_COMPILE="-fpermissive";
#};
buildPhase = ''
#cp ${junit}/junit-4.1.jar ./lib/junit.jar
export CLASSPATH="${junit}/junit-4.1.jar"
./build.sh
#bash ./gradlew build
#bash ./gradlew install -Pgradle_installPath=$out
'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

13
cssselect.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages}: python27Packages.buildPythonPackage rec {
pname = "cssselect";
version = "1.0.1";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-c9scBUuTSECeKGL8bA3eXE5Pvk2mTFxangX76kV0QHc=";
};
propagatedBuildInputs = [python27Packages.setuptools];
}

View File

@ -0,0 +1,13 @@
{stdenv, python27Packages, django}: python27Packages.buildPythonPackage rec {
pname = "django-cors-headers-multi";
version = "1.2.0";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-yhzPn9VJ/lRH6LodSWVlgmUc12gvePYqfND5Erk1mWg=";
};
propagatedBuildInputs = [python27Packages.setuptools django];
}

13
django-tables2.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages, django}: python27Packages.buildPythonPackage rec {
pname = "django-tables2";
version = "1.10.0";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-UWB6Ha2prRDPCaqtxyCJYMaSKrcg3YtdDA0bIiLwCmY=";
};
propagatedBuildInputs = [python27Packages.setuptools django];
}

13
drf-nested-routers.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages, django, django-rest-framework}: python27Packages.buildPythonPackage rec {
pname = "drf-nested-routers";
version = "0.90.0";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-gY/MN7bK//UvSvrgErjehZcKG5MfHkfC8Hok/RQetHY=";
};
propagatedBuildInputs = [python27Packages.setuptools django django-rest-framework];
}

13
elasticsearch-dsl.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages, elasticsearch, six, python-dateutil}: python27Packages.buildPythonPackage rec {
pname = "elasticsearch-dsl";
version = "5.3.0";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-3oGyMizem/EXHIpB2AWWza3UM7iLk9qgkGCvOlElI6c=";
};
propagatedBuildInputs = [python27Packages.setuptools elasticsearch six python-dateutil];
}

30
elasticsearch-service.nix Normal file
View File

@ -0,0 +1,30 @@
{stdenv, fetchFromGitHub, gradle}: stdenv.mkDerivation rec {
pname = "elasticsearch";
version = "5.3.3";
src = fetchFromGitHub {
owner = "elastic";
repo = pname;
rev = "v" + version;
hash = "sha256-clrfLeJwmwfzml6YRJSWvtwVB2+MRUAmvXijllYzrEQ=";
};
#patches = [./mysql.patch];
nativeBuildInputs = [gradle];
#buildInputs = [autoreconfHook ncurses breakpointHook];
#env = {
# ACLOCAL_PATH="${libtool}/share/aclocal";
# NIX_CFLAGS_COMPILE="-fpermissive";
#};
buildPhase = ''
gradle assemble
'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

13
email-reply-parser.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages}: python27Packages.buildPythonPackage rec {
pname = "email_reply_parser";
version = "0.5.9";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-+Sqm/XMUwsiDPykowP1tLib5TATrHeQJ51xZ8axC7vg=";
};
propagatedBuildInputs = [python27Packages.setuptools];
}

31
gradle.nix Normal file
View File

@ -0,0 +1,31 @@
{stdenv, fetchFromGitHub, temurin-jre-bin-8, gradle_0_0_2}: stdenv.mkDerivation rec {
pname = "gradle";
version = "2.13.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v" + version;
hash = "sha256-40rFlGsieGI6DkCddJsaXy1C8346dh+Qi/Lf/VEJVYQ=";
};
#patches = [./mysql.patch];
nativeBuildInputs = [temurin-jre-bin-8 gradle_0_0_2];
#buildInputs = [autoreconfHook ncurses breakpointHook];
#env = {
# ACLOCAL_PATH="${libtool}/share/aclocal";
# NIX_CFLAGS_COMPILE="-fpermissive";
#};
buildPhase = ''
bash ./gradlew build
bash ./gradlew install -Pgradle_installPath=$out
'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

32
gradle_0_0_2.nix Normal file
View File

@ -0,0 +1,32 @@
{stdenv, fetchFromGitHub, temurin-jre-bin-8, ant}: stdenv.mkDerivation rec {
pname = "gradle";
version = "0.0.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "9efc38c9f9b4ed447ba7fb9c99211f4b260923ec";
hash = "sha256-jtEKHVTp0LUB4U4eBAgE0F74kfCo/5S9qvQC0TvU3FA=";
};
#patches = [./mysql.patch];
nativeBuildInputs = [temurin-jre-bin-8 ant];
#buildInputs = [autoreconfHook ncurses breakpointHook];
#env = {
# ACLOCAL_PATH="${libtool}/share/aclocal";
# NIX_CFLAGS_COMPILE="-fpermissive";
#};
buildPhase = ''
./gradlew
#bash ./gradlew build
#bash ./gradlew install -Pgradle_installPath=$out
'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

35
jdk/ant_1_6.nix Normal file
View File

@ -0,0 +1,35 @@
{stdenv, fetchzip, gnu-classpath_93, jamvm_1_5_1}: stdenv.mkDerivation rec {
pname = "ant";
version = "1.6.5";
src = fetchzip {
url = "https://archive.apache.org/dist/ant/source/apache-ant-1.6.5-src.tar.gz";
hash = "sha256-UJaFPX3KtFa06B4eDu2ZNMO+GreTtdEYbhGrKr3soUI=";
};
#patches = [./mysql.patch];
nativeBuildInputs = [gnu-classpath_93 jamvm_1_5_1];
env = {
JAVA_HOME="${gnu-classpath_93}";
CLASSPATH="${gnu-classpath_93}/share/classpath/glibj.zip";
ANT_OPTS="-Dbuild.compiler=jikes";
};
buildPhase = ''
./build.sh
#bash ./gradlew build
#bash ./gradlew install -Pgradle_installPath=$out
'';
installPhase = ''
mkdir $out
cp -r ./dist/* $out/
'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

35
jdk/ecj.nix Normal file
View File

@ -0,0 +1,35 @@
{stdenv, fetchzip, ant_1_6, gnu-classpath_93, jamvm_1_5_1, jikes}: stdenv.mkDerivation rec {
pname = "ecj";
version = "3.2.1"; #Compiler meldet 3.2.1 bei 3.2.2 source
src = fetchzip {
url = "https://archive.eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/eclipse-sourceBuild-srcIncluded-3.2.2.zip";
hash = "sha256-7FYd+SHyJ9FPYBRJIgHW5IgKbF8HhlKMlSXE8oeyuZk=";
stripRoot=false;
};
nativeBuildInputs = [ant_1_6 jamvm_1_5_1 jikes];
env = {
JAVA_HOME="${gnu-classpath_93}";
CLASSPATH="${gnu-classpath_93}/share/classpath/glibj.zip";
ANT_OPTS="-Dbuild.compiler=jikes";
};
buildPhase = ''
cd jdtcoresrc
ant -f compilejdtcorewithjavac.xml
cd ..
'';
installPhase = ''
mkdir -p $out/bin
cp -r ./jdtcoresrc/ecj.jar $out/bin/ecj.jar
cat << 'EOF' > $out/bin/ecj
#!/bin/bash
exec ${jamvm_1_5_1}/bin/jamvm -Xmx768M -cp $out/bin/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main "$@"
EOF
sed -i "s|\$out|$out|g" $out/bin/ecj
chmod +x $out/bin/ecj
'';
}

45
jdk/gnu-classpath.nix Normal file
View File

@ -0,0 +1,45 @@
{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
'';
}

13
jdk/gnu-classpath.patch Normal file
View File

@ -0,0 +1,13 @@
diff --git a/m4/ac_prog_javac.m4 b/m4/ac_prog_javac.m4
index 76c98de56..9e310a962 100644
--- a/m4/ac_prog_javac.m4
+++ b/m4/ac_prog_javac.m4
@@ -36,7 +36,7 @@ dnl Modified to remove jikes by Andrew John Hughes on 2008-02-11
AC_DEFUN_ONCE([AC_PROG_JAVAC],[
AC_REQUIRE([AC_EXEEXT])dnl
-ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource"
+ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
GCJ_OPTS="-g"
if test "x$JAVAPREFIX" = x; then

30
jdk/gnu-classpath_93.nix Normal file
View File

@ -0,0 +1,30 @@
{stdenv, fetchzip, zip, jikes}: stdenv.mkDerivation rec {
pname = "gnu-classpath";
version = "0.93";
src = fetchzip {
url = "ftp.gnu.org/gnu/classpath/classpath-${version}.tar.gz";
hash = "sha256-dP4lmumUKkOlwWOFHncPnsxR2y3Qr6mE+K3eb+x5zbY=";
};
patches = [./gnu-classpath_93.patch];
nativeBuildInputs = [jikes zip];
env = {
NIX_CFLAGS_COMPILE="-Wno-calloc-transposed-args -Wno-deprecated-declarations -Wno-unused-result -Wno-stringop-truncation -Wno-cast-function-type";
};
configureFlags = ["--disable-gtk-peer" "--disable-gconf-peer" "--disable-plugin"];
postInstall = ''
ln -s ${jikes}/bin/jikes $out/bin/jikes
ln -s $out/bin/jikes $out/bin/javac
cat << 'EOF' > $out/bin/java
#!/bin/bash
exec jamvm "$@"
EOF
chmod +x $out/bin/java
'';
}

View File

@ -0,0 +1,12 @@
diff --git a/native/fdlibm/dtoa.c b/native/fdlibm/dtoa.c
index 5fb6aae..e710d96 100644
--- a/native/fdlibm/dtoa.c
+++ b/native/fdlibm/dtoa.c
@@ -28,6 +28,7 @@
#include "mprec.h"
#include <string.h>
+#include <stdlib.h>
static int
_DEFUN (quorem,

36
jdk/gnu-classpath_98.nix Normal file
View File

@ -0,0 +1,36 @@
{stdenv, fetchzip, jamvm_1_5_1, ecj, fastjar}: stdenv.mkDerivation rec {
pname = "gnu-classpath";
version = "0.98";
src = fetchzip {
url = "ftp.gnu.org/gnu/classpath/classpath-${version}.tar.gz";
hash = "sha256-mDwSNFh6KFKHydkoMS5Dl1ti7zUIozixjK6IhLbn5r8=";
};
nativeBuildInputs = [jamvm_1_5_1 ecj fastjar];
env = {
NIX_CFLAGS_COMPILE="-Wno-stringop-truncation";
};
configureFlags = ["--disable-gtk-peer" "--disable-gconf-peer" "--disable-plugin" "--disable-gjdoc"];
/*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 -bootclasspath $out/share/classpath/glibj.zip "$@"
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
'';*/
}

20
jdk/jamvm.nix Normal file
View File

@ -0,0 +1,20 @@
{stdenv, fetchzip, zlib, xerces, gnu-classpath, libtool, autoreconfHook}: stdenv.mkDerivation rec {
pname = "jamvm";
version = "2.0.0";
src = fetchzip {
url = "https://master.dl.sourceforge.net/project/${pname}/${pname}/JamVM%20${version}/${pname}-${version}.tar.gz";
hash = "sha256-FSL2x2C3a3RQ88pRokZQ6dbXcgZFbZLiIZ6MfsFY70Y=";
};
patches = [./jamvm.patch];
env = {
ACLOCAL_PATH="${libtool}/share/aclocal";
};
nativeBuildInputs = [autoreconfHook];
buildInputs = [zlib];
configureFlags = ["--with-classpath-install-dir=${gnu-classpath}" "--with-extra-classpath=${xerces}/bin/xercesImpl.jar"/*:${xerces}/bin/serializer.jar"*/];
}

35
jdk/jamvm.patch Normal file
View File

@ -0,0 +1,35 @@
diff --git a/configure.ac b/configure.ac
index 138b7e6..c4445d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -230,6 +230,17 @@ AC_DEFINE_UNQUOTED(CLASSPATH_INSTALL_DIR, "$with_classpath_install_dir",
AC_SUBST(with_classpath_install_dir)
+AC_ARG_WITH([extra-classpath],
+ [AS_HELP_STRING([--with-extra-classpath=PATH],
+ [Extra JARs to add to the bootstrap classpath])],
+ [EXTRA_CLASSPATH="$with_extra_classpath"],
+ [EXTRA_CLASSPATH=""])
+
+AC_DEFINE_UNQUOTED([EXTRA_CLASSPATH], ["$EXTRA_CLASSPATH"],
+ [Extra JARs to add to the bootstrap classpath])
+
+AC_SUBST([EXTRA_CLASSPATH])
+
if test "$prefix" = "NONE"; then
install_dir=$ac_default_prefix
else
diff --git a/src/classlib/gnuclasspath/class.c b/src/classlib/gnuclasspath/class.c
index 3661c64..6a12735 100644
--- a/src/classlib/gnuclasspath/class.c
+++ b/src/classlib/gnuclasspath/class.c
@@ -117,7 +117,7 @@ Class *classlibBootPackagesArrayClass() {
#define CLASSPATH_CLASSES CLASSPATH_INSTALL_DIR"/share/classpath"
#endif
-#define DFLT_BCP JAMVM_CLASSES":"CLASSPATH_CLASSES
+#define DFLT_BCP JAMVM_CLASSES":"CLASSPATH_CLASSES":"EXTRA_CLASSPATH
char *classlibBootClassPathOpt(InitArgs *args) {
char *vm_path = args->bootpath_v != NULL ? args->bootpath_v

14
jdk/jamvm_1_5_1.nix Normal file
View File

@ -0,0 +1,14 @@
{stdenv, fetchzip, zlib, gcc9, gnu-classpath_93}: stdenv.mkDerivation rec {
pname = "jamvm";
version = "1.5.1";
src = fetchzip {
url = "https://master.dl.sourceforge.net/project/${pname}/${pname}/JamVM%20${version}/${pname}-${version}.tar.gz";
hash = "sha256-tBdFKV5IyQ0XRajdbLasm3wJMy9YUsu5NBoNlVInZSc=";
};
nativeBuildInputs = [gcc9];
buildInputs = [zlib];
configureFlags = ["--with-classpath-install-dir=${gnu-classpath_93}"];
}

13
jdk/jamvm_1_5_4.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, fetchzip, zlib, gnu-classpath_98}: stdenv.mkDerivation rec {
pname = "jamvm";
version = "1.5.4";
src = fetchzip {
url = "https://master.dl.sourceforge.net/project/${pname}/${pname}/JamVM%20${version}/${pname}-${version}.tar.gz";
hash = "sha256-IlS8rJKLc80uXDfDeZH+/iVOR0XP83oM3WIAok+DVMs=";
};
buildInputs = [zlib];
configureFlags = ["--with-classpath-install-dir=${gnu-classpath_98}"];
}

90
jdk/jdk6-bootstrap.nix Normal file
View File

@ -0,0 +1,90 @@
{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
#'';
}

20
jdk/jdk6-bootstrap.patch Normal file
View File

@ -0,0 +1,20 @@
diff --git a/openjdk/corba/make/common/Defs.gmk b/openjdk/corba/make/common/Defs.gmk
index 5086d805..17e8fcfa 100644
--- a/openjdk/corba/make/common/Defs.gmk
+++ b/openjdk/corba/make/common/Defs.gmk
@@ -385,6 +385,7 @@ define SUBDIRS-loop
timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \
$(call TIMING_start,startTime); \
curDir=$(CURRENT_DIRECTORY); \
+ $(ECHO) "$(MAKE) $@ TIMING_ID=$${timing_id} $(SUBDIRS_MAKEFLAGS) $(SUBDIRS_MAKEFLAGS-$@) FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE)"; \
$(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \
$(SUBDIRS_MAKEFLAGS) \
$(SUBDIRS_MAKEFLAGS-$@) \
@@ -408,6 +409,7 @@ define OTHERSUBDIRS-loop
timing_id="$(TIMING_ID)-`$(BASENAME) $${i}`"; \
$(call TIMING_start,startTime); \
curDir=$(CURRENT_DIRECTORY); \
+ $(ECHO) "$(MAKE) $@ TIMING_ID=$${timing_id} $(SUBDIRS_MAKEFLAGS) $(SUBDIRS_MAKEFLAGS-$@) FULL_VERSION=$(FULL_VERSION) RELEASE=$(RELEASE)"; \
$(CD) $$i; $(MAKE) $@ TIMING_ID=$${timing_id} \
$(OTHERSUBDIRS_MAKEFLAGS) \
FULL_VERSION=$(FULL_VERSION) \

51
jdk/jdk6.nix Normal file
View File

@ -0,0 +1,51 @@
{stdenv, fetchFromGitHub, ant_1_6, gnu-classpath, jamvm, coreutils, which, toybox, zip, unzip, freetype,
alsa-lib, cups, motif, breakpointHook}: stdenv.mkDerivation rec {
pname = "jdk";
version = "6.0.49";
src = fetchFromGitHub {
owner = "openjdk";
repo = "jdk6";
rev = "jdk6-b49";
hash = "sha256-TybvQmzFOH0Kxcr+ay4g41pGyV0alWXp59AXKmJ7CWo=";
};
patches = [./jdk6.patch];
nativeBuildInputs = [ant_1_6 coreutils which toybox jamvm];
buildInputs = [zip unzip freetype alsa-lib breakpointHook motif];
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="-Wno-format-overflow";
};
buildPhase = ''
make
#./build.sh
#bash ./gradlew build
#bash ./gradlew install -Pgradle_installPath=$out
'';
#installPhase = ''
# mkdir $out
# cp -r ./dist/* $out/
#'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

205
jdk/jdk6.patch Normal file
View File

@ -0,0 +1,205 @@
diff --git a/corba/make/common/shared/Defs-linux.gmk b/corba/make/common/shared/Defs-linux.gmk
index c9b931f6..57008bda 100644
--- a/corba/make/common/shared/Defs-linux.gmk
+++ b/corba/make/common/shared/Defs-linux.gmk
@@ -61,7 +61,7 @@ USRJDKINSTANCES_PATH =/opt/java
ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
else
- UNIXCOMMAND_PATH = /bin/
+ UNIXCOMMAND_PATH =
endif
# USRBIN_PATH: path to where the most common Unix commands are.
@@ -69,7 +69,7 @@ endif
ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
else
- USRBIN_PATH = /usr/bin/
+ USRBIN_PATH =
endif
# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
@@ -99,7 +99,7 @@ endif
ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
else
- COMPILER_PATH =/usr/bin/
+ COMPILER_PATH =
endif
# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
@@ -107,7 +107,7 @@ endif
ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
else
- DEVTOOLS_PATH =/usr/bin/
+ DEVTOOLS_PATH =
endif
# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
diff --git a/corba/make/common/shared/Defs-utils.gmk b/corba/make/common/shared/Defs-utils.gmk
index e098af76..92b6861d 100644
--- a/corba/make/common/shared/Defs-utils.gmk
+++ b/corba/make/common/shared/Defs-utils.gmk
@@ -178,7 +178,7 @@ ifeq ($(PLATFORM),linux)
$(wildcard $(UTILS_USR_BIN_PATH)sort))
NAWK = $(USRBIN_PATH)gawk
# Intrinsic unix command, with backslash-escaped character interpretation
- ECHO = /bin/echo -e
+ ECHO = echo -e
# These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
AR = $(UTILS_USR_BIN_PATH)ar
AS = $(UTILS_USR_BIN_PATH)as
diff --git a/corba/make/sun/rmi/corbalogsources/Makefile b/corba/make/sun/rmi/corbalogsources/Makefile
index 25ca911f..81c83b6b 100644
--- a/corba/make/sun/rmi/corbalogsources/Makefile
+++ b/corba/make/sun/rmi/corbalogsources/Makefile
@@ -82,7 +82,11 @@ MC_CLASSPATH=$(BUILDTOOLJARDIR)/MC.jar
MCJ_GENERATE_CLASS = $(BOOT_JAVA_CMD) \
-cp "$(MC_CLASSPATH)" com.sun.tools.corba.se.logutil.MC $(MC_GENERATE_CLASS)
MCJ_GENERATE_LOG_RB = $(BOOT_JAVA_CMD) \
- -cp "$(MC_CLASSPATH)" com.sun.tools.corba.se.logutil.MC $(MC_GENERATE_LOG_RB)
+ -cp "$(MC_CLASSPATH)" com.sun.tools.corba.se.logutil.MC $(MC_GENERATE_LOG_RB)
+
+IDLJ_CLASSPATH=$(BUILDTOOLJARDIR)/idlj.jar:$(BUILDTOOLJARDIR)/../btclasses/
+IDLJ = $(BOOT_JAVA_CMD) \
+ -cp "$(IDLJ_CLASSPATH)" com.sun.tools.corba.se.idl.toJavaPortable.Compile
#
diff --git a/hotspot/make/linux/Makefile b/hotspot/make/linux/Makefile
index 67751af3..dc5d6820 100644
--- a/hotspot/make/linux/Makefile
+++ b/hotspot/make/linux/Makefile
@@ -249,7 +249,6 @@ check_j2se_version:
$(REMOTE) $(RUN.JAVA) -version; \
echo "*** An XSLT processor (J2SE 1.4.x or newer) is required" \
"to bootstrap this build" 1>&2; \
- exit 1; \
fi
$(SUBDIRS_TIERED): $(BUILDTREE_MAKE)
diff --git a/jdk/make/common/shared/Defs-linux.gmk b/jdk/make/common/shared/Defs-linux.gmk
index 12d8e13b..e12231c5 100644
--- a/jdk/make/common/shared/Defs-linux.gmk
+++ b/jdk/make/common/shared/Defs-linux.gmk
@@ -77,7 +77,7 @@ USRJDKINSTANCES_PATH =/opt/java
ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
else
- UNIXCOMMAND_PATH = /bin/
+ UNIXCOMMAND_PATH =
endif
# USRBIN_PATH: path to where the most common Unix commands are.
@@ -85,7 +85,7 @@ endif
ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
else
- USRBIN_PATH = /usr/bin/
+ USRBIN_PATH =
endif
# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
@@ -115,7 +115,7 @@ endif
ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
else
- COMPILER_PATH =/usr/bin/
+ COMPILER_PATH =
endif
# DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
@@ -123,7 +123,7 @@ endif
ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
else
- DEVTOOLS_PATH =/usr/bin/
+ DEVTOOLS_PATH =
endif
# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
diff --git a/jdk/make/common/shared/Defs-utils.gmk b/jdk/make/common/shared/Defs-utils.gmk
index b44f1efe..5bbc050e 100644
--- a/jdk/make/common/shared/Defs-utils.gmk
+++ b/jdk/make/common/shared/Defs-utils.gmk
@@ -180,7 +180,7 @@ ifeq ($(PLATFORM),linux)
NAWK = $(USRBIN_PATH)gawk
# Intrinsic unix command, with backslash-escaped character interpretation
- ECHO = /bin/echo -e
+ ECHO = echo -e
# These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
AR = $(UTILS_USR_BIN_PATH)ar
AS = $(UTILS_USR_BIN_PATH)as
diff --git a/jdk/make/common/shared/Sanity.gmk b/jdk/make/common/shared/Sanity.gmk
index 64d5f442..1bd0695e 100644
--- a/jdk/make/common/shared/Sanity.gmk
+++ b/jdk/make/common/shared/Sanity.gmk
@@ -108,8 +108,8 @@ ifeq ($(PLATFORM), linux)
if [ "$(OS_VARIANT_NAME)" = "Fedora" ] ; then \
$(CAT) /etc/fedora-release | $(HEAD) -1 | $(NAWK) '{ print $$3; }' ; \
fi)
- ALSA_INCLUDE=/usr/include/alsa/version.h
- ALSA_LIBRARY=/usr/lib/libasound.so
+ ALSA_INCLUDE=$(ALSA_DIR)/include/alsa/version.h
+ ALSA_LIBRARY=$(ALSA_DIR)/lib/libasound.so
_ALSA_VERSION := $(shell $(EGREP) SND_LIB_VERSION_STR $(ALSA_INCLUDE) | \
$(SED) -e 's@.*\"\(.*\)\".*@\1@' )
ALSA_VERSION := $(call GetVersion,$(_ALSA_VERSION))
diff --git a/jdk/make/tools/freetypecheck/freetypecheck.c b/jdk/make/tools/freetypecheck/freetypecheck.c
index 1e7d5494..b6606acc 100644
--- a/jdk/make/tools/freetypecheck/freetypecheck.c
+++ b/jdk/make/tools/freetypecheck/freetypecheck.c
@@ -36,7 +36,7 @@ int main(int argc, char** argv) {
char v[50];
FT_Int major, minor, patch;
FT_Library library;
- sprintf(v, "%d.%d.%d", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH);
+ sprintf(v, "%d.%d.%d", FREETYPE_MAJOR, FREETYPE_MINOR > 9 ? 9 : FREETYPE_MINOR, FREETYPE_PATCH);
printf("Required version of freetype: %s\n",
QUOTEMACRO(REQUIRED_FREETYPE_VERSION));
@@ -48,7 +48,7 @@ int main(int argc, char** argv) {
FT_Init_FreeType(&library);
FT_Library_Version(library, &major, &minor, &patch);
- sprintf(v, "%d.%d.%d", major, minor, patch);
+ sprintf(v, "%d.%d.%d", major, minor > 9 ? 9 : minor, patch);
printf("Detected freetype library: %s\n", v);
if (strcmp(v, QUOTEMACRO(REQUIRED_FREETYPE_VERSION)) < 0) {
diff --git a/langtools/make/build.xml b/langtools/make/build.xml
index 9b6c1731..3240b152 100644
--- a/langtools/make/build.xml
+++ b/langtools/make/build.xml
@@ -525,7 +525,6 @@
source="@{javac.source}"
target="@{javac.target}">
<compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/>
- <compilerarg line="${javac.version.opt}"/>
<compilerarg line="-Xlint"/>
</javac>
<javac fork="true"
@@ -543,8 +542,6 @@
<compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/>
<compilerarg value="-Xbootclasspath/p:@{classes.dir}"/>
<compilerarg line="${javac.no.jdk.warnings}"/>
- <compilerarg line="${javac.version.opt}"/>
- <compilerarg line="${javac.lint.opts}"/>
</javac>
<copy todir="@{classes.dir}">
<fileset dir="${src.classes.dir}">
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java b/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java
index 24de0d6c..036dd680 100644
--- a/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/DocImpl.java
@@ -103,7 +103,6 @@ public abstract class DocImpl implements Doc, Comparable<Object> {
String d = documentation();
if (env.javaScriptScanner != null) {
env.javaScriptScanner.parse(d, new JavaScriptScanner.Reporter() {
- @Override
public void report() {
env.error(DocImpl.this, "javadoc.JavaScript_in_comment");
throw new FatalError();

103
jdk/jdk7.patch Normal file
View File

@ -0,0 +1,103 @@
diff --git a/jdk/make/common/shared/Defs-linux.gmk b/jdk/make/common/shared/Defs-linux.gmk
index ecdf5d77..405e686d 100644
--- a/jdk/make/common/shared/Defs-linux.gmk
+++ b/jdk/make/common/shared/Defs-linux.gmk
@@ -61,7 +61,7 @@ USRJDKINSTANCES_PATH =/opt/java
ifneq "$(origin ALT_UNIXCOMMAND_PATH)" "undefined"
UNIXCOMMAND_PATH :=$(call PrefixPath,$(ALT_UNIXCOMMAND_PATH))
else
- UNIXCOMMAND_PATH = /bin/
+ UNIXCOMMAND_PATH =
endif
# USRBIN_PATH: path to where the most common Unix commands are.
@@ -69,7 +69,7 @@ endif
ifneq "$(origin ALT_USRBIN_PATH)" "undefined"
USRBIN_PATH :=$(call PrefixPath,$(ALT_USRBIN_PATH))
else
- USRBIN_PATH = /usr/bin/
+ USRBIN_PATH =
endif
# UNIXCCS_PATH: path to where the Solaris ported UNIX commands can be found
@@ -99,7 +99,7 @@ endif
ifneq "$(origin ALT_COMPILER_PATH)" "undefined"
COMPILER_PATH :=$(call PrefixPath,$(ALT_COMPILER_PATH))
else
- COMPILER_PATH =/usr/bin/
+ COMPILER_PATH =
endif
# OPENWIN_HOME: path to where the X11 environment is installed.
@@ -115,7 +115,7 @@ endif
ifneq "$(origin ALT_DEVTOOLS_PATH)" "undefined"
DEVTOOLS_PATH :=$(call PrefixPath,$(ALT_DEVTOOLS_PATH))
else
- DEVTOOLS_PATH =/usr/bin/
+ DEVTOOLS_PATH =
endif
# _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
diff --git a/jdk/make/common/shared/Defs-utils.gmk b/jdk/make/common/shared/Defs-utils.gmk
index 1cebe93c..1cf22ebf 100644
--- a/jdk/make/common/shared/Defs-utils.gmk
+++ b/jdk/make/common/shared/Defs-utils.gmk
@@ -197,7 +197,7 @@ ifeq ($(PLATFORM),linux)
$(wildcard $(UTILS_USR_BIN_PATH)sort))
NAWK = $(USRBIN_PATH)gawk
# Intrinsic unix command, with backslash-escaped character interpretation
- ECHO = /bin/echo -e
+ ECHO = echo -e
# These are really in UTILS_USR_BIN_PATH on Linux
ifndef CROSS_COMPILE_ARCH
AR = $(UTILS_USR_BIN_PATH)ar
diff --git a/jdk/make/common/shared/Sanity.gmk b/jdk/make/common/shared/Sanity.gmk
index 1dbedb17..bcb59d8f 100644
--- a/jdk/make/common/shared/Sanity.gmk
+++ b/jdk/make/common/shared/Sanity.gmk
@@ -106,8 +106,8 @@ ifeq ($(PLATFORM), linux)
elif [ -f /etc/lsb-release ] ; then \
$(EGREP) DISTRIB_RELEASE /etc/lsb-release | $(SED) -e 's@.*DISTRIB_RELEASE=\(.*\)@\1@'; \
fi)
- ALSA_INCLUDE=/usr/include/alsa/version.h
- ALSA_LIBRARY=/usr/lib/libasound.so
+ ALSA_INCLUDE=$(ALSA_DIR)/include/alsa/version.h
+ ALSA_LIBRARY=$(ALSA_DIR)/lib/libasound.so
_ALSA_VERSION := $(shell $(EGREP) SND_LIB_VERSION_STR $(ALSA_INCLUDE) | \
$(SED) -e 's@.*"\(.*\)".*@\1@' )
ALSA_VERSION := $(call GetVersion,$(_ALSA_VERSION))
diff --git a/jdk/make/tools/freetypecheck/freetypecheck.c b/jdk/make/tools/freetypecheck/freetypecheck.c
index d91a0add..38b76bf3 100644
--- a/jdk/make/tools/freetypecheck/freetypecheck.c
+++ b/jdk/make/tools/freetypecheck/freetypecheck.c
@@ -78,7 +78,7 @@ int main(int argc, char** argv) {
char v[50];
FT_Int major, minor, patch;
FT_Library library;
- sprintf(v, "%d.%d.%d", FREETYPE_MAJOR, FREETYPE_MINOR, FREETYPE_PATCH);
+ sprintf(v, "%d.%d.%d", FREETYPE_MAJOR, FREETYPE_MINOR > 9 ? 9 : FREETYPE_MINOR, FREETYPE_PATCH);
printf("Required version of freetype: %s\n",
QUOTEMACRO(REQUIRED_FREETYPE_VERSION));
@@ -90,7 +90,7 @@ int main(int argc, char** argv) {
FT_Init_FreeType(&library);
FT_Library_Version(library, &major, &minor, &patch);
- sprintf(v, "%d.%d.%d", major, minor, patch);
+ sprintf(v, "%d.%d.%d", major, minor > 9 ? 9 : minor, patch);
printf("Detected freetype library: %s\n", v);
if (strcmp(v, QUOTEMACRO(REQUIRED_FREETYPE_VERSION)) < 0) {
diff --git a/langtools/make/build.properties b/langtools/make/build.properties
index 5c4ad09c..e5a969c0 100644
--- a/langtools/make/build.properties
+++ b/langtools/make/build.properties
@@ -68,7 +68,7 @@ javac.no.jdk.warnings = -XDignore.symbol.file=true
# set the following to -version to verify the versions of javac being used
javac.version.opt =
# in time, there should be no exceptions to -Xlint:all
-javac.lint.opts = -Xlint:all,-deprecation -Werror
+javac.lint.opts = -Xlint:all,-deprecation,-overrides -Werror
# options for the <javadoc> task for javac
#javadoc.jls3.url=http://java.sun.com/docs/books/jls/

9
jdk/jikes.nix Normal file
View File

@ -0,0 +1,9 @@
{stdenv, fetchzip}: stdenv.mkDerivation rec {
pname = "jikes";
version = "1.22";
src = fetchzip {
url = "https://master.dl.sourceforge.net/project/${pname}/Jikes/${version}/${pname}-${version}.tar.bz2";
hash = "sha256-58FRyopZ855cyradP+Qa5fEHsMAUHBiCi+1eOzZZK/o=";
};
}

29
jdk/xalan.nix Normal file
View File

@ -0,0 +1,29 @@
{stdenv, fetchFromGitHub, ant_1_6, gnu-classpath_93, jamvm_1_5_1, ecj}: stdenv.mkDerivation rec {
pname = "xalan";
version = "2.7.1";
src = fetchFromGitHub {
owner = "apache";
repo = "xalan-java";
rev = "xalan-j_2_7_1";
hash = "sha256-lanJNBOawKdBarXmDFzW5R1DuEtl/EC+4cxMxvvCJdk=";
};
nativeBuildInputs = [ant_1_6 jamvm_1_5_1];
env = {
JAVA_HOME="${gnu-classpath_93}";
CLASSPATH="${ecj}/bin/ecj.jar";
ANT_OPTS="-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter";
};
buildPhase = ''
ant
'';
installPhase = ''
mkdir -p $out/bin
cp -r ./build/xalan.jar $out/bin/xalan.jar
cp -r ./build/serializer.jar $out/bin/serializer.jar
'';
}

31
jdk/xerces.nix Normal file
View File

@ -0,0 +1,31 @@
{stdenv, fetchFromGitHub, ant_1_6, gnu-classpath_93, jamvm_1_5_1, ecj, breakpointHook}: stdenv.mkDerivation rec {
pname = "xerces";
version = "2.7.1";
src = fetchFromGitHub {
owner = "apache";
repo = "xerces-j";
rev = "4a19c3c7c6a432f1a1ae014f0a15b9eb7c58749e";
hash = "sha256-TytmgIGVGOLVln3fB/DuxdXkfva34hJbEiV7TFJiHr4=";
};
patches = [./xerces.patch];
nativeBuildInputs = [ant_1_6 jamvm_1_5_1];
buildInputs = [breakpointHook];
env = {
JAVA_HOME="${gnu-classpath_93}";
CLASSPATH="${ecj}/bin/ecj.jar";
ANT_OPTS="-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter -Dbootclasspath=${gnu-classpath_93}/share/classpath/glibj.zip";
};
buildPhase = ''
ant jar
'';
installPhase = ''
mkdir -p $out/bin
cp -r ./build/xercesImpl.jar $out/bin/xercesImpl.jar
'';
}

60
jdk/xerces.patch Normal file
View File

@ -0,0 +1,60 @@
diff --git a/build.xml b/build.xml
index 06f5f37..63c1271 100644
--- a/build.xml
+++ b/build.xml
@@ -268,6 +268,7 @@ Authors:
org/w3c/dom/ranges/**
org/w3c/dom/traversal/**
org/w3c/dom/xpath/**"
+ bootclasspath="${bootclasspath}"
/>
</target>
@@ -319,7 +320,8 @@ Authors:
classpath="${build.dir}/classes:${tools.dir}/${jar.apis}"
debug="${debug}"
includeAntRuntime="false"
- includeJavaRuntime="true"/>
+ includeJavaRuntime="true"
+ bootclasspath="${bootclasspath}"/>
</target>
<!-- =================================================================== -->
@@ -336,7 +338,8 @@ Authors:
classpath="${tools.dir}/${jar.apis}:${build.dir}/classes:./tools/junit.jar"
debug="${debug}"
includeAntRuntime="false"
- includeJavaRuntime="true"/>
+ includeJavaRuntime="true"
+ bootclasspath="${bootclasspath}"/>
</target>
<!-- =================================================================== -->
@@ -961,7 +964,8 @@ Authors:
optimize="${optimize}"
includeAntRuntime="false"
includeJavaRuntime="true"
- classpath="${tools.dir}/${jar.apis}:${tools.dir}/${jar.resolver}:${tools.dir}/${jar.serializer}"/>
+ classpath="${tools.dir}/${jar.apis}:${tools.dir}/${jar.resolver}:${tools.dir}/${jar.serializer}"
+ bootclasspath="${bootclasspath}"/>
</target>
@@ -1258,7 +1262,8 @@ Authors:
deprecation="${deprecation}"
optimize="${optimize}"
includeAntRuntime="false"
- includeJavaRuntime="true"/>
+ includeJavaRuntime="true"
+ bootclasspath="${bootclasspath}"/>
</target>
<!-- =================================================================== -->
@@ -1415,6 +1420,7 @@ Authors:
org/w3c/dom/ranges/**
org/w3c/dom/traversal/**
org/w3c/dom/xpath/**"
+ bootclasspath="${bootclasspath}"
/>
</target>

36
junit.nix Normal file
View File

@ -0,0 +1,36 @@
{stdenv, fetchFromGitHub, jdk6, ant_1_6}: stdenv.mkDerivation rec {
pname = "junit";
version = "4.0.0";
src = fetchFromGitHub {
owner = "junit-team";
repo = pname;
rev = "5139a1be36da4ed64a860de82e7d74f2e5405037";
hash = "sha256-ZDu3rQ5y0D7pREmnJjUwiWDbTv+TgJPMZjJ4LVczoLU=";
};
patches = [./junit.patch];
nativeBuildInputs = [jdk6 ant_1_6];
#env = {
# ACLOCAL_PATH="${libtool}/share/aclocal";
# NIX_CFLAGS_COMPILE="-fpermissive";
#};
buildPhase = ''
ant
#bash ./gradlew build
#bash ./gradlew install -Pgradle_installPath=$out
'';
installPhase = ''
mkdir $out
cp -r ./junit4.1/* $out/
'';
#configureFlags = ["--with-plugins=innobase"];
#postInstall = ''
# ln -s $out/libexec/mysqld $out/bin/mysqld
#'';
}

12
junit.patch Normal file
View File

@ -0,0 +1,12 @@
diff --git a/org/junit/tests/AllTests.java b/org/junit/tests/AllTests.java
index 527f059..86472fd 100644
--- a/org/junit/tests/AllTests.java
+++ b/org/junit/tests/AllTests.java
@@ -38,7 +38,6 @@ import org.junit.runners.Suite.SuiteClasses;
SortableTest.class,
OldTestClassRunnerTest.class,
JUnitCoreTest.class,
- InaccessibleBaseClassTest.class,
TestClassMethodsRunnerTest.class
})
public class AllTests {

View File

@ -66,14 +66,22 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
django-jinja = self.callPackage ./django-jinja.nix { inherit django jinja2; };
django-cache-machine = self.callPackage ./django-cache-machine.nix { inherit django; };
django-multidb-router = self.callPackage ./django-multidb-router.nix { inherit django; };
django-cors-headers-multi = self.callPackage ./django-cors-headers-multi.nix { inherit django; };
django-tables2 = self.callPackage ./django-tables2.nix { inherit django; };
drf-nested-routers = self.callPackage ./drf-nested-routers.nix { inherit django django-rest-framework; };
nobot = self.callPackage ./nobot.nix { inherit django requests six; };
lxml = self.callPackage ./lxml.nix { };
dockerflow = self.callPackage ./dockerflow.nix { };
python-memcached = self.callPackage ./python-memcached.nix { };
flufl-lock = self.callPackage ./flufl-lock.nix { };
signing-clients = self.callPackage ./signing-clients.nix { inherit asn1crypto six; };
mozilla-logger = self.callPackage ./mozilla-logger.nix { };
schematic = self.callPackage ./schematic.nix { };
email-reply-parser = self.callPackage ./email-reply-parser.nix { };
redis = self.callPackage ./redis.nix { };
mysqlclient = self.callPackage ./mysqlclient.nix { inherit mysql; };
bleach = self.callPackage ./bleach.nix { inherit html5lib; };
signing-clients = self.callPackage ./signing-clients.nix { inherit asn1crypto six; };
pyOpenSSL = self.callPackage ./pyOpenSSL.nix { inherit six cryptography; };
isodate = self.callPackage ./isodate.nix { };
@ -91,10 +99,6 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
statsd = self.callPackage ./statsd.nix { };
django-statsd-mozilla = self.callPackage ./django-statsd-mozilla.nix { inherit statsd; };
elasticsearch = self.callPackage ./elasticsearch.nix { inherit urllib3; };
mysqlclient = self.callPackage ./mysqlclient.nix { inherit mysql; };
bleach = self.callPackage ./bleach.nix { inherit html5lib; };
olefile = self.callPackage ./olefile.nix { };
pillow = self.callPackage ./pillow.nix { inherit olefile; };
easy-thumbnails = self.callPackage ./easy-thumbnails.nix { inherit pillow django; };
@ -123,11 +127,39 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
billiard = self.callPackage ./billiard.nix { };
celery = self.callPackage ./celery.nix { inherit kombu pytz billiard; };
service2 = pkgs.callPackage ./runService2.nix { inherit mysql django lxml django-environ django-session-csrf
cssselect = self.callPackage ./cssselect.nix { };
lxml = self.callPackage ./lxml.nix { };
pyquery = self.callPackage ./pyquery.nix { inherit cssselect lxml; };
elasticsearch = self.callPackage ./elasticsearch.nix { inherit urllib3; };
python-dateutil = self.callPackage ./python-dateutil.nix { inherit six; };
elasticsearch-dsl = self.callPackage ./elasticsearch-dsl.nix { inherit elasticsearch six python-dateutil; };
#motif = self.callPackage ./motif.nix { };
jikes = self.callPackage ./jdk/jikes.nix { };
gnu-classpath_93 = self.callPackage ./jdk/gnu-classpath_93.nix { inherit jikes; };
jamvm_1_5_1 = self.callPackage ./jdk/jamvm_1_5_1.nix { inherit gnu-classpath_93; };
ant_1_6 = self.callPackage ./jdk/ant_1_6.nix { inherit gnu-classpath_93 jamvm_1_5_1; };
ecj = self.callPackage ./jdk/ecj.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 jikes; };
xalan = self.callPackage ./jdk/xalan.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 ecj; };
xerces = self.callPackage ./jdk/xerces.nix { inherit ant_1_6 gnu-classpath_93 jamvm_1_5_1 ecj; };
gnu-classpath_98 = self.callPackage ./jdk/gnu-classpath_98.nix { inherit ecj jamvm_1_5_1; };
jamvm_1_5_4 = self.callPackage ./jdk/jamvm_1_5_4.nix { inherit gnu-classpath_98; };
gnu-classpath = self.callPackage ./jdk/gnu-classpath.nix { inherit autoreconfHook ecj jamvm_1_5_4 gnu-classpath_98; };
jamvm = self.callPackage ./jdk/jamvm.nix { inherit gnu-classpath xerces autoreconfHook; };
jdk6 = self.callPackage ./jdk/jdk6-bootstrap.nix { inherit ant_1_6 gnu-classpath jamvm; };
junit = self.callPackage ./junit.nix { inherit ant_1_6 jdk6; };
ant = self.callPackage ./ant.nix { inherit junit; };
gradle_0_0_2 = self.callPackage ./gradle_0_0_2.nix { inherit ant; };
gradle = self.callPackage ./gradle.nix { inherit gradle_0_0_2; };
elasticsearch-service = self.callPackage ./elasticsearch-service.nix { inherit gradle; };
service2 = pkgs.callPackage ./runService2.nix { inherit mysql django django-environ django-session-csrf
django-mozilla-product-details dockerflow django-csp django-aesfield django-extensions raven django-rest-framework django-waffle
jingo-minify django-jinja puente django-statsd-mozilla django-cache-machine python-memcached elasticsearch django-multidb-router
jingo-minify django-jinja puente django-statsd-mozilla django-cache-machine python-memcached django-multidb-router
mysqlclient bleach easy-thumbnails amo-validator flufl-lock signing-clients mozilla-logger pyOpenSSL django-rest-framework-jwt
celery nobot; };
celery nobot pyquery schematic django-cors-headers-multi elasticsearch-dsl email-reply-parser django-tables2 redis
drf-nested-routers elasticsearch-service; };
#some-package = pkgs.callPackage ./some-package.nix { inherit pythonPackages; };
});

13
pyquery.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages, cssselect, lxml}: python27Packages.buildPythonPackage rec {
pname = "pyquery";
version = "1.2.17";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-aqATOzDZoCKa1l06dwjE6FO/RoCPs1nQbKVvUDkQKvY=";
};
propagatedBuildInputs = [python27Packages.setuptools cssselect lxml];
}

13
python-dateutil.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages, six}: python27Packages.buildPythonPackage rec {
pname = "python-dateutil";
version = "2.6.1";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-iRw4sqAvW7G+PkeThmyN9Jx9Gbqr+cG61iVH4LSGaso=";
};
propagatedBuildInputs = [python27Packages.setuptools six];
}

13
redis.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages}: python27Packages.buildPythonPackage rec {
pname = "redis";
version = "2.10.5";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-Xfuuas/FTt8KekFbmeCyHAo8J6f3h7KS7qcnsfrMVTM=";
};
propagatedBuildInputs = [python27Packages.setuptools];
}

View File

@ -1,18 +1,21 @@
{stdenv, writeShellApplication, git, gnumake, mysql, python27, django, lxml, django-environ, django-session-csrf,
{stdenv, writeShellApplication, git, gnumake, mysql, python27, django, django-environ, django-session-csrf,
django-mozilla-product-details, dockerflow, django-csp, django-aesfield, django-extensions, raven, django-rest-framework,
django-waffle, jingo-minify, django-jinja, puente, django-statsd-mozilla, django-cache-machine, python-memcached, elasticsearch,
django-waffle, jingo-minify, django-jinja, puente, django-statsd-mozilla, django-cache-machine, python-memcached,
django-multidb-router, mysqlclient, bleach, easy-thumbnails, amo-validator, flufl-lock, signing-clients, mozilla-logger,
pyOpenSSL, django-rest-framework-jwt, celery, nobot}: writeShellApplication rec {
pyOpenSSL, django-rest-framework-jwt, celery, nobot, pyquery, schematic, django-cors-headers-multi,
elasticsearch-dsl, email-reply-parser, django-tables2, redis, drf-nested-routers, nodejs_20,
elasticsearch-service}: writeShellApplication rec {
name = "service2";
#propagatedBuildInputs = [python26Packages.setuptools];
#nativeBuildInputs = [ jinja2 ];
#buildInputs = [ jinja2 ];
runtimeInputs = [git gnumake mysql (python27.withPackages(ps: [django lxml django-environ django-session-csrf django-mozilla-product-details
dockerflow django-csp django-aesfield django-extensions raven django-rest-framework django-waffle jingo-minify django-jinja
puente django-statsd-mozilla django-cache-machine python-memcached elasticsearch django-multidb-router mysqlclient bleach
easy-thumbnails amo-validator flufl-lock signing-clients mozilla-logger pyOpenSSL django-rest-framework-jwt celery nobot]))];
runtimeInputs = [git gnumake mysql nodejs_20 elasticsearch-service (python27.withPackages(ps: [django django-environ django-session-csrf
django-mozilla-product-details dockerflow django-csp django-aesfield django-extensions raven django-rest-framework django-waffle
jingo-minify django-jinja puente django-statsd-mozilla django-cache-machine python-memcached django-multidb-router mysqlclient
bleach easy-thumbnails amo-validator flufl-lock signing-clients mozilla-logger pyOpenSSL django-rest-framework-jwt celery nobot
pyquery schematic django-cors-headers-multi elasticsearch-dsl email-reply-parser django-tables2 redis drf-nested-routers]))];
#env = {
# NIX_CFLAGS_COMPILE="-Wno-incompatible-pointer-types";
@ -26,7 +29,34 @@ pyOpenSSL, django-rest-framework-jwt, celery, nobot}: writeShellApplication rec
git clone https://github.com/mozilla/addons-server.git --progress
cd addons-server
git switch 8b4423547f932b2d9fa2b5a9c81d399bdc29bd6e --detach --progress
#git revert e971a1c0543c66fd513e9c1c06f7786eb2f92b31
content="from settings import *
ALLOWED_HOSTS = [\"127.0.0.1\"]"
echo "$content" > settings_local.py
content="diff --git a/src/olympia/api/serializers.py b/src/olympia/api/serializers.py
index 35e4a37c8c..3586bff1eb 100644
--- a/src/olympia/api/serializers.py
+++ b/src/olympia/api/serializers.py
@@ -1,6 +1,5 @@
from datetime import datetime
-from elasticsearch_dsl.result import Result
from elasticsearch_dsl.response.hit import Hit
from rest_framework.serializers import ModelSerializer
@@ -45,7 +44,7 @@ class BaseESSerializer(ModelSerializer):
def to_representation(self, data):
# Support \`Result\` instances to allow passing in ElasticSearch
# results directly into the serializer.
- if isinstance(data, (Result, Hit)):
+ if isinstance(data, Hit):
data = data.to_dict()
obj = self.fake_object(data)
"
echo "$content" > elasticsearch.diff
git apply elasticsearch.diff
cd ../..
fi
@ -45,8 +75,13 @@ pyOpenSSL, django-rest-framework-jwt, celery, nobot}: writeShellApplication rec
dbServer="$!"
sleep 3
echo "CREATE DATABASE olympia CHARACTER SET utf8 COLLATE utf8_unicode_ci;" | mysql -u root
echo "set global net_buffer_length=1000000;" | mysql -u root
echo "set global max_allowed_packet=1000000000;" | mysql -u root
make -f Makefile-docker initialize_db
npm install
make -f Makefile-docker copy_node_js
make -f Makefile-docker populate_data
kill "$dbServer"
sleep 6
@ -56,6 +91,7 @@ pyOpenSSL, django-rest-framework-jwt, celery, nobot}: writeShellApplication rec
dbServer="$!"
sleep 3
python ./manage.py
make -f Makefile-docker populate_data
python ./manage.py runserver
'';
}

13
schematic.nix Normal file
View File

@ -0,0 +1,13 @@
{stdenv, python27Packages}: python27Packages.buildPythonPackage rec {
pname = "schematic";
version = "0.4";
format = "setuptools";
src = python27Packages.fetchPypi {
inherit pname version;
extension = "tar.gz";
hash = "sha256-wOEPh3KX+EFKHK/nWcZ/snkC/lCDj3JfS18VxZit654=";
};
propagatedBuildInputs = [python27Packages.setuptools];
}