diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d5e0e9468be9..d305fc6196a7 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -20260,6 +20260,13 @@ githubId = 71843723; keys = [ { fingerprint = "EEFB CC3A C529 CFD1 943D A75C BDD5 7BE9 9D55 5965"; } ]; }; + thepuzzlemaker = { + name = "ThePuzzlemaker"; + email = "tpzker@thepuzzlemaker.info"; + github = "ThePuzzlemaker"; + githubId = 12666617; + keys = [ { fingerprint = "7095 C20A 9224 3DB6 5177 07B0 968C D9D7 1C9F BB6C"; } ]; + }; therealansh = { email = "tyagiansh23@gmail.com"; github = "therealansh"; diff --git a/pkgs/by-name/va/vatprism/0001-Fix-build-on-JDK-21.patch b/pkgs/by-name/va/vatprism/0001-Fix-build-on-JDK-21.patch new file mode 100644 index 000000000000..6e6302662cfe --- /dev/null +++ b/pkgs/by-name/va/vatprism/0001-Fix-build-on-JDK-21.patch @@ -0,0 +1,25 @@ +From 78e78dc10e2a4fd84ef0041d346d8f6d162f22c6 Mon Sep 17 00:00:00 2001 +From: ThePuzzlemaker +Date: Wed, 24 Jul 2024 21:18:04 -0500 +Subject: [PATCH] Fix build on JDK 21+ + +--- + pom.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pom.xml b/pom.xml +index 5a3254b..42b1405 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -59,7 +59,7 @@ + ${java.version} + + 15 +- 1.18.22 ++ 1.18.30 + 17.0.1 + 1.7.32 + 1.9.0-SNAPSHOT +-- +2.44.1 + diff --git a/pkgs/by-name/va/vatprism/package.nix b/pkgs/by-name/va/vatprism/package.nix new file mode 100644 index 000000000000..5995e26fefd2 --- /dev/null +++ b/pkgs/by-name/va/vatprism/package.nix @@ -0,0 +1,102 @@ +{ + lib, + stdenv, + jdk, + maven, + makeWrapper, + fetchFromGitHub, + libGL, + libxkbcommon, + wayland, + fontconfig, + libX11, + libXcursor, + libXi, + libXrandr, + libXxf86vm, + libXtst, + copyDesktopItems, + makeDesktopItem, +}: +let + libPath = lib.makeLibraryPath [ + libGL + libxkbcommon + wayland + libX11 + libXcursor + libXi + libXrandr + libXxf86vm + libXtst + fontconfig + ]; +in +maven.buildMavenPackage rec { + pname = "vatprism"; + version = "0.3.5"; + src = fetchFromGitHub { + owner = "marvk"; + repo = "vatprism"; + rev = "refs/tags/v${version}"; + hash = "sha256-ofEwHUCm79roHe2bawmKFw2QHhIonnlkFG5nhE6uN+g="; + }; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + # https://github.com/marvk/vatprism/pull/141 + patches = [ ./0001-Fix-build-on-JDK-21.patch ]; + + desktopItems = [ + (makeDesktopItem { + name = "vatprism"; + desktopName = "VATprism"; + exec = "vatprism"; + terminal = false; + icon = "vatprism"; + }) + ]; + + mvnHash = + if (stdenv.isLinux && stdenv.isAarch64) then + "sha256-x0nFt2C7dZqMdllI1+Io9SPBY2J/dVgBTVb9T24vFFI=" + else + "sha256-9uyNCUqnMgpiwm2kz544pWNB/SkRpASm2Dln0e4yZos="; + + installPhase = '' + runHook preInstall + # create the bin directory + mkdir -p $out/bin $out/share/icons/hicolor/256x256/apps + + # copy out the JAR + # Maven already setup the classpath to use m2 repository layout + # with the prefix of lib/ + cp target-fat-jar/vatsim-map-${version}-fat.jar $out/ + cp src/main/resources/net/marvk/fs/vatsim/map/icon-256.png $out/share/icons/hicolor/256x256/apps/vatprism.png + + # create a wrapper that will automatically set the classpath + # this should be the paths from the dependency derivation + makeWrapper ${jdk}/bin/java $out/bin/${pname} \ + --add-flags "-jar $out/vatsim-map-${version}-fat.jar" \ + --set JAVA_HOME ${jdk.home} \ + --suffix LD_LIBRARY_PATH : ${libPath} + runHook postInstall + ''; + + meta = { + description = "VATSIM map and data explorer"; + longDescription = '' + VATprism is a VATSIM Map and VATSIM Data Explorer, VATSIM being the + Virtual Air Traffic Simulation Network. VATprism allows users to explore + available ATC services, connected pilots, Airports, Flight and Upper + Information Regions and more! + ''; + homepage = "https://vatprism.org/"; + mainProgram = "vatprism"; + license = lib.licenses.agpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ thepuzzlemaker ]; + }; +}