Initial import (#818401).

This commit is contained in:
pcpa 2012-09-25 20:44:59 -03:00
parent 1c0c5ff32f
commit b8284a14c4
7 changed files with 473 additions and 0 deletions

1
.gitignore vendored
View File

@ -0,0 +1 @@
/0ad-0.0.11-alpha-unix-build.tar.xz

24
0ad-gamin.patch Normal file
View File

@ -0,0 +1,24 @@
diff -up 0ad-0.0.11-alpha/source/lib/sysdep/os/linux/dir_watch_fam.cpp.orig 0ad-0.0.11-alpha/source/lib/sysdep/os/linux/dir_watch_fam.cpp
--- 0ad-0.0.11-alpha/source/lib/sysdep/os/linux/dir_watch_fam.cpp.orig 2012-09-08 09:44:27.676395177 -0300
+++ 0ad-0.0.11-alpha/source/lib/sysdep/os/linux/dir_watch_fam.cpp 2012-09-08 09:45:10.303439436 -0300
@@ -173,6 +173,8 @@ static void* fam_event_loop(void*)
Status dir_watch_Add(const OsPath& path, PDirWatch& dirWatch)
{
+ char resolved[PATH_MAX + 1];
+
// init already failed; don't try again or complain
if(initialized == -1)
return ERR::FAIL; // NOWARN
@@ -205,7 +207,10 @@ Status dir_watch_Add(const OsPath& path,
// not worthwhile
FAMRequest req;
- if(FAMMonitorDirectory(&fc, OsString(path).c_str(), &req, tmpDirWatch.get()) < 0)
+
+ FAMNoExists(&fc);
+
+ if(FAMMonitorDirectory(&fc, realpath(OsString(path).c_str(), resolved), &req, tmpDirWatch.get()) < 0)
{
debug_warn(L"res_watch_dir failed!");
WARN_RETURN(ERR::FAIL); // no way of getting error code?

19
0ad-libxml2.patch Normal file
View File

@ -0,0 +1,19 @@
diff -up 0ad-0.0.11-alpha/libraries/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp.orig 0ad-0.0.11-alpha/libraries/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp
--- 0ad-0.0.11-alpha/libraries/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp.orig 2012-09-08 09:56:56.532955316 -0300
+++ 0ad-0.0.11-alpha/libraries/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.cpp 2012-09-08 09:57:27.200987159 -0300
@@ -523,8 +523,13 @@ bool FArchiveXML::EndExport(fm::vector<u
xmlOutputBufferPtr buf = xmlAllocOutputBuffer(NULL);
xmlNodeDumpOutput(buf, rootNode->doc, rootNode, 0, 0, NULL);
- outData.resize(buf->buffer->use * sizeof(xmlChar));
- memcpy(outData.begin(), buf->buffer->content, outData.size());
+#ifdef LIBXML2_NEW_BUFFER
+ outData.resize(xmlOutputBufferGetSize(buf) * sizeof(xmlChar));
+ memcpy(outData.begin(), xmlOutputBufferGetContent(buf), outData.size());
+#else
+ outData.resize(buf->buffer->use * sizeof(xmlChar));
+ memcpy(outData.begin(), buf->buffer->content, outData.size());
+#endif
xmlOutputBufferClose(buf);
daeDocument.ReleaseXmlData();

30
0ad-rpath.patch Normal file
View File

@ -0,0 +1,30 @@
diff -up 0ad-0.0.11-alpha/build/premake/premake4.lua.orig 0ad-0.0.11-alpha/build/premake/premake4.lua
--- 0ad-0.0.11-alpha/build/premake/premake4.lua.orig 2012-09-08 10:11:31.662784857 -0300
+++ 0ad-0.0.11-alpha/build/premake/premake4.lua 2012-09-08 10:11:41.465795036 -0300
@@ -308,26 +308,6 @@ function project_set_build_flags()
defines { "INSTALLED_LIBDIR=" .. _OPTIONS["libdir"] }
end
- if os.is("linux") or os.is("bsd") then
- -- To use our local shared libraries, they need to be found in the
- -- runtime dynamic linker path. Add their path to -rpath.
- if _OPTIONS["libdir"] then
- linkoptions {"-Wl,-rpath," .. _OPTIONS["libdir"] }
- else
- -- On FreeBSD we need to allow use of $ORIGIN
- if os.is("bsd") then
- linkoptions { "-Wl,-z,origin" }
- end
-
- -- Adding the executable path and taking care of correct escaping
- if _ACTION == "gmake" then
- linkoptions { "-Wl,-rpath,'$$ORIGIN'" }
- elseif _ACTION == "codeblocks" then
- linkoptions { "-Wl,-R\\\\$$ORIGIN" }
- end
- end
- end
-
end
end

144
0ad.6 Normal file
View File

@ -0,0 +1,144 @@
.TH 0AD "1" "Sep 8 2012" "0ad 0.0.11" "User Commands"
.SH NAME
0ad \- manual page for 0ad 0.0.11
.SH SYNOPSIS
.B 0ad
[\fIoptions\fR]
.SH DESCRIPTION
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
real-time strategy (RTS) game of ancient warfare. In short, it is a
historically-based war/economy game that allows players to relive or rewrite
the history of Western civilizations, focusing on the years between 500 B.C.
and 500 A.D. The project is highly ambitious, involving state-of-the-art 3D
graphics, detailed artwork, sound, and a flexible and powerful custom-built
game engine.
The game has been in development by Wildfire Games (WFG), a group of volunteer,
hobbyist game developers, since 2001.
.PP
Basic gameplay:
.TP
\fB\-autostart\fR
load a map instead of showing main menu (see below)
.TP
\fB\-editor\fR
launch the Atlas scenario editor
.TP
\fB\-mod\fR \fINAME\fR
start the game using \fINAME\fR mod
.TP
\fB\-quickstart\fR
load faster (disables audio and some system info logging)
.PP
Autostart:
.TP
\fB\-autostart\fR=\fINAME\fR
map \fINAME\fR for scenario, or rms name for random map
.TP
\fB\-autostart-ai\fR=\fIPLAYER\fR:\fIAI\fR
adds named \fIAI\fR to the given \fIPLAYER\fR (e.g. 2:testbot)
.PP
Multiplayer:
.TP
\fB\-autostart-playername\fR=\fINAME\fR
multiplayer local player \fINAME\fR (default 'anonymous')
.TP
\fB\-autostart-host\fR
multiplayer host mode
.TP
\fB\-autostart-players\fR=\fINUMBER\fR
multiplayer host: \fINUMBER\fR of client players (default 2)
.TP
\fB\-autostart-client\fR
multiplayer client mode
.TP
\fB\-autostart-ip\fR=\fIIP\fR
multiplayer client: connect to this host \fIIP\fR
.PP
Random maps only:
.TP
\fB\-autostart-random\fR
random map
.TP
\fB\-autostart-random\fR=\fISEED\fR
random map with \fISEED\fR value (default 0, use -1 for random)
.TP
\fB\-autostart-size\fR=\fITILES\fR
random map \fISIZE\fR in tiles (default 192)
.TP
\fB\-autostart-players\fR=\fINUMBER\fI
\fINUMBER\fR of players on random map
.PP
Configuration:
.TP
\fB\-conf\fR:\fIKEY\fR=\fIVALUE\fR
set a config value (overrides the contents of system.cfg)
.TP
\fB\-g\fR=\fIF\fR
set the gamma correction to '\fIF\fR' (default 1.0)
.TP
\fB\-nosound\fR
disable audio
.TP
\fB\-onlyPublicFiles\fR
force game to use only the public (default) mod
.TP
\fB\-shadows\fR
enable shadows
.TP
\fB\-vsync\fR
enable VSync, i.e. lock FPS to monitor refresh rate
.TP
\fB\-xres\fR=\fIN\fR
set screen \fIX\fR resolution to '\fIN\fR'
.TP
\fB\-yres\fR=\fIN\fR
set screen \fIY\fR resolution to '\fIN\fR'
.PP
Advanced / diagnostic:
.TP
\fB\-dumpSchema\fR
creates a file entity.rng in the working directory, containing
complete entity XML schema, used by various analysis tools
.TP
\fB\-replay\fR=\fIPATH\fR
non-visual replay of a previous game, used for analysis purposes
\fIPATH\fR is system path to commands.txt containing simulation log
.TP
\fB\-writableRoot\fR
store runtime game data in root data directory
(only use if you have write permissions on that directory)
.PP
Archive builder:
.TP
\fB\-archivebuild\fR=\fIPATH\fR
system \fIPATH\fR of the base directory containing mod data to be archived/precached
.TP
\fB\-archivebuild-output\fR=\fIPATH\fR
system \fIPATH\fR to output of the resulting .zip archive (use with archivebuild)
.TP
\fB\-archivebuild-compress\fR
enable deflate compression in the .zip
(no zip compression by default since it hurts compression of release packages)
.SH "REPORTING BUGS"
Bugs should be reported on Trac: http://trac.wildfiregames.com/
.br
On Linux / OS X: If the game detects an error, it should generate crashlog.txt
in ~/.config/0ad/logs/ . If it doesn't, it should at least print some
information on stdout. Attach crashlog.txt or the other information to the
bug report. It might also help to run the game in gdb and copy the output of
the "bt full" command, if possible.
.SH COPYRIGHT
0 A.D. is released as open source: you can freely use, copy, modify and
distribute the game's source code and data files, as long as you include
attribution to Wildfire Games and let anyone freely modify and distribute any
of your own modifications to the game's files.

254
0ad.spec Normal file
View File

@ -0,0 +1,254 @@
# http://trac.wildfiregames.com/wiki/BuildInstructions#Linux
# Remember to rerun licensecheck after every update:
# https://bugzilla.redhat.com/show_bug.cgi?id=818401#c46
# http://trac.wildfiregames.com/ticket/1682
# conditionals left for the sake of users building from source, but
# nvtt (due to s3tc patented code) is not supported and not built.
%global with_system_nvtt 0
%global without_nvtt 1
%if 0%{?fedora} <= 16
%global with_system_enet 0
%else
%global with_system_enet 1
%endif
Name: 0ad
Version: 0.0.11
Release: 3%{?dist}
# BSD License:
# build/premake/*
# libraries/valgrind/* (not built/used)
# MIT License:
# libraries/enet/*
# libraries/fcollada/*
# source/third_party/*
# LGPLv2+
# libraries/cxxtest/* (not built/used)
# GPLv2+
# source/*
# IBM
# source/tools/fontbuilder2/Packer.py
# MPL-1.1
# libraries/spidermonkey/* (not built/used)
License: GPLv2+ and BSD and MIT and IBM
Group: Amusements/Games
Summary: Cross-Platform RTS Game of Ancient Warfare
Url: http://wildfiregames.com/0ad/
%if %{without_nvtt}
# wget http://releases.wildfiregames.com/%%{name}-%%{version}-alpha-unix-build.tar.xz
# tar Jxf %%{name}-%%{version}-alpha-unix-build.tar.xz
# rm -fr %%{name}-%%{version}-alpha/libraries/nvtt
# rm -f %%{name}-%%{version}-alpha-unix-build.tar.xz
# tar Jcf %%{name}-%%{version}-alpha-unix-build.tar.xz %%{name}-%%{version}-alpha
Source0: %{name}-%{version}-alpha-unix-build.tar.xz
%else
Source0: http://releases.wildfiregames.com/%{name}-%{version}-alpha-unix-build.tar.xz
%endif
# adapted from binaries/system/readme.txt
# It is advisable to review this file at on newer versions, to update the
# version field and check for extra options. Note that windows specific,
# and disabled options were not added to the manual page.
Source1: %{name}.6
Requires: %{name}-data
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: DevIL-devel
%if %{with_system_enet}
BuildRequires: enet-devel
%endif
BuildRequires: gamin-devel
BuildRequires: js-devel
BuildRequires: libcurl-devel
BuildRequires: libdnet-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libpng-devel
BuildRequires: libvorbis-devel
BuildRequires: libxml2-devel
BuildRequires: libzip-devel
BuildRequires: nasm
%if %{with_system_nvtt}
BuildRequires: nvidia-texture-tools
%endif
BuildRequires: openal-soft-devel
BuildRequires: openjpeg-devel
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: SDL-devel
BuildRequires: subversion
BuildRequires: wxGTK-devel
# FAMMonitorDirectory fails if passing a relative directory
# Use FAMNoExists (gamin specific to speed up a little bit initialization
# as commented in the source)
Patch0: %{name}-gamin.patch
# http://trac.wildfiregames.com/ticket/1421
Patch1: %{name}-rpath.patch
# Build with newer libxml2
Patch2: %{name}-libxml2.patch
%description
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
real-time strategy (RTS) game of ancient warfare. In short, it is a
historically-based war/economy game that allows players to relive or rewrite
the history of Western civilizations, focusing on the years between 500 B.C.
and 500 A.D. The project is highly ambitious, involving state-of-the-art 3D
graphics, detailed artwork, sound, and a flexible and powerful custom-built
game engine.
The game has been in development by Wildfire Games (WFG), a group of volunteer,
hobbyist game developers, since 2001.
#-----------------------------------------------------------------------
%prep
%setup -q -n %{name}-%{version}-alpha
%patch0 -p1
%patch1 -p1
%if 0%{?fedora} > 18
# 0ad <= 0.0.11 && libxml2 >= 2.9
%patch2 -p1
%endif
#-----------------------------------------------------------------------
%build
export CFLAGS="%{optflags}"
# avoid warnings with gcc 4.7 due to _FORTIFY_SOURCE in CPPFLAGS
export CPPFLAGS="`echo %{optflags} | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'`"
build/workspaces/update-workspaces.sh \
--bindir %{_bindir} \
--datadir %{_datadir}/%{name} \
--libdir %{_libdir}/%{name} \
%if %{with_system_enet}
--with-system-enet \
%endif
--with-system-mozjs185 \
%if %{with_system_nvtt}
--with-system-nvtt \
%endif
%if %{without_nvtt}
--without-nvtt \
%endif
%{?_smp_mflags}
make %{?_smp_mflags} -C build/workspaces/gcc config=release verbose=1
#-----------------------------------------------------------------------
# Depends on availablity of nvtt
%if !%{without_nvtt}
%check
LD_LIBRARY_PATH=binaries/system binaries/system/test -libdir binaries/system
%endif
#-----------------------------------------------------------------------
%install
install -d -m 755 %{buildroot}%{_bindir}
install -p -m 755 binaries/system/pyrogenesis %{buildroot}%{_bindir}/pyrogenesis
install -d -m 755 %{buildroot}%{_libdir}/%{name}
for name in AtlasUI Collada; do
install -p -m 755 binaries/system/lib${name}.so %{buildroot}%{_libdir}/%{name}/lib${name}.so
done
%if !%{with_system_enet}
install -p -m 755 binaries/system/libenet.so.1 %{buildroot}%{_libdir}/%{name}/libenet.so.1
%endif
%if !%{without_nvtt} && !%{with_system_nvtt}
for name in nvcore nvimage nvmath nvtt; do
install -p -m 755 binaries/system/lib${name}.so %{buildroot}%{_libdir}/%{name}/lib${name}.so
done
%endif
install -d -m 755 %{buildroot}%{_datadir}/applications
install -p -m 644 build/resources/0ad.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
install -d -m 755 %{buildroot}%{_datadir}/pixmaps
install -p -m 644 build/resources/0ad.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
install -d -m 755 %{buildroot}%{_datadir}/%{name}
cp -a binaries/data/* %{buildroot}%{_datadir}/%{name}
install -d -m 755 %{buildroot}%{_mandir}/man6
install -p -m 644 %{SOURCE1} %{buildroot}%{_mandir}/man6/%{name}.6
ln -sf %{name}.6 %{buildroot}%{_mandir}/man6/pyrogenesis.6
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
cat > %{buildroot}%{_bindir}/0ad <<EOF
#!/bin/sh
cd %{_datadir}/0ad
LD_LIBRARY_PATH=%{_libdir}/0ad %{_bindir}/pyrogenesis "\$@"
EOF
chmod +x %{buildroot}%{_bindir}/0ad
#-----------------------------------------------------------------------
%files
%doc README.txt LICENSE.txt
%doc license_gpl-2.0.txt license_lgpl-2.1.txt
%{_bindir}/0ad
%{_bindir}/pyrogenesis
%{_libdir}/%{name}
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%{_datadir}/%{name}
%{_mandir}/man6/*.6*
%changelog
* Tue Sep 11 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.0.11-3
- Clarify source tree licenses information in spec (#818401)
- Preserve time stamp of installed files (#818401)
* Sat Sep 8 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.0.11-2
- Correct manpage group and symlink 0ad manual to pyrogenesis manual (#818401)
- Correct some typos and wrong information in 0ad.6
* Sat Sep 8 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 0.0.11-1
- Update to latest upstream release
- Switch to new versioning pattern
- Remove rpath patch already applied upstream
- Remove without-nvtt patch already applied upstream
- Remove boost patch already applied upstream
- Remake rpath patch to avoid package build special conditions
* Thu Sep 6 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-6
- Repackage tarball to not redistribute patented s3tc implementation (#818401)
- Add patch to rebuild with newer libxml2.
- Add upstream trac patch for build with newer boost.
- Rename patches to remove %%version and use %%name in source files.
* Fri Jul 13 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-5
- Clearly state nvtt is not mean't to be used (unless user build from sources).
- Update to use patch in wildfire trac instead of my patch to remove rpath.
* Fri Jun 1 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-4
- Actually remove %%defattr.
- Correct wrong fedora release check for enet-devel build requires.
* Sat May 26 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-4
- Make package build in Fedora 16 (rpmfusion #2342).
- Add conditionals to build with or without system nvtt or disable nvtt.
* Tue May 22 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-3
- Remove %%defattr from spec (#823096).
- Run desktop-file-validate (#823096).
* Mon May 21 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-2
- Disable dependency on nvidia-texture-tools (#823096).
- Disable %%check as it requires nvtt.
- Add manual page.
* Sat May 19 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11863-1
- Correct package license.
- Update to latest upstream release.
- Remove license_dbghelp.txt as dbghelp.dll is not in sources neither installed.
* Tue May 1 2012 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - r11339-1
- Initial 0ad spec.

View File

@ -0,0 +1 @@
ac583fc170aeb438bb6c8cc18a97cc42 0ad-0.0.11-alpha-unix-build.tar.xz