diff options
author | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2025-09-24 23:17:48 -0700 |
---|---|---|
committer | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2025-09-24 23:17:48 -0700 |
commit | 5dac106c9df1495f66ed9bbdc84949517f889dc9 (patch) | |
tree | 59dbff501fa5010f31571b35fbb1759d5368e72b | |
parent | Updated to 0.10.10 (diff) | |
download | endless-sky-master.tar.xz |
-rw-r--r-- | PKGBUILD | 93 | ||||
-rw-r--r-- | fix-binary-install.patch | 11 | ||||
-rw-r--r-- | no-compress-manfile.patch | 20 |
3 files changed, 80 insertions, 44 deletions
@@ -12,52 +12,60 @@ # Arch version compiles a second time during package() with incorrect FLAGS pkgname=endless-sky -pkgver=0.10.10 +pkgver=0.10.14 pkgrel=1 pkgdesc='A sandbox-style space exploration and combat game' arch=('x86_64' 'i686' 'aarch64') url='https://endless-sky.github.io/' license=( - 'GPL-3.0-only' - 'CC-BY-3.0' - 'CC-BY-4.0' - 'CC-BY-NC-3.0' - 'CC-BY-SA-3.0' - 'CC-BY-SA-4.0' - 'LicenseRef-public-domain' + CC0-1.0 + CC-BY-2.0 + CC-BY-3.0 + CC-BY-4.0 + CC-BY-SA-3.0 + CC-BY-SA-4.0 + GPL-3.0-only + LicenseRef-public-domain + LicenseRef-Unsplash ) -options=('lto') depends=( - 'glibc' - 'gcc-libs' - 'openal' - 'libpng' - 'glew' - 'hicolor-icon-theme' - 'libjpeg-turbo' - 'sdl2' - 'libmad' - 'util-linux-libs' - 'libglvnd' + glibc + gcc-libs + openal + libpng + glew + hicolor-icon-theme + libjpeg-turbo + sdl2 + libmad + util-linux-libs + libglvnd + minizip +) +makedepends=( + cmake + ninja ) -makedepends=('scons') optdepends=( 'endless-sky-high-dpi: high resolution graphics assets' ) -source=("$pkgname-$pkgver.tar.gz::https://github.com/endless-sky/endless-sky/archive/v${pkgver}.tar.gz") -b2sums=('be312b00851bc91226a9b5a1462d9587ee38371d0a001afb5e2bad4deb51da3b3e56b03efeaa052afc832c47fb6fe48481dfa43ddf17ff80f4f9cdbcf44d5ce6') +source=( + $pkgname-$pkgver.tar.gz::https://github.com/endless-sky/endless-sky/archive/v${pkgver}.tar.gz + fix-binary-install.patch + no-compress-manfile.patch +) +b2sums=('4a7fa8c95cb898142c4ca07b9ef3cdf24b943120b0846e113501f627aa5221b909df244c13c23127dfa7a155d71a81907ebe229ec1f228017560fd330a2237fb' + '551192e7c8b3d90609e1556f91bbb0a5930cd136082051ba0c054b0acb0d77fc3c6aaffc60ab65755345083f5ed5f76013f0cb4abaf720c4cf8da2d213618c7a' + 'a4b4aececeea00fcf4a18b8bc4e56ba2049f9d8fc7ff4d533daf7e4d2c05f74c7b05eef4bf89046c57aa90532afd74d3f8228b402e1dec66edd8e7df604a6072') prepare() { cd "$pkgname-$pkgver" # binary is installed to /usr/games instead of /usr/bin - sed -i 's:games", sky:bin", sky:' SConstruct + patch -p1 -i "$srcdir/fix-binary-install.patch" - # Stop forcing msse3, O3, and single thread flto - sed \ - -e 's|, "-O3", "-flto"||' \ - -e 's|env.Append(LINKFLAGS = ["-O3", "-flto"])||' \ - -i SConstruct + # let package manager (pacman) deal with compression of man files + patch -p1 -i "$srcdir/no-compress-manfile.patch" } build() { @@ -67,26 +75,23 @@ build() { export CXXFLAGS="$CXXFLAGS -O3 -fPIE" export LDFLAGS="$LDFLAGS,-pie" - # Fix scons to honor thread count in MAKEFLAGS - scons "${MAKEFLAGS}" + cmake \ + -B build \ + -G Ninja \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_INSTALL_PREFIX=/usr \ + -D BUILD_TESTING=OFF \ + -D ES_GLES=ON \ + -D ES_USE_SYSTEM_LIBRARIES=ON \ + -W no-dev + cmake --build build "${MAKEFLAGS}" } package() { cd "$pkgname-$pkgver" - # For reasons of black magic, adding these flags again prevents a second compilation during this step. - # This halves compilation time. - # Also prevents this second compilation from being used in the resulting package with incorrect FLAGS. - # Madness. - export CFLAGS="$CFLAGS -O3 -fPIE" - export CXXFLAGS="$CXXFLAGS -O3 -fPIE" - export LDFLAGS="$LDFLAGS,-pie" - - scons \ - DESTDIR="$pkgdir" \ - PREFIX=/usr \ - install + DESTDIR="$pkgdir" cmake --install build # license - install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" copyright + install -Dm644 "copyright" "$pkgdir/usr/share/licenses/$pkgname" } diff --git a/fix-binary-install.patch b/fix-binary-install.patch new file mode 100644 index 0000000..e666af0 --- /dev/null +++ b/fix-binary-install.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,7 @@ elseif(WIN32) + install(FILES license.txt DESTINATION .) + elseif(UNIX) + # Install the binary. +- install(TARGETS EndlessSky CONFIGURATIONS Release RUNTIME DESTINATION games) ++ install(TARGETS EndlessSky CONFIGURATIONS Release RUNTIME) + + # Install the desktop file. + install(FILES io.github.endless_sky.endless_sky.desktop DESTINATION share/applications) diff --git a/no-compress-manfile.patch b/no-compress-manfile.patch new file mode 100644 index 0000000..5c0dbee --- /dev/null +++ b/no-compress-manfile.patch @@ -0,0 +1,20 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -289,15 +289,8 @@ elseif(UNIX) + RENAME endless-sky.png) + endforeach() + +- # Gzip and install man file. +- add_custom_command( +- OUTPUT endless-sky.6.gz +- COMMAND gzip -c endless-sky.6 > ${CMAKE_CURRENT_BINARY_DIR}/endless-sky.6.gz +- DEPENDS endless-sky.6 +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- VERBATIM) +- target_sources(EndlessSky PRIVATE endless-sky.6.gz) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/endless-sky.6.gz DESTINATION share/man/man6) ++ # Install man file. ++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/endless-sky.6 DESTINATION share/man/man6) + + # Install the resource files. + install(DIRECTORY data DESTINATION share/games/endless-sky) |