diff options
Diffstat (limited to 'pkgs/games/forge-mtg')
-rw-r--r-- | pkgs/games/forge-mtg/default.nix | 53 | ||||
-rw-r--r-- | pkgs/games/forge-mtg/no-launch4j.patch | 171 |
2 files changed, 164 insertions, 60 deletions
diff --git a/pkgs/games/forge-mtg/default.nix b/pkgs/games/forge-mtg/default.nix index 61e86445fe4d6..32a756ce620fe 100644 --- a/pkgs/games/forge-mtg/default.nix +++ b/pkgs/games/forge-mtg/default.nix @@ -5,62 +5,31 @@ , maven , makeWrapper , openjdk -, stdenv }: let - version = "1.6.53"; + version = "1.6.56"; src = fetchFromGitHub { owner = "Card-Forge"; repo = "forge"; rev = "forge-${version}"; - sha256 = "sha256-tNPG90mw8HZjp37YJ9JQlOBiVNPRo6xuNur651Adva8="; + hash = "sha256-VB/ToTq1XwHPEUNmbocwUoCP4DfyAFdlRAwxrx4tNJU="; }; # launch4j downloads and runs a native binary during the package phase. patches = [ ./no-launch4j.patch ]; - mavenRepository = stdenv.mkDerivation { - pname = "forge-mtg-maven-repository"; - inherit version src patches; - - nativeBuildInputs = [ maven ]; - - buildPhase = '' - runHook preBuild - # Tests need a running Xorg. - mvn package -Dmaven.repo.local=$out -DskipTests - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - find $out -type f \( \ - -name \*.lastUpdated \ - -o -name resolver-status.properties \ - -o -name _remote.repositories \) \ - -delete - runHook postInstall - ''; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = "sha256-6FTbYXaF3rBIZov2WJxjG/ovmvimjXFPaFchAduVzI8="; - }; - -in stdenv.mkDerivation { +in +maven.buildMavenPackage { pname = "forge-mtg"; inherit version src patches; - nativeBuildInputs = [ maven makeWrapper ]; + # Tests need a running Xorg. + mvnParameters = "-DskipTests"; + mvnHash = "sha256-ajrHnaiJS7ZnR9BjLaXK2bnAKCp5UWQqYpjWbz3z6bw="; - buildPhase = '' - runHook preBuild - # Tests need a running Xorg. - mvn --offline -Dmaven.repo.local=${mavenRepository} -DskipTests package; - runHook postBuild - ''; + nativeBuildInputs = [ maven makeWrapper ]; installPhase = '' runHook preInstall @@ -68,7 +37,9 @@ in stdenv.mkDerivation { cp -a \ forge-gui-desktop/target/forge.sh \ forge-gui-desktop/target/forge-gui-desktop-${version}-jar-with-dependencies.jar \ - forge-adventure/target/forge-adventure.sh \ + forge-gui-mobile-dev/target/forge-adventure.sh \ + forge-gui-mobile-dev/target/forge-gui-mobile-dev-${version}-jar-with-dependencies.jar \ + forge-adventure/target/forge-adventure-editor.sh \ forge-adventure/target/forge-adventure-${version}-jar-with-dependencies.jar \ forge-gui/res \ $out/share/forge @@ -76,7 +47,7 @@ in stdenv.mkDerivation { ''; preFixup = '' - for commandToInstall in forge forge-adventure; do + for commandToInstall in forge forge-adventure forge-adventure-editor; do chmod 555 $out/share/forge/$commandToInstall.sh makeWrapper $out/share/forge/$commandToInstall.sh $out/bin/$commandToInstall \ --prefix PATH : ${lib.makeBinPath [ coreutils openjdk gnused ]} \ diff --git a/pkgs/games/forge-mtg/no-launch4j.patch b/pkgs/games/forge-mtg/no-launch4j.patch index ea4d674be1709..7e9d9f4790a0e 100644 --- a/pkgs/games/forge-mtg/no-launch4j.patch +++ b/pkgs/games/forge-mtg/no-launch4j.patch @@ -1,8 +1,8 @@ diff --git a/forge-adventure/pom.xml b/forge-adventure/pom.xml -index 4d81b150e0..80dd1e04cb 100644 +index b35356ea76..b7ab1c775b 100644 --- a/forge-adventure/pom.xml +++ b/forge-adventure/pom.xml -@@ -41,131 +41,6 @@ +@@ -47,131 +47,6 @@ </configuration> </plugin> @@ -19,11 +19,11 @@ index 4d81b150e0..80dd1e04cb 100644 - </goals> - <configuration> - <headerType>gui</headerType> -- <outfile>${project.build.directory}/forge-adventure-java8.exe</outfile> +- <outfile>${project.build.directory}/forge-adventure-editor-java8.exe</outfile> - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> - <dontWrapJar>true</dontWrapJar> - <errTitle>forge</errTitle> -- <icon>src/main/config/forge-adventure.ico</icon> +- <icon>src/main/config/forge-adventure-editor.ico</icon> - <classPath> - <mainClass>forge.adventure.Main</mainClass> - <addDependencies>false</addDependencies> @@ -51,9 +51,9 @@ index 4d81b150e0..80dd1e04cb 100644 - <txtProductVersion> - 1.0.0.0 - </txtProductVersion> -- <productName>forge-adventure</productName> -- <internalName>forge-adventure</internalName> -- <originalFilename>forge-adventure-java8.exe</originalFilename> +- <productName>forge-adventure-editor</productName> +- <internalName>forge-adventure-editor</internalName> +- <originalFilename>forge-adventure-editor-java8.exe</originalFilename> - </versionInfo> - </configuration> - </execution> @@ -66,12 +66,12 @@ index 4d81b150e0..80dd1e04cb 100644 - </goals> - <configuration> - <headerType>gui</headerType> -- <outfile>${project.build.directory}/forge-adventure.exe</outfile> +- <outfile>${project.build.directory}/forge-adventure-editor.exe</outfile> - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> - <dontWrapJar>true</dontWrapJar> - <errTitle>forge</errTitle> - <downloadUrl>https://www.oracle.com/java/technologies/downloads/</downloadUrl> -- <icon>src/main/config/forge-adventure.ico</icon> +- <icon>src/main/config/forge-adventure-editor.ico</icon> - <classPath> - <mainClass>forge.adventure.Main</mainClass> - <addDependencies>false</addDependencies> @@ -121,9 +121,9 @@ index 4d81b150e0..80dd1e04cb 100644 - <txtProductVersion> - 1.0.0.0 - </txtProductVersion> -- <productName>forge-adventure</productName> -- <internalName>forge-adventure</internalName> -- <originalFilename>forge-adventure.exe</originalFilename> +- <productName>forge-adventure-editor</productName> +- <internalName>forge-adventure-editor</internalName> +- <originalFilename>forge-adventure-editor.exe</originalFilename> - </versionInfo> - </configuration> - </execution> @@ -135,10 +135,10 @@ index 4d81b150e0..80dd1e04cb 100644 <groupId>com.google.code.maven-replacer-plugin</groupId> <artifactId>replacer</artifactId> diff --git a/forge-gui-desktop/pom.xml b/forge-gui-desktop/pom.xml -index 218e641096..e8d0905a3d 100644 +index 3b74663b04..f0e324b69c 100644 --- a/forge-gui-desktop/pom.xml +++ b/forge-gui-desktop/pom.xml -@@ -231,60 +231,6 @@ +@@ -282,59 +282,6 @@ <id>windows-linux-release</id> <build> <plugins> @@ -195,11 +195,10 @@ index 218e641096..e8d0905a3d 100644 - </execution> - </executions> - </plugin> -- + <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> -@@ -396,131 +342,6 @@ +@@ -447,130 +394,6 @@ <id>windows-linux</id> <build> <plugins> @@ -327,7 +326,141 @@ index 218e641096..e8d0905a3d 100644 - <!--extra--> - </executions> - </plugin> -- + <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> +diff --git a/forge-gui-mobile-dev/pom.xml b/forge-gui-mobile-dev/pom.xml +index e7439c1e3a..de0cbc16a1 100644 +--- a/forge-gui-mobile-dev/pom.xml ++++ b/forge-gui-mobile-dev/pom.xml +@@ -64,130 +64,6 @@ + </replacements> + </configuration> + </plugin> +- <plugin> +- <groupId>com.akathist.maven.plugins.launch4j</groupId> +- <artifactId>launch4j-maven-plugin</artifactId> +- <version>1.7.25</version> +- <executions> +- <execution> +- <id>l4j-adv</id> +- <phase>package</phase> +- <goals> +- <goal>launch4j</goal> +- </goals> +- <configuration> +- <headerType>gui</headerType> +- <outfile>${project.build.directory}/forge-adventure-java8.exe</outfile> +- <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> +- <dontWrapJar>true</dontWrapJar> +- <errTitle>forge</errTitle> +- <icon>src/main/config/forge-adventure.ico</icon> +- <classPath> +- <mainClass>forge.app.Main</mainClass> +- <addDependencies>false</addDependencies> +- <preCp>anything</preCp> +- </classPath> +- <jre> +- <minVersion>1.8.0</minVersion> +- <maxHeapSize>4096</maxHeapSize> +- <opts> +- <opt>-Dfile.encoding=UTF-8</opt> +- </opts> +- </jre> +- <versionInfo> +- <fileVersion> +- 1.0.0.0 +- </fileVersion> +- <txtFileVersion> +- 1.0.0.0 +- </txtFileVersion> +- <fileDescription>Forge</fileDescription> +- <copyright>Forge</copyright> +- <productVersion> +- 1.0.0.0 +- </productVersion> +- <txtProductVersion> +- 1.0.0.0 +- </txtProductVersion> +- <productName>forge-adventure</productName> +- <internalName>forge-adventure</internalName> +- <originalFilename>forge-adventure-java8.exe</originalFilename> +- </versionInfo> +- </configuration> +- </execution> +- <!--extra--> +- <execution> +- <id>l4j-adv2</id> +- <phase>package</phase> +- <goals> +- <goal>launch4j</goal> +- </goals> +- <configuration> +- <headerType>gui</headerType> +- <outfile>${project.build.directory}/forge-adventure.exe</outfile> +- <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> +- <dontWrapJar>true</dontWrapJar> +- <errTitle>forge</errTitle> +- <downloadUrl>https://www.oracle.com/java/technologies/downloads/</downloadUrl> +- <icon>src/main/config/forge-adventure.ico</icon> +- <classPath> +- <mainClass>forge.app.Main</mainClass> +- <addDependencies>false</addDependencies> +- <preCp>anything</preCp> +- </classPath> +- <jre> +- <minVersion>11.0.1</minVersion> +- <jdkPreference>jdkOnly</jdkPreference> +- <maxHeapSize>4096</maxHeapSize> +- <opts> +- <opt>-Dfile.encoding=UTF-8</opt> +- <opt>--add-opens java.base/java.lang=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.math=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/jdk.internal.misc=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.nio=ALL-UNNAMED</opt> +- <opt>--add-opens=java.base/sun.nio.ch=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.util=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.lang.reflect=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.text=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/java.awt=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/java.awt.font=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/java.awt.image=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/java.awt.color=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/sun.awt.image=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/javax.swing=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/javax.swing.border=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/javax.swing.event=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/sun.swing=ALL-UNNAMED</opt> +- <opt>--add-opens java.desktop/java.beans=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.util.concurrent=ALL-UNNAMED</opt> +- <opt>--add-opens java.base/java.net=ALL-UNNAMED</opt> +- <opt>-Dio.netty.tryReflectionSetAccessible=true</opt> +- </opts> +- </jre> +- <versionInfo> +- <fileVersion> +- 1.0.0.0 +- </fileVersion> +- <txtFileVersion> +- 1.0.0.0 +- </txtFileVersion> +- <fileDescription>Forge</fileDescription> +- <copyright>Forge</copyright> +- <productVersion> +- 1.0.0.0 +- </productVersion> +- <txtProductVersion> +- 1.0.0.0 +- </txtProductVersion> +- <productName>forge-adventure</productName> +- <internalName>forge-adventure</internalName> +- <originalFilename>forge-adventure.exe</originalFilename> +- </versionInfo> +- </configuration> +- </execution> +- <!--extra--> +- </executions> +- </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> |