diff options
Diffstat (limited to 'pkgs/by-name/ma/maven/package.nix')
-rw-r--r-- | pkgs/by-name/ma/maven/package.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/by-name/ma/maven/package.nix b/pkgs/by-name/ma/maven/package.nix new file mode 100644 index 0000000000000..7856cadcfa944 --- /dev/null +++ b/pkgs/by-name/ma/maven/package.nix @@ -0,0 +1,60 @@ +{ + lib, + callPackage, + fetchurl, + jdk, + makeWrapper, + stdenvNoCC, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "apache-maven"; + version = "3.9.6"; + + src = fetchurl { + url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/apache-maven-${finalAttrs.version}-bin.tar.gz"; + hash = "sha256-bu3SyuNibWrTpcnuMkvSZYU9ZCl/B/AzQwdVvQ4MOks="; + }; + + sourceRoot = "."; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/maven + cp -r apache-maven-${finalAttrs.version}/* $out/maven + + makeWrapper $out/maven/bin/mvn $out/bin/mvn \ + --set-default JAVA_HOME "${jdk}" + makeWrapper $out/maven/bin/mvnDebug $out/bin/mvnDebug \ + --set-default JAVA_HOME "${jdk}" + + runHook postInstall + ''; + + passthru = { + buildMaven = callPackage ./build-maven.nix { + maven = finalAttrs.finalPackage; + }; + buildMavenPackage = callPackage ./build-maven-package.nix { + maven = finalAttrs.finalPackage; + }; + }; + + meta = { + homepage = "https://maven.apache.org/"; + description = "Build automation tool (used primarily for Java projects)"; + longDescription = '' + Apache Maven is a software project management and comprehension + tool. Based on the concept of a project object model (POM), Maven can + manage a project's build, reporting and documentation from a central piece + of information. + ''; + license = lib.licenses.asl20; + mainProgram = "mvn"; + maintainers = with lib.maintainers; [ cko ]; + inherit (jdk.meta) platforms; + }; +}) |