Name: colossus
%global rev 5331
%global revdate 20130917
Version: 0.14.0
%global branch %{nil}
Release: 9%{?dist}
Summary: Allows people to play Titan against each other or AIs
Group: Amusements/Games
License: GPLv2
URL: http://colossus.sourceforge.net/
# The svn repo includes some prebuilt jar files that need to be removed
# The colossus-gen-tarball.sh can be used to fetch either the latest
# revision or a specified revision from the repo, strip the jar files
# and some artwork and then build a tar.gz archive.
# colossus-rev.xsl is used to extract the current revision of HEAD
# when grabbing the latest revision, using svn info.
# The repo is at:
# https://colossus.svn.sourceforge.net/svnroot/colossus/trunk/Colossus
Source0: colossus-%{branch}-%{revdate}-%{rev}.tar.gz
Source1: colossus-gen-tarball.sh
Source2: colossus-rev.xsl
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Note the intention is to eventually require only java 1.5 for both building
# and installing. But bug 510243 in gjdoc currently blocks this.
BuildRequires: java-devel >= 1:1.6.0
BuildRequires: jpackage-utils
BuildRequires: ant
BuildRequires: jdom
BuildRequires: desktop-file-utils
BuildRequires: zip
Requires: java >= 1:1.6.0
Requires: jpackage-utils
Requires: jdom
Requires(post): coreutils
Requires(postun): coreutils
%description
Colossus allows people to play Titan
(http://www.boardgamegeek.com/boardgame/103) and several Titan variants, hot
seat or via a network. Several different AIs are provided that can play instead
of humans.
%package javadoc
Summary: Javadocs for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
Requires: jpackage-utils
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q -n %{name}-%{branch}-%{revdate}-%{rev}
%build
# Tell colossus' build process where to look for needed jar files
echo "libs.dir=%{_javadir}" > local_build.properties
# Tell colossus some build info that the game will display
mkdir -p build/ant/classes/META-INF
cat <<EOF > build/ant/classes/META-INF/build.properties
release.version=%{version}
svn.revision.max-with-flags=%{rev}
build.timestamp=%{revdate}
username=rpmbuild
EOF
ant jar
# The supplied build.xml adds a classpath to the manifest that needs to
# be removed.
# First remove the existing manifest file
zip -d Colossus.jar META-INF/MANIFEST.MF
# Then put one back without a class path
cat <<EOF > fixup.xml
<?xml version="1.0"?>
<!-- Replace manifest with one without a classpath -->
<project name="Colossus" default="fixup" basedir=".">
<target name="fixup"
description="Remove classpath from manifest">
<jar jarfile="Colossus.jar" update="true">
<manifest>
<attribute name="Main-Class"
value="net.sf.colossus.appmain.Start" />
</manifest>
</jar>
</target>
</project>
EOF
ant -f fixup.xml
ant -lib %{_javadir}/jdom.jar javadoc
# Allow for simple command to run colossus
echo -e "#!/bin/sh\njava -cp %{_javadir}/jdom.jar:%{_javadir}/colossus.jar net.sf.colossus.appmain.Start" > %{name}
# Make a .desktop file
cat <<EOF > %{name}.desktop
[Desktop Entry]
Name=Colossus
GenericName=Strategy Game
Comment=Multiplayer turned based fantasy game with AIs available
Exec=%{name}
Icon=%{name}
Terminal=false
Type=Application
Categories=Game;StrategyGame;
EOF
%install
rm -rf $RPM_BUILD_ROOT
install -D -m 755 Colossus.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
install -D -m 755 %{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
install -D -m 644 core/src/main/resource/icons/ColossusIcon.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{name}.desktop
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}
cp -rpv build/ant/javadoc $RPM_BUILD_ROOT%{_javadocdir}/%{name}
chmod -R og=u-w $RPM_BUILD_ROOT%{_javadocdir}
# Register as an application to be visible in the software center
#
# NOTE: It would be *awesome* if this file was maintained by the upstream
# project, translated and installed into the right place during `make install`.
#
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
#
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 Ravi Srinivasan <ravishankar.srinivasan@gmail.com> -->
<!--
BugReportURL: https://sourceforge.net/p/colossus/feature-requests/225/
SentUpstream: 2014-09-24
-->
<application>
<id type="desktop">colossus.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<summary>A fantasy board game with strategic and tactical battle elements</summary>
<description>
<p>
Colossus is a clone of Avalon Hill's "Titan" Board game.
</p>
<p>
It is a fantasy board game where you lead an army of mythological creatures
against other players.
</p>
</description>
<url type="homepage">http://colossus.sourceforge.net/</url>
<screenshots>
<screenshot type="default">http://colossus.sourceforge.net/pics/screenshots/Colossi.jpg</screenshot>
</screenshots>
</application>
EOF
%files
%defattr(-,root,root,-)
%{_javadir}/*
%{_bindir}/*
%{_datadir}/pixmaps/*
%{_datadir}/appdata/*.appdata.xml
%{_datadir}/applications/*
%doc docs/*
%files javadoc
%defattr(-,root,root,-)
%{_javadocdir}/%{name}
%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Jan 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.14.0-8
- Remove obsolete scriptlets
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 0.14.0-3
- Add an AppData file for the software center
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.14.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Sep 29 2013 Bruno Wolff III <bruno@wolff.to> - 0.14.0-1
- Upstream release 0.14.0
- Release notes: http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Bruno Wolff III <bruno@wolff.to> - 0.13.2-4
- Fix hang on applying carry over damage
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sat Mar 24 2012 Bruno Wolff III <bruno@wolff.to> - 0.13.2-1
- Upstream update to 0.13.2
- Release notes at http://colossus.sourceforge.net/docs/RecentChangesDetails.html
- Some minor fixes and client/server cleanup
- Adjust for extra directory level in source tree
* Sun Feb 05 2012 Bruno Wolff III <bruno@wolff.to> - 0.13.0-1
- Upstream update to 0.13.0
- Release notes at http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Sat Feb 04 2012 Bruno Wolff III <bruno@wolff.to> - 0.13.0-0.1.rc1
- Upstream RC 1 for 0.13.0
- Release notes at http://colossus.sourceforge.net/public-testing/docs/RecentChangesDetails.html
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.2-0.2.svn5033
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Aug 09 2011 Bruno Wolff III <bruno@wolff.to> - 0.12.2-0.1.svn5033
- Update to 0.12.2 test release.
- Fix problem running colossus under java 1.7.
- Release notes at http://colossus.sourceforge.net/public-testing/docs/RecentChangesDetails.html
* Sat Mar 05 2011 Bruno Wolff III <bruno@wolff.to> - 0.12.1-1
- Upstream 0.12.1 release with a few minor bug fixes.
- Release notes at http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Mon Feb 15 2011 Bruno Wolff III <bruno@wolff.to> - 0.12.0-1
- Some minor changes to the dino varient
- Some fixes for playing via the server
- Release notes at http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12.0-0.2.beta1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Jan 16 2011 Bruno Wolff III <bruno@wolff.to> - 0.12.0-0.1.beta1
- Rebase to 0.12.0-beta1
- New DinoTitan varient
- http://colossus.sourceforge.net/docs/RecentChangesDetails.html
- Drop gcj building as that is discouraged these days.
* Sat Aug 21 2010 Bruno Wolff III <bruno@wolff.to> - 0.11.0-1
- Rebase to 0.11.0
- Play colored angels and captured legion markers
- Reminders for splitting, moving and recruiting available
- http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Tue Apr 06 2010 Bruno Wolff III <bruno@wolff.to> - 0.10.3-1
- Rebase to 0.10.3
- UI improvements to prevent accidentally conceding
- Various fixes for playing using the central server
- http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Sat Feb 06 2010 Bruno Wolff III <bruno@wolff.to> - 0.10.2-1
- Rebase to 0.10.2
- Some useability changes
- A number of fixes and enhancements when using the public game server
- http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Sat Jan 02 2010 Bruno Wolff III <bruno@wolff.to> - 0.10.1-1
- Rebase to 0.10.1
- Tell the names of logged in users, not only the number
- PGS: Access to userMaps now synchronized to prevent the hang/crash we had once recently
- PGS/WebClient: Most of the text fields now automatically select all text when they gain focus
- Corrected the text "redisplaying last 50 messages" (from 10 10 50)
- Improved text in MasterBoard BottomBar during engagements phase
- Added options for: when my (masterboard) turn starts, beep and/or bring my masterboard to front
- PGS: when lastOnline was changed (user does login or logoff), write back users file to disk
- When webclient user logs out, cancel proposed instant games he created. Also clear running games table and gameHash.
* Sat Dec 26 2009 Bruno Wolff III <bruno@wolff.to> - 0.10.0-1
- Rebase to 0.10.0
- Fixed undo that reblocks a split
- Fix AI crash
- Enable public game server alpha feature
- See http://colossus.sourceforge.net/docs/RecentChangesDetails.html
- Include post release typo fix as a patch
* Fri Oct 16 2009 Bruno Wolff III <bruno@wolff.to> - 0.9.3-1
- Rebase to 0.9.3
- Adjust script for grabbing source to be able to grab from branches
- Fixed 2877055: Some GUI preferences don't load on startup
- Fixed: 2864777 Illegal rangestrike over walls
- Do not choose Experimental AI as "A Random AI" because it occasionally crashes
- Fixed: 2859914 Balrog placement ignores score (aka: Balrog every 300 again, not 50)
- Fixed: 2864790 Aborting load game with remote player - No GetPlayers dialog
- Fixed: 2838276 "my Strike Skill" is wrong for nonnatives to bramble (actually, just improved the dialog to make it's meaning clearer)
- Fixed: 2855208 Balrog exception in V0.9.2 (ConcurrentModificationException)
- See: http://colossus.sourceforge.net/docs/RecentChangesDetails.html
* Sun Sep 06 2009 Bruno Wolff III <bruno@wolff.to> - 0.9.2-1.20090906svn4519
- Rebase to 0.9.2
- See: http://colossus.sourceforge.net/docs/RecentChangesDetails.html
- Fixed: 2835558 WARNING: Could not find creature with name none
- Fixed: 2820231 Illegal rangestrike
- Fixed: 2848651 and 2828028: Legion flyouts
- Fixed: 2837746 Balrog variant: Caretaker counts not reset between games
- Fixed: 2839241 Faulty anchor tags (Crossreference links in docs worked for Inetnet Explorer but not for Netscape)
- Make loading and saving of Balrog games work
- Make Auto Done act properly when there is no Recruit action or undo possible
- Add in save game also a property that tells with which release / revision of Colossus that save game was created.
- Eliminated some race situations in game startup (thread interaction/notifications)
* Wed Aug 19 2009 Bruno Wolff III <bruno@wolff.to> - 0.9.1-2.20090817svn4489
- Fix for desert LOS bug
* Mon Aug 17 2009 Bruno Wolff III <bruno@wolff.to> - 0.9.1-1.20090817svn4489
- Rebase to new public release 0.9.1
- 2 additional bug fixes
- See http://colossus.sourceforge.net/public-build/docs/RecentChangesDetails.html
* Sun Aug 16 2009 Bruno Wolff III <bruno@wolff.to> - 0.9.0-2.20090810svn4482
- Patch 4485 Fix creature info popup
- Patch 4486 Fix Help problem when a logging property is not set
* Mon Aug 10 2009 Bruno Wolff III <bruno@wolff.to> - 0.9.0-1.20090810svn4482
- New public build.
- Upstream is now using real version numbers.
* Sun Jul 26 2009 Bruno Wolff III <bruno@wolff.to> - 0-0.5.20090726svn4462
- Just when I thought it would be safe to rebase, a new public test build was released
- Details at http://colossus.sourceforge.net/public-testing/docs/RecentChangesDetails.html
- Rebase to 4462
* Sat Jul 25 2009 Bruno Wolff III <bruno@wolff.to> - 0-0.4.20090725svn4454
- Fix for off by one roll, movement roll in master board header
- Rebase to 4454
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0-0.3.20090710svn4432
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Sun Jul 12 2009 Bruno Wolff III <bruno@wolff.to> - 0-0.2.20090710svn4432
- A couple of final spec file tweaks based on comments from my sponsor
* Fri Jul 10 2009 Bruno Wolff III <bruno@wolff.to> - 0-0.1.20090710svn4432
- Prerelease snapshot with a public build expected in a week or two