diff options
author | Xavier Cho | 2023-11-01 16:44:09 +0900 |
---|---|---|
committer | Xavier Cho | 2023-11-01 16:44:09 +0900 |
commit | c084d283c8c1f2b4706035b3c7038b7ce9d545ec (patch) | |
tree | 2cd851b156f462e3c0d21362df7920db0333f475 | |
parent | 0255555a99f0b41d0be0f55da6e7efac740e1a2c (diff) | |
download | aur-c084d283c8c1f2b4706035b3c7038b7ce9d545ec.tar.gz |
Rewrite PKGBUILD based on blender-git
-rw-r--r-- | .SRCINFO | 54 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | 0001-use-github.com-for-make-update-git.patch | 25 | ||||
-rw-r--r-- | 0003-usd-python.patch | 27 | ||||
-rw-r--r-- | 0004-fix-opencollada-pcre.patch | 31 | ||||
-rw-r--r-- | 1001-python11.patch (renamed from python11.patch) | 0 | ||||
-rw-r--r-- | PKGBUILD | 273 | ||||
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | SelectCudaComputeArch.patch | 16 | ||||
-rw-r--r-- | embree.patch | 57 | ||||
-rw-r--r-- | usd.patch | 23 |
11 files changed, 277 insertions, 238 deletions
@@ -1,22 +1,20 @@ pkgbase = upbge-git pkgdesc = Uchronia Project Blender Game Engine fork of Blender Game Engine - pkgver = 134573.ec6556fa36e + pkgver = 135830.73346754b94 pkgrel = 1 url = https://upbge.org/ - install = upbge.install arch = i686 arch = x86_64 license = GPL makedepends = git - makedepends = subversion makedepends = cmake - makedepends = clang makedepends = boost makedepends = mesa makedepends = llvm - makedepends = wayland + makedepends = clang + makedepends = subversion makedepends = wayland-protocols - makedepends = libxkbcommon + makedepends = cython depends = alembic depends = embree depends = libgl @@ -33,48 +31,54 @@ pkgbase = upbge-git depends = libxi depends = openimageio depends = opencolorio - depends = libdecor - depends = openexr + depends = sdl2 depends = openvdb depends = opencollada depends = opensubdiv depends = openshadinglanguage depends = libtiff depends = libpng - depends = openimagedenoise + depends = python + depends = python-zstandard + depends = ccache + depends = libdecor + depends = libepoxy optdepends = cuda: CUDA support in Cycles - optdepends = optix>=7.1.0: OptiX support in Cycles - optdepends = openpgl: Path guiding support in Cycles + optdepends = optix>=7.4.0: OptiX support in Cycles + optdepends = usd=21.05: USD export Scene + optdepends = openpgl: Intel Path Guiding library in Cycles + optdepends = openimagedenoise: Intel Open Image Denoise support in compositing optdepends = materialx: MaterialX materials optdepends = level-zero-headers: Intel OpenCL FPGA kernels (all four needed) optdepends = intel-compute-runtime: Intel OpenCL FPGA kernels (all four needed) optdepends = intel-graphics-compiler: Intel OpenCL FPGA kernels (all four needed) optdepends = intel-oneapi-basekit: Intel OpenCL FPGA kernels (all four needed) optdepends = gcc12: Compile CUDA support in Cycles - optdepends = gcc12-libs: Compile CUDA support in Cycles optdepends = makepkg-cg: Control resources during compilation - optdepends = usd: USD export Scene provides = blender conflicts = blender - source = upbge::git+https://github.com/UPBGE/upbge.git - source = blender-addons.git::git+https://github.com/UPBGE/blender-addons.git - source = blender-addons-contrib.git::git+https://projects.blender.org/blender/blender-addons-contrib.git - source = blender-translations.git::git+https://projects.blender.org/blender/blender-translations.git - source = blender-dev-tools.git::git+https://projects.blender.org/blender/blender-dev-tools.git + conflicts = blender-4.1-bin + source = upbge::git+https://github.com/UPBGE/upbge#branch=master + source = blender-addons::git+https://github.com/UPBGE/blender-addons + source = blender-addons-contrib::git+https://github.com/blender/blender-addons-contrib + source = blender/translations::git+https://github.com/blender/blender-translations + source = blender/dev_tools::git+https://github.com/blender/blender-dev-tools + source = blender/assets::svn+https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets source = upbge.desktop - source = python11.patch - source = usd.patch - source = SelectCudaComputeArch.patch - source = embree.patch + source = 0001-use-github.com-for-make-update-git.patch + source = 0003-usd-python.patch + source = 0004-fix-opencollada-pcre.patch + source = 1001-python11.patch + sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP sha256sums = b5c9bf4fa265389db4b3f23e96d74cc86c51d908b8943eb80967614d8af1ea1a + sha256sums = 0bb8ac4cba0ac00999790087c51e601d185b78a96081f08a7c7afb8c0f4b0d7c + sha256sums = c2db51a83a8d573aa76c760f10e541c84b108d64d05c9647681c4e633b3d0397 + sha256sums = 6beedc541e33288a282f57cd2bd09860f333154027b6175e9f61cce49b8db5df sha256sums = ae81c77dd41736bbcf65e31fa77477979b214004be3423e10eddef7af3f12dff - sha256sums = e7b30006871799b104dfc51ec98af2528e387623f8eb5e24912beae726d517c7 - sha256sums = 155c04f971d3f45618a89fa73d91e21ba493ae24029475e18192c49c3fcd8cb4 - sha256sums = a35710a189324679322e74b65754993831fe0ac7db3f9a774a1b799afba6cd08 pkgname = upbge-git diff --git a/.gitignore b/.gitignore index f499e2929632..78d96ccc1dfa 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,6 @@ !PKGBUILD !upbge.install !upbge.desktop -!embree.patch -!SelectCudaComputeArch.patch -!usd_python.patch -!python11.patch +!*.patch !.SRCINFO !.gitignore diff --git a/0001-use-github.com-for-make-update-git.patch b/0001-use-github.com-for-make-update-git.patch new file mode 100644 index 000000000000..3a590a6c56f4 --- /dev/null +++ b/0001-use-github.com-for-make-update-git.patch @@ -0,0 +1,25 @@ +From 290e1e73342b5704a9a6a017ad1f208d9d00316f Mon Sep 17 00:00:00 2001 +From: Fredrick Brennan <copypaste@kittens.ph> +Date: Tue, 21 Mar 2023 07:25:32 -0400 +Subject: [PATCH] Use github.com for `make update` git + +--- + build_files/utils/make_update.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build_files/utils/make_update.py b/build_files/utils/make_update.py +index f4c16ead87a..5a56212bd03 100755 +--- a/build_files/utils/make_update.py ++++ b/build_files/utils/make_update.py +@@ -325,7 +325,7 @@ def external_script_initialize_if_needed(args: argparse.Namespace, + # When running `make update` from a freshly cloned fork check whether the fork of the submodule is + # available, If not, switch to the submodule relative to the main blender repository. + if origin_name == "origin" and not make_utils.git_is_remote_repository(args.git_command, external_url): +- external_url = resolve_external_url("https://projects.blender.org/blender/blender", repo_name) ++ external_url = resolve_external_url("https://github.com/UPBGE/upbge", repo_name) + + call((args.git_command, "clone", "--origin", origin_name, external_url, str(external_dir))) + +-- +2.40.0 + diff --git a/0003-usd-python.patch b/0003-usd-python.patch new file mode 100644 index 000000000000..e0537d8cb921 --- /dev/null +++ b/0003-usd-python.patch @@ -0,0 +1,27 @@ +diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake +index 787d0f87002..659938a45b2 100644 +--- a/build_files/cmake/platform/platform_unix.cmake ++++ b/build_files/cmake/platform/platform_unix.cmake +@@ -329,6 +329,10 @@ if(WITH_OPENVDB) + endif() + add_bundled_libraries(openvdb/lib) + ++if(WITH_USD) ++ list(APPEND __boost_packages python) ++endif() ++ + if(WITH_NANOVDB) + find_package_wrapper(NanoVDB) + set_and_warn_library_found("NanoVDB" NANOVDB_FOUND WITH_NANOVDB) +diff --git a/source/blender/io/usd/CMakeLists.txt b/source/blender/io/usd/CMakeLists.txt +index ebd292782c0..02486e72461 100644 +--- a/source/blender/io/usd/CMakeLists.txt ++++ b/source/blender/io/usd/CMakeLists.txt +@@ -55,6 +55,7 @@ set(INC + set(INC_SYS + ${USD_INCLUDE_DIRS} + ${BOOST_INCLUDE_DIR} ++ ${PYTHON_INCLUDE_DIRS} + ${TBB_INCLUDE_DIR} + ${PYTHON_INCLUDE_DIR} + ) diff --git a/0004-fix-opencollada-pcre.patch b/0004-fix-opencollada-pcre.patch new file mode 100644 index 000000000000..1898a142258b --- /dev/null +++ b/0004-fix-opencollada-pcre.patch @@ -0,0 +1,31 @@ +From fee2839ca94373cc482e12d7d2916a7dbf0972ea Mon Sep 17 00:00:00 2001 +From: Fredrick Brennan <copypaste@kittens.ph> +Date: Thu, 11 May 2023 06:31:19 -0400 +Subject: [PATCH] fix opencollada pcre + +--- + build_files/cmake/platform/platform_unix.cmake | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake +index ce6ce02622c..0bd92fa7b16 100644 +--- a/build_files/cmake/platform/platform_unix.cmake ++++ b/build_files/cmake/platform/platform_unix.cmake +@@ -264,13 +264,7 @@ endif() + if(WITH_OPENCOLLADA) + find_package_wrapper(OpenCOLLADA) + if(OPENCOLLADA_FOUND) +- if(WITH_STATIC_LIBS) +- # PCRE is bundled with OpenCollada without headers, so can't use +- # find_package reliably to detect it. +- set(PCRE_LIBRARIES ${LIBDIR}/opencollada/lib/libpcre.a) +- else() +- find_package_wrapper(PCRE) +- endif() ++ find_package_wrapper(PCRE) + find_package_wrapper(XML2) + else() + set_and_warn_library_found("OpenCollada" OPENCOLLADA_FOUND WITH_OPENCOLLADA) +-- +2.40.1 + diff --git a/python11.patch b/1001-python11.patch index f617f1d2a227..f617f1d2a227 100644 --- a/python11.patch +++ b/1001-python11.patch @@ -1,62 +1,69 @@ -#!/bin/hint/bash +#!/bin/bash # Maintainer: Xavier Cho <mysticfallband@gmail.com> -#shellcheck disable=SC2015 +# Adapted from blender-git AUR package. + +#Configuration: +#Use: makepkg VAR1=0 VAR2=1 to enable(1) disable(0) a feature +#Use: {yay,paru} --mflags=VAR1=0,VAR2=1 +#Use: aurutils --margs=VAR1=0,VAR2=1 +#Use: VAR1=0 VAR2=1 pamac + +# Use FRAGMENT=#{commit,tag,brach}=xxx for bisect build +_fragment="${FRAGMENT:-#branch=master}" pkgname=upbge-git -pkgver=134573.ec6556fa36e +pkgver=135830.73346754b94 pkgrel=1 pkgdesc="Uchronia Project Blender Game Engine fork of Blender Game Engine" -arch=("i686" "x86_64") +arch=('i686' 'x86_64') url="https://upbge.org/" -depends=("alembic" "embree" "libgl" "python" "python-numpy" "openjpeg2" "libharu" "potrace" "openxr" - "ffmpeg" "fftw" "openal" "freetype2" "libxi" "openimageio" "opencolorio" "libdecor" "openexr" - "openvdb" "opencollada" "opensubdiv" "openshadinglanguage" "libtiff" "libpng" "openimagedenoise") -optdepends=("cuda: CUDA support in Cycles" - "optix>=7.1.0: OptiX support in Cycles" - "openpgl: Path guiding support in Cycles" - "materialx: MaterialX materials" - "level-zero-headers: Intel OpenCL FPGA kernels (all four needed)" - "intel-compute-runtime: Intel OpenCL FPGA kernels (all four needed)" - "intel-graphics-compiler: Intel OpenCL FPGA kernels (all four needed)" - "intel-oneapi-basekit: Intel OpenCL FPGA kernels (all four needed)" - "gcc12: Compile CUDA support in Cycles" - "gcc12-libs: Compile CUDA support in Cycles" - "makepkg-cg: Control resources during compilation" - "usd: USD export Scene") -makedepends=("git" "subversion" "cmake" "clang" "boost" "mesa" "llvm" wayland{,-protocols} - "libxkbcommon") -provides=("blender") -conflicts=("blender") -license=("GPL") -install=upbge.install - -# NOTE: the source array has to be kept in sync with .gitmodules -# the submodules has to be stored in path ending with git to match -# the path in .gitmodules. -# More info: -# http://wiki.blender.org/index.php/Dev:Doc/Tools/Git -source=( - "upbge::git+https://github.com/UPBGE/upbge.git" - "blender-addons.git::git+https://github.com/UPBGE/blender-addons.git" - "blender-addons-contrib.git::git+https://projects.blender.org/blender/blender-addons-contrib.git" - "blender-translations.git::git+https://projects.blender.org/blender/blender-translations.git" - "blender-dev-tools.git::git+https://projects.blender.org/blender/blender-dev-tools.git" - upbge.desktop - python11.patch - usd.patch - SelectCudaComputeArch.patch - embree.patch) -sha256sums=( - "SKIP" - "SKIP" - "SKIP" - "SKIP" - "SKIP" - "b5c9bf4fa265389db4b3f23e96d74cc86c51d908b8943eb80967614d8af1ea1a" - "ae81c77dd41736bbcf65e31fa77477979b214004be3423e10eddef7af3f12dff" - "e7b30006871799b104dfc51ec98af2528e387623f8eb5e24912beae726d517c7" - "155c04f971d3f45618a89fa73d91e21ba493ae24029475e18192c49c3fcd8cb4" - "a35710a189324679322e74b65754993831fe0ac7db3f9a774a1b799afba6cd08") +depends+=('alembic' 'embree' 'libgl' 'python' 'python-numpy' 'openjpeg2' 'libharu' 'potrace' 'openxr' + 'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'openimageio' 'opencolorio' 'sdl2' + 'openvdb' 'opencollada' 'opensubdiv' 'openshadinglanguage' 'libtiff' 'libpng' + 'python' 'python-zstandard' 'ccache') +depends+=('libdecor' 'libepoxy') +optdepends=('cuda: CUDA support in Cycles' + 'optix>=7.4.0: OptiX support in Cycles' + 'usd=21.05: USD export Scene' + 'openpgl: Intel Path Guiding library in Cycles' + 'openimagedenoise: Intel Open Image Denoise support in compositing' + 'materialx: MaterialX materials' + 'level-zero-headers: Intel OpenCL FPGA kernels (all four needed)' + 'intel-compute-runtime: Intel OpenCL FPGA kernels (all four needed)' + 'intel-graphics-compiler: Intel OpenCL FPGA kernels (all four needed)' + 'intel-oneapi-basekit: Intel OpenCL FPGA kernels (all four needed)' + 'gcc12: Compile CUDA support in Cycles' + 'makepkg-cg: Control resources during compilation') +makedepends+=('git' 'cmake' 'boost' 'mesa' 'llvm' 'clang' 'subversion') +makedepends+=('wayland-protocols') +makedepends+=('cython') +provides=('blender') +conflicts=('blender' 'blender-4.1-bin') +license=('GPL') +source=("upbge::git+https://github.com/UPBGE/upbge${_fragment}" + "blender-addons::git+https://github.com/UPBGE/blender-addons" + 'blender-addons-contrib::git+https://github.com/blender/blender-addons-contrib' + 'blender/translations::git+https://github.com/blender/blender-translations' + 'blender/dev_tools::git+https://github.com/blender/blender-dev-tools' + 'blender/assets::svn+https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets' + upbge.desktop + # Patches... + '0001-use-github.com-for-make-update-git.patch' + '0003-usd-python.patch' #add missing python headers when building against python enabled usd. + '0004-fix-opencollada-pcre.patch' #fix broken search for opencollada pcre + '1001-python11.patch' #support Python 3.11 + ) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'b5c9bf4fa265389db4b3f23e96d74cc86c51d908b8943eb80967614d8af1ea1a' + '0bb8ac4cba0ac00999790087c51e601d185b78a96081f08a7c7afb8c0f4b0d7c' + 'c2db51a83a8d573aa76c760f10e541c84b108d64d05c9647681c4e633b3d0397' + '6beedc541e33288a282f57cd2bd09860f333154027b6175e9f61cce49b8db5df' + 'ae81c77dd41736bbcf65e31fa77477979b214004be3423e10eddef7af3f12dff') pkgver() { cd "$srcdir/upbge" @@ -64,35 +71,43 @@ pkgver() { } prepare() { - make -C "$srcdir/upbge" update - - if grep -q nvidia <(lsmod); then - git -C "$srcdir/upbge" apply -v "${srcdir}"/SelectCudaComputeArch.patch - fi - ((DISABLE_USD)) || git -C "$srcdir/upbge" apply -v "${srcdir}"/usd.patch - git -C "$srcdir/upbge" apply -v "${srcdir}"/embree.patch - git -C "$srcdir/upbge" apply -v "${srcdir}"/python11.patch + cd "$srcdir" + mkdir -p upbge/scripts/addons + rm -rf upbge/scripts/addons{,/contrib} + mv blender-addons upbge/scripts/addons + mv blender-addons-contrib upbge/scripts/addons/contrib + cd "upbge" + # update the submodules + git -c protocol.file.allow=always submodule update --init --recursive --remote + git apply -v "${srcdir}"/*.patch } build() { + export PATH="/opt/lib:/opt/bin:$PATH" _pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))") - msg "Python version detected: ${_pyver}" + msg "python version detected: ${_pyver}" + declare -a -g _CMAKE_FLAGS # determine whether we can install python modules if [[ -n "$_pyver" ]]; then - _CMAKE_FLAGS+=( -DWITH_PYTHON=$_pyver \ - -DWITH_PYTHON_MODULE=OFF \ + export PYTHON_LIBRARY=/usr/lib/libpython${_pyver}.so + export PYTHON_VERSION=${_pyver} + _CMAKE_FLAGS+=( -DPYTHON_VERSION=$_pyver \ + -DPYTHON_LIBRARY=/usr/lib/libpython${_pyver}.so \ -DWITH_PYTHON_INSTALL=ON \ - -DWITH_PYTHON_SAFETY=ON ) + -DWITH_PYTHON_SAFETY=OFF ) fi - export CC=`which gcc-12` - export CXX=`which g++-12` export CUDAHOSTCXX="$CC" _CMAKE_FLAGS+=( -DWITH_CLANG=ON \ -DWITH_CYCLES=ON ) + # Use CUDA_ARCH to build for specific GPU architecture + # Supports: single arch (sm_52) and list of archs (sm_52;sm_60) + [[ -v CUDA_ARCH ]] && _CMAKE_FLAGS+=(-DCYCLES_CUDA_BINARIES_ARCH="${CUDA_ARCH}") + + # check for oneapi export _ONEAPI_CLANG=/opt/intel/oneapi/compiler/latest/linux/bin-llvm/clang export _ONEAPI_CLANGXX=/opt/intel/oneapi/compiler/latest/linux/bin-llvm/clang++ @@ -107,6 +122,7 @@ build() { _CUDA_PKG=$(pacman -Qq cuda 2>/dev/null) || true if [ "$_CUDA_PKG" != "" ]; then CUDAHOSTCXX=`which gcc-12` + PATH="/usr/lib/gcc/x86_64-pc-linux-gnu/12.3.0/:$PATH" # https://wiki.blender.org/wiki/Building_Blender/GPU_Binaries _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON \ -DWITH_COMPILER_ASAN=OFF \ @@ -120,44 +136,77 @@ build() { PATH="/usr/materialx:$PATH" fi + _USD_PKG=$(pacman -Qq usd 2>/dev/null) || true + if [ "$_USD_PKG" != "" ]; then + _CMAKE_FLAGS+=( -DWITH_USD=ON ) + PATH="/usr/share/usd:$PATH" + fi + # check for optix _OPTIX_PKG=$(pacman -Qq optix 2>/dev/null) || true if [ "$_OPTIX_PKG" != "" ]; then - _CMAKE_FLAGS+=( -DWITH_CYCLES_DEVICE_OPTIX=ON + _CMAKE_FLAGS+=( -DWITH_CYCLES_DEVICE_OPTIX=ON \ -DOPTIX_ROOT_DIR=/opt/optix ) fi - # check for universal scene descriptor - _USD_PKG=$(pacman -Qq usd>/dev/null) || true - if [ "$_USD_PKG" != "" ]; then - _CMAKE_FLAGS+=( -DWITH_USD=ON - -DUSD_ROOT_DIR=/usr/lib ) - else - _CMAKE_FLAGS+=( -DWITH_HYDRA=OFF ) + # check for open image denoise + _OIDN_PKG=$(pacman -Qq openimagedenoise 2>/dev/null) || true + if [ "$_OIDN_PKG" != "" ]; then + _CMAKE_FLAGS+=( -DWITH_OPENIMAGEDENOISE=ON ) + fi + + if [ -d /opt/rocm/bin ]; then + _CMAKE_FLAGS+=( -DWITH_CYCLES_HIP_BINARIES=ON + -DWITH_CYCLES_HYDRA_RENDER_DELEGATE:BOOL=FALSE + ) fi - (2>&1 CUDAHOSTCXX="$CUDAHOSTCXX" cmake -S "$srcdir/upbge" -B build --fresh \ - -C "${srcdir}/upbge/build_files/cmake/config/blender_release.cmake" \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release \ - -DWITH_STATIC_LIBS=OFF \ - -DWITH_INSTALL_PORTABLE=OFF \ - -DWITH_LIBS_PRECOMPILED=OFF \ - -DWITH_GAMEENGINE=ON \ - -DWITH_GHOST_SDL=ON \ - -DWITH_PLAYER=ON \ - -DWITH_PYTHON_INSTALL=OFF \ - -DWITH_FFTW3=ON \ - -DWITH_CODEC_FFMPEG=ON \ - -DWITH_MOD_OCEANSIM=ON \ - -DXR_OPENXR_SDK_ROOT_DIR=/usr \ - -DPYTHON_VERSION="${_pyver}" \ - ${_CMAKE_FLAGS[@]}) #> "$srcdir/../cmake_out" - #--trace-expand \ - - cd build - - MAKE_CMD="make ${MAKEFLAGS:--j1}" + if [[ -f "$srcdir/upbge/CMakeCache.txt" && -z "$KEEP_CMAKE_CACHE" ]]; then + rm "$srcdir/upbge/CMakeCache.txt" + fi + + NUMPY_PY_INCLUDE=/usr/lib/python3.11/site-packages/numpy/core/include/ + [[ -d "$NUMPY_PY_INCLUDE" ]] && ( + _CMAKE_FLAGS+=( -DNUMPY_INCLUDE_DIR="$NUMPY_PY_INCLUDE" ); + __CFLAGS="$CFLAGS -I$NUMPY_PY_INCLUDE" + __CXXFLAGS="$CXXFLAGS -I$NUMPY_PY_INCLUDE" + export CFLAGS="$__CFLAGS" + export CXXFLAGS="$__CXXFLAGS" + ) + + export CFLAGS="$CFLAGS -fno-lto" + export CXXFLAGS="$CXXFLAGS -fno-lto" + # Who even knows why this is needed + export CFLAGS="$CFLAGS -lSPIRV -lSPIRV-Tools -lSPIRV-Tools-opt -lSPIRV-Tools-link -lSPIRV-Tools-reduce -lSPIRV-Tools-shared -lglslang" + export CXXFLAGS="$CXXFLAGS -lSPIRV -lSPIRV-Tools -lSPIRV-Tools-opt -lSPIRV-Tools-link -lSPIRV-Tools-reduce -lSPIRV-Tools-shared -lglslang" + _CMAKE_FLAGS+=( -DCMAKE_C_FLAGS="$CFLAGS" ); + _CMAKE_FLAGS+=( -DCMAKE_CXX_FLAGS="$CXXFLAGS" ); + + CMAKE_CMD=(CUDAHOSTCXX="$CUDAHOSTCXX" cmake -B "$srcdir/build" --fresh + -C "${srcdir}/upbge/build_files/cmake/config/blender_release.cmake" + -GUnix\ Makefiles + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_PREFIX_WITH_CONFIG="${pkgdir}/usr" + -DCMAKE_SKIP_INSTALL_RPATH=ON + -DCMAKE_SKIP_BUILD_RPATH=ON + -DCMAKE_BUILD_TYPE=Release + -DWITH_GAMEENGINE=ON + -DWITH_PLAYER=ON + -DWITH_SDL=ON + -DWITH_SDL_DYNLOAD=OFF + -DWITH_CODEC_FFMPEG=ON + -DWITH_MOD_OCEANSIM=ON + -DWITH_INSTALL_PORTABLE=OFF + -DWITH_LIBS_PRECOMPILED=OFF + -DWITH_STATIC_LIBS=OFF + -DXR_OPENXR_SDK_ROOT_DIR=/usr + -DSDL2_ROOT_DIR=/usr + -DPYTHON_VERSION="${_pyver}" + "${_CMAKE_FLAGS[@]}" + ) #> "$srcdir/../cmake_out" + #--trace-expand \ + + MAKE_CMD="make ${MAKEFLAGS:--j1} blender" USING_MAKEPKG_CG="$(systemctl --user -t slice | grep -o makepkg-cg-`id -u`-'[[:digit:]]\+'.slice'[[:space:]]\+'loaded'[[:space:]]\+'active)" || true MAKEPKG_CG_WARNING=$( @@ -169,25 +218,29 @@ EOF ) [[ -z "$USING_MAKEPKG_CG" ]] && warning "$MAKEPKG_CG_WARNING" - $MAKE_CMD + cd upbge + env "${CMAKE_CMD[@]}" + cd ../build + env CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" $MAKE_CMD } package() { - export DESTDIR="$pkgdir" - - make -C "$srcdir/build" install - - #undo rpath clean in cmake_install ( faster than patching CMakeLists.txt) - cp "$srcdir/build/bin/blender" "$pkgdir/usr/bin/blender" + _suffix=${pkgver%%.r*} + cd "$srcdir/build" + sed -ie 's/\(file(INSTALL\)\(.*blender\.1"\))/#\1\2)/' source/creator/cmake_install.cmake + BLENDER_SYSTEM_RESOURCES="${pkgdir}/usr/share/upbge/${_suffix}" make DESTDIR="$pkgdir" install + #find . -name 'cmake_install.cmake' -exec sed -i -e 's|/usr/lib64/|'"$pkgdir"'/usr/lib/|g' {} \; + #cmake --install . --prefix "$pkgdir/usr" + + if [[ -e "$pkgdir/usr/share/upbge/${_suffix}/scripts/addons/cycles/lib/" ]] ; then + # make sure the cuda kernels are not stripped + chmod 444 "$pkgdir"/usr/share/upbge/${_suffix}/scripts/addons/cycles/lib/* + fi install -D -m755 "$srcdir"/build/bin/blenderplayer "$pkgdir"/usr/bin/blenderplayer install -D -m644 "$srcdir"/upbge.desktop "$pkgdir"/usr/share/applications/upbge.desktop install -D -m644 "$srcdir"/upbge/release/freedesktop/icons/scalable/apps/upbge.svg \ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/upbge.svg - - if [ -e "$pkgdir"/usr/share/upbge/*/scripts/addons/cycles/lib/ ] ; then - # make sure the cuda kernels are not stripped - chmod 444 "$pkgdir"/usr/share/upbge/*/scripts/addons/cycles/lib/* - fi } -# vim:set sw=2 ts=2 et: + +# vim: syntax=bash:et:ts=2:sw=2 diff --git a/README.md b/README.md index c1d5a26b60a3..c5cf871f3d7d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ ## (AUR) upbge-git This is an AUR package of UPBGE(Uchronia Project Blender Game Engine), based on -[atoms118](https://aur.archlinux.org/account/atoms118)'s original version. +fbrennan (bartus)'s [blender-git](https://aur.archlinux.org/packages/blender-git). -It also incorporate some of the changes from [`blender-2.83-git`](https://aur.archlinux.org/packages/blender-2.83-git/) -package, including `embree.patch`.
\ No newline at end of file diff --git a/SelectCudaComputeArch.patch b/SelectCudaComputeArch.patch deleted file mode 100644 index b44d409d4b37..000000000000 --- a/SelectCudaComputeArch.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake -index 44542a08156..b6ee95cec23 100644 ---- a/intern/cycles/cmake/external_libs.cmake -+++ b/intern/cycles/cmake/external_libs.cmake -@@ -607,6 +607,11 @@ if(WITH_CYCLES_DEVICE_CUDA AND (WITH_CYCLES_CUDA_BINARIES OR NOT WITH_CUDA_DYNLO - - if(CUDA_FOUND) - message(STATUS "Found CUDA ${CUDA_NVCC_EXECUTABLE} (${CUDA_VERSION})") -+ CUDA_SELECT_NVCC_ARCH_FLAGS(CUDA_ARCH_FLAGS Auto) -+ string(REGEX REPLACE " compute_[0-9]+" "" CYCLES_CUDA_BINARIES_ARCH "${CUDA_ARCH_FLAGS_readable}") -+ string(REGEX REPLACE " " ";" CYCLES_CUDA_BINARIES_ARCH "${CYCLES_CUDA_BINARIES_ARCH}") -+ message(STATUS "Enabling CUDA support (version: ${CUDA_VERSION_STRING}," -+ " archs: ${CYCLES_CUDA_BINARIES_ARCH})") - else() - if(NOT WITH_CUDA_DYNLOAD) - message(STATUS "Additionally falling back to dynamic CUDA load") diff --git a/embree.patch b/embree.patch deleted file mode 100644 index 55e933d9934a..000000000000 --- a/embree.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/build_files/cmake/Modules/FindEmbree.cmake b/build_files/cmake/Modules/FindEmbree.cmake -index 8d64e09e0f9..f56841976cc 100644 ---- a/build_files/cmake/Modules/FindEmbree.cmake -+++ b/build_files/cmake/Modules/FindEmbree.cmake -@@ -11,6 +11,9 @@ - # EMBREE_ROOT_DIR, The base directory to search for Embree. - # This can also be an environment variable. - # EMBREEFOUND, If false, do not try to use Embree. -+# -+# also defined, but not for general use are -+# EMBREE_LIBRARY, where to find the Embree library. - - # If `EMBREE_ROOT_DIR` was defined in the environment, use it. - if(DEFINED EMBREE_ROOT_DIR) -@@ -108,14 +111,23 @@ foreach(COMPONENT ${_embree_FIND_COMPONENTS}) - list(APPEND _embree_LIBRARIES "${EMBREE_${UPPERCOMPONENT}_LIBRARY}") - endforeach() - -+find_library(EMBREE_LIBRARY -+ NAMES -+ embree4 -+ HINTS -+ ${_embree_SEARCH_DIRS} -+ PATH_SUFFIXES -+ lib64 lib -+) -+ - # handle the QUIETLY and REQUIRED arguments and set EMBREE_FOUND to TRUE if - # all listed variables are TRUE - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(Embree DEFAULT_MSG -- _embree_LIBRARIES EMBREE_INCLUDE_DIR) -+ EMBREE_LIBRARY EMBREE_INCLUDE_DIR) - - if(EMBREE_FOUND) -- set(EMBREE_LIBRARIES ${_embree_LIBRARIES}) -+ set(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) - set(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR}) - endif() - -diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt -index dcc960bef4b..56fb56cca6f 100644 ---- a/intern/cycles/blender/CMakeLists.txt -+++ b/intern/cycles/blender/CMakeLists.txt -@@ -83,6 +83,12 @@ if(WITH_CYCLES_LOGGING) - ) - endif() - -+if(WITH_CYCLES_EMBREE) -+ list(APPEND LIB -+ ${EMBREE_LIBRARIES} -+ ) -+endif() -+ - set(ADDON_FILES - addon/__init__.py - addon/camera.py diff --git a/usd.patch b/usd.patch deleted file mode 100644 index cbd81a66e909..000000000000 --- a/usd.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/source/blender/io/usd/CMakeLists.txt b/source/blender/io/usd/CMakeLists.txt -index fa20dc94941..26d9f43ee1b 100644 ---- a/source/blender/io/usd/CMakeLists.txt -+++ b/source/blender/io/usd/CMakeLists.txt -@@ -77,6 +77,7 @@ set(INC - set(INC_SYS - ${USD_INCLUDE_DIRS} - ${BOOST_INCLUDE_DIR} -+ ${PYTHON_INCLUDE_DIRS} - ${TBB_INCLUDE_DIR} - ${PYTHON_INCLUDE_DIR} - ) -@@ -208,6 +209,10 @@ if(WITH_OPENVDB) - ${OPENVDB_LIBRARIES} - ) - endif() -+ -+if(WITH_USD) -+ list(APPEND __boost_packages python) -+endif() - - if(WITH_MATERIALX) - add_definitions(-DWITH_MATERIALX) |