forge-mtg: init at 1.6.53 (#182053)

authored by eigengrau and committed by GitHub f03ae291 cbfc31de

+430
+95
pkgs/games/forge-mtg/default.nix
···
··· 1 + { coreutils 2 + , fetchFromGitHub 3 + , gnused 4 + , lib 5 + , maven 6 + , makeWrapper 7 + , openjdk 8 + , stdenv 9 + }: 10 + 11 + let 12 + version = "1.6.53"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "Card-Forge"; 16 + repo = "forge"; 17 + rev = "forge-${version}"; 18 + sha256 = "sha256-tNPG90mw8HZjp37YJ9JQlOBiVNPRo6xuNur651Adva8="; 19 + }; 20 + 21 + # launch4j downloads and runs a native binary during the package phase. 22 + patches = [ ./no-launch4j.patch ]; 23 + 24 + mavenRepository = stdenv.mkDerivation { 25 + pname = "forge-mtg-maven-repository"; 26 + inherit version src patches; 27 + 28 + nativeBuildInputs = [ maven ]; 29 + 30 + buildPhase = '' 31 + runHook preBuild 32 + # Tests need a running Xorg. 33 + mvn package -Dmaven.repo.local=$out -DskipTests 34 + runHook postBuild 35 + ''; 36 + 37 + installPhase = '' 38 + runHook preInstall 39 + find $out -type f \( \ 40 + -name \*.lastUpdated \ 41 + -o -name resolver-status.properties \ 42 + -o -name _remote.repositories \) \ 43 + -delete 44 + runHook postInstall 45 + ''; 46 + 47 + outputHashAlgo = "sha256"; 48 + outputHashMode = "recursive"; 49 + outputHash = "sha256-6FTbYXaF3rBIZov2WJxjG/ovmvimjXFPaFchAduVzI8="; 50 + }; 51 + 52 + in stdenv.mkDerivation { 53 + pname = "forge-mtg"; 54 + inherit version src patches; 55 + 56 + nativeBuildInputs = [ maven makeWrapper ]; 57 + 58 + buildPhase = '' 59 + runHook preBuild 60 + # Tests need a running Xorg. 61 + mvn --offline -Dmaven.repo.local=${mavenRepository} -DskipTests package; 62 + runHook postBuild 63 + ''; 64 + 65 + installPhase = '' 66 + runHook preInstall 67 + mkdir -pv $out/{bin,share/forge} 68 + cp -av \ 69 + forge-gui-desktop/target/forge.sh \ 70 + forge-gui-desktop/target/forge-gui-desktop-${version}-jar-with-dependencies.jar \ 71 + forge-adventure/target/forge-adventure.sh \ 72 + forge-adventure/target/forge-adventure-${version}-jar-with-dependencies.jar \ 73 + forge-gui/res \ 74 + $out/share/forge 75 + runHook postInstall 76 + ''; 77 + 78 + preFixup = '' 79 + for commandToInstall in forge forge-adventure; do 80 + chmod 555 $out/share/forge/$commandToInstall.sh 81 + makeWrapper $out/share/forge/$commandToInstall.sh $out/bin/$commandToInstall \ 82 + --prefix PATH : ${lib.makeBinPath [ coreutils openjdk gnused ]} \ 83 + --set JAVA_HOME ${openjdk}/lib/openjdk \ 84 + --set SENTRY_DSN "" 85 + done 86 + ''; 87 + 88 + meta = with lib; { 89 + description = "Magic: the Gathering card game with rules enforcement"; 90 + homepage = "https://www.slightlymagic.net/forum/viewforum.php?f=26"; 91 + platforms = openjdk.meta.platforms; 92 + license = licenses.gpl3Plus; 93 + maintainers = with maintainers; [ eigengrau ]; 94 + }; 95 + }
+333
pkgs/games/forge-mtg/no-launch4j.patch
···
··· 1 + diff --git a/forge-adventure/pom.xml b/forge-adventure/pom.xml 2 + index 4d81b150e0..80dd1e04cb 100644 3 + --- a/forge-adventure/pom.xml 4 + +++ b/forge-adventure/pom.xml 5 + @@ -41,131 +41,6 @@ 6 + </configuration> 7 + </plugin> 8 + 9 + - <plugin> 10 + - <groupId>com.akathist.maven.plugins.launch4j</groupId> 11 + - <artifactId>launch4j-maven-plugin</artifactId> 12 + - <version>1.7.25</version> 13 + - <executions> 14 + - <execution> 15 + - <id>l4j-adv</id> 16 + - <phase>package</phase> 17 + - <goals> 18 + - <goal>launch4j</goal> 19 + - </goals> 20 + - <configuration> 21 + - <headerType>gui</headerType> 22 + - <outfile>${project.build.directory}/forge-adventure-java8.exe</outfile> 23 + - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> 24 + - <dontWrapJar>true</dontWrapJar> 25 + - <errTitle>forge</errTitle> 26 + - <icon>src/main/config/forge-adventure.ico</icon> 27 + - <classPath> 28 + - <mainClass>forge.adventure.Main</mainClass> 29 + - <addDependencies>false</addDependencies> 30 + - <preCp>anything</preCp> 31 + - </classPath> 32 + - <jre> 33 + - <minVersion>1.8.0</minVersion> 34 + - <maxHeapSize>4096</maxHeapSize> 35 + - <opts> 36 + - <opt>-Dfile.encoding=UTF-8</opt> 37 + - </opts> 38 + - </jre> 39 + - <versionInfo> 40 + - <fileVersion> 41 + - 1.0.0.0 42 + - </fileVersion> 43 + - <txtFileVersion> 44 + - 1.0.0.0 45 + - </txtFileVersion> 46 + - <fileDescription>Forge</fileDescription> 47 + - <copyright>Forge</copyright> 48 + - <productVersion> 49 + - 1.0.0.0 50 + - </productVersion> 51 + - <txtProductVersion> 52 + - 1.0.0.0 53 + - </txtProductVersion> 54 + - <productName>forge-adventure</productName> 55 + - <internalName>forge-adventure</internalName> 56 + - <originalFilename>forge-adventure-java8.exe</originalFilename> 57 + - </versionInfo> 58 + - </configuration> 59 + - </execution> 60 + - <!--extra--> 61 + - <execution> 62 + - <id>l4j-adv2</id> 63 + - <phase>package</phase> 64 + - <goals> 65 + - <goal>launch4j</goal> 66 + - </goals> 67 + - <configuration> 68 + - <headerType>gui</headerType> 69 + - <outfile>${project.build.directory}/forge-adventure.exe</outfile> 70 + - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> 71 + - <dontWrapJar>true</dontWrapJar> 72 + - <errTitle>forge</errTitle> 73 + - <downloadUrl>https://www.oracle.com/java/technologies/downloads/</downloadUrl> 74 + - <icon>src/main/config/forge-adventure.ico</icon> 75 + - <classPath> 76 + - <mainClass>forge.adventure.Main</mainClass> 77 + - <addDependencies>false</addDependencies> 78 + - <preCp>anything</preCp> 79 + - </classPath> 80 + - <jre> 81 + - <minVersion>11.0.1</minVersion> 82 + - <jdkPreference>jdkOnly</jdkPreference> 83 + - <maxHeapSize>4096</maxHeapSize> 84 + - <opts> 85 + - <opt>-Dfile.encoding=UTF-8</opt> 86 + - <opt>--add-opens java.base/java.lang=ALL-UNNAMED</opt> 87 + - <opt>--add-opens java.base/java.math=ALL-UNNAMED</opt> 88 + - <opt>--add-opens java.base/jdk.internal.misc=ALL-UNNAMED</opt> 89 + - <opt>--add-opens java.base/java.nio=ALL-UNNAMED</opt> 90 + - <opt>--add-opens=java.base/sun.nio.ch=ALL-UNNAMED</opt> 91 + - <opt>--add-opens java.base/java.util=ALL-UNNAMED</opt> 92 + - <opt>--add-opens java.base/java.lang.reflect=ALL-UNNAMED</opt> 93 + - <opt>--add-opens java.base/java.text=ALL-UNNAMED</opt> 94 + - <opt>--add-opens java.desktop/java.awt=ALL-UNNAMED</opt> 95 + - <opt>--add-opens java.desktop/java.awt.font=ALL-UNNAMED</opt> 96 + - <opt>--add-opens java.desktop/java.awt.image=ALL-UNNAMED</opt> 97 + - <opt>--add-opens java.desktop/java.awt.color=ALL-UNNAMED</opt> 98 + - <opt>--add-opens java.desktop/sun.awt.image=ALL-UNNAMED</opt> 99 + - <opt>--add-opens java.desktop/javax.swing=ALL-UNNAMED</opt> 100 + - <opt>--add-opens java.desktop/javax.swing.border=ALL-UNNAMED</opt> 101 + - <opt>--add-opens java.desktop/javax.swing.event=ALL-UNNAMED</opt> 102 + - <opt>--add-opens java.desktop/sun.swing=ALL-UNNAMED</opt> 103 + - <opt>--add-opens java.desktop/java.beans=ALL-UNNAMED</opt> 104 + - <opt>--add-opens java.base/java.util.concurrent=ALL-UNNAMED</opt> 105 + - <opt>--add-opens java.base/java.net=ALL-UNNAMED</opt> 106 + - <opt>-Dio.netty.tryReflectionSetAccessible=true</opt> 107 + - </opts> 108 + - </jre> 109 + - <versionInfo> 110 + - <fileVersion> 111 + - 1.0.0.0 112 + - </fileVersion> 113 + - <txtFileVersion> 114 + - 1.0.0.0 115 + - </txtFileVersion> 116 + - <fileDescription>Forge</fileDescription> 117 + - <copyright>Forge</copyright> 118 + - <productVersion> 119 + - 1.0.0.0 120 + - </productVersion> 121 + - <txtProductVersion> 122 + - 1.0.0.0 123 + - </txtProductVersion> 124 + - <productName>forge-adventure</productName> 125 + - <internalName>forge-adventure</internalName> 126 + - <originalFilename>forge-adventure.exe</originalFilename> 127 + - </versionInfo> 128 + - </configuration> 129 + - </execution> 130 + - <!--extra--> 131 + - </executions> 132 + - </plugin> 133 + - 134 + <plugin> 135 + <groupId>com.google.code.maven-replacer-plugin</groupId> 136 + <artifactId>replacer</artifactId> 137 + diff --git a/forge-gui-desktop/pom.xml b/forge-gui-desktop/pom.xml 138 + index 218e641096..e8d0905a3d 100644 139 + --- a/forge-gui-desktop/pom.xml 140 + +++ b/forge-gui-desktop/pom.xml 141 + @@ -231,60 +231,6 @@ 142 + <id>windows-linux-release</id> 143 + <build> 144 + <plugins> 145 + - <plugin> 146 + - <groupId>com.akathist.maven.plugins.launch4j</groupId> 147 + - <artifactId>launch4j-maven-plugin</artifactId> 148 + - <version>2.1.2</version> 149 + - <executions> 150 + - <execution> 151 + - <id>l4j-gui</id> 152 + - <phase>package</phase> 153 + - <goals> 154 + - <goal>launch4j</goal> 155 + - </goals> 156 + - <configuration> 157 + - <headerType>gui</headerType> 158 + - <outfile>${project.build.directory}/forge-java8.exe</outfile> 159 + - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> 160 + - <dontWrapJar>true</dontWrapJar> 161 + - <errTitle>forge</errTitle> 162 + - <icon>src/main/config/forge.ico</icon> 163 + - <classPath> 164 + - <mainClass>forge.view.Main</mainClass> 165 + - <addDependencies>false</addDependencies> 166 + - <preCp>anything</preCp> 167 + - </classPath> 168 + - <jre> 169 + - <minVersion>1.8.0</minVersion> 170 + - <maxHeapSize>4096</maxHeapSize> 171 + - <opts> 172 + - <opt>-Dfile.encoding=UTF-8</opt> 173 + - </opts> 174 + - </jre> 175 + - <versionInfo> 176 + - <fileVersion> 177 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 178 + - </fileVersion> 179 + - <txtFileVersion> 180 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 181 + - </txtFileVersion> 182 + - <fileDescription>Forge</fileDescription> 183 + - <copyright>Forge</copyright> 184 + - <productVersion> 185 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 186 + - </productVersion> 187 + - <txtProductVersion> 188 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 189 + - </txtProductVersion> 190 + - <productName>Forge</productName> 191 + - <internalName>forge</internalName> 192 + - <originalFilename>forge-java8.exe</originalFilename> 193 + - </versionInfo> 194 + - </configuration> 195 + - </execution> 196 + - </executions> 197 + - </plugin> 198 + - 199 + <plugin> 200 + <groupId>org.apache.maven.plugins</groupId> 201 + <artifactId>maven-antrun-plugin</artifactId> 202 + @@ -396,131 +342,6 @@ 203 + <id>windows-linux</id> 204 + <build> 205 + <plugins> 206 + - <plugin> 207 + - <groupId>com.akathist.maven.plugins.launch4j</groupId> 208 + - <artifactId>launch4j-maven-plugin</artifactId> 209 + - <version>2.1.2</version> 210 + - <executions> 211 + - <execution> 212 + - <id>l4j-gui</id> 213 + - <phase>package</phase> 214 + - <goals> 215 + - <goal>launch4j</goal> 216 + - </goals> 217 + - <configuration> 218 + - <headerType>gui</headerType> 219 + - <outfile>${project.build.directory}/forge-java8.exe</outfile> 220 + - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> 221 + - <dontWrapJar>true</dontWrapJar> 222 + - <errTitle>forge</errTitle> 223 + - <icon>src/main/config/forge.ico</icon> 224 + - <classPath> 225 + - <mainClass>forge.view.Main</mainClass> 226 + - <addDependencies>false</addDependencies> 227 + - <preCp>anything</preCp> 228 + - </classPath> 229 + - <jre> 230 + - <minVersion>1.8.0</minVersion> 231 + - <maxHeapSize>4096</maxHeapSize> 232 + - <opts> 233 + - <opt>-Dfile.encoding=UTF-8</opt> 234 + - </opts> 235 + - </jre> 236 + - <versionInfo> 237 + - <fileVersion> 238 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 239 + - </fileVersion> 240 + - <txtFileVersion> 241 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 242 + - </txtFileVersion> 243 + - <fileDescription>Forge</fileDescription> 244 + - <copyright>Forge</copyright> 245 + - <productVersion> 246 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 247 + - </productVersion> 248 + - <txtProductVersion> 249 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 250 + - </txtProductVersion> 251 + - <productName>Forge</productName> 252 + - <internalName>forge</internalName> 253 + - <originalFilename>forge-java8.exe</originalFilename> 254 + - </versionInfo> 255 + - </configuration> 256 + - </execution> 257 + - <!--extra--> 258 + - <execution> 259 + - <id>l4j-gui2</id> 260 + - <phase>package</phase> 261 + - <goals> 262 + - <goal>launch4j</goal> 263 + - </goals> 264 + - <configuration> 265 + - <headerType>gui</headerType> 266 + - <outfile>${project.build.directory}/forge.exe</outfile> 267 + - <jar>${project.build.finalName}-jar-with-dependencies.jar</jar> 268 + - <dontWrapJar>true</dontWrapJar> 269 + - <errTitle>forge</errTitle> 270 + - <downloadUrl>https://www.oracle.com/java/technologies/downloads/</downloadUrl> 271 + - <icon>src/main/config/forge.ico</icon> 272 + - <classPath> 273 + - <mainClass>forge.view.Main</mainClass> 274 + - <addDependencies>false</addDependencies> 275 + - <preCp>anything</preCp> 276 + - </classPath> 277 + - <jre> 278 + - <minVersion>11.0.1</minVersion> 279 + - <jdkPreference>jdkOnly</jdkPreference> 280 + - <maxHeapSize>4096</maxHeapSize> 281 + - <opts> 282 + - <opt>-Dfile.encoding=UTF-8</opt> 283 + - <opt>--add-opens java.base/java.lang=ALL-UNNAMED</opt> 284 + - <opt>--add-opens java.base/java.math=ALL-UNNAMED</opt> 285 + - <opt>--add-opens java.base/jdk.internal.misc=ALL-UNNAMED</opt> 286 + - <opt>--add-opens java.base/java.nio=ALL-UNNAMED</opt> 287 + - <opt>--add-opens=java.base/sun.nio.ch=ALL-UNNAMED</opt> 288 + - <opt>--add-opens java.base/java.util=ALL-UNNAMED</opt> 289 + - <opt>--add-opens java.base/java.lang.reflect=ALL-UNNAMED</opt> 290 + - <opt>--add-opens java.base/java.text=ALL-UNNAMED</opt> 291 + - <opt>--add-opens java.desktop/java.awt=ALL-UNNAMED</opt> 292 + - <opt>--add-opens java.desktop/java.awt.font=ALL-UNNAMED</opt> 293 + - <opt>--add-opens java.desktop/java.awt.image=ALL-UNNAMED</opt> 294 + - <opt>--add-opens java.desktop/java.awt.color=ALL-UNNAMED</opt> 295 + - <opt>--add-opens java.desktop/sun.awt.image=ALL-UNNAMED</opt> 296 + - <opt>--add-opens java.desktop/javax.swing=ALL-UNNAMED</opt> 297 + - <opt>--add-opens java.desktop/javax.swing.border=ALL-UNNAMED</opt> 298 + - <opt>--add-opens java.desktop/javax.swing.event=ALL-UNNAMED</opt> 299 + - <opt>--add-opens java.desktop/sun.swing=ALL-UNNAMED</opt> 300 + - <opt>--add-opens java.desktop/java.beans=ALL-UNNAMED</opt> 301 + - <opt>--add-opens java.base/java.util.concurrent=ALL-UNNAMED</opt> 302 + - <opt>--add-opens java.base/java.net=ALL-UNNAMED</opt> 303 + - <opt>-Dio.netty.tryReflectionSetAccessible=true</opt> 304 + - </opts> 305 + - </jre> 306 + - <versionInfo> 307 + - <fileVersion> 308 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 309 + - </fileVersion> 310 + - <txtFileVersion> 311 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 312 + - </txtFileVersion> 313 + - <fileDescription>Forge</fileDescription> 314 + - <copyright>Forge</copyright> 315 + - <productVersion> 316 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 317 + - </productVersion> 318 + - <txtProductVersion> 319 + - ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.0 320 + - </txtProductVersion> 321 + - <productName>Forge</productName> 322 + - <internalName>forge</internalName> 323 + - <originalFilename>forge.exe</originalFilename> 324 + - </versionInfo> 325 + - </configuration> 326 + - </execution> 327 + - <!--extra--> 328 + - </executions> 329 + - </plugin> 330 + - 331 + <plugin> 332 + <groupId>org.apache.maven.plugins</groupId> 333 + <artifactId>maven-antrun-plugin</artifactId>
+2
pkgs/top-level/all-packages.nix
··· 32890 32891 flock = callPackage ../development/tools/flock { }; 32892 32893 freecell-solver = callPackage ../games/freecell-solver { }; 32894 32895 freeciv = callPackage ../games/freeciv {
··· 32890 32891 flock = callPackage ../development/tools/flock { }; 32892 32893 + forge-mtg = callPackage ../games/forge-mtg { }; 32894 + 32895 freecell-solver = callPackage ../games/freecell-solver { }; 32896 32897 freeciv = callPackage ../games/freeciv {