%global __jar_repack %{nil} Name: vassal Version: 3.2.16 Release: 1%{?dist} Summary: Game engine for building and playing online adaptations of board games and card games License: LGPLv2+ URL: http://www.vassalengine.org/ Source0: https://downloads.sourceforge.net/%{name}engine/VASSAL-%{version}-src.zip Patch0: vassal.guava.patch Patch1: vassal-3.2.13-mga-batik-svg.patch BuildArch: noarch BuildRequires: java-devel BuildRequires: /usr/bin/desktop-file-validate BuildRequires: apache-commons-codec BuildRequires: apache-commons-lang BuildRequires: apache-commons-io BuildRequires: batik BuildRequires: bsh BuildRequires: gnu-getopt # FIXME: guava is one of deps by another jar BuildRequires: guava BuildRequires: janino BuildRequires: logback BuildRequires: miglayout BuildRequires: slf4j BuildRequires: swing-layout BuildRequires: swingx Requires: hicolor-icon-theme %description Vassal is a game engine for building and playing online adaptations of board games and card games. Play live on the Internet or by email. %global all_jars %{_javadir}/commons-codec.jar:%{_javadir}/commons-lang.jar:%{_javadir}/commons-io.jar:%{_javadir}/batik-all.jar:%{_javadir}/bsh.jar:%{_javadir}/gnu-getopt.jar:%{_javadir}/guava.jar:%{_javadir}/janino/commons-compiler.jar:%{_javadir}/janino/janino.jar:%{_javadir}/logback/logback-classic.jar:%{_javadir}/logback/logback-core.jar:%{_javadir}/miglayout-core.jar:%{_javadir}/miglayout-swing.jar:%{_javadir}/slf4j/api.jar:%{_javadir}/swing-layout.jar:%{_javadir}/swingx/swingx-all.jar %prep %autosetup -n VASSAL-%{version}-src -p1 rm -vrf lib/commons-codec* lib/licenses/commons-codec* rm -vrf lib/commons-lang* lib/licenses/commons-lang* rm -vrf lib/commons-io* lib/licenses/commons-io* rm -vrf lib/batik* lib/licenses/batik* rm -vrf lib/*getopt* lib/licenses/*getopt* rm -vrf lib/guava* lib/licenses/guava* rm -vrf lib/janino* lib/licenses/janino* lib/commons-compiler* lib/licenses/commons-compiler* rm -vrf lib/logback* lib/licenses/logback* rm -vrf lib/miglayout* lib/licenses/miglayout* rm -vrf lib/slf4j* lib/licenses/slf4j* rm -vrf lib/swing-layout* lib/licenses/swing-layout* rm -vrf lib/xalan* lib/licenses/xalan* rm -vrf lib/xerces* lib/licenses/xerces* find lib/ -print mkdir -p bin/VASSAL/{script,i18n}/ sed -i -e "/^CLASSPATH/s|$|:%{all_jars}|" Makefile %build %make_build jar %install mkdir -p %{buildroot}%{_bindir}/ mkdir -p %{buildroot}%{_javadir}/%{name}/lib/ mkdir -p %{buildroot}%{_datadir}/applications/ install -Dpm0644 lib/*.jar %{buildroot}%{_javadir}/%{name}/lib/ cat > %{buildroot}%{_bindir}/%{name} << EOF #!/bin/sh export CLASSPATH=%{_javadir}/%{name}/lib/Vengine.jar:%{all_jars} java VASSAL.launch.ModuleManager "\$@" EOF chmod +x %{buildroot}%{_bindir}/%{name} cat > %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF [Desktop Entry] Name=Vassal Game Engine Comment=%{summary} Exec=%{name} Icon=%{name} Terminal=false Type=Application Categories=Game;BoardGame; EOF # Install icons pushd src/icons for size in *x*; do install -Dpm0644 ${size}/VASSAL.png %{buildroot}%{_datadir}/icons/hicolor/${size}/apps/%{name}.png done install -Dpm0644 scalable/VASSAL.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg popd %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %post /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files %license LICENSE lib/licenses/* %doc doc/ %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_javadir}/%{name}/ %{_datadir}/icons/hicolor/*/apps/%{name}.* %changelog * Tue Jul 05 2016 Igor Gnatenko - 3.2.16-1 - Initial package