diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix index b984047bb7a..488b64185b6 100644 --- a/pkgs/applications/misc/dbeaver/default.nix +++ b/pkgs/applications/misc/dbeaver/default.nix @@ -16,7 +16,6 @@ , maven , webkitgtk_4_1 , glib-networking -, javaPackages }: let @@ -24,9 +23,7 @@ let jdk = jdk17; }; in -(javaPackages.mavenfod.override { - maven = mavenJdk17; -}) rec { +mavenJdk17.buildMavenPackage rec { pname = "dbeaver"; version = "22.2.2"; # When updating also update mvnHash diff --git a/pkgs/applications/science/electronics/digital/default.nix b/pkgs/applications/science/electronics/digital/default.nix index b0fa0af6c48..147e27a8353 100644 --- a/pkgs/applications/science/electronics/digital/default.nix +++ b/pkgs/applications/science/electronics/digital/default.nix @@ -1,4 +1,4 @@ -{ lib, javaPackages, fetchFromGitHub, makeDesktopItem, copyDesktopItems, makeWrapper +{ lib, fetchFromGitHub, makeDesktopItem, copyDesktopItems, makeWrapper , jre, maven }: @@ -27,7 +27,7 @@ let # Also use the commit date as a build and output timestamp. mvnParameters = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}"; in -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "digital"; inherit version jre; diff --git a/pkgs/applications/science/misc/gephi/default.nix b/pkgs/applications/science/misc/gephi/default.nix index fffc330b3d5..3013f08c698 100644 --- a/pkgs/applications/science/misc/gephi/default.nix +++ b/pkgs/applications/science/misc/gephi/default.nix @@ -5,9 +5,7 @@ let jdk = jdk11; }; in -(javaPackages.mavenfod.override { - maven = mavenJdk11; -}) rec { +mavenJdk11.buildMavenPackage rec { pname = "gephi"; version = "0.10.1"; diff --git a/pkgs/development/java-modules/maven-fod.nix b/pkgs/development/tools/build-managers/apache-maven/build-package.nix similarity index 100% rename from pkgs/development/java-modules/maven-fod.nix rename to pkgs/development/tools/build-managers/apache-maven/build-package.nix diff --git a/pkgs/development/tools/build-managers/apache-maven/builder.sh b/pkgs/development/tools/build-managers/apache-maven/builder.sh deleted file mode 100644 index 96fe8ebfac2..00000000000 --- a/pkgs/development/tools/build-managers/apache-maven/builder.sh +++ /dev/null @@ -1,19 +0,0 @@ -if [ -e .attrs.sh ]; then source .attrs.sh; fi -source $stdenv/setup - -unpackPhase - -mkdir -p $out/maven -cp -r $name/* $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" - -# Add the maven-axis and JIRA plugin by default when using maven 1.x -if [ -e $out/maven/bin/maven ] -then - export OLD_HOME=$HOME - export HOME=. - $out/maven/bin/maven plugin:download -DgroupId=maven-plugins -DartifactId=maven-axis-plugin -Dversion=0.7 - export HOME=OLD_HOME -fi diff --git a/pkgs/development/tools/build-managers/apache-maven/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix index c6a42aaaef1..4206bc48927 100644 --- a/pkgs/development/tools/build-managers/apache-maven/default.nix +++ b/pkgs/development/tools/build-managers/apache-maven/default.nix @@ -1,21 +1,43 @@ -{ lib, stdenv, fetchurl, jdk, makeWrapper }: +{ lib +, stdenvNoCC +, fetchurl +, jdk +, makeWrapper +, callPackage +}: assert jdk != null; -stdenv.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "apache-maven"; version = "3.9.2"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz"; - sha256 = "sha256-gJ7zIgxtF5GVwGwyTLmm002Oy6Vmxc/Y64MWe8A0EX0="; + url = "mirror://apache/maven/maven-3/${finalAttrs.version}/binaries/${finalAttrs.pname}-${finalAttrs.version}-bin.tar.gz"; + hash = "sha256-gJ7zIgxtF5GVwGwyTLmm002Oy6Vmxc/Y64MWe8A0EX0="; }; + sourceRoot = "."; + nativeBuildInputs = [ makeWrapper ]; - inherit jdk; + installPhase = '' + runHook preInstall + + mkdir -p $out/maven + cp -r ${finalAttrs.pname}-${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.buildMavenPackage = callPackage ./build-package.nix { + maven = finalAttrs.finalPackage; + }; meta = with lib; { mainProgram = "mvn"; @@ -25,4 +47,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ cko ]; }; -} +}) diff --git a/pkgs/development/tools/database/schemaspy/default.nix b/pkgs/development/tools/database/schemaspy/default.nix index 8f17e16122e..92bbb19a599 100644 --- a/pkgs/development/tools/database/schemaspy/default.nix +++ b/pkgs/development/tools/database/schemaspy/default.nix @@ -1,5 +1,4 @@ { lib -, javaPackages , maven , jre , makeWrapper @@ -9,7 +8,7 @@ , ensureNewerSourcesHook }: -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "schemaspy"; version = "6.1.1-SNAPSHOT"; diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix index 229d47a8ec7..5a0bc000695 100644 --- a/pkgs/development/tools/global-platform-pro/default.nix +++ b/pkgs/development/tools/global-platform-pro/default.nix @@ -1,13 +1,11 @@ -{ lib, javaPackages, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }: +{ lib, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }: let mavenJdk8 = maven.override { jdk = jdk8; }; in -(javaPackages.mavenfod.override { - maven = mavenJdk8; -}) rec { +mavenJdk8.buildMavenPackage rec { pname = "global-platform-pro"; version = "18.09.14"; GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty diff --git a/pkgs/development/tools/java/java-language-server/default.nix b/pkgs/development/tools/java/java-language-server/default.nix index 0a11c9c0e79..6087b0496b1 100644 --- a/pkgs/development/tools/java/java-language-server/default.nix +++ b/pkgs/development/tools/java/java-language-server/default.nix @@ -1,4 +1,4 @@ -{ lib, javaPackages, stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub , jdk, maven , makeWrapper }: @@ -10,7 +10,7 @@ let else if stdenv.isWindows then "windows" else throw "unsupported platform"; in -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "java-language-server"; version = "0.2.38"; diff --git a/pkgs/games/forge-mtg/default.nix b/pkgs/games/forge-mtg/default.nix index e5b209c6510..32a756ce620 100644 --- a/pkgs/games/forge-mtg/default.nix +++ b/pkgs/games/forge-mtg/default.nix @@ -1,12 +1,10 @@ { coreutils , fetchFromGitHub , gnused -, javaPackages , lib , maven , makeWrapper , openjdk -, stdenv }: let @@ -22,7 +20,8 @@ let # launch4j downloads and runs a native binary during the package phase. patches = [ ./no-launch4j.patch ]; -in javaPackages.mavenfod { +in +maven.buildMavenPackage { pname = "forge-mtg"; inherit version src patches; diff --git a/pkgs/servers/exhibitor/default.nix b/pkgs/servers/exhibitor/default.nix index fce258a8eba..ead65a9b205 100644 --- a/pkgs/servers/exhibitor/default.nix +++ b/pkgs/servers/exhibitor/default.nix @@ -1,6 +1,6 @@ -{ lib, javaPackages, fetchFromGitHub, maven, makeWrapper, jdk }: +{ lib, fetchFromGitHub, maven, makeWrapper, jdk }: -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "exhibitor"; version = "1.5.6"; diff --git a/pkgs/servers/keycloak/scim-for-keycloak/default.nix b/pkgs/servers/keycloak/scim-for-keycloak/default.nix index e2dca3f632e..f694c3f32e5 100644 --- a/pkgs/servers/keycloak/scim-for-keycloak/default.nix +++ b/pkgs/servers/keycloak/scim-for-keycloak/default.nix @@ -1,11 +1,9 @@ { lib -, stdenv , fetchFromGitHub , maven -, javaPackages }: -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "scim-for-keycloak"; version = "kc-15-b2"; # When updating also update mvnHash diff --git a/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix b/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix index 8f0ecd74048..74b2d2efa8e 100644 --- a/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix +++ b/pkgs/servers/keycloak/scim-keycloak-user-storage-spi/default.nix @@ -1,11 +1,9 @@ { lib -, stdenv , fetchFromGitHub , maven -, javaPackages }: -javaPackages.mavenfod rec { +maven.buildMavenPackage { pname = "scim-keycloak-user-storage-spi"; version = "unstable-2023-04-12"; diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix index 2c20615b1e2..cfde59a7e78 100644 --- a/pkgs/tools/security/cryptomator/default.nix +++ b/pkgs/tools/security/cryptomator/default.nix @@ -1,10 +1,10 @@ -{ lib, javaPackages, fetchFromGitHub +{ lib, fetchFromGitHub , autoPatchelfHook , fuse3 , maven, jdk, makeShellWrapper, glib, wrapGAppsHook }: -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "cryptomator"; version = "1.8.0"; diff --git a/pkgs/tools/security/jd-cli/default.nix b/pkgs/tools/security/jd-cli/default.nix index b345565cbba..102a41833ec 100644 --- a/pkgs/tools/security/jd-cli/default.nix +++ b/pkgs/tools/security/jd-cli/default.nix @@ -1,6 +1,6 @@ -{ lib, javaPackages, fetchFromGitHub, jre, makeWrapper, maven }: +{ lib, fetchFromGitHub, jre, makeWrapper, maven }: -javaPackages.mavenfod rec { +maven.buildMavenPackage rec { pname = "jd-cli"; version = "1.2.1"; diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index f4e39fb8108..98567c7b9fc 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -8,7 +8,7 @@ let openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { }; openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19.nix { }; - mavenfod = callPackage ../development/java-modules/maven-fod.nix { }; + mavenfod = pkgs.maven.buildMavenPackage; in { inherit mavenfod openjfx11 openjfx15 openjfx17 openjfx19;