diff options
-rw-r--r-- | .SRCINFO | 50 | ||||
-rw-r--r-- | PKGBUILD | 99 |
2 files changed, 123 insertions, 26 deletions
@@ -1,15 +1,36 @@ pkgbase = freeminer - pkgdesc = An open source sandbox game inspired by Minecraft. pkgver = 0.4.14.8 - pkgrel = 2 + pkgrel = 3 url = http://freeminer.org/ arch = i686 arch = x86_64 license = GPL3 license = CCPL:cc-by-sa-3.0 + makedepends = leveldb + makedepends = curl + makedepends = hiredis + makedepends = sqlite + makedepends = luajit + makedepends = irrlicht + makedepends = openal + makedepends = enet + makedepends = jsoncpp + makedepends = libvorbis + makedepends = hicolor-icon-theme + makedepends = freetype2 makedepends = cmake makedepends = msgpack-c makedepends = clang + source = https://github.com/freeminer/freeminer/releases/download/0.4.14.8/freeminer-0.4.14.8.zip + source = enet_shared_lib.patch + source = fix_msgpack.patch + sha512sums = 093c1640c9a070fdbd45074d0a4acc5b7894d23cd436dc3cf794cee8fff92930cf26f8d802b984cb9ce19bac7fccc6e0ce948c816c9e19b9e9551e373e560beb + sha512sums = ac51ee33df27f9fb3bdf16c50b2a9da602d6c55bba7afe21492d0056cdfefa5f84ccfb306c23bd2bcf22066ca3ef2a952110ba0de350602393754f0466383004 + sha512sums = 4ac827ed4b1185264c6b7df279c40548b7e5dc5957129ee6dc4fe6ff05222844dabab67cf1f8c1932cac0cc691ac040812eca662d7ff36424eb3d3827bb126a0 + +pkgname = freeminer + pkgdesc = An open source sandbox game inspired by Minecraft + depends = freeminer-common depends = leveldb depends = curl depends = hiredis @@ -24,12 +45,23 @@ pkgbase = freeminer depends = freetype2 provides = freeminer=0.4.14.8 conflicts = freeminer-git - source = https://github.com/freeminer/freeminer/releases/download/0.4.14.8/freeminer-0.4.14.8.zip - source = enet_shared_lib.patch - source = fix_msgpack.patch - sha512sums = 093c1640c9a070fdbd45074d0a4acc5b7894d23cd436dc3cf794cee8fff92930cf26f8d802b984cb9ce19bac7fccc6e0ce948c816c9e19b9e9551e373e560beb - sha512sums = ac51ee33df27f9fb3bdf16c50b2a9da602d6c55bba7afe21492d0056cdfefa5f84ccfb306c23bd2bcf22066ca3ef2a952110ba0de350602393754f0466383004 - sha512sums = 4ac827ed4b1185264c6b7df279c40548b7e5dc5957129ee6dc4fe6ff05222844dabab67cf1f8c1932cac0cc691ac040812eca662d7ff36424eb3d3827bb126a0 -pkgname = freeminer +pkgname = freeminer-server + pkgdesc = Server of an open source sandbox game inspired by Minecraft + depends = freeminer-common + depends = leveldb + depends = curl + depends = hiredis + depends = sqlite + depends = luajit + depends = enet + depends = jsoncpp + provides = freeminer-server=0.4.14.8 + conflicts = freeminer-server-git + +pkgname = freeminer-common + pkgdesc = Common data files for freeminer and freeminer-server + arch = any + provides = freeminer-common=0.4.14.8 + conflicts = freeminer-common-git @@ -1,21 +1,19 @@ # Maintainer: Alfredo Ramos <alfredo dot ramos at yandex dot com> # Contributor: kusakata <shohei atmark kusakata period com> -pkgname=freeminer +pkgbase='freeminer' +pkgname=("${pkgbase}" "${pkgbase}-server" "${pkgbase}-common") pkgver=0.4.14.8 -pkgrel=2 -pkgdesc='An open source sandbox game inspired by Minecraft.' +pkgrel=3 arch=('i686' 'x86_64') url='http://freeminer.org/' license=('GPL3' 'CCPL:cc-by-sa-3.0') -depends=( - 'leveldb' 'curl' 'hiredis' 'sqlite' 'luajit' 'irrlicht' - 'openal' 'enet' 'jsoncpp' 'libvorbis' 'hicolor-icon-theme' 'freetype2' +makedepends=( + 'leveldb' 'curl' 'hiredis' 'sqlite' 'luajit' + 'irrlicht' 'openal' 'enet' 'jsoncpp' 'libvorbis' + 'hicolor-icon-theme' 'freetype2' 'cmake' 'msgpack-c' 'clang' ) -makedepends=('cmake' 'msgpack-c' 'clang') -provides=("${pkgname}=${pkgver}") -conflicts=("${pkgname}-git") source=( "https://github.com/${pkgname}/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.zip" @@ -29,7 +27,7 @@ sha512sums=( ) prepare() { - cd "${srcdir}"/${pkgname}-${pkgver} + cd "${srcdir}"/${pkgbase}-${pkgver} # Use Arch's enet lib patch -Np1 < ../enet_shared_lib.patch @@ -38,24 +36,91 @@ prepare() { patch -Np1 < ../fix_msgpack.patch # Create build directory - mkdir -p "${srcdir}"/build + mkdir -p "${srcdir}"/build-{client,server} } build() { - # Building package - cd "${srcdir}"/build - cmake ../${pkgname}-${pkgver} \ + # Building client + cd "${srcdir}"/build-client + cmake ../${pkgbase}-${pkgver} \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_CLIENT=1 \ + -DBUILD_SERVER=0 \ + -DRUN_IN_PLACE=0 \ + -DENABLE_SYSTEM_JSONCPP=1 \ + -DENABLE_SYSTEM_MSGPACK=1 + make + + # Building server + cd "${srcdir}"/build-server + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DBUILD_CLIENT=0 \ + -DBUILD_SERVER=1 \ -DRUN_IN_PLACE=0 \ -DENABLE_SYSTEM_JSONCPP=1 \ -DENABLE_SYSTEM_MSGPACK=1 make } -package() { - # Installing package - cd "${srcdir}"/build +package_freeminer() { + pkgdesc='An open source sandbox game inspired by Minecraft' + depends=( + "${pkgbase}-common" 'leveldb' 'curl' 'hiredis' 'sqlite' + 'luajit' 'irrlicht' 'openal' 'enet' 'jsoncpp' + 'libvorbis' 'hicolor-icon-theme' 'freetype2' + ) + provides=("${pkgbase}=${pkgver}") + conflicts=("${pkgbase}-git") + + # Installing client + cd "${srcdir}"/build-client make DESTDIR="${pkgdir}" install + + # Translations + cp -R locale "${pkgdir}"/usr/share/ + + # Provided by freeminer-common + rm -fR "${pkgdir}"/usr/share/{${pkgbase},doc} + + # Provided by freeminer-server + rm -f "${pkgdir}"/usr/share/man/man6/${pkgbase}server.6 +} + +package_freeminer-server() { + pkgdesc='Server of an open source sandbox game inspired by Minecraft' + depends=( + "${pkgbase}-common" 'leveldb' 'curl' 'hiredis' 'sqlite' + 'luajit' 'enet' 'jsoncpp' + ) + provides=("${pkgbase}-server=${pkgver}") + conflicts=("${pkgbase}-server-git") + + # Installing server + cd "${srcdir}"/build-server + make DESTDIR="${pkgdir}" install + + # Provided by freeminer + rm -fR "${pkgdir}"/usr/share/{metainfo,appdata,applications,icons} + rm -f "${pkgdir}"/usr/share/man/man6/${pkgbase}.6 + + # Provided by freeminer-common + rm -fR "${pkgdir}"/usr/share/{${pkgbase},doc} +} + +package_freeminer-common() { + pkgdesc="Common data files for ${pkgbase} and ${pkgbase}-server" + arch=('any') + provides=("${pkgbase}-common=${pkgver}") + conflicts=("${pkgbase}-common-git") + + # Install common data files + cd "${srcdir}"/${pkgbase}-${pkgver} + mkdir -p "${pkgdir}"/usr/share/${pkgbase}/{,doc} + cp -R {games,builtin,client,fonts,textures} "${pkgdir}"/usr/share/${pkgbase}/ + cp doc/*.txt "${pkgdir}"/usr/share/${pkgbase}/doc/ } |