summaryrefslogtreecommitdiff
path: root/community/freeorion
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
committerroot <root@rshg054.dnsready.net>2013-08-13 01:33:19 -0700
commit7a65a910b77ad191d69881098c47f9b0c852d92e (patch)
tree9564e611af1442f8952a8cbddb3b0ad25ed71aab /community/freeorion
parent60da6abff6c9577a783d72865f11de7a585e912e (diff)
Tue Aug 13 01:31:08 PDT 2013
Diffstat (limited to 'community/freeorion')
-rw-r--r--community/freeorion/PKGBUILD116
-rw-r--r--community/freeorion/cmake_python.patch23
-rw-r--r--community/freeorion/freeorion.install13
-rw-r--r--community/freeorion/freeorion.sh143
4 files changed, 295 insertions, 0 deletions
diff --git a/community/freeorion/PKGBUILD b/community/freeorion/PKGBUILD
new file mode 100644
index 000000000..75c60bedd
--- /dev/null
+++ b/community/freeorion/PKGBUILD
@@ -0,0 +1,116 @@
+# $Id: PKGBUILD 95098 2013-08-05 17:01:03Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Elmo Todurov <todurov@gmail.com>
+# Contributor: guini <sidtrun@googlemail.com>
+# Contributor: Forrest Loomis <cybercyst@gmail.com>
+# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: fana-m <geminin@gmx.net>
+
+pkgname=freeorion
+pkgver=0.4.3
+pkgrel=1
+_svnrev=6281
+_pyversion=2.7
+pkgdesc='Turn-based galactic conquest game inspired by Master of Orion'
+arch=('x86_64' 'i686')
+url='http://www.freeorion.org/'
+license=('GPL')
+if [ "$CARCH" == "x86_64" ]
+then
+ depends=('lib32-nvidia-cg-toolkit')
+else
+ depends=('nvidia-cg-toolkit')
+fi
+depends=('bullet' 'freealut' 'libvorbis' 'python2' 'gigi' 'desktop-file-utils' 'libgl')
+makedepends=('boost' 'ogre=1.8.1' 'sdl' 'gigi>0.8.0-18' 'graphviz' 'mesa-libgl'
+ 'desktop-file-utils' 'setconf' 'cmake' 'gendesk' 'subversion' 'libogg')
+options=('!strip' '!emptydirs')
+install=$pkgname.install
+source=("$pkgname.sh"
+ "$pkgname.png::https://a.fsdn.com/con/icons/fr/freeorion@sf.net/FO_Icon_256x256.png"
+ "cmake_python.patch"
+ "$pkgname::svn+https://freeorion.svn.sourceforge.net/svnroot/freeorion/trunk/FreeOrion/#revision=$_svnrev")
+sha256sums=('25b574af5397226373e24510ce59de94c5df5b31d94562fc0de387fd70731707'
+ 'a6a253eed31b77b00bf4f721f4b1c6bbd95505b9e4b38b736101e551dd12ff5f'
+ '3dbe8df9c3a4a0d6451f42727ebf9bcb21fed41a08d1181d1cf77ef4ab5ee81a'
+ 'SKIP')
+
+pkgver() {
+ svn upgrade
+ svn up -r "$_svnrev"
+ echo "$pkgver"
+}
+
+prepare() {
+ #msg2 'Looking up revision from version number...'
+ #_releaserevision=`curl --progress-bar -o- ${url}index.php/Compile | grep "$pkgver" | cut -d':' -f2 | cut -d' ' -f10 | tail -1`
+
+ gendesk -n --pkgname "$pkgname" --pkgdesc "$pkgdesc"
+}
+
+build() {
+ cd "$srcdir/$pkgname"
+
+ msg2 'CMake/Python fix...'
+ patch -N -p1 -i "$srcdir/cmake_python.patch"
+
+ msg2 'Generating makefiles...'
+ cmake \
+ -DPYTHON_INCLUDE_DIR:PATH="/usr/include/python$_pyversion" \
+ -DPYTHON_LIBRARY:FILEPATH="/usr/lib/libpython$_pyversion.so" \
+ -G "Unix Makefiles"
+
+ msg2 'GLU fix...'
+ if [ "$CARCH" == "x86_64" ]
+ then
+ setconf CMakeCache.txt CMAKE_CXX_FLAGS:STRING \
+ "'-march=native -mtune=generic -O2 -fno-var-tracking -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -lGL -lGLU -rpath=/usr/lib '"
+ fi
+
+ msg2 'Compiling...'
+ make -j1
+
+ msg2 'OGRE fix...'
+ sed -i 's:PluginFolder=.:PluginFolder=/usr/lib/OGRE/:g' \
+ "$srcdir/$pkgname/ogre_plugins.cfg"
+}
+
+package() {
+ cd "$srcdir/$pkgname"
+
+ msg2 'Packaging documentation...'
+ install -Dm644 loki_setup/README.txt \
+ "$pkgdir/usr/share/doc/$pkgname/README.txt"
+
+ msg2 'Packaging binaries...'
+ install -Dm 755 "$srcdir/$pkgname.sh" "$pkgdir/usr/bin/freeorion"
+ install -Dm 755 freeorion "$pkgdir/usr/bin/freeorion.elf"
+ install -Dm 755 freeorionca "$pkgdir/usr/bin/freeorionca"
+ install -Dm 755 freeoriond "$pkgdir/usr/bin/freeoriond"
+
+ msg2 'Packaging data...'
+ mkdir -p "$pkgdir/usr/share/$pkgname" "$pkgdir/usr/lib/$pkgname"
+ cp -r default "$pkgdir/usr/share/$pkgname"
+ install -Dm 644 OISInput.cfg "$pkgdir/usr/share/$pkgname/OISInput.cfg"
+
+ msg2 'Packaging license...'
+ install -Dm 644 default/COPYING \
+ "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+ cd "$srcdir"
+
+ msg2 'Packaging icon and shortcut...'
+ install -Dm 644 "$pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/freeorion.png"
+ install -Dm 644 "$pkgname.desktop" \
+ "$pkgdir/usr/share/applications/freeorion.desktop"
+
+ msg2 'Packaging OGRE plugins configuration...'
+ install -Dm 644 "$srcdir/$pkgname/ogre_plugins.cfg" \
+ "$pkgdir/usr/share/freeorion/ogre_plugins.cfg"
+
+ msg2 'Cleaning up...'
+ find "$pkgdir" -name ".svn" -print0 | xargs -0 rm -rf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/freeorion/cmake_python.patch b/community/freeorion/cmake_python.patch
new file mode 100644
index 000000000..b875fa844
--- /dev/null
+++ b/community/freeorion/cmake_python.patch
@@ -0,0 +1,23 @@
+--- a/client/AI/CMakeLists.txt 2012-09-10 00:11:18.659341865 +0200
++++ b/client/AI/CMakeLists.txt 2012-09-10 00:12:37.659345189 +0200
+@@ -33,6 +33,20 @@
+ find_package(PythonLibs)
+ if (PYTHONLIBS_FOUND)
+ include_directories(${PYTHON_INCLUDE_PATH})
++ SET(_VERSION_REGEX
++ "^#define[ \t]+PY([A-Z_]*_VERSION)[ \t]+[\"]*([0-9A-Za-z\\.]+)[\"]*[ \t]*$")
++ FILE(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" _VERSION_STRINGS
++ LIMIT_COUNT 10 REGEX ${_VERSION_REGEX})
++ FOREACH(_VERSION_STRING ${_VERSION_STRINGS})
++ STRING(REGEX REPLACE ${_VERSION_REGEX} "PYTHON\\1"
++ _VERSION_VARIABLE "${_VERSION_STRING}")
++ STRING(REGEX REPLACE ${_VERSION_REGEX} "\\2"
++ _VERSION_NUMBER "${_VERSION_STRING}")
++ SET(${_VERSION_VARIABLE} ${_VERSION_NUMBER})
++ ENDFOREACH(_VERSION_STRING ${_VERSION_STRINGS})
++ IF(PYTHON_MAJOR_VERSION EQUAL 3)
++ MESSAGE(FATAL_ERROR "Python 3 is not supported!")
++ ENDIF()
+ else ()
+ message(FATAL_ERROR " library not found.")
+ endif ()
diff --git a/community/freeorion/freeorion.install b/community/freeorion/freeorion.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/community/freeorion/freeorion.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/freeorion/freeorion.sh b/community/freeorion/freeorion.sh
new file mode 100644
index 000000000..9f35e7032
--- /dev/null
+++ b/community/freeorion/freeorion.sh
@@ -0,0 +1,143 @@
+#!/bin/sh
+#
+# written by Markus Sinner, http://psitronic.de
+#
+# Nightly builds on.
+# http://freeorion.psitronic.de/download/nightly/
+#
+# This is a wrapper-script for starting FreeOrion on
+# ix86 (and maybe x64) Linux Systems.
+# This script will CD into application and set some
+# enviroment variables.
+
+# ---- commandline PARAMETERS and ENVIROMENT variables -----
+# This script supports parameters, that will be evaluated
+# BEFORE freeorion binary is called and will be removed,
+# because the binary won't support them.
+# Currently only one parameter at a time is supported!
+# Parameters other than these will be appended as command
+# line parameters to the call of the freeorion binary.
+#
+# --strace
+# This starts freeorion using the "strace" utility.
+# Generates a strace logifle /tmp/freeorion.trace.
+# Make sure it is installed on your system!
+# --gdb
+# Runs freeorion in a gdb instance, passes the original
+# parameters through the --args parameter of gdb
+#
+#
+# ENVIROMENT variables
+# This script supports some enviroment variables. To set them
+# either use the followin command BEFORE you execute this script.
+# export XXXX="value"
+# This permanently set the variable in you current shell script.
+# Or you prepend the options when running this script, like this:
+# PARAM1="hello" PARAM2="yo man" /usr/bin/freeorion.elf
+#
+# Supportet are:
+# FO_TRACE=
+# Use this to prepend something to calling freorion.
+# This variables also is used internally, when --gdb or --trace
+# appear on the command line.
+# FO_GDB_ARGS=
+# If you use --gbd, you should uses this env to add GDB parameters.
+# Make sure you end this list of parameters with --args, otherwise
+# gdb won't start. Example: FO_GDB_ARGS="-q -s fo.symbols --args"
+# LD_LIBRARY_PATH=
+# This is a well known env and will be honored by this script.
+#
+
+
+# ---------- STARTS HERE ---------------
+# Change into application directory
+# If this is a symlink, then we
+# need to change into the dir of symlink-target.
+if [ -h $0 ]; then
+ #echo "I am Symlink. Following into my targets basedir"
+ ME=`readlink $0`
+else
+ #echo "Following into my basedir"
+ ME=$0
+fi
+
+# This is important! Script won't work outside its installation dir
+ROOT=/usr/share/freeorion
+cd ${ROOT}
+#echo -n "CWD: "
+pwd
+
+
+
+# Check for python. If freeorionca binary is missing it, use
+# the shipped version.
+if ldd /usr/bin/freeorionca | grep "libpython.*not found"; then
+ #echo "python2.5 missing. Using shipped version."
+ PYTHON_USE_SHIPPED=1
+else
+ #echo "python2.5 found. Using it."
+ PYTHON_USE_SHIPPED=0
+fi
+
+# Set Python library home for loading modules
+# If no python 2.5 is detected, use shipped python 2.5
+if [ "$PYTHON_USE_SHIPPED" = "1" ]; then
+ export PYTHONHOME=/usr/lib/freeorion/python2.5
+ export PYTHONPATH=${PYTHONHOME}
+ export PYTHONDEBUG=1
+ export PYTHONVERBOSE=1
+ #echo "PYTHONHOME=${PYTHONHOME}"
+
+ export LD_LIBRARY_PATH=${PYTHONHOME}:${LD_LIBRARY_PATH}
+ export LD_PRELOAD=${PYTHONHOME}/libutil.so.1:${PYTHONHOME}/libpython2.5.so
+fi
+
+
+# Command line Parameter --gdb forces running in gdb
+# Setting FO_TRACE to gdb results in other settings, see
+# below
+if [ "$1" = "--gdb" ]; then
+ FO_TRACE="gdb"
+
+ # Don't forget to remove the param
+ shift
+fi
+
+if [ "$1" = "--strace" ]; then
+ TRACEFILE=/tmp/freeorion.trace
+ echo
+ echo "Tracing to ${TRACEFILE}"
+ echo
+ FO_TRACE="strace -f -o ${TRACEFILE}"
+
+ # Don't forget to remove the param
+ shift
+fi
+
+
+
+# Add a parameter FO_GDB_ARGS to support gdb
+# Or warn the user, if he changed FO_GDB_ARGS and has
+# forgotten to end it with --args
+if [ "$FO_TRACE" = "gdb" ]; then
+ if [ "$FO_GDB_ARGS" = "" ]; then
+ FO_GDB_ARGS="--args"
+ else
+ echo "****************************************************"
+ echo "** NOTE NOTE NOTE NOTE **"
+ echo "Running FO in gdb"
+ echo "If you use FO_GDB_ARGS on your command line, make"
+ echo "sure that you END this variabble with --args."
+ echo "Otherwise gdb will not start."
+ echo
+ echo "Type 'start' when the gdb instance has loaded!"
+ echo
+ fi
+fi
+
+
+# Support loading libs from application/lib
+export LD_LIBRARY_PATH=./lib:${LD_LIBRARY_PATH}
+
+# Call with settings-dir to avoid conflicting installations
+${FO_TRACE} ${FO_GDB_ARGS} /usr/bin/freeorion.elf --resource-dir ./default $@