From 75a3ce9316a845985a51c3640f03196751d4036e Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jun 2023 19:53:10 +0300 Subject: [PATCH 1/4] maven: remove builder.sh This commit also drops support for Maven 1.x. --- .../build-managers/apache-maven/builder.sh | 19 ----------- .../build-managers/apache-maven/default.nix | 33 ++++++++++++++----- 2 files changed, 25 insertions(+), 27 deletions(-) delete mode 100644 pkgs/development/tools/build-managers/apache-maven/builder.sh 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..a32d12a3551 100644 --- a/pkgs/development/tools/build-managers/apache-maven/default.nix +++ b/pkgs/development/tools/build-managers/apache-maven/default.nix @@ -1,21 +1,38 @@ -{ lib, stdenv, fetchurl, jdk, makeWrapper }: +{ lib +, stdenvNoCC +, fetchurl +, jdk +, makeWrapper +}: 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 + ''; meta = with lib; { mainProgram = "mvn"; @@ -25,4 +42,4 @@ stdenv.mkDerivation rec { platforms = platforms.unix; maintainers = with maintainers; [ cko ]; }; -} +}) From 00bc3c531dc3a074717e80dc0914c5e7d390c2d2 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jun 2023 19:54:46 +0300 Subject: [PATCH 2/4] maven.buildMavenPackage: rename from javaPackages.mavenfod --- .../build-managers/apache-maven/build-package.nix} | 0 .../tools/build-managers/apache-maven/default.nix | 5 +++++ pkgs/top-level/java-packages.nix | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) rename pkgs/development/{java-modules/maven-fod.nix => tools/build-managers/apache-maven/build-package.nix} (100%) 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/default.nix b/pkgs/development/tools/build-managers/apache-maven/default.nix index a32d12a3551..4206bc48927 100644 --- a/pkgs/development/tools/build-managers/apache-maven/default.nix +++ b/pkgs/development/tools/build-managers/apache-maven/default.nix @@ -3,6 +3,7 @@ , fetchurl , jdk , makeWrapper +, callPackage }: assert jdk != null; @@ -34,6 +35,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; + passthru.buildMavenPackage = callPackage ./build-package.nix { + maven = finalAttrs.finalPackage; + }; + meta = with lib; { mainProgram = "mvn"; description = "Build automation tool (used primarily for Java projects)"; 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; From 40001fa439d86c0ef3a7d31d213620242047843f Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jun 2023 19:54:51 +0300 Subject: [PATCH 3/4] treewide: remove mavenfod overrides --- pkgs/applications/misc/dbeaver/default.nix | 5 +---- pkgs/applications/science/misc/gephi/default.nix | 4 +--- pkgs/development/tools/global-platform-pro/default.nix | 6 ++---- 3 files changed, 4 insertions(+), 11 deletions(-) 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/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/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 From dca415554f27352768e7c85edec71271e70196b7 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 20 Jun 2023 19:59:30 +0300 Subject: [PATCH 4/4] treewide: replace mavenfod with buildMavenPackage --- pkgs/applications/science/electronics/digital/default.nix | 4 ++-- pkgs/development/tools/database/schemaspy/default.nix | 3 +-- pkgs/development/tools/java/java-language-server/default.nix | 4 ++-- pkgs/games/forge-mtg/default.nix | 5 ++--- pkgs/servers/exhibitor/default.nix | 4 ++-- pkgs/servers/keycloak/scim-for-keycloak/default.nix | 4 +--- .../keycloak/scim-keycloak-user-storage-spi/default.nix | 4 +--- pkgs/tools/security/cryptomator/default.nix | 4 ++-- pkgs/tools/security/jd-cli/default.nix | 4 ++-- 9 files changed, 15 insertions(+), 21 deletions(-) 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/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/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";