aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Cho2023-11-01 16:44:09 +0900
committerXavier Cho2023-11-01 16:44:09 +0900
commitc084d283c8c1f2b4706035b3c7038b7ce9d545ec (patch)
tree2cd851b156f462e3c0d21362df7920db0333f475
parent0255555a99f0b41d0be0f55da6e7efac740e1a2c (diff)
downloadaur-c084d283c8c1f2b4706035b3c7038b7ce9d545ec.tar.gz
Rewrite PKGBUILD based on blender-git
-rw-r--r--.SRCINFO54
-rw-r--r--.gitignore5
-rw-r--r--0001-use-github.com-for-make-update-git.patch25
-rw-r--r--0003-usd-python.patch27
-rw-r--r--0004-fix-opencollada-pcre.patch31
-rw-r--r--1001-python11.patch (renamed from python11.patch)0
-rw-r--r--PKGBUILD273
-rw-r--r--README.md4
-rw-r--r--SelectCudaComputeArch.patch16
-rw-r--r--embree.patch57
-rw-r--r--usd.patch23
11 files changed, 277 insertions, 238 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1e440be21497..d883f9a3c077 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index b13eeb8aaa3a..78c4d4e97864 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)