nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 maven,
4 fetchsvn,
5 makeWrapper,
6 makeDesktopItem,
7 copyDesktopItems,
8 jdk,
9 jre,
10}:
11
12let
13 version = "2.1-0-unstable-2025-01-18";
14 description = "Java program for drawing Feynman diagrams";
15in
16maven.buildMavenPackage {
17 pname = "jaxodraw";
18 inherit version;
19
20 # pom.xml in the 2.1-0 source refers to non-existent ../pom/pom.xml and fails to build.
21 # src = fetchurl {
22 # url = "mirror://sourceforge/jaxodraw/jaxodraw-${version}-src.tar.gz";
23 # hash = "sha256-EE0amcFKm/zUO4PzPhkPYZYykZw+ARJFu0/hlUOhu5s=";
24 # };
25
26 src = fetchsvn {
27 url = "https://svn.code.sf.net/p/jaxodraw/code/trunk/jaxodraw";
28 rev = "3346";
29 hash = "sha256-jZ2Jvrysb5TeoAw5gubhtn39gMxdAGh/vTsaSIEZ7zs=";
30 };
31
32 mvnJdk = jdk;
33 mvnParameters = "-PskipTests"; # Tests fail
34 mvnHash = "sha256-QfMyiz0zWFi3kUwH8pcgu7FiXleP/KO111avs1WWWG0=";
35
36 nativeBuildInputs = [
37 makeWrapper
38 copyDesktopItems
39 ];
40
41 desktopItems = [
42 (makeDesktopItem {
43 name = "jaxodraw";
44 desktopName = "JaxoDraw";
45 exec = "jaxodraw";
46 icon = "jaxodraw";
47 categories = [
48 "Science"
49 "Education"
50 "Physics"
51 ];
52 comment = description;
53 })
54 ];
55
56 installPhase = ''
57 runHook preInstall
58
59 install -Dm644 target/jaxodraw-*-with-deps.jar $out/lib/jaxodraw/jaxodraw.jar
60 makeWrapper ${lib.getExe jre} $out/bin/jaxodraw \
61 --add-flags "-jar $out/lib/jaxodraw/jaxodraw.jar"
62
63 install -Dm644 src/site/resources/images/top.png $out/share/icons/hicolor/128x128/apps/jaxodraw.png
64
65 runHook postInstall
66 '';
67
68 meta = {
69 inherit description;
70 homepage = "https://jaxodraw.sourceforge.io";
71 license = lib.licenses.gpl3Plus;
72 platforms = lib.platforms.unix;
73 maintainers = with lib.maintainers; [ ulysseszhan ];
74 mainProgram = "jaxodraw";
75 };
76}