diff options
author | bartus | 2017-07-14 14:39:47 +0200 |
---|---|---|
committer | bartus | 2019-10-22 14:34:02 +0200 |
commit | aac9c569ca1ab2408cd896f1cfd3716af7792437 (patch) | |
tree | 60a8486577057afc52a6a75dc1472c5189c15501 | |
download | aur-aac9c569ca1ab2408cd896f1cfd3716af7792437.tar.gz |
initial commit
-rw-r--r-- | .SRCINFO | 56 | ||||
-rw-r--r-- | .travis.yml | 84 | ||||
-rw-r--r-- | PKGBUILD | 131 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | SelectCudaComputeArch.patch | 16 | ||||
-rw-r--r-- | blender-2.8.desktop | 14 | ||||
-rw-r--r-- | blender.install | 14 |
7 files changed, 317 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e1767e47ab56 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,56 @@ +pkgbase = blender-2.81-git + pkgdesc = Alpha version of Blender 2.81-release branch + pkgver = 2.81.r91291.f8e8f4ee0f8 + pkgrel = 1 + url = https://blender.org/ + install = blender.install + arch = i686 + arch = x86_64 + license = GPL + makedepends = git + makedepends = cmake + makedepends = boost + makedepends = mesa + makedepends = llvm + makedepends = ninja + depends = alembic + depends = libgl + depends = python + depends = python-numpy + depends = openjpeg + depends = desktop-file-utils + depends = hicolor-icon-theme + depends = ffmpeg + depends = fftw + depends = openal + depends = freetype2 + depends = libxi + depends = openimageio + depends = opencolorio + depends = oidn + depends = openvdb + depends = opencollada + depends = opensubdiv + depends = openshadinglanguage + depends = libtiff + depends = libpng + optdepends = cuda: CUDA support in Cycles + provides = blender-2.81 + conflicts = blender-2.81 + source = git://git.blender.org/blender.git#branch=blender-v2.81-release + source = blender-addons.git::git://git.blender.org/blender-addons.git + source = blender-addons-contrib.git::git://git.blender.org/blender-addons-contrib.git + source = blender-translations.git::git://git.blender.org/blender-translations.git + source = blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git + source = blender-2.8.desktop + source = SelectCudaComputeArch.patch + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = cd108dca1c77607c6a7cc45aa284ea97 + md5sums = 4441d9a6db38b85b7dc5c3c9e6872951 + +pkgname = blender-2.81-git + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000000..980227f10ce5 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,84 @@ +sudo: required +language: c + +branches: + only: + - /.*/ + +cache: + directories: + - ~/.ccache + - ~/.pkg-cache + - ~/.cache/yay + - blender-addons-contrib.git + - blender-addons.git + - blender-dev-tools.git + - blender-translations.git + - blender + +services: +- docker + +archlinux: + mount: + - ~/.ccache:~/.ccache + - ~/.pkg-cache:/var/cache/pacman/pkg + - ~/.cache/yay:~/.cache/yay + repos: +# - bartus=https://github.com/bartoszek/AUR-repo/raw/master + packages: + - ccache + - ccache-ext +# cuda need to be installed before `makepkg` invocation in order to allow nvcc-ccache logic to work. + - cuda + - moreutils + - oidn + before_install: +# 1.Override `package-cleanup.hook` to preserve cache for travis. +# 2.Enable ccache +# 3.Multithreaded build and compress +# 4.Suppress all gcc warnings + - | + sudo mkdir /etc/pacman.d/hooks/ + sudo ln -s /dev/null /etc/pacman.d/hooks/package-cleanup.hook + sudo sed -i '/^BUILDENV/s/\!ccache/ccache/' /etc/makepkg.conf + sudo sed -i '/#MAKEFLAGS=/c MAKEFLAGS="-j2"' /etc/makepkg.conf + sudo sed -i '/^COMPRESSXZ/s/\xz/xz -T 2/' /etc/makepkg.conf + sudo sed -i '$a CFLAGS="$CFLAGS -w"' /etc/makepkg.conf + sudo sed -i '$a CXXFLAGS="$CXXFLAGS -w"' /etc/makepkg.conf + script: +# Normalize TRAVIS variable + - | + [ "$TRAVIS" == "true" ] && TRAVIS=1 || TRAVIS=0 +# Install optix + - 'sudo pacman -U --noconfirm /var/cache/pacman/pkg/optix*.pkg.tar.xz' +# Build + - 'echo "Travis initialization time: $travis_uptime seconds"' + - "arch_uptime=$(cut -d' ' -f1 /proc/uptime|cut -d'.' -f1)" + - 'echo "Arch-Travis initialization time: $((arch_uptime-travis_uptime)) seconds"' + - ccache -s + - ccache -z +# set timeout to 50m minus current uptime, minus travis cache in time, minus 60 second buffer for arch-travis cleanup. + - timeout $((50*60-arch_uptime-travis_uptime-60)) makepkg -s --noconfirm > >(ts -s '%.T'); _makepkg_return=$? + - sudo pacman -Sc --noconfirm + - ccache -s + - ccache -z + - exit $_makepkg_return +script: +- "export travis_uptime=$(cut -d' ' -f1 /proc/uptime|cut -d'.' -f1)" +- 'echo "Travis initialization time: $travis_uptime seconds"' +# copy optix.pkg from private github repo +- 'git clone https://$GITHUB_ACCESS_TOKEN@github.com/bartoszek/optix-pkg' +- 'cp optix-pkg/optix*.pkg.tar.xz ~/.pkg-cache/' +# assume caching out will take the same amount of time as caching in those making build time equal to 50 minutes minus two time current uptime. +# detect no cache in and assume 5min cache out time. +- "[ $travis_uptime -le 60 ] && cache_out_time=300 || cache_out_time=$travis_uptime" +- "curl -s https://raw.githubusercontent.com/bartoszek/arch-travis/master/arch-travis.sh| timeout $((50*60-travis_uptime-cache_out_time)) bash" +- "echo pacman pkg cache size: $(du -h ~/.pkg-cache|cut -f1) in $(ls ~/.pkg-cache|wc -l) files" + +#deploy: +# on: +# branch: master +# skip_cleanup: true +# provider: script +# script: bash .travis_deploy.sh diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..65e83b05c42e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,131 @@ +# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com> +# shellcheck disable=SC2034 + +#to enforce cuda verison uncomment this line and update value of sm_xx model accordingly +#_cuda_capability+=(sm_30 sm_35 sm_37) +#_cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) +((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) # suppress 3.x to prevent Travis build exceed time limit. + +pkgname=blender-2.81-git +_fragment="#branch=blender-v2.81-release" +pkgver=2.81.r91291.f8e8f4ee0f8 +pkgrel=1 +pkgdesc="Alpha version of Blender 2.81-release branch" +arch=('i686' 'x86_64') +url="https://blender.org/" +depends=('alembic' 'libgl' 'python' 'python-numpy' 'openjpeg' 'desktop-file-utils' 'hicolor-icon-theme' + 'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'openimageio' 'opencolorio' 'oidn' + 'openvdb' 'opencollada' 'opensubdiv' 'openshadinglanguage' 'libtiff' 'libpng') +makedepends=('git' 'cmake' 'boost' 'mesa' 'llvm') +((DISABLE_NINJA)) || makedepends+=('ninja') +((DISABLE_CUDA)) && optdepends=('cuda: CUDA support in Cycles') || { makedepends+=('cuda') ; ((DISABLE_OPTIX)) || makedepends+=('optix>=7.0'); } +provides=("blender-${pkgver%%.r*}") +conflicts=("blender-${pkgver%%.r*}") +license=('GPL') +install=blender.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=("git://git.blender.org/blender.git${_fragment}" + 'blender-addons.git::git://git.blender.org/blender-addons.git' + 'blender-addons-contrib.git::git://git.blender.org/blender-addons-contrib.git' + 'blender-translations.git::git://git.blender.org/blender-translations.git' + 'blender-dev-tools.git::git://git.blender.org/blender-dev-tools.git' + blender-2.8.desktop + SelectCudaComputeArch.patch + ) +md5sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'cd108dca1c77607c6a7cc45aa284ea97' + '4441d9a6db38b85b7dc5c3c9e6872951') + +pkgver() { + cd "$srcdir/blender" + printf "%s.r%s.%s" "$(grep -Po "BLENDER_VERSION \K[0-9]{3}" source/blender/blenkernel/BKE_blender_version.h|sed 's/./&./1')" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "$srcdir/blender" + # update the submodules + git submodule update --init --recursive --remote + if [ -z "$_cuda_capability" ] && grep -q nvidia <(lsmod); then + git apply -v ${srcdir}/SelectCudaComputeArch.patch + fi +} + +build() { + mkdir -p "$srcdir/blender-build" + cd "$srcdir/blender-build" + + _pyver=$(python -c "from sys import version_info; print(\"%d.%d\" % (version_info[0],version_info[1]))") + msg "python version detected: ${_pyver}" + + # determine whether we can precompile CUDA kernels + _CUDA_PKG=`pacman -Qq cuda 2>/dev/null` || true + if [ "$_CUDA_PKG" != "" ] && ! ((DISABLE_CUDA)) ; then + _EXTRAOPTS=( -DWITH_CYCLES_CUDA_BINARIES=ON + -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda + -DOPTIX_ROOT_DIR=/opt/optix ) + if [ -v _cuda_capability ]; then + _EXTRAOPTS+=(-DCYCLES_CUDA_BINARIES_ARCH=$(IFS=';'; echo "${_cuda_capability[*]}";)) + fi + [ -f "/usr/lib/ccache/bin/nvcc-ccache" ] && _CMAKE_FLAGS+=( -DCUDA_NVCC_EXECUTABLE=/usr/lib/ccache/bin/nvcc-ccache ) + if _cuda_gcc=$(basename $(readlink /opt/cuda/bin/gcc)) ; then + [ -L "/usr/lib/ccache/bin/$_cuda_gcc" ] && _CMAKE_FLAGS+=( -DCUDA_HOST_COMPILER=/usr/lib/ccache/bin/$_cuda_gcc ) + fi + fi + + ((DISABLE_NINJA)) && generator="Unix Makefiles" || generator="Ninja" + cmake -G "$generator" "$srcdir/blender" \ + -C${srcdir}/blender/build_files/cmake/config/blender_release.cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_INSTALL_PORTABLE=OFF \ + -DWITH_SYSTEM_GLEW=ON \ + -DWITH_PYTHON_INSTALL=OFF \ + -DPYTHON_VERSION=${_pyver} \ + ${_EXTRAOPTS[@]} + export NINJA_STATUS="[%p | %f<%r<%u | %cbps ] " + ((DISABLE_NINJA)) && make -j$(nproc) || ninja -d stats +} + +package() { + cd "$srcdir/blender-build" + ((DISABLE_NINJA)) && make install DESTDIR="$pkgdir" || DESTDIR="$pkgdir" ninja install + + msg "add -${pkgver%%.r*} sufix to desktop shortcut" + sed -i "s/=blender/=blender-${pkgver%%.r*}/g" ${pkgdir}/usr/share/applications/blender.desktop + sed -i "s/=Blender/=Blender-${pkgver%%.r*}/g" ${pkgdir}/usr/share/applications/blender.desktop + mv ${pkgdir}/usr/share/applications/blender.desktop ${pkgdir}/usr/share/applications/blender-${pkgver%%.r*}.desktop + + msg "add -${pkgver%%.r*} sufix to binaries" + mv ${pkgdir}/usr/bin/blender ${pkgdir}/usr/bin/blender-${pkgver%%.r*} + mv ${pkgdir}/usr/bin/blender-thumbnailer.py ${pkgdir}/usr/bin/blender-${pkgver%%.r*}-thumbnailer.py +# mv ${pkgdir}/usr/bin/blenderplayer ${pkgdir}/usr/bin/blenderplayer-${pkgver%%.r*} + + msg "mv doc/blender to doc/blender-${pkgver%%.r*}" + mv ${pkgdir}/usr/share/doc/blender ${pkgdir}/usr/share/doc/blender-${pkgver%%.r*} + + msg "add -${pkgver%%.r*} sufix to man page" + mv ${pkgdir}/usr/share/man/man1/blender.1 ${pkgdir}/usr/share/man/man1/blender-${pkgver%%.r*} + + msg "add -${pkgver%%.r*} sufix to all icons" + for icon in `find ${pkgdir}/usr/share/icons -type f` + do + # ${filename##/*.} extra extenssion from path + # ${filename%.*} extract filename form path + # look at bash "manipulatin string" + mv $icon ${icon%.*}-${pkgver%%.r*}.${icon##/*.} + done + + if [ -e "$pkgdir"/usr/share/blender/*/scripts/addons/cycles/lib/ ] ; then + # make sure the cuda kernels are not stripped + chmod 444 "$pkgdir"/usr/share/blender/*/scripts/addons/cycles/lib/* + fi +} +# vim:set sw=2 ts=2 et: diff --git a/README.md b/README.md new file mode 100644 index 000000000000..71fa2fd32134 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +## Blender-2.8-git: [![Build Status](https://travis-ci.org/bartoszek/AUR-blender-2.8-git.svg?branch=master)](https://travis-ci.org/bartoszek/AUR-blender-2.8-git) +### Describe: "Development version of Blender 2.8 branch" diff --git a/SelectCudaComputeArch.patch b/SelectCudaComputeArch.patch new file mode 100644 index 000000000000..c6b3ffc73d4f --- /dev/null +++ b/SelectCudaComputeArch.patch @@ -0,0 +1,16 @@ +diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake +index 5bf681792ca..b975fb5db14 100644 +--- a/intern/cycles/cmake/external_libs.cmake ++++ b/intern/cycles/cmake/external_libs.cmake +@@ -41,6 +41,11 @@ if(WITH_CYCLES_CUDA_BINARIES OR NOT WITH_CUDA_DYNLOAD) + find_package(CUDA) # Try to auto locate CUDA toolkit + if(CUDA_FOUND) + message(STATUS "CUDA nvcc = ${CUDA_NVCC_EXECUTABLE}") ++ 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() + message(STATUS "CUDA compiler not found, disabling WITH_CYCLES_CUDA_BINARIES") + set(WITH_CYCLES_CUDA_BINARIES OFF) diff --git a/blender-2.8.desktop b/blender-2.8.desktop new file mode 100644 index 000000000000..388688ba0de0 --- /dev/null +++ b/blender-2.8.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Name=Blender-git +Comment=A 3D program +Comment[cs]=Program pro 3D modeling a animaci +Comment[es]=Un programa de 3D +Comment[no]=Et 3d-program +Comment[da]=Et program til 3d-modelering +Exec=blender-2.8 +Icon=blender-2.8 +Terminal=false +X-MultipleArgs=false +Type=Application +Categories=Graphics;3DGraphics; +MimeType=application/blender;application/x-blender; diff --git a/blender.install b/blender.install new file mode 100644 index 000000000000..d061748130f3 --- /dev/null +++ b/blender.install @@ -0,0 +1,14 @@ + +post_install() { + update-desktop-database -q + gtk-update-icon-cache -qf /usr/share/icons/hicolor/ +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} + |