diff options
Diffstat (limited to 'community/blender/APKBUILD')
-rw-r--r-- | community/blender/APKBUILD | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/community/blender/APKBUILD b/community/blender/APKBUILD new file mode 100644 index 00000000000..d8020a439cc --- /dev/null +++ b/community/blender/APKBUILD @@ -0,0 +1,157 @@ +# Contributor: Mark Riedesel <mark@klowner.com> +# Contributor: Leon Marz <main@lmarz.org> +# Maintainer: Leon Marz <main@lmarz.org> +pkgname=blender +pkgver=4.1.1 +_pkgver=${pkgver%.[0-9]} +pkgrel=1 +_llvmver=17 +pkgdesc="3D Creation/Animation/Publishing System" +url="https://www.blender.org/" +arch="x86_64 aarch64" # limited by openvdb +license="GPL-2.0-or-later" +depends="blender-shared=$pkgver-r$pkgrel" +makedepends=" + alembic-dev + blosc-dev + boost-dev + clang-dev + cmake + eigen-dev + embree-dev + embree-static + ffmpeg-dev + fftw-dev + freetype-dev + glog-dev + gmp-dev + jack-dev + jemalloc-dev + libdecor-dev + libepoxy-dev + libharu-dev + libjpeg-turbo-dev + libpng-dev + libsndfile-dev + libx11-dev + libxi-dev + libxkbcommon-dev + libxrender-dev + llvm$_llvmver-dev + lzo-dev + onetbb-dev + openal-soft-dev + opencolorio-dev + openexr-dev + openimagedenoise-dev + openimageio-dev + openjpeg-dev + openpgl-dev + opensubdiv-dev + openvdb-dev + openvdb-nanovdb + openxr-dev + osl + osl-dev + potrace-dev + pugixml-dev + pulseaudio-dev + py3-numpy-dev + py3-zstandard + python3-dev + samurai + sdl2-dev + tiff-dev + wayland-dev + wayland-protocols + " +subpackages="$pkgname-doc $pkgname-shared::noarch $pkgname-headless py3-$pkgname:python" +source="https://download.blender.org/source/blender-$pkgver.tar.xz + 0001-musl-fixes.patch + 0002-fix-includes.patch + " + +# secfixes: +# 3.3.0-r0: +# - CVE-2022-2831 +# - CVE-2022-2832 +# - CVE-2022-2833 + +build() { + # Headless + _build build-headless -C build_files/cmake/config/blender_headless.cmake + + # Full + _build build-full -C build_files/cmake/config/blender_full.cmake + + # Python module + _build build-py -C build_files/cmake/config/bpy_module.cmake +} + +_build() { + local py_version=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))') + local outdir="$1" + shift + + cmake -B "$outdir" -G Ninja -Wno-dev \ + "$@" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_PYTHON_INSTALL=OFF \ + -DWITH_INSTALL_PORTABLE=OFF \ + -DWITH_LIBS_PRECOMPILED=OFF \ + -DWITH_SYSTEM_EIGEN3=ON \ + -DWITH_SYSTEM_GLOG=ON \ + -DWITH_SYSTEM_LZO=ON \ + -DWITH_CYCLES_OSL=OFF \ + -DLLVM_VERSION=$_llvmver \ + -DPYTHON_VERSION=$py_version + + cmake --build "$outdir" +} + +package() { + # Install and rename the headless blender to blender-headless + install -Dm755 build-headless/bin/blender "$pkgdir"/usr/bin/blender-headless + + # Install python module + DESTDIR="$pkgdir" cmake --install build-py + + # Install the full package + DESTDIR="$pkgdir" cmake --install build-full +} + +shared() { + pkgdesc="Blender shared runtime data and add-on scripts" + depends="" + amove usr/share/blender +} + +headless() { + pkgdesc="$pkgdesc (headless build)" + depends="blender-shared=$pkgver-r$pkgrel" + + amove usr/bin/blender-headless +} + +python() { + pkgdesc="Blender modules for Python 3" + depends="py3-numpy py3-zstandard" + local py_version=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))') + + mkdir -p "$subpkgdir"/usr/lib/python"$py_version"/site-packages + + # temporary fix, while the build script has a bug + mv "$pkgdir"/usr/lib/python"$py_version"/site-packages/bpy/__init__.so "$subpkgdir"/usr/lib/python"$py_version"/site-packages/bpy.so + + rm -rf "$pkgdir"/usr/lib + + # Symlink to the blender-shared files + ln -s ../../../share/blender/"$_pkgver" "$subpkgdir"/usr/lib/python"$py_version"/site-packages/"$_pkgver" +} + +sha512sums=" +13ad0cdd09879b5c28554faca5a54172f43dc3dcb749d2d1723d3e89e741e6255179af3bd88309b735e058b9b350191e44f3158e882e55f1cedea70b8b21540e blender-4.1.1.tar.xz +8b0b6353d863a1854a77e10f0014a89cae91109cf52314b1bd223399cc1562e8000e5865313a21988becbde4b3fe99def9ad303ebdeb8468e6603c91598e25bd 0001-musl-fixes.patch +832103f6c1ed82a324a4324e4fb10bfb84d396cc7ec90907ecaa87e42331c93e36cb60b5be642bab9f0775f9da581529db123f5e76c2fb1c81dc73babe54a733 0002-fix-includes.patch +" |