diff options
-rw-r--r-- | .SRCINFO | 39 | ||||
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | PKGBUILD | 87 | ||||
-rw-r--r-- | install-dir.patch | 40 |
4 files changed, 173 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..cc8c3c51b664 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,39 @@ +pkgbase = bsf-git + pkgdesc = A C++ library that aims to provide a unified foundation for the development of real-time graphical applications, whether games, engines or tools + pkgver = r4575.54f5a3abc + pkgrel = 1 + url = https://www.bsframework.io/ + arch = x86_64 + license = MIT + makedepends = git + makedepends = cmake + makedepends = doxygen + makedepends = ninja + depends = libutil-linux + depends = libx11 + depends = icu + depends = libxcursor + depends = libxrandr + depends = libxi + depends = libgl + depends = openal + depends = flac + depends = libvorbis + depends = snappy + depends = freeimage + depends = freetype2 + provides = bsf + conflicts = bsf + source = git+https://github.com/Meumeu/bsf.git#branch=build-system-cleanup + source = install-dir.patch + source = https://data.banshee3d.com/bsfCompiledData_Master_5.zip + source = https://data.banshee3d.com/bsfData_Master_6.zip + source = https://data.banshee3d.com/bsfDependencies_Linux_Master_8.zip + sha256sums = SKIP + sha256sums = 3ebcebdbe4d5bad832a47109b09f6d9bcd3e02b7a0bb9be2301c8bd630ed706b + sha256sums = 49b419403f4f85e189832f3b89c78c037e7b531541bb67b130764f33c7306224 + sha256sums = 3b5e087e200e786ab1a0b79d6f3cd04d4c70fde9337dc8082a13479f477d1025 + sha256sums = 60c53790eda57495fefdad2bcc4a6a78198a330e70aeec71abc213edcc8b7036 + +pkgname = bsf-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..7e356c4cae75 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +*~ +bsf/ +src/ +pkg/ + +*.zip +*.pkg.tar* diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4d2ea5fdf2fb --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,87 @@ +# Maintainer: Guillaume Meunier <guillaume.meunier@centraliens.net> +pkgname=bsf-git +_pkgname=bsf +pkgver=r4575.54f5a3abc +pkgrel=1 +epoch= +pkgdesc="A C++ library that aims to provide a unified foundation for the development of real-time graphical applications, whether games, engines or tools" +arch=(x86_64) +url="https://www.bsframework.io/" +license=('MIT') +groups=() +depends=(libutil-linux libx11 icu libxcursor libxrandr libxi libgl openal flac libvorbis snappy freeimage freetype2) +makedepends=(git cmake doxygen ninja) +checkdepends=() +optdepends=() +provides=(bsf) +conflicts=(bsf) +replaces=() +backup=() +options=() +install= +changelog= + +# source=("git+https://github.com/GameFoundry/bsf.git" +source=("git+https://github.com/Meumeu/bsf.git#branch=build-system-cleanup" + "install-dir.patch" + "https://data.banshee3d.com/bsfCompiledData_Master_5.zip" + "https://data.banshee3d.com/bsfData_Master_6.zip" + "https://data.banshee3d.com/bsfDependencies_Linux_Master_8.zip") +noextract=() +sha256sums=('SKIP' + '3ebcebdbe4d5bad832a47109b09f6d9bcd3e02b7a0bb9be2301c8bd630ed706b' + '49b419403f4f85e189832f3b89c78c037e7b531541bb67b130764f33c7306224' + '3b5e087e200e786ab1a0b79d6f3cd04d4c70fde9337dc8082a13479f477d1025' + '60c53790eda57495fefdad2bcc4a6a78198a330e70aeec71abc213edcc8b7036') +validpgpkeys=() + +prepare() { + cp -r Data bsf/ + cp -r Dependencies bsf/ + cp -r Raw bsf/Data + + rm -rf "$_pkgname"/Dependencies/OpenAL + rm -rf "$_pkgname"/Dependencies/libFLAC + rm -rf "$_pkgname"/Dependencies/libICU + rm -rf "$_pkgname"/Dependencies/libogg + rm -rf "$_pkgname"/Dependencies/libvorbis + rm -rf "$_pkgname"/Dependencies/freetype + rm -rf "$_pkgname"/Dependencies/freeimg + + patch -d bsf -p1 < install-dir.patch +} + +pkgver() { + cd "$_pkgname" + + ( + set -o pipefail + git describe --long 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' || + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + ) +} + +build() { + mkdir -p "$_pkgname"/build + cd "$_pkgname"/build + + cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DUSE_BUNDLED_LIBRARIES=OFF -G Ninja + ninja + + cd ../Documentation/Doxygen + doxygen config.doxyconfig +} + +package() { + pushd "$_pkgname"/build + DESTDIR="$pkgdir"/ ninja install + popd > /dev/null + + find "$pkgdir"/usr/lib -name "*.dbg" -delete + + mkdir -p "$pkgdir"/usr/share/licenses/$pkgname + install "$_pkgname"/LICENSE.md $pkgdir/usr/share/licenses/$pkgname/ + +# mkdir -p "$pkgdir"/usr/share/doc/$pkgname +# cp -r "$_pkgname"/Documentation/Generated/html/* "$pkgdir"/usr/share/doc/$pkgname/ +} diff --git a/install-dir.patch b/install-dir.patch new file mode 100644 index 000000000000..e3af1871453e --- /dev/null +++ b/install-dir.patch @@ -0,0 +1,40 @@ +diff --git a/Source/CMake/BsEngineConfig.h.in b/Source/CMake/BsEngineConfig.h.in +index 01a7db342..ff99fdedd 100644 +--- a/Source/CMake/BsEngineConfig.h.in ++++ b/Source/CMake/BsEngineConfig.h.in +@@ -6,18 +6,9 @@ + #define BS_PHYSICS_MODULE "@PHYSICS_MODULE_LIB@" + + /** Path to the framework root when files haven't been packaged yet (e.g. running from debugger). */ +-static constexpr const char* RAW_APP_ROOT = "@APP_ROOT_DIR@/"; ++static constexpr const char* RAW_APP_ROOT = "@CMAKE_INSTALL_PREFIX@/share/bsf/"; + + /** Secondary search path to use when looking for built-in assets (after the RAW_APP_ROOT). */ + static constexpr const char* SECONDARY_APP_ROOT = "@SECONDARY_APP_ROOT_DIR@/"; + +-/** Path to the binaries when files haven't been packaged yet (e.g. running from debugger). */ +-#if BS_CONFIG == BS_CONFIG_DEBUG +-static constexpr const char* BINARIES_PATH = "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG@"; +-#elif BS_CONFIG == BS_CONFIG_RELWITHDEBINFO +-static constexpr const char* BINARIES_PATH = "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO@"; +-#elif BS_CONFIG == BS_CONFIG_MINSIZEREL +-static constexpr const char* BINARIES_PATH = "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL@"; +-#elif BS_CONFIG == BS_CONFIG_RELEASE +-static constexpr const char* BINARIES_PATH = "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE@"; +-#endif ++static constexpr const char* BINARIES_PATH = "@CMAKE_INSTALL_PREFIX@/lib/"; +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt +index 02ba71c5a..ebaac189c 100644 +--- a/Source/CMakeLists.txt ++++ b/Source/CMakeLists.txt +@@ -193,8 +193,8 @@ check_and_update_builtin_assets(bsfCompiled ${BSF_SOURCE_DIR}/../Data Data ${COM + + ## Install + install( +- DIRECTORY ../Data +- DESTINATION bin/ ++ DIRECTORY ../Data/ ++ DESTINATION share/bsf/ + PATTERN "../Data/Raw" EXCLUDE + PATTERN ".version" EXCLUDE + PATTERN ".reqversion" EXCLUDE |