diff options
-rw-r--r-- | libre/blender/PKGBUILD | 258 |
1 files changed, 56 insertions, 202 deletions
diff --git a/libre/blender/PKGBUILD b/libre/blender/PKGBUILD index d13820af7..35a779b9a 100644 --- a/libre/blender/PKGBUILD +++ b/libre/blender/PKGBUILD @@ -12,99 +12,51 @@ # or simply roll with a new version. I usually choose the latter when the former seems # unreasonable. -# git: -_git='yes' -_gitver='no' -_gitrev='git1' -_gittagver='2.78' -_gittagrev='c' -_gitaddtagver="$_gittagver$_gittagrev" -_gittratagver="$_gittagver" -_gitdevtagver="$_gittagver" -_gitcommit='e92f235283071c13759bc4e6e861e4e938985307' # Blender -_gitaddonscommit='80477b2824fbc355305809c9729fd2fbba79acfa' # Blender Addons -_gitaddonscontribcommit='ceb924dff84c4d670e2a77bab31f21491d08bba5' # Blender Addons Contrib -_gittranslationscommit='507eacde9608ce0190c6087fb338dd63f7a1649b' # Blender Translation -_gitdevtoolscommit='b11375e89061303401376f7aeae42ac2fd64692a' # Blender Dev Tools - -# JPEG/LLVM/PovRay/Python version: -_jpgver='1.5' -_llvmver='3.5' -_povver='3.7' -_pyver='3.6' +# _gittag=v2.79-rc2 +_gitcommit=3c3d0898b0c1a1d7da70f4a1778d4360b3cfe5c8 pkgbase='blender' pkgname=("${pkgbase}" "${pkgbase}-addon-gimp" "${pkgbase}-addon-povray") - -# pkgver: -if [[ "${_git}" = 'yes' && "${_gitver}" = 'yes' ]]; then - pkgver="${_gittagver}${_gitrev}.${_gitcommit::7}" # Git Commit -elif [[ "${_gitver}" = 'no' ]]; then - [[ -z "${_gittagrev}" ]] && \ - pkgver="${_gittagver}" # Official Release - [[ "${#_gittagrev}" > 1 ]] && \ - pkgver="${_gittagver}${_gittagrev/-/}" # Release Candidate - [[ "${#_gittagrev}" = 1 ]] && \ - pkgver="${_gittagver}.${_gittagrev}" # Revision -fi - -pkgrel='3.parabola3' +pkgver=2.79rc2 +#[[ -n $_gitcommit ]] && pkgver=${pkgver}.git1.${_gitcommit} +pkgrel='2.parabola1' epoch='17' + pkgdesc='A fully integrated 3D graphics creation suite, without nonfree CUDA support' arch=('i686' 'x86_64' 'armv7h') license=('GPL') -url="http://www.${pkgbase}.org" -depends=('alembic' 'boost-libs' 'desktop-file-utils' 'ffmpeg' 'fftw' 'freeglut' - 'freetype2' 'glew' 'hicolor-icon-theme' 'jack' 'jemalloc' 'libpng' 'libsndfile' - 'libspnav' 'libtiff' 'log4cplus' 'lzo' 'openal' 'opencolorio' 'opencollada' - 'openexr' 'openimageio' 'openjpeg' 'openshadinglanguage' 'opensubdiv' 'openvdb' - 'python' 'python-requests' 'sdl2' 'shared-mime-info' 'xdg-utils') - # 'bullet' 'eigen' 'ptex' -makedepends=('boost' 'cmake' 'git' 'llvm35' 'mesa') - # (boost: for cycles, booleans, audaspace and/or i18n) +url="http://www.blender.org" + +depends=( + 'alembic' 'boost-libs' 'desktop-file-utils' 'ffmpeg' 'fftw' 'freetype2' + 'glew' 'hicolor-icon-theme' 'jack' 'jemalloc' 'libpng' 'libsndfile' + 'libspnav' 'libtiff' 'log4cplus' 'openal' 'opencollada' 'opencolorio' + 'openexr' 'openimageio' 'openjpeg' 'openshadinglanguage' 'opensubdiv' + 'openvdb' 'ptex' 'python' 'python-requests' 'sdl2' 'shared-mime-info' + 'xdg-utils') +makedepends=('cmake' 'boost' 'mesa' 'git' 'llvm35') options=('!strip') -# source: -if [[ "${_git}" = 'no' ]]; then - source=( - # Blender - "${pkgbase}-${pkgver}::git://git.${pkgbase}.org/${pkgbase}.git#tag=v${_gittagver}${_gittagrev}" - # Blender addons - "${pkgbase}-addons-${pkgver}::git://git.${pkgbase}.org/${pkgbase}-addons.git#tag=v${_gitaddtagver}" - # Blender translations - "${pkgbase}-translations-${pkgver}::git://git.${pkgbase}.org/${pkgbase}-translations.git#tag=v${_gittratagver}" - # Blender Devel Tools - "${pkgbase}-dev-tools-${pkgver}::git://git.${pkgbase}.org/${pkgbase}-dev-tools.git#tag=v${_gitdevtagver}" - ) -elif [[ "${_git}" = 'yes' ]]; then - source=( - # Blender - "${pkgbase}-${pkgver}::git://git.${pkgbase}.org/${pkgbase}.git#commit=${_gitcommit}" - # Blender addons - "${pkgbase}-addons-${pkgver}::git://git.${pkgbase}.org/${pkgbase}-addons.git#commit=${_gitaddonscommit}" - # Blender translations - "${pkgbase}-translations-${pkgver}::git://git.${pkgbase}.org/${pkgbase}-translations.git#commit=${_gittranslationscommit}" - # Blender Devel Tools - "${pkgbase}-dev-tools-${pkgver}::git://git.${pkgbase}.org/${pkgbase}-dev-tools.git#commit=${_gitdevtoolscommit}" - ) +source=("git://git.blender.org/blender-addons.git" + "git://git.blender.org/blender-addons-contrib.git" + "git://git.blender.org/blender-translations.git" + "git://git.blender.org/blender-dev-tools.git" + "git://git.blender.org/scons.git") +if [[ -n $_gittag ]]; then + source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#tag=${_gittag}") +elif [[ -n $_gitcommit ]]; then + source+=("${pkgname}-${pkgver}::git://git.blender.org/blender.git#commit=${_gitcommit}") fi -source+=( - # Blender Addons Contrib - "git://git.${pkgbase}.org/${pkgbase}-addons-contrib.git#commit=${_gitaddonscontribcommit}" - # Scons - "git://git.${pkgbase}.org/scons.git" -) - md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') prepare() { cd "${srcdir}/${pkgbase}-${pkgver}" git submodule init - git config submodule.'release/scripts/addons'.url "${srcdir}/${pkgbase}-addons-${pkgver}" - git config submodule.'release/scripts/addons_contrib'.url "${srcdir}/${pkgbase}-addons-contrib" - git config submodule.'release/datafiles/locale'.url "${srcdir}/${pkgbase}-translations-${pkgver}" - git config submodule.'source/tools'.url "${srcdir}/${pkgbase}-dev-tools-${pkgver}" + git config submodule.'release/scripts/addons'.url "${srcdir}/blender-addons" + git config submodule.'release/scripts/addons_contrib'.url "${srcdir}/blender-addons-contrib" + git config submodule.'release/datafiles/locale'.url "${srcdir}/blender-translations" + git config submodule.'source/tools'.url "${srcdir}/blender-dev-tools" git config submodule.'scons'.url "${srcdir}/scons" git submodule update @@ -123,142 +75,43 @@ prepare() { sed -i 's| (.so under Linux, .dll under windows...)| (.so under GNU or BSD, .dll under Wine or ReactOS...)| ' 'release/scripts/'{addons/ui_translate,modules/bl_i18n_utils}'/settings.py' - msg 'removing Open Source term' - sed -i 's|free, open source|free| - s|free and open-source|free| - s|open-source and free|free| - ' 'release/text/readme.html' - msg 'fixing povray-libre path and desc' sed -i "s|FILE_PATH',|FILE_PATH',\n default='/usr/bin/povray',| s|both POV-Ray 3[.]7 and this script are beta|this script is beta| " 'release/scripts/addons/render_povray/__init__.py' - - mkdir -v 'build' } build() { - cd "${srcdir}/${pkgbase}-${pkgver}/build" + cd "${srcdir}/${pkgbase}-${pkgver}" + + mkdir build && cd build + + [[ "${CARCH}" = 'x86_64' || "${CARCH}" = 'i686' ]] && \ + _SSE='ON' _SSE2='ON' || _SSE='OFF' _SSE2='OFF' - [[ "${CARCH}" = 'x86_64' || "${CARCH}" = 'i686' ]] && _SSE='ON' _SSE2='ON' || _SSE='OFF' _SSE2='OFF' - cmake .. \ - -DCMAKE_BUILD_TYPE='Release' \ + cmake -C../build_files/cmake/config/blender_release.cmake .. \ -DCMAKE_INSTALL_PREFIX='/usr' \ - -DLLVM_STATIC='OFF' \ - -DLLVM_VERSION="${_llvmver}" \ - -DOPENIMAGEIO_ROOT_DIR='/usr' \ - -DOPENJPEG_INCLUDE_DIR="/usr/include/openjpeg-${_jpgver}" \ - -DPYTHON_INCLUDE_DIRS="/usr/include/python${_pyver}m" \ - -DPYTHON_LIBPATH='/usr/lib' \ - -DPYTHON_LIBRARY="python${_pyver}m" \ - -DPYTHON_VERSION="${_pyver}" \ - -DSUPPORT_SSE_BUILD="${_SSE}" \ - -DSUPPORT_SSE2_BUILD="${_SSE2}" \ - -DWITH_ALEMBIC='ON' \ - -DWITH_ALEMBIC_HDF5='OFF' \ - -DWITH_AUDASPACE='ON' \ - -DWITH_ASSERT_ABORT='OFF' \ - -DWITH_BLENDER='ON' \ - -DWITH_BOOST='ON' \ - -DWITH_BOOST_ICU='ON' \ - -DWITH_BUILDINFO='ON' \ - -DWITH_BULLET='ON' \ - -DWITH_CODEC_AVI='ON' \ - -DWITH_CODEC_FFMPEG='ON' \ - -DWITH_CODEC_SNDFILE='ON' \ - -DWITH_COMPOSITOR='ON' \ - -DWITH_CXX_GUARDEDALLOC='OFF' \ - -DWITH_CYCLES='ON' \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_INSTALL_PORTABLE=OFF \ + -DWITH_PYTHON_INSTALL=OFF \ + -DOPENIMAGEIO_ROOT_DIR=/usr \ + -DWITH_LLVM=ON \ + -DWITH_SYSTEM_OPENJPEG=ON \ + -DWITH_GL_PROFILE_CORE=OFF \ + -DWITH_GL_PROFILE_ES20=OFF \ + -DLLVM_VERSION=3.6 \ + -DLLVM_STATIC=ON \ -DWITH_CYCLES_CUDA_BINARIES='OFF' \ -DWITH_CYCLES_DEVICE_CUDA='OFF' \ - -DWITH_CYCLES_DEVICE_MULTI='ON' \ - -DWITH_CYCLES_DEVICE_OPENCL='ON' \ - -DWITH_CYCLES_LOGGING='ON' \ - -DWITH_CYCLES_NATIVE_ONLY='OFF' \ - -DWITH_CYCLES_NETWORK='ON' \ - -DWITH_CYCLES_OPENSUBDIV='OFF' \ - -DWITH_CYCLES_OSL='OFF' \ - -DWITH_CYCLES_PTEX='OFF' \ - -DWITH_CYCLES_STANDALONE='ON' \ - -DWITH_CYCLES_STANDALONE_GUI='ON' \ - -DWITH_DOC_MANPAGE='ON' \ - -DWITH_FFTW3='ON' \ - -DWITH_FREESTYLE='ON' \ - -DWITH_GAMEENGINE='ON' \ - -DWITH_GAMEENGINE_DECKLINK='ON' \ - -DWITH_GHOST_DEBUG='OFF' \ - -DWITH_GHOST_SDL='OFF' \ - -DWITH_GHOST_XDND='ON' \ - -DWITH_GL_EGL='OFF' \ - -DWITH_GL_PROFILE_COMPAT='ON' \ - -DWITH_GL_PROFILE_CORE='OFF' \ - -DWITH_GL_PROFILE_ES20='ON' \ - -DWITH_GLEW_ES='OFF' \ - -DWITH_GLEW_MX='OFF' \ - -DWITH_GLU='ON' \ - -DWITH_GTESTS='OFF' \ - -DWITH_HEADLESS='OFF' \ - -DWITH_IK_ITASC='ON' \ - -DWITH_IK_SOLVER='ON' \ - -DWITH_IMAGE_CINEON='ON' \ - -DWITH_IMAGE_DDS='ON' \ - -DWITH_IMAGE_FRAMESERVER='ON' \ - -DWITH_IMAGE_HDR='ON' \ - -DWITH_IMAGE_OPENEXR='ON' \ - -DWITH_IMAGE_OPENJPEG='ON' \ - -DWITH_IMAGE_TIFF='ON' \ - -DWITH_INPUT_NDOF='ON' \ - -DWITH_INSTALL_PORTABLE='OFF' \ - -DWITH_INTERNATIONAL='ON' \ - -DWITH_JACK='ON' \ - -DWITH_JACK_DYNLOAD='OFF' \ - -DWITH_LEGACY_DEPSGRAPH='ON' \ - -DWITH_LIBMV='ON' \ - -DWITH_LIBMV_SCHUR_SPECIALIZATIONS='ON' \ - -DWITH_LLVM='ON' \ - -DWITH_LZMA='ON' \ - -DWITH_LZO='ON' \ - -DWITH_MEM_JEMALLOC='OFF' \ - -DWITH_MEM_VALGRIND='OFF' \ - -DWITH_MOD_BOOLEAN='ON' \ - -DWITH_MOD_CLOTH_ELTOPO='ON' \ - -DWITH_MOD_FLUID='ON' \ - -DWITH_MOD_OCEANSIM='ON' \ - -DWITH_MOD_REMESH='ON' \ - -DWITH_MOD_SMOKE='ON' \ - -DWITH_OPENAL='ON' \ - -DWITH_OPENGL_TESTS='OFF' \ - -DWITH_OPENIMAGEIO='ON' \ - -DWITH_OPENCOLLADA='ON' \ - -DWITH_OPENCOLORIO='ON' \ - -DWITH_OPENMP='ON' \ - -DWITH_OPENMP_STATIC='OFF' \ - -DWITH_OPENSUBDIV='OFF' \ - -DWITH_OPENVDB='ON' \ - -DWITH_OPENVDB_BLOSC='ON' \ - -DWITH_PLAYER='ON' \ - -DWITH_PYTHON='ON' \ - -DWITH_PYTHON_INSTALL='OFF' \ - -DWITH_PYTHON_INSTALL_NUMPY='OFF' \ - -DWITH_PYTHON_INSTALL_REQUESTS='OFF' \ - -DWITH_PYTHON_MODULE='OFF' \ - -DWITH_PYTHON_SAFETY='OFF' \ - -DWITH_PYTHON_SECURITY='ON' \ - -DWITH_RAYOPTIMIZATION='ON' \ - -DWITH_SDL='ON' \ - -DWITH_SDL_DYNLOAD='OFF' \ - -DWITH_STATIC_LIBS='OFF' \ - -DWITH_SYSTEM_AUDASPACE='OFF' \ - -DWITH_SYSTEM_BULLET='OFF' \ - -DWITH_SYSTEM_EIGEN3='OFF' \ - -DWITH_SYSTEM_GLEW='ON' \ - -DWITH_SYSTEM_GLES='ON' \ - -DWITH_SYSTEM_LZO='ON' \ - -DWITH_SYSTEM_OPENJPEG='ON' \ - -DWITH_X11_ALPHA='ON' \ - -DWITH_X11_XF86VMODE='ON' \ - -DWITH_X11_XINPUT='ON' - make # -j5 needs 48 GB of RAM while -j9 needs 64 GB + -DWITH_CYCLES_PTEX=OFF \ + -DPYTHON_VERSION=3.6 \ + -DPYTHON_LIBPATH=/usr/lib \ + -DPYTHON_LIBRARY=python3.6m \ + -DPYTHON_INCLUDE_DIRS=/usr/include/python3.6m \ + -DSUPPORT_SSE_BUILD="${_SSE}" \ + -DSUPPORT_SSE2_BUILD="${_SSE2}" + + make } package_blender() { @@ -272,6 +125,7 @@ package_blender() { "${pkgbase}-addon-yafaray: for optional renderer with YafaRay (pcr repo)") conflicts=("${pkgbase}-libre" "${pkgbase}-libre-spacenav" "${pkgbase}-spacenav-libre") replaces=( "${pkgbase}-libre" "${pkgbase}-libre-spacenav" "${pkgbase}-spacenav-libre") + cd "${srcdir}/${pkgbase}-${pkgver}/build" make DESTDIR="${pkgdir}" install |