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

81 lines
2.8 KiB
Nix

{stdenv, fetchFromGitHub, jdk6, mavenDep, junit_3_8_1, modello-core, modello-xdoc-plugin, modello-xml-plugin,
modello-xpp3-plugin, plexus-utils_alpha_1, surefire-booter_1_2, surefire_1_2, qdox, classworlds,
plexus-container-default_alpha_1, wagon-provider-api, wagon-file, commons-cli_beta_2, plexus-i18n,
plexus-container-artifact_alpha_1, plexus-compiler-api, plexus-compiler-javac, plexus_0_17, wagon-api_alpha_1,
wagon-pom_alpha_1, plexus-pom_1_0, wagon-providers-pom, plexus-containers-pom, modello-pom, wagon-provider-test,
xpp3, xstream_1_0, asm, plexus_0_14, wagon-pom_alpha_2}: stdenv.mkDerivation rec {
pname = "maven";
version = "2.0.0-SNAPSHOT";
src = fetchFromGitHub {
owner = "apache";
repo = pname;
rev = "74c9b91b5ac7e5ccd7a6cd5fb8c6a583e6fea073";
hash = "sha256-LLZsi+lJps779CRHjbsmdOeAsVSS3bRCs99hHdQSF1M=";
};
fake-poms = ./bootstrap-3-fake-poms;
patches = [./maven_2-bootstrap-3.patch];
nativeBuildInputs = [jdk6
(mavenDep junit_3_8_1 {})
(mavenDep modello-core {})
(mavenDep modello-xdoc-plugin {})
(mavenDep modello-xml-plugin {})
(mavenDep modello-xpp3-plugin {})
(mavenDep plexus-utils_alpha_1 {})
(mavenDep surefire-booter_1_2 {})
(mavenDep surefire_1_2 {})
(mavenDep qdox {})
(mavenDep classworlds {})
(mavenDep plexus-container-default_alpha_1 {})
(mavenDep wagon-provider-api {})
(mavenDep wagon-file {})
(mavenDep commons-cli_beta_2 {})
(mavenDep plexus-i18n {})
(mavenDep plexus-container-artifact_alpha_1 {})
(mavenDep plexus-compiler-api {})
(mavenDep plexus-compiler-javac {})
(mavenDep plexus_0_17 {})
(mavenDep wagon-api_alpha_1 {})
(mavenDep wagon-pom_alpha_1 {})
(mavenDep plexus-pom_1_0 {})
(mavenDep wagon-providers-pom {})
(mavenDep plexus-containers-pom {})
(mavenDep modello-pom {})
(mavenDep wagon-provider-test {})
(mavenDep xpp3 {})
(mavenDep xstream_1_0 {})
(mavenDep asm {})
(mavenDep plexus_0_14 {})
(mavenDep wagon-pom_alpha_2 {})];
env = {
JAVA_HOME="${jdk6}";
};
buildPhase = ''
chmod +x m2-bootstrap-all.sh
./m2-bootstrap-all.sh -Dmaven.repo.local=/build/.maven/repository -Dmaven.online=false
'';
installPhase = ''
mkdir $out
cp -r /build/m2/* $out/
mkdir $out/repository
cp -r /build/.maven/repository/* $out/repository/
cp -r ${fake-poms}/* $out/repository/
mkdir $out/nix-support
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";
};
}