aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2017-07-14 14:39:47 +0200
committerbartus2019-10-22 14:34:02 +0200
commitaac9c569ca1ab2408cd896f1cfd3716af7792437 (patch)
tree60a8486577057afc52a6a75dc1472c5189c15501
downloadaur-aac9c569ca1ab2408cd896f1cfd3716af7792437.tar.gz
initial commit
-rw-r--r--.SRCINFO56
-rw-r--r--.travis.yml84
-rw-r--r--PKGBUILD131
-rw-r--r--README.md2
-rw-r--r--SelectCudaComputeArch.patch16
-rw-r--r--blender-2.8.desktop14
-rw-r--r--blender.install14
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
+}
+