diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 90 |
1 files changed, 43 insertions, 47 deletions
@@ -10,54 +10,52 @@ _lua=luajit pkgname=powder-toy -pkgver=96.2.350 +_appexe="${pkgname}" +_appid=uk.co.powdertoy.tpt +_appvendor=powdertoy +pkgver=97.0.352 pkgrel=1 pkgdesc="Desktop version of the classic falling sand physics sandbox, simulates air pressure, velocity & heat!" arch=(x86_64 i686) -depends=('glibc' 'libx11' 'sdl2' "$_lua" 'fftw' 'zlib' 'curl' 'hicolor-icon-theme') -makedepends=('meson' 'ninja' 'libicns') +depends=('glibc' 'libx11' 'sdl2' "$_lua" 'fftw' 'zlib' 'libpng' 'curl' 'jsoncpp' 'hicolor-icon-theme') +makedepends=('meson' 'ninja') url="https://powdertoy.co.uk/" license=('GPL3') install="${pkgname}.install" -source=("${pkgname}-${pkgver}.tar.gz::https://github.com/The-Powder-Toy/The-Powder-Toy/archive/refs/tags/v${pkgver}.tar.gz" - "${pkgname}.sh" - "${pkgname}.desktop" - "${pkgname}-open.desktop" - "${pkgname}-ptsave.desktop") -sha256sums=('d95cbadee22632687661e8fc488bd64405d81c0dca737e16420f26e93ea5bf58' - 'b5d181c3141715b7dced8813cae6d07d2adc03bca2a7efe527592740de2d45e2' - '265f530be7597fcc7bbaf2690fd517fe4f8f18372c808a90ddef49a604c8d455' - '398f6d068dd37e12989f4132ea5966886b14036bac07a589991b283d242b4ca5' - 'fcbf035d286d805dced55f147d649aa0bc74d3be873d5430de92d175d9f59431') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/The-Powder-Toy/The-Powder-Toy/archive/refs/tags/v${pkgver}.tar.gz") +sha256sums=('3ab27e1b9a84db1da7342e61232ad5be981ca1ddf001c4924fd08b61cc8d287a') build() { cd "The-Powder-Toy-${pkgver}" - # extract document icons from macOS .icns files - pushd >/dev/null resources - icns2png -x document.icns - popd >/dev/null + local opt_lua opt_sse - local extra_flags=() - - extra_flags+=(-Dignore_updates=true) - extra_flags+=(-Dinstall_check=false) + case "$_lua" in + luajit) opt_lua=luajit ;; + lua51) opt_lua=lua5.1 ;; + lua52) opt_lua=lua5.2 ;; + *) opt_lua=none ;; + esac if grep -q -i pni /proc/cpuinfo; then - extra_flags+=(-Dx86_sse=sse3) + opt_sse=sse3 elif grep -q -i sse2 /proc/cpuinfo; then - extra_flags+=(-Dx86_sse=sse2) + opt_sse=sse2 elif grep -q -i sse /proc/cpuinfo; then - extra_flags+=(-Dx86_sse=sse) + opt_sse=sse else - extra_flags+=(-Dx86_sse=none) + opt_sse=none fi - case "$_lua" in - luajit) extra_flags+=(-Dlua=luajit) ;; - lua51) extra_flags+=(-Dlua=lua5.1) ;; - lua52) extra_flags+=(-Dlua=lua5.2) ;; - esac + local extra_flags=( + -Dignore_updates=true + -Dinstall_check=false + -Dapp_exe="${_appexe}" + -Dapp_id="${_appid}" + -Dapp_vendor="${_appvendor}" + -Dlua="${opt_lua}" + -Dx86_sse="${opt_sse}" + ) msg2 "building ${pkgname} with the following extra flags: ${extra_flags[*]}" arch-meson --buildtype=release build "${extra_flags[@]}" @@ -70,25 +68,23 @@ check() { } package() { - install -Dm755 "${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" - install -Dm644 "${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" - install -Dm644 "${pkgname}-open.desktop" "${pkgdir}/usr/share/applications/${pkgname}-open.desktop" - install -Dm644 "${pkgname}-ptsave.desktop" "${pkgdir}/usr/share/applications/${pkgname}-ptsave.desktop" - cd "The-Powder-Toy-${pkgver}" - install -Dm755 "build/powder" "${pkgdir}/usr/lib/${pkgname}/${pkgname}" - install -Dm644 "resources/powdertoy-save.xml" "${pkgdir}/usr/share/mime/packages/${pkgname}-save.xml" - install -Dm644 "resources/powder.appdata.xml" "${pkgdir}/usr/share/metainfo/${pkgname}.appdata.xml" - install -Dm644 "resources/powder.man" "${pkgdir}/usr/share/man/man6/${pkgname}.6" + install -Dm755 "build/${_appexe}" "${pkgdir}/usr/bin/${_appexe}" + install -Dm644 "build/resources/powder.desktop" "${pkgdir}/usr/share/applications/${_appid}.desktop" + install -Dm644 "build/resources/appdata.xml" "${pkgdir}/usr/share/metainfo/${_appid}.appdata.xml" + install -Dm644 "resources/save.xml" "${pkgdir}/usr/share/mime/packages/${_appvendor}-save.xml" + install -Dm644 "resources/powder.man" "${pkgdir}/usr/share/man/man6/${_appexe}.6" - local icon_size - for icon_size in 16 24 32 48 128 256; do - install -Dm644 "resources/icon/powder-${icon_size}.png" \ - "${pkgdir}/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps/${pkgname}.png" - done - for icon_size in 16 32 128 256 512; do - install -Dm644 "resources/document_${icon_size}x${icon_size}x32.png" \ - "${pkgdir}/usr/share/icons/hicolor/${icon_size}x${icon_size}/mimetypes/application-vnd.${pkgname}.save.png" + local theme_dir="${pkgdir}/usr/share/icons/hicolor" mimetype="application-vnd.powdertoy.save" + install -Dm644 "resources/icon_exe.svg" "${theme_dir}/scalable/apps/${_appvendor}-${_appexe}.svg" + install -Dm644 "resources/icon_cps.svg" "${theme_dir}/scalable/mimetypes/${mimetype}.svg" + install -Dm644 "resources/generated_icons/icon_exe.png" "${theme_dir}/256x256/apps/${_appvendor}-${_appexe}.png" + install -Dm644 "resources/generated_icons/icon_cps.png" "${theme_dir}/256x256/mimetypes/${mimetype}.png" + local icon_size; for icon_size in 16 32 48; do + install -Dm644 "resources/generated_icons/icon_exe_${icon_size}.png" \ + "${theme_dir}/${icon_size}x${icon_size}/apps/${_appvendor}-${_appexe}.png" + install -Dm644 "resources/generated_icons/icon_cps_${icon_size}.png" \ + "${theme_dir}/${icon_size}x${icon_size}/mimetypes/${mimetype}.png" done } |