about summary refs log tree commit diff
path: root/pkgs/games/forge-mtg
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/forge-mtg')
-rw-r--r--pkgs/games/forge-mtg/default.nix53
-rw-r--r--pkgs/games/forge-mtg/no-launch4j.patch171
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>