diff options
author | Shackra Sislock <jorgean@lavabit.com> | 2013-04-24 15:36:35 -0600 |
---|---|---|
committer | Shackra Sislock <jorgean@lavabit.com> | 2013-04-24 15:36:35 -0600 |
commit | 9860b8bf1c27104f426e6044fde79353ee568ac2 (patch) | |
tree | fbf0307d14cf6b738c8227c7ee7409e5a758deb3 /pcr/ryzom-hg | |
parent | 3f2a8f10a4482838f91151e16aa606a36b00e707 (diff) |
adding new PKGBUILD to build The Ryzom Saga
Diffstat (limited to 'pcr/ryzom-hg')
-rw-r--r-- | pcr/ryzom-hg/PKGBUILD | 116 | ||||
-rw-r--r-- | pcr/ryzom-hg/ryzom.desktop | 11 | ||||
-rw-r--r-- | pcr/ryzom-hg/ryzom.sh | 9 |
3 files changed, 136 insertions, 0 deletions
diff --git a/pcr/ryzom-hg/PKGBUILD b/pcr/ryzom-hg/PKGBUILD new file mode 100644 index 000000000..45d32f288 --- /dev/null +++ b/pcr/ryzom-hg/PKGBUILD @@ -0,0 +1,116 @@ +# Maintainer:Bjoern Bidar <theodorstormgrade@gmail.com +# Maintainer:Jorge Araya Navarro <jorgean@lavabit.com> +#_gui_toolkit=qt # qt or gtk +_build_server=false # set true to build server (default:false) +_build_client=true # set false to don't build client (default:true) +_CMAKE_COMMON_ARGS=('-DWITH_STATIC=OFF' '-DWITH_NEL_TOOLS=OFF' '-DWITH_NEL_TESTS=OFF' '-DWITH_LUA51=ON' '-DWITH_NEL_SAMPLES=OFF' '-DWITH_RYZOM_TOOLS=OFF'.) # cmake arguments for server and client +_CMAKE_SERVER_ARGS=('-DWITH_RYZOM_SERVER=ON' '-DWITH_RYZOM_CLIENT=OFF' '-DWITH_DRIVER_OPENGL=OFF' '-DWITH_DRIVER_OPENAL=OFF' ) # cmake args for building server +_CMAKE_CLIENT_ARGS=( '-DWITH_RYZOM_SERVER=OFF' '-DWITH_RYZOM_CLIENT=ON' ) # cmake args for building client + +if [ $_build_client = true ] ; then + true && pkgname=( 'ryzom-client-hg' ) +fi + +if [ $_build_server = true ] ; then + true && pkgname=( 'ryzom-client-hg' 'ryzom-server-hg') +fi + + +case $_gui_toolkit in + qt) _CMAKE_COMMON_ARGS=( ${_CMAKE_COMMON_ARGS_ARGS[*]} '-DWITH_QT=ON' ) ;; + gtk) _CMAKE_COMMON_ARGS=( ${_CMAKE_COMMON_ARGS_ARGS[*]} '-DWITH_GTK=ON' ) ;; +esac + + +_hg_root='https://bitbucket.org/ryzom/ryzomcore' +_hg_name='ryzomcore' + +prepare() { + if [ -d "$_hg_name" ] ; then # fetch sources + cd "$_hg_name" + hg pull && hg update + cd .. + else + hg clone "$_hg_root" + fi + + msg2 "hg clone done or server timeout" +} +build() { + cd $_hg_name + + if [ $_build_client = true ] ; then + + mkdir -p "$srcdir/build-client" + cd "$srcdir/build-client" + msg "client is $_build_client, building client" + cmake -b "$srcdir/$_hg_name/code" ${_CMAKE_COMMON_ARGS_ARGS[*]} ${_CMAKE_CLIENT_ARGS[*]} -DCMAKE_INSTALL_PREFIX=/usr -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/bin + msg "Starting make, to build client" + make + + fi + + if [ $_build_server = true ] ; then + mkdir -p "$srcdir/build-server" + cd "$srcdir/build-server" + msg "client is $_build_server, building server" + cmake -b "$srcdir/$_hg_name/code" ${_CMAKE_COMMON_ARGS_ARGS[*]} ${_CMAKE_SERVER_ARGS[*]} -DCMAKE_INSTALL_PREFIX=/usr -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/bin + msg "Starting make, to build server" + make + + fi + +} +if [ $_build_client = true ] ; then + + package_ryzom-client-hg() { + pkgdesc="Ryzom is a Free to Play MMORPG . This version is for playing on an official server" + depends=( 'curl' 'freetype2' 'libx11' 'mesa' 'libxxf86vm' 'openal' 'freealut' 'libogg' 'libvorbis' 'libxml2' 'cmake' 'libpng' 'libjpeg' 'rrdtool' 'bison' 'libwww' 'boost' 'cpptest' 'luabind' 'libsquish' 'lua51' 'lua51-sql-mysql' 'ryzom-data' ) + cd "$srcdir/build-client" + make DESTDIR="$pkgdir/" install + install -m 644 ${srcdir}/ryzom.desktop ${pkgdir}/usr/share/applications + sed -ie 's/\/usr\/bin\/ryzom_client/ryzom/' ${pkgdir}/usr/share/applications/ryzom.desktop # replace ryzom_client with our script + cp ${srcdir}/ryzom.sh ${pkgdir}/usr/bin/ryzom + chmod +x ${pkgdir}/usr/bin/ryzom + mkdir -p ${pkgdir}/usr/bin + + } + +fi + +if [ $_build_server = true ] ; then + + package_ryzom-server-hg() { + pkgdesc="Ryzom is a Free to Play MMORPG . This is the version to run a server" + cd "$srcdir/build-server" + make DESTDIR="$pkgdir/" install + # install -m 644 ${srcdir}/ryzom.desktop ${pkgdir}/usr/share/applications + # sed -ie 's/\/usr\/bin\/ryzom_client/ryzom/' ${pkgdir}/usr/share/applications/ryzom.desktop # replace ryzom_client with our script + # cp ${srcdir}/ryzom.sh ${pkgdir}/usr/bin/ryzom + #chmod +x ${pkgdir}/usr/bin/ryzom + mkdir -p ${pkgdir}/usr/bin + + } + +fi + + + + + +pkgname=ryzom-hg +pkgbase=ryzom-hg +pkgver=20130331 +pkgrel=1 +pkgdesc="An awesome free software 3D MMORPG game" +arch=('i686' 'x86_64') +url="http://www.ryzom.com/" +license=('AGPL3') +depends=('curl' 'freetype2' 'libx11' 'mesa' 'libxxf86vm' 'openal' 'freealut' 'libogg' 'libvorbis' 'libxml2' 'libpng' 'libjpeg' 'rrdtool' 'libwww' 'boost' 'luabind' 'libsquish' 'lua51' 'lua51-sql-mysql') +conflicts=('ryzom-client-latest-hg') +groups=('ryzom') +makedepends=('mercurial' 'cpptest' 'cmake' 'bison') +provides=('ryzom') +source=( 'ryzom.sh' 'ryzom.desktop' ) +md5sums=('a5ca7dfae7b9073f78cd1b0b7380755f' + '71d5136d40ec4e76c2ac2b0c9e506aef') diff --git a/pcr/ryzom-hg/ryzom.desktop b/pcr/ryzom-hg/ryzom.desktop new file mode 100644 index 000000000..d90063593 --- /dev/null +++ b/pcr/ryzom-hg/ryzom.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Name=Ryzom +Type=Application +GenericName=ryzom +Comment=Ryzom +Exec=/usr/bin/ryzom +Icon=/usr/share/ryzom/data/ryzom.png +Terminal=false +Hidden=false +Categories=Game;RolePlaying; diff --git a/pcr/ryzom-hg/ryzom.sh b/pcr/ryzom-hg/ryzom.sh new file mode 100644 index 000000000..e3cff2c64 --- /dev/null +++ b/pcr/ryzom-hg/ryzom.sh @@ -0,0 +1,9 @@ +#!/bin/sh +if groups | grep games > /dev/null 2>&1 ; then + ryzom_sync + exec ryzom_client + +else + echo "you need to be in games group to run ryzom" + exit 1 +fi |