diff options
author | Tim Steinbach <tim@nequissimus.com> | 2016-10-30 11:41:20 -0400 |
---|---|---|
committer | Tim Steinbach <tim@nequissimus.com> | 2016-11-14 15:19:33 -0500 |
commit | d849c0e2e1236b22e298254e75f8d30a665af66f (patch) | |
tree | c2359fb008fedd8ecad94deb457deb9df5df4af3 /pkgs/development | |
parent | 870fc844126d7fec49bfff4f82fcc852248ffd92 (diff) | |
download | nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.tar nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.tar.gz nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.tar.bz2 nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.tar.lz nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.tar.xz nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.tar.zst nixlib-d849c0e2e1236b22e298254e75f8d30a665af66f.zip |
Build support
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/java-modules/build-maven-package.nix | 26 | ||||
-rw-r--r-- | pkgs/development/java-modules/m2install.nix | 21 |
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/java-modules/build-maven-package.nix b/pkgs/development/java-modules/build-maven-package.nix new file mode 100644 index 000000000000..182740c552d8 --- /dev/null +++ b/pkgs/development/java-modules/build-maven-package.nix @@ -0,0 +1,26 @@ +{ stdenv, maven, lib }: +{ mavenDeps, src, name, meta, m2Path, ... }: + +with builtins; +with lib; + +stdenv.mkDerivation rec { + inherit mavenDeps src name meta m2Path; + + flatDeps = flatten mavenDeps; + + propagatedBuildInput = [ maven ] ++ flatDeps; + + find = ''find ${foldl' (x: y: x + " " + y) "" (map (x: x + "/m2/") flatDeps)} -type d -printf '%P\n' | xargs -I {} mkdir -p $out/m2/{}''; + copy = ''cp -rs ${foldl' (x: y: x + " " + y) "" (map (x: x + "/m2/*") flatDeps)} $out/m2''; + + buildPhase = '' + mkdir -p $out/m2/${m2Path} + ${optionalString (length flatDeps > 0) find} + ${optionalString (length flatDeps > 0) copy} + echo "<settings><mirrors>\ + <mirror><id>tmpm2</id><url>file://$out/m2</url><mirrorOf>*</mirrorOf></mirror></mirrors>\ + <localRepository>$out/m2</localRepository></settings>" >> $out/m2/settings.xml + ${maven}/bin/mvn clean install -Dmaven.test.skip=true -gs $out/m2/settings.xml + ''; +} diff --git a/pkgs/development/java-modules/m2install.nix b/pkgs/development/java-modules/m2install.nix new file mode 100644 index 000000000000..56ae8132c61c --- /dev/null +++ b/pkgs/development/java-modules/m2install.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl }: +{ version, baseName, package, sha512, type ? "jar" }: + +let + name = "${baseName}-${version}"; + m2Path = "${package}/${baseName}/${version}"; + m2File = "${name}.${type}"; + src = fetchurl rec { + inherit sha512; + url = "mirror://maven/${m2Path}/${m2File}"; + }; +in stdenv.mkDerivation rec { + inherit name m2Path m2File src; + + installPhase = '' + mkdir -p $out/m2/$m2Path + cp $src $out/m2/$m2Path/$m2File + ''; + + phases = "installPhase"; +} |