diff --git a/src/airsonic/PKGBUILD b/src/airsonic/PKGBUILD new file mode 100644 index 0000000..69f8220 --- /dev/null +++ b/src/airsonic/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Federico Giuliani + +pkgname=airsonic +pkgver=10.6.2 +_relver=10.6 +pkgrel=1 +pkgdesc="A free, web-based media streamer and jukebox." +arch=('any') +url="https://github.com/Airsonic/airsonic/" +license=('GPL3') +depends=('java-runtime-headless' 'ttf-dejavu') +backup=('etc/airsonic/airsonic.conf') +noextract=(${pkgname}.war) +source=(${pkgname}-${pkgver}.war::https://github.com/airsonic/airsonic/releases/download/v${pkgver}/${pkgname}.war + ${pkgname}-systemd-env-${_relver}::https://raw.githubusercontent.com/airsonic/airsonic/release-${_relver}/contrib/${pkgname}-systemd-env + ${pkgname}-${_relver}.service::https://raw.githubusercontent.com/airsonic/airsonic/release-${_relver}/contrib/${pkgname}.service + ${pkgname}.sysusers + ${pkgname}.tmpfiles) + +package() { + cd ${srcdir} + mkdir -p ${pkgdir}/var/lib/${pkgname} + mkdir -p ${pkgdir}/var/lib/${pkgname}/playlists + mkdir -p ${pkgdir}/usr/lib/systemd/system + mkdir -p ${pkgdir}/etc/${pkgname} + cp ${pkgname}-${pkgver}.war ${pkgdir}/var/lib/${pkgname}/${pkgname}.war + + sed -i 's/\/var\/airsonic/\/var\/lib\/airsonic/' ${pkgname}-${_relver}.service + sed -i 's/\/etc\/sysconfig\/airsonic/\/etc\/airsonic\/airsonic.conf/' ${pkgname}-${_relver}.service + + sed -i 's/\/var\/airsonic/\/var\/lib\/airsonic/' ${pkgname}-systemd-env-${_relver} + cp ${pkgname}-systemd-env-${_relver} ${pkgdir}/etc/${pkgname}/${pkgname}.conf + + install -Dm644 "${srcdir}/${pkgname}-${_relver}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service" + install -Dm644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" + install -Dm644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" + +} +sha256sums=('94b17d6a7859a9c029dcbcdc672f4d49bd605bf46bdf74ac51ea0d593db67860' + '059a43fe100d95aaaae8091d1c312f4d3a2a2b4edc1969358dd7be35f6525930' + '6f2e626e393d1e706e3edb45d5dfabf026d9360016d0c2643430c4503dc3e9e2' + '25af0b92b247df928db5ac8fec3fb4fa2cdc717e649729d5e0c059a5b81e058e' + '952c15c8c6b53b9c63a96eb6b2402eae42bde56dc9c6c60484cf039a03a82963') + diff --git a/src/airsonic/airsonic.sysusers b/src/airsonic/airsonic.sysusers new file mode 100644 index 0000000..3558d7c --- /dev/null +++ b/src/airsonic/airsonic.sysusers @@ -0,0 +1 @@ +u airsonic - "Airsonic user" /var/lib/airsonic diff --git a/src/airsonic/airsonic.tmpfiles b/src/airsonic/airsonic.tmpfiles new file mode 100644 index 0000000..e351362 --- /dev/null +++ b/src/airsonic/airsonic.tmpfiles @@ -0,0 +1 @@ +d /var/lib/airsonic 0755 airsonic airsonic diff --git a/src/dino-git/PKGBUILD b/src/dino-git/PKGBUILD index 48b33cc..923781d 100644 --- a/src/dino-git/PKGBUILD +++ b/src/dino-git/PKGBUILD @@ -2,7 +2,7 @@ # Contributor: svalo pkgname=dino-git -pkgver=v0.2.0.r109.g3bfd4078 +pkgver=v0.2.0.r143.g905f93bc pkgrel=1 pkgdesc="Simple and modern Jabber/XMPP client written in vala" arch=('i686' 'x86_64' 'aarch64') diff --git a/src/intellij-idea-ultimate-edition/PKGBUILD b/src/intellij-idea-ultimate-edition/PKGBUILD index 8b080f8..c640b27 100644 --- a/src/intellij-idea-ultimate-edition/PKGBUILD +++ b/src/intellij-idea-ultimate-edition/PKGBUILD @@ -2,8 +2,8 @@ pkgbase=intellij-idea-ultimate-edition pkgname=(intellij-idea-ultimate-edition intellij-idea-ultimate-edition-jre) -pkgver=2021.1.1 -_buildver=211.7142.45 +pkgver=2021.2.1 +_buildver=212.5080.55 pkgrel=1 arch=('any') pkgdesc="An intelligent IDE for Java, Groovy and other programming languages with advanced refactoring features intensely focused on developer productivity." @@ -12,7 +12,7 @@ license=('Commercial') options=(!strip) source=("https://download.jetbrains.com/idea/ideaIU-$pkgver.tar.gz" "jetbrains-idea.desktop") -sha256sums=('bf8ec348880de90154e8862c8ec9a9d244ded362041945a24b064f6267c82461' +sha256sums=('4bbd3966c79c9e3d871d7b82668d6685f93deb143b675bca7ce4755b193777e4' '83af2ba8f9f14275a6684e79d6d4bd9b48cd852c047dacfc81324588fa2ff92b') prepare() { diff --git a/src/kristall/PKGBUILD b/src/kristall/PKGBUILD new file mode 100644 index 0000000..8b2d35e --- /dev/null +++ b/src/kristall/PKGBUILD @@ -0,0 +1,35 @@ +# Maintainer: Simon Cruanes +pkgname=kristall +pkgver=0.3 +pkgrel=0 +pkgdesc="A high-quality visual cross-platform gemini browser." +arch=('x86_64') +url="https://github.com/MasterQ32/kristall" +license=('GPL3') +depends=('qt5-base' 'qt5-multimedia' 'openssl' 'qt5-svg') +source=("https://github.com/MasterQ32/kristall/archive/V0.3.tar.gz") +b2sums=('3e00243cf455ad810e8d51333b63186e637de1c292a116dbb4273825c51b1c1bf1921bfd243acb97e13dc201b3dcce7240f3c66368b66b607e5c207a2d901934') + +prepare() { + # Fix desktop launcher icon name (allow per-theme override) + sed -i 's/net.random-projects.//' $pkgname-$pkgver/Kristall.desktop +} + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + + install -D build/kristall "$pkgdir/usr/bin/kristall" + install -D LICENSE "$pkgdir/usr/share/licenses/kristall/LICENSE" + install -Dm644 Kristall.desktop "$pkgdir/usr/share/applications/kristall.desktop" + + for size in 16 32 64 128; do + install -Dm644 src/icons/kristall-$size.png "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/kristall.png" + done + install -Dm644 src/icons/kristall.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/kristall.svg" +} + diff --git a/src/makemkv/PKGBUILD b/src/makemkv/PKGBUILD index bc94489..b157ef6 100644 --- a/src/makemkv/PKGBUILD +++ b/src/makemkv/PKGBUILD @@ -2,7 +2,7 @@ # Contributor: Olaf Bauer pkgname=makemkv -pkgver=1.16.1 +pkgver=1.16.4 pkgrel=1 pkgdesc="DVD and Blu-ray to MKV converter and network streamer" arch=('i686' 'x86_64') @@ -19,8 +19,8 @@ source=(${url}/download/${pkgname}-bin-${pkgver}.tar.gz makemkv.1 makemkvcon.1 mmdtsdec.1) -sha256sums=('941f88acfb3790ecc008b2675e8ad3d0353f0163778cc1cb9507aa87c3427db6' - '32e0ee2708527ce22a961c7249c607d11d88f5ffdb41809a7b7ed8003af48845' +sha256sums=('22fbd3f57e93f3c79a76c878202fb27e85f2d66de26b3be87b69198228a66aa2' + 'e6b0d391159e60c48c115cdf6938eb02f5aeef3c3fecf94813c500f4031e4f6b' '5573b2e4bade10d8cd258a7c235eb46f66ef8c8c97e5d5eb090c38fa0f94389b' 'f12c0facf2f0071a9f728b138986f0a4c2b4ff6ace2dfb2e96364e215e9fda6f' '2a6237d3d5ce073734c658c7ec5d2141ecd0047e6d3c45d1bd594135c928878f') diff --git a/src/nextcloud-app-user-external/PKGBUILD b/src/nextcloud-app-user-external/PKGBUILD index 18d6a2b..c85e112 100644 --- a/src/nextcloud-app-user-external/PKGBUILD +++ b/src/nextcloud-app-user-external/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: moparisthebest pkgname=nextcloud-app-user-external -pkgver=1.0.0 +pkgver=2.1.0 pkgrel=1 pkgdesc=" External user authentication methods like IMAP, SMB and FTP" arch=('any') @@ -11,7 +11,7 @@ depends=('nextcloud') makedepends=() options=('!strip') source=("nextcloud-app-user-external-${pkgver}.tar.gz::https://github.com/nextcloud/user_external/releases/download/v${pkgver}/user_external-${pkgver}.tar.gz") -sha256sums=("11405eaca332dac9af06702c1aa357be61362df4cd24746fdd24d0f7eebdf231") +sha256sums=("79d400c05737ea3512faf0ab77411dd5da9c830341e59b1a98b86775c92acf19") package() { install -d "${pkgdir}/usr/share/webapps/nextcloud/apps" diff --git a/src/openspades/PKGBUILD b/src/openspades/PKGBUILD new file mode 100644 index 0000000..4590698 --- /dev/null +++ b/src/openspades/PKGBUILD @@ -0,0 +1,29 @@ +# Contributor: kusakata +# Maintainer: Samuel Walladge + +pkgname=openspades +pkgver=0.1.3 +pkgrel=2 +pkgdesc="A clone of Voxlap Ace of Spades 0.75" +arch=('i686' 'x86_64') +url="http://openspades.yvt.jp/" +license=('GPL3') +depends=('curl' 'desktop-file-utils' 'glew' 'hicolor-icon-theme' 'mesa' 'openal' 'opusfile' 'sdl2' 'sdl2_image' 'xdg-utils') +makedepends=('cmake' 'git' 'imagemagick' 'unzip' 'wget' 'zip') +install=openspades.install +source=("${pkgname}-v${pkgver}.tar.gz"::"https://github.com/yvt/openspades/archive/v${pkgver}.tar.gz") +sha256sums=('ecd7aaf568f80712d981ecdd7bf9e380221dc2c16e86d2e56a0ddda87432bea3') + + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=RelWithDebInfo -D OPENSPADES_RESDIR=/usr/share/openspades/Resources -D OPENSPADES_INSTALL_RESOURCES=share/openspades/Resources -D OPENSPADES_INSTALL_BINARY=bin . + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}/usr/share/menu" +} + diff --git a/src/openspades/openspades.install b/src/openspades/openspades.install new file mode 100644 index 0000000..dcc06de --- /dev/null +++ b/src/openspades/openspades.install @@ -0,0 +1,12 @@ +post_install() { + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/src/python-md2gemini/PKGBUILD b/src/python-md2gemini/PKGBUILD new file mode 100644 index 0000000..67ed486 --- /dev/null +++ b/src/python-md2gemini/PKGBUILD @@ -0,0 +1,25 @@ +# Maintainer: kyrenaios +pkgbase='python-md2gemini' +pkgname=('python-md2gemini') +_module='md2gemini' +pkgver='1.8.1' +pkgrel=1 +pkgdesc="Convert Markdown to the Gemini text format" +url="https://github.com/makeworld-the-better-one/md2gemini" +depends=('python' 'python-mistune2' 'python-cjkwrap' 'python-wcwidth') +makedepends=('python-setuptools') +license=('LGPL') +arch=('any') +source=("https://files.pythonhosted.org/packages/source/${_module::1}/$_module/$_module-$pkgver.tar.gz") +sha256sums=('3ef2bd2d9e2b4968a844a2858f721348429f3a0b5976bd1c324198538103ca55') + +build() { + cd "${srcdir}/${_module}-${pkgver}" + python setup.py build +} + +package() { + depends+=() + cd "${srcdir}/${_module}-${pkgver}" + python setup.py install --root="${pkgdir}" --optimize=1 --skip-build +} diff --git a/src/python-mistune2/PKGBUILD b/src/python-mistune2/PKGBUILD new file mode 100644 index 0000000..4a11664 --- /dev/null +++ b/src/python-mistune2/PKGBUILD @@ -0,0 +1,27 @@ +# Maintainer: kyrenaios +pkgbase='python-mistune2' +pkgname=('python-mistune2') +_module='mistune' +pkgver='2.0.0a6' +pkgrel=1 +pkgdesc="A sane Markdown parser with useful plugins and renderers (alpha v2 branch)" +url="https://github.com/lepture/mistune" +conflicts=('python-mistune') +provides=('python-mistune') +depends=('python') +makedepends=('python-setuptools') +license=('BSD') +arch=('any') +source=("https://files.pythonhosted.org/packages/source/${_module::1}/$_module/$_module-$pkgver.tar.gz") +sha256sums=('5747cbb16fb50cd2ddd25d44d93b2c414a3b75875f6d9d58be8afbae67234ec9') + +build() { + cd "${srcdir}/${_module}-${pkgver}" + python setup.py build +} + +package() { + depends+=() + cd "${srcdir}/${_module}-${pkgver}" + python setup.py install --root="${pkgdir}" --optimize=1 --skip-build +} diff --git a/src/stargazer-gmi/PKGBUILD b/src/stargazer-gmi/PKGBUILD new file mode 100644 index 0000000..cfb654b --- /dev/null +++ b/src/stargazer-gmi/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Ben Goldberg + +pkgname=stargazer-gmi +pkgver=0.4.0 +pkgrel=1 +pkgdesc="stargzer gemini server" +arch=('x86_64' 'i686' 'arm' 'armv7h' 'aarch64') +url="https://sr.ht/~zethra/stargazer/" +license=('AGPL-3.0') +source=("https://git.sr.ht/~zethra/stargazer/archive/$pkgver.tar.gz") +depends=('gcc-libs') +makedepends=('rust' 'cargo' 'scdoc' 'binutils') +sha256sums=("9bdb6f5be46515720683aa25c40364df11e794f5537bb7f3b1c5a819a3882f7f") + +build() { + tar -xf $pkgver.tar.gz + cd "$srcdir/stargazer-$pkgver" + ./scripts/build +} + +package() { + cd "$srcdir/stargazer-$pkgver" + source ./scripts/install --prefix="$pkgdir/usr" \ + --sysconfdir="$pkgdir/etc" \ + --bashdir="$pkgdir/usr/share/bash-completion/completions" \ + --zshdir="$pkgdir/usr/share/zsh/site-functions" \ + --fishdir="$pkgdir/usr/share/fish/vendor_completions.d" +} diff --git a/src/sunshine/PKGBUILD b/src/sunshine/PKGBUILD new file mode 100644 index 0000000..daa3c34 --- /dev/null +++ b/src/sunshine/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Jacek Szafarkiewicz + +pkgname=sunshine +pkgver=0.7.7 +pkgrel=1 +pkgdesc="Open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield" +url="https://github.com/loki-47-6F-64/sunshine" +arch=('x86_64' 'i686') +license=('GPL3') + +depends=('boost-libs' 'ffmpeg' 'openssl' 'libpulse' 'opus' 'libxtst' 'libx11' 'libxfixes' 'libevdev' 'libxcb' 'udev') +makedepends=('git' 'cmake' 'boost' 'make' 'libxrandr') + +source=("$pkgname::git+https://github.com/loki-47-6F-64/sunshine.git#tag=v$pkgver" + "udev.rules") +sha256sums=('SKIP' + '5ce01689247cb01d3f119cac32c731607d99bb875dcdd39c92b547f76d2befa0') +install=sunshine.install + +prepare() { + cd "$pkgname" + git submodule update --recursive --init +} + +build() { + export CFLAGS="${CFLAGS/-Werror=format-security/}" + export CXXFLAGS="${CXXFLAGS/-Werror=format-security/}" + + cmake \ + -S "$pkgname" \ + -B build \ + -Wno-dev \ + -D SUNSHINE_EXECUTABLE_PATH=/usr/bin/$pkgname \ + -D SUNSHINE_ASSETS_DIR=/usr/share/$pkgname \ + + make -C build +} + +package() { + install -Dm644 "$pkgname/assets/sunshine.conf" "$pkgdir/usr/share/$pkgname/sunshine.conf" + install -Dm644 "$pkgname/assets/apps_linux.json" "$pkgdir/usr/share/$pkgname/apps_linux.json" + + install -Dm755 build/$pkgname "$pkgdir/usr/bin/$pkgname" + install -Dm755 build/sunshine.service "$pkgdir/usr/lib/systemd/user/sunshine.service" + + install -Dm644 udev.rules "$pkgdir/usr/lib/udev/rules.d/85-$pkgname.rules" +} + +# vim: ts=2 sw=2 et: diff --git a/src/sunshine/sunshine.install b/src/sunshine/sunshine.install new file mode 100644 index 0000000..e568168 --- /dev/null +++ b/src/sunshine/sunshine.install @@ -0,0 +1,7 @@ +post_install() { + if ! getent group input > /dev/null; then + echo "Creating group input" + groupadd -r input + fi +} + diff --git a/src/sunshine/udev.rules b/src/sunshine/udev.rules new file mode 100644 index 0000000..d626ba3 --- /dev/null +++ b/src/sunshine/udev.rules @@ -0,0 +1 @@ +KERNEL=="uinput", GROUP="input", MODE="0660" diff --git a/src/unvanquished-data/PKGBUILD b/src/unvanquished-data/PKGBUILD new file mode 100644 index 0000000..3757f84 --- /dev/null +++ b/src/unvanquished-data/PKGBUILD @@ -0,0 +1,34 @@ +# Maintainer: Viech + +pkgname=unvanquished-data +pkgver=0.52.0 +pkgrel=3 +pkgdesc='Game assets for Unvanquished.' +arch=('any') +url='https://www.unvanquished.net' +license=('GPL3') +makedepends=('aria2') +source=("https://cdn.unvanquished.net/unvanquished_${pkgver}.torrent") +md5sums=('e87178fed12eb1222285fd57f64cf914') + +# Disable package compression since assets are already compressed. +PKGEXT='.pkg.tar' + +prepare() { + cd "${srcdir}" + + # Download the assets via torrent. + aria2c -V --seed-time=0 "unvanquished_${pkgver}.torrent" +} + +check() { + cd "${srcdir}/unvanquished_${pkgver}/pkg/" + + md5sum -c md5sums +} + +package() { + install -d -m 755 "${pkgdir}/usr/share/unvanquished/pkg/" + install -m 644 "${srcdir}/unvanquished_${pkgver}/pkg/"*".dpk" \ + "${pkgdir}/usr/share/unvanquished/pkg/" +} diff --git a/src/unvanquished/PKGBUILD b/src/unvanquished/PKGBUILD new file mode 100644 index 0000000..605f1bc --- /dev/null +++ b/src/unvanquished/PKGBUILD @@ -0,0 +1,153 @@ +# Maintainer: Viech +# Contributor: Gereon Schomber +# Contributor: Martin F. Schumann + +pkgname=unvanquished +pkgver=0.52.0 +pkgrel=2 +pkgdesc='A team-based, fast-paced, fps/rts hybrid game which pits aliens against humans.' +arch=('x86_64') +url='https://www.unvanquished.net' +license=('GPL3') +makedepends=('cmake') +depends=("unvanquished-data>=${pkgver}" + 'zlib' 'gmp' 'nettle' 'geoip' 'curl' 'sdl2' 'glew' 'libpng' + 'libjpeg-turbo' 'libwebp>=0.2.0' 'freetype2' 'openal' 'libogg' + 'libvorbis' 'speex' 'libtheora' 'opusfile' 'ncurses' 'xdg-utils' + 'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme') +provides=('unvanquished') +conflicts=('unvanquished-git') +options=('emptydirs' '!strip') +backup=('etc/conf.d/unvanquished.conf' + 'etc/unvanquished/server.cfg' + 'etc/unvanquished/maprotation.cfg') +install=unvanquished.install + +# Shorthand strings. +_archive="archive/refs/tags/unvanquished/${pkgver}.tar.gz" +_suffix="unvanquished-${pkgver}" +_unvanquished="Unvanquished-${_suffix}" +_daemon="Daemon-${_suffix}" +_breakpad="breakpad-${_suffix}" +_crunch="crunch-${_suffix}" +_recast="recastnavigation-${_suffix}" + +# NaCL SDK is a buildtime dependency of Dæmon. +# NOTE: Due to enormous compile times, we use a binary distribution. +_naclsdk_base_ver=5 +_naclsdk_ver="linux64-${_naclsdk_base_ver}" +_naclsdk="${_naclsdk_ver}" + +source=("unvanquished.install" + "unvanquished_${pkgver}.tar.gz::https://github.com/Unvanquished/Unvanquished/${_archive}" + "daemon_${pkgver}.tar.gz::https://github.com/DaemonEngine/Daemon/${_archive}" + "breakpad_${pkgver}.tar.gz::https://github.com/DaemonEngine/breakpad/${_archive}" + "crunch_${pkgver}.tar.gz::https://github.com/DaemonEngine/crunch/${_archive}" + "recastnavigation_${pkgver}.tar.gz::https://github.com/DaemonEngine/recastnavigation/${_archive}" + "naclsdk_${_naclsdk_ver}.tar.bz2::https://dl.unvanquished.net/deps/${_naclsdk_ver}.tar.bz2") + +md5sums=('6d9430b5b06b93a43a1cb79e14637f0b' + '1821ecc4185d15145d78296249c7e612' + '049b3aea1db9bfbc5664d035c7ae8ee9' + '1610e084189b435a2e0614a07f8871d2' + '733baa91bb57497be69b3912bd4f40f5' + '37d95bd19b051238b03cfb30f1f27609' + '3c2cceeb5c653c4e53543fc892377f38') + +# The prepare function mimics the git submodule dance. +prepare() { + cd "${srcdir}" + + # From Unvanquished: Remove empty submodule directories. + rmdir --ignore-fail-on-non-empty "${_unvanquished}/daemon" + rmdir --ignore-fail-on-non-empty "${_unvanquished}/libs/recastnavigation" + + # From Dæmon: Remove empty submodule directories. + rmdir --ignore-fail-on-non-empty "${_daemon}/libs/breakpad" + rmdir --ignore-fail-on-non-empty "${_daemon}/libs/crunch" + + # Link Unvanquished's submodules. + ln -sfr "${_daemon}" "${_unvanquished}/daemon" + ln -sfr "${_recast}" "${_unvanquished}/libs/recastnavigation" + + # Link Dæmon's submodules. + ln -sfr "${_breakpad}" "${_daemon}/libs/breakpad" + ln -sfr "${_crunch}" "${_daemon}/libs/crunch" + + # Link the NaCL SDK in the Dæmon source tree. + ln -sfr "${_naclsdk}" "${_daemon}/external_deps/${_naclsdk}" +} + +build() { + cd "${srcdir}/${_unvanquished}" + + mkdir -p build + cd build + + cmake \ + -D BUILD_CGAME=OFF \ + -D BUILD_SGAME=OFF \ + -D USE_BREAKPAD=ON \ + .. + make +} + +package() { + cd "${pkgdir}" + + # Create installation directories. + install -d -m 755 \ + etc/conf.d \ + etc/unvanquished \ + usr/bin \ + usr/lib/systemd/system \ + usr/lib/unvanquished \ + usr/share/applications \ + usr/share/licenses/unvanquished \ + usr/share/unvanquished/pkg \ + var/lib/unvanquished-server/config \ + var/lib/unvanquished-server/game + + # Install content. + cd "${srcdir}/${_unvanquished}" + + for resolution in $(ls -c1 dist/icons/); do + icondir="${pkgdir}/usr/share/icons/hicolor/${resolution}/apps" + install -d -m 755 "${icondir}" + install -m 644 "dist/icons/${resolution}/unvanquished.png" "${icondir}" + done + + install -m 644 COPYING.txt "${pkgdir}/usr/share/licenses/unvanquished/" + + cd "${srcdir}/${_unvanquished}/build" + + install -m 755 daemon "${pkgdir}/usr/lib/unvanquished/" + install -m 755 daemonded "${pkgdir}/usr/lib/unvanquished/" + install -m 755 daemon-tty "${pkgdir}/usr/lib/unvanquished/" + install -m 755 crash_server "${pkgdir}/usr/lib/unvanquished/" + install -m 755 irt_core-x86*.nexe "${pkgdir}/usr/lib/unvanquished/" + install -m 755 nacl_helper_bootstrap "${pkgdir}/usr/lib/unvanquished/" + install -m 755 nacl_loader "${pkgdir}/usr/lib/unvanquished/" + + # install starters and dedicated server config + # TODO: Use the distro-independent distribution files as much as possible, + # ship all archlinux-specific files with the AUR package. + cd "${srcdir}/${_unvanquished}/archlinux" + + install -m 755 unvanquished.sh "${pkgdir}/usr/bin/unvanquished" + install -m 755 unvanquished-tty.sh "${pkgdir}/usr/bin/unvanquished-tty" + install -m 644 unvanquished.conf "${pkgdir}/etc/conf.d/" + install -m 644 unvanquished.service "${pkgdir}/usr/lib/systemd/system/" + install -m 644 unvanquished.desktop "${pkgdir}/usr/share/applications/" + install -m 644 configs/maprotation.cfg "${pkgdir}/etc/unvanquished/" + install -m 644 configs/server.cfg "${pkgdir}/etc/unvanquished/" + + # setup server home directory + cd "${pkgdir}/var/lib/unvanquished-server/config" + + ln -s ../../../../etc/unvanquished/server.cfg . + + cd "${pkgdir}/var/lib/unvanquished-server/game" + + ln -s ../../../../etc/unvanquished/maprotation.cfg . +} diff --git a/src/unvanquished/unvanquished.install b/src/unvanquished/unvanquished.install new file mode 100644 index 0000000..a062dc1 --- /dev/null +++ b/src/unvanquished/unvanquished.install @@ -0,0 +1,25 @@ +_add_server_user() { + if ! getent passwd unvanquished >/dev/null; then + useradd -rM -d /var/lib/unvanquished-server -c "Unvanquished dedicated server" -s /bin/false unvanquished + fi +} + +_delete_server_user() { + if getent passwd unvanquished >/dev/null; then + userdel unvanquished + groupdel unvanquished + fi +} + +_chown_server_home() { + chown -R unvanquished:unvanquished /var/lib/unvanquished-server +} + +post_install() { + _add_server_user + _chown_server_home +} + +post_remove() { + _delete_server_user +} diff --git a/src/veloren/PKGBUILD b/src/veloren/PKGBUILD new file mode 100644 index 0000000..c035ec2 --- /dev/null +++ b/src/veloren/PKGBUILD @@ -0,0 +1,44 @@ +# Maintainer: Mckol +# Contributor: Jean Lucas + +export GIT_LFS_SKIP_SMUDGE=1 # This is to prevent Git LFS errors +pkgname=veloren +pkgver=0.10.0 +pkgrel=1 +pkgdesc='An open-world, open-source multiplayer voxel RPG' +arch=('x86_64' 'i686') +url='https://veloren.net/' +license=('GPL3') +options=('!strip') # This makes debugging issues easier sometimes, comment out if small package size is needed +depends=('alsa-lib' 'glslang' 'libxkbcommon-x11' 'pulseaudio-alsa' 'vulkan-icd-loader') +makedepends=('atk' 'cairo' 'gdk-pixbuf2' 'git' 'git-lfs' 'openssl' 'pango' 'python' 'rustup' 'systemd' 'cmake') +provides=("$pkgname") +conflicts=("$pkgname") +_repo='https://gitlab.com/veloren/veloren.git' +source=("$pkgname"::"git+$_repo#tag=v$pkgver") +noextract=() +sha512sums=('SKIP') + +prepare() { + unset GIT_LFS_SKIP_SMUDGE + cd "$srcdir/$pkgname" + git remote set-url origin "$_repo" + git lfs install + git lfs fetch + git lfs checkout +} + +build() { + cd "$srcdir/$pkgname" + VELOREN_USERDATA_STRATEGY='system' cargo build --release --bin veloren-voxygen --bin veloren-server-cli +} + +package() { + install -D "$srcdir/$pkgname/target/release/veloren-voxygen" -t "$pkgdir/usr/bin" + install -D "$srcdir/$pkgname/target/release/veloren-server-cli" -t "$pkgdir/usr/bin" + mkdir -p "$pkgdir/usr/share/veloren" + cp -a "$srcdir/$pkgname/assets" "$pkgdir/usr/share/veloren/" + install -Dm 644 "$srcdir/$pkgname/assets/voxygen/net.veloren.veloren.desktop" -t "$pkgdir/usr/share/applications" + install -Dm 644 "$srcdir/$pkgname/assets/voxygen/net.veloren.veloren.png" -t "$pkgdir/usr/share/pixmaps/" + install -Dm 644 "$srcdir/$pkgname/assets/voxygen/net.veloren.veloren.metainfo.xml" -t "$pkgdir/usr/share/metainfo" +}