BefatorNix/maven/maven-bootstrap-2.nix
2025-10-05 22:57:02 +02:00

70 lines
2.0 KiB
Nix

{stdenv, fetchFromGitHub, jdk6, mavenDep, modello, xpp3, xstream_0_5, surefire_1_1, junit_3_8_1, qdox, plexus_0_16,
wagon-api_0_9, classworlds, commons-cli_beta_2, plexus-i18n, ognl, plexus-compiler-api, plexus-compiler-javac,
surefire-booter_1_1}: stdenv.mkDerivation rec {
pname = "maven";
version = "2.0.0-SNAPSHOT";
src = fetchFromGitHub {
owner = "apache";
repo = pname;
rev = "d303a99fa58e2de2bfe8dff47c319f5f18b2feee";
hash = "sha256-TSCrOrbLrPxnWa3ojPFnINqwBNCL/yOSeFM8H+dAGi8=";
};
fake-poms = ./bootstrap-2-fake-poms;
patches = [./maven_2-bootstrap-2.patch];
settings = ./maven.properties;
nativeBuildInputs = [jdk6
(mavenDep modello {})
(mavenDep xpp3 {})
(mavenDep xstream_0_5 {})
(mavenDep surefire_1_1 {})
(mavenDep junit_3_8_1 {})
(mavenDep qdox {})
(mavenDep plexus_0_16 {})
(mavenDep wagon-api_0_9 {})
(mavenDep classworlds {})
(mavenDep commons-cli_beta_2 {})
(mavenDep plexus-i18n {})
(mavenDep ognl {})
(mavenDep plexus-compiler-api {})
(mavenDep plexus-compiler-javac {})
(mavenDep surefire-booter_1_1 {})];
env = {
JAVA_HOME="${jdk6}";
};
configurePhase = ''
ln -s ${settings} /build/maven.properties
'';
buildPhase = ''
chmod +x m2-bootstrap-all.sh
./m2-bootstrap-all.sh
'';
installPhase = ''
mkdir $out
cp -r /build/m2/* $out/
mkdir $out/nix-support
echo "ln -s ${settings} /build/maven.properties" >> $out/nix-support/setup-hook
mkdir $out/repository
cp -r /build/.maven/repository/* $out/repository/
cp -r ${fake-poms}/* $out/repository/
echo "mkdir -p /build/.maven/repository" >> $out/nix-support/setup-hook
echo "cp -r $out/repository/* /build/.maven/repository/" >> $out/nix-support/setup-hook
echo "chmod -R 777 /build/.maven/repository/" >> $out/nix-support/setup-hook
'';
meta = {
mainProgram = "m2";
};
}