summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2020-05-04 02:56:24 +0200
committerbartus2020-05-04 03:33:58 +0200
commita70cc33f4191d13036c801abf56fc6e5cdc47e32 (patch)
tree587e27931332a149495bc59e6d8840e77232bd3f
parentde41018f24f6b7b7917aa34deae90eb4b652b358 (diff)
downloadaur-a70cc33f4191d13036c801abf56fc6e5cdc47e32.tar.gz
Refactor.
-rw-r--r--.SRCINFO35
-rw-r--r--PKGBUILD168
-rw-r--r--addon_path.patch64
-rw-r--r--blender.changelog121
-rw-r--r--embree.patch43
-rw-r--r--usd_python.patch26
6 files changed, 370 insertions, 87 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6b3c3a2a566..2f500801a3b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,25 +1,24 @@
pkgbase = blender-2.82-git
- pkgdesc = Alpha version of Blender 2.82-release branch
- pkgver = 2.82.r92134.f8cdc5ac4c0
+ pkgdesc = Development version of Blender 2.8 branch
+ pkgver = 2.82.r92824.g375c7dc4caf
pkgrel = 1
url = https://blender.org/
- install = blender.install
+ changelog = blender.changelog
arch = i686
arch = x86_64
license = GPL
+ makedepends = ninja
makedepends = git
makedepends = cmake
makedepends = boost
makedepends = mesa
makedepends = llvm
- makedepends = ninja
+ depends = embree
depends = alembic
depends = libgl
depends = python
depends = python-numpy
- depends = openjpeg
- depends = desktop-file-utils
- depends = hicolor-icon-theme
+ depends = openjpeg2
depends = ffmpeg
depends = fftw
depends = openal
@@ -27,13 +26,13 @@ pkgbase = blender-2.82-git
depends = libxi
depends = openimageio
depends = opencolorio
- depends = openimagedenoise
depends = openvdb
depends = opencollada
depends = opensubdiv
depends = openshadinglanguage
depends = libtiff
depends = libpng
+ depends = openimagedenoise
optdepends = cuda: CUDA support in Cycles
provides = blender-2.82
conflicts = blender-2.82
@@ -42,15 +41,19 @@ pkgbase = blender-2.82-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
+ source = usd_python.patch
+ source = embree.patch
+ source = addon_path.patch
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = SKIP
+ sha256sums = 66b9bf3db441f35119ef0eb5f855142f2e773e8002ac0216e056bcc6f8ac409c
+ sha256sums = 12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a
+ sha256sums = 42afe119529a5350034a489225958112bf4b84bdee38757a932e5caaa9bd5ed4
+ sha256sums = 81e0047ba48662ee0ec1da1ffd427641305a0edc68c7913da9460ae4c1fefe72
pkgname = blender-2.82-git
diff --git a/PKGBUILD b/PKGBUILD
index 5e5781a6609..faaa4ff4001 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,28 +1,45 @@
+#!/bin/hint/bash
# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com>
-# shellcheck disable=SC2034
+# shellcheck disable=SC2034,SC2154 # allow unused/unset variables
+# shellcheck disable=SC2191 # preserve current _CMAKE_FLAGS initialization.
-#to enforce cuda verison uncomment this line and update value of sm_xx model accordingly
+# To force cuda compute arch 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.
+((TRAVIS)) && _cuda_capability+=(sm_50 sm_52 sm_60 sm_61 sm_70 sm_75) # Travis memory limit is not enough to build for arch 3.x.
-pkgname=blender-2.82-git
+# Configuration.
_fragment="#branch=blender-v2.82-release"
-pkgver=2.82.r92134.f8cdc5ac4c0
+#some extra, unofficially supported stuff goes here:
+_CMAKE_FLAGS+=( -DWITH_ALEMBIC_HDF5=ON )
+((DISABLE_EMBREE)) || {
+ _CMAKE_FLAGS+=( -DWITH_CYCLES_EMBREE=ON )
+ depends+=(embree)
+}
+((DISABLE_USD)) || {
+ _CMAKE_FLAGS+=( -DWITH_USD=ON
+ -DUSD_ROOT=/usr )
+ depends+=( usd=19.11 )
+}
+((DISABLE_NINJA)) || makedepends+=('ninja')
+#shellcheck disable=SC2015
+((DISABLE_CUDA)) && optdepends+=('cuda: CUDA support in Cycles') || { makedepends+=('cuda') ; ((DISABLE_OPTIX)) || makedepends+=('optix>=7.0'); }
+
+pkgname=blender-2.82-git
+pkgver=2.82.r92824.g375c7dc4caf
pkgrel=1
-pkgdesc="Alpha version of Blender 2.82-release branch"
+pkgdesc="Development version of Blender 2.8 branch"
+changelog=blender.changelog
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' 'openimagedenoise'
+depends+=('alembic' 'libgl' 'python' 'python-numpy' 'openjpeg2'
+ 'ffmpeg' 'fftw' 'openal' 'freetype2' 'libxi' 'openimageio' 'opencolorio'
'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'); }
+depends+=('openimagedenoise')
+makedepends+=('git' 'cmake' 'boost' 'mesa' 'llvm')
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.
@@ -33,99 +50,108 @@ source=("git://git.blender.org/blender.git${_fragment}"
'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
+ usd_python.patch #add missing python headers when building against python enabled usd.
+ embree.patch #add missing embree link.
+ addon_path.patch
)
-md5sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'cd108dca1c77607c6a7cc45aa284ea97'
- '4441d9a6db38b85b7dc5c3c9e6872951')
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ '66b9bf3db441f35119ef0eb5f855142f2e773e8002ac0216e056bcc6f8ac409c'
+ '12bd6db5c1fe14244fd7321e3d740941a36aa545ec21b02325e7553c9214778a'
+ '42afe119529a5350034a489225958112bf4b84bdee38757a932e5caaa9bd5ed4'
+ '81e0047ba48662ee0ec1da1ffd427641305a0edc68c7913da9460ae4c1fefe72')
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)"
+ blender_version=$(grep -Po "BLENDER_VERSION \K[0-9]{3}" "$srcdir"/blender/source/blender/blenkernel/BKE_blender_version.h)
+ printf "%d.%d.r%s.g%s" \
+ $((blender_version/100)) \
+ $((blender_version%100)) \
+ "$(git -C "$srcdir/blender" rev-list --count HEAD)" \
+ "$(git -C "$srcdir/blender" 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
+ git -C "$srcdir/blender" submodule update --init --recursive --remote
+ if [ ! -v _cuda_capability ] && grep -q nvidia <(lsmod); then
+ git -C "$srcdir/blender" apply -v "${srcdir}"/SelectCudaComputeArch.patch
+ fi
+ ((DISABLE_USD)) || git -C "$srcdir/blender" apply -v "${srcdir}"/usd_python.patch
+ ((DISABLE_EMBREE)) || git -C "$srcdir/blender" apply -v "${srcdir}"/embree.patch
+ if [[ -v _sufix ]]; then
+ git apply -v <(sed "s/@@_sufix@@/${_sufix}/g" "${srcdir}/addon_path.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
+ if pacman -Qq cuda 2>&- ; then
+ _CMAKE_FLAGS+=( -DWITH_CYCLES_CUDA_BINARIES=ON
+ -DCUDA_TOOLKIT_ROOT_DIR=/opt/cuda )
+ ((DISABLE_OPTIX)) || _CMAKE_FLAGS+=( -DOPTIX_ROOT_DIR=/opt/optix )
+ if [[ -v _cuda_capability ]]; then
+ _CMAKE_FLAGS+=( -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 \
+ cmake -G "$generator" -S "$srcdir/blender" -B "$srcdir/build" \
+ -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[@]}
+ -DPYTHON_VERSION="${_pyver}" \
+ "${_CMAKE_FLAGS[@]}"
export NINJA_STATUS="[%p | %f<%r<%u | %cbps ] "
- ((DISABLE_NINJA)) && make || ninja $([ -v MAKEFLAGS ] || echo -j1) -d stats
+# shellcheck disable=SC2086 # allow MAKEFLAGS to split when multiple flags provided.
+ if ((DISABLE_NINJA)); then make -C "$srcdir/build" ; else ninja -C "$srcdir/build" ${MAKEFLAGS:--j1}; fi
}
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
+ _suffix=${pkgver%%.r*}
+ export DESTDIR="$pkgdir"
+ if ((DISABLE_NINJA)); then make -C "$srcdir/build" install; else ninja -C "$srcdir/build" install; fi
+
+ msg "add -${_suffix} suffix to desktop shortcut"
+ sed -i "s/=blender/=blender-${_suffix}/g" "${pkgdir}/usr/share/applications/blender.desktop"
+ sed -i "s/=Blender/=Blender-${_suffix}/g" "${pkgdir}/usr/share/applications/blender.desktop"
+ mv "${pkgdir}/usr/share/applications/blender.desktop" "${pkgdir}/usr/share/applications/blender-${_suffix}.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 "add -${_suffix} suffix to binaries"
+ mv "${pkgdir}/usr/bin/blender" "${pkgdir}/usr/bin/blender-${_suffix}"
+ mv "${pkgdir}/usr/bin/blender-thumbnailer.py" "${pkgdir}/usr/bin/blender-${_suffix}-thumbnailer.py"
- msg "mv doc/blender to doc/blender-${pkgver%%.r*}"
- mv ${pkgdir}/usr/share/doc/blender ${pkgdir}/usr/share/doc/blender-${pkgver%%.r*}
+ msg "mv doc/blender to doc/blender-${_suffix}"
+ mv "${pkgdir}/usr/share/doc/blender" "${pkgdir}/usr/share/doc/blender-${_suffix}"
- 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 -${_suffix} suffix to man page"
+ mv "${pkgdir}/usr/share/man/man1/blender.1" "${pkgdir}/usr/share/man/man1/blender-${_suffix}.1"
- 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
+ msg "add -${_suffix} suffix to all icons"
+ while read -r icon
+ do
+ # ${filename##/*.} extra extenssion from path
+ # ${filename%.*} extract filename form path
+ # look at bash "manipulatin string"
+ mv "$icon" "${icon%.*}-${_suffix}.${icon##/*.}"
+ done < <(find "${pkgdir}/usr/share/icons" -type f)
- if [ -e "$pkgdir"/usr/share/blender/*/scripts/addons/cycles/lib/ ] ; then
+ if [[ -e "$pkgdir/usr/share/blender/${_suffix}/scripts/addons/cycles/lib/" ]] ; then
# make sure the cuda kernels are not stripped
- chmod 444 "$pkgdir"/usr/share/blender/*/scripts/addons/cycles/lib/*
+ chmod 444 "$pkgdir"/usr/share/blender/${_suffix}/scripts/addons/cycles/lib/*
fi
}
# vim:set sw=2 ts=2 et:
diff --git a/addon_path.patch b/addon_path.patch
new file mode 100644
index 00000000000..9b21afdf204
--- /dev/null
+++ b/addon_path.patch
@@ -0,0 +1,64 @@
+diff --git a/intern/ghost/intern/GHOST_SystemPathsUnix.cpp b/intern/ghost/intern/GHOST_SystemPathsUnix.cpp
+index 8fd6aee28da..99d61882451 100644
+--- a/intern/ghost/intern/GHOST_SystemPathsUnix.cpp
++++ b/intern/ghost/intern/GHOST_SystemPathsUnix.cpp
+@@ -56,7 +56,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getSystemDir(int, const char *versions
+ {
+ /* no prefix assumes a portable build which only uses bundled scripts */
+ if (static_path) {
+- static string system_path = string(static_path) + "/blender/" + versionstr;
++ static string system_path = string(static_path) + "/blender/" + versionstr + "_@@_sufix@@";
+ return (GHOST_TUns8 *)system_path.c_str();
+ }
+
+@@ -77,7 +77,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getUserDir(int version, const char *ve
+ last_version = version;
+
+ if (home) {
+- user_path = string(home) + "/.blender/" + versionstr;
++ user_path = string(home) + "/.blender/" + versionstr + "_@@_sufix@@";
+ }
+ else {
+ return NULL;
+@@ -92,7 +92,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getUserDir(int version, const char *ve
+ last_version = version;
+
+ if (home) {
+- user_path = string(home) + "/blender/" + versionstr;
++ user_path = string(home) + "/blender/" + versionstr + "_@@_sufix@@";
+ }
+ else {
+ home = getenv("HOME");
+@@ -100,7 +100,7 @@ const GHOST_TUns8 *GHOST_SystemPathsUnix::getUserDir(int version, const char *ve
+ if (home == NULL)
+ home = getpwuid(getuid())->pw_dir;
+
+- user_path = string(home) + "/.config/blender/" + versionstr;
++ user_path = string(home) + "/.config/blender/" + versionstr + "_@@_sufix@@";
+ }
+ }
+
+diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
+index 8fb04c320a0..3102752ec97 100644
+--- a/source/creator/CMakeLists.txt
++++ b/source/creator/CMakeLists.txt
+@@ -303,15 +303,15 @@ endif()
+ if(UNIX AND NOT APPLE)
+ if(WITH_PYTHON_MODULE)
+ if(WITH_INSTALL_PORTABLE)
+- set(TARGETDIR_VER ${BLENDER_VERSION})
++ set(TARGETDIR_VER ${BLENDER_VERSION}_@@_sufix@@)
+ else()
+- set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION})
++ set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION}_@@_sufix@@)
+ endif()
+ else()
+ if(WITH_INSTALL_PORTABLE)
+- set(TARGETDIR_VER ${BLENDER_VERSION})
++ set(TARGETDIR_VER ${BLENDER_VERSION}_@@_sufix@@)
+ else()
+- set(TARGETDIR_VER share/blender/${BLENDER_VERSION})
++ set(TARGETDIR_VER share/blender/${BLENDER_VERSION}_@@_sufix@@)
+ endif()
+ endif()
+
diff --git a/blender.changelog b/blender.changelog
new file mode 100644
index 00000000000..faaba343d6b
--- /dev/null
+++ b/blender.changelog
@@ -0,0 +1,121 @@
+# Version 2.82 stable.
+[release notes](https://wiki.blender.org/wiki/Reference/Release_Notes/2.82)
+- Smoke and Liquid: new, particle based solver [Mantaflow](http://mantaflow.com/).
+- Cloth: internal air pressure.
+- Cloth: internal springs [diff](https://developer.blender.org/D5788).
+- Cycles: Optix denoiser.
+- Cycles: custom render passes.
+- Eevee: viewport render passes [diff](https://developer.blender.org/D6331).
+- Texturing: UDIM [task](https://developer.blender.org/T72390).
+- Sculpt: Slide,Relex [diff](https://developer.blender.org/D6059).
+- Sculpt: Multiplane Scrape [diff](https://developer.blender.org/D6174).
+- Sculpt: Slice mesh with mask tool.
+- Grease Pencil: Multiple Stroke Modifier.
+- Mesh: Custom Bevel Profile.
+- Mesh: Weld Modifier.
+- VFX: New USD exporter
+- VFX: glTF improvements
+- VFX: Alembic mesh normals export.
+
+# Version 2.81
+[release notes](https://wiki.blender.org/wiki/Reference/Release_Notes/2.81)
+- Cycles: Nvidia Optix [task](https://developer.blender.org/T69800)
+- Cycles: Intel Oidn [diff](https://developer.blender.org/D4304)
+- Cycles: Osd edge stitching.
+- Cycles: Viewport render passes.
+- Shading: 4D noises.
+- Shading: vertex color.
+- Shading: volume info.
+- Eevee: Shadow refactor [diff](https://developer.blender.org/D5659).
+- Eevee: Transparent BSDF congruent to Cycles.
+- Eevee: Holdout shader.
+- Viewport: HDRI studio light.
+- Viewport: per viewport visibility selection [task](https://developer.blender.org/T61327).
+- Viewport: OpenEXR matcaps with separate diffuse/specular layers.
+- Grease Pencil: Self overlapping material.
+- Grease Pencil: Smooth stroke endings.
+- Grease Pencil: New brushes.
+- Grease Pencil: New snapping.
+- Grease Pencil: New stroke form curve.
+- Grease Pencil: New merge by distance.
+- Grease Pencil: New simplify sample.
+- Sculpting: Pose brush [diff](https://developer.blender.org/D5647).
+- Sculpting: Transform around pivot with symmetry.
+- Sculpting: Draw sharp brush.
+- Sculpting: Cursor follow normal and shows symmetry.
+- Sculpting: Stroke point even distance.
+- Sculpting: Auto-masking.
+- Sculpting: Dynamic mesh preview.
+- Sculpting: Mask Filter.
+- Sculpting: Dirty Mask.
+- Sculpting: Mask expand with curvature limits.
+- Sculpting: Mask to object.
+- Sculpting: Voxel remesher [diff](https://developer.blender.org/D5407).
+- Sculpting: [QuadriFlow](https://github.com/hjwdzh/QuadriFlow) remesher.
+- UI: <f2> - rename active element.
+- UI: <c-f2> - Batch rename.
+- UI: Parent dnd for multiple objects.
+- UI: Selection sync.
+- UI: New pop-up file browser.
+- UI: Industry compatible key map.
+- Blenlib: New library override [task](https://developer.blender.org/T53500).
+- Animation: Copy as new driver.
+
+# Version 2.80
+[release notes](https://wiki.blender.org/wiki/Reference/Release_Notes/2.80)
+- UI: New collection system in place of layers.
+- UI: New outliner.
+- UI: New view layers in palace of render layers.
+- UI: Blender default key map.
+- UI: Left click select new default.
+- UI: Re-theme.
+- UI: <q> - context quick favorite.
+- UI: New file UI templates.
+- UI: New workspaces.
+- UI: New object gizmos.
+- UI: New tools with gizmos.
+- UI: New context status bar.
+- UI: Single column layout.
+- UI: New pop overs.
+- UI: New pie menus.
+- Eevee: Principled BSDF.
+- Eevee: Env lightning with HDRI.
+- Eevee: Screen-space reflection and refraction.
+- Eevee: Indirect lighting with light probes.
+- Eevee: Soft and contact shadows.
+- Eevee: SSS and volume rendering.
+- Eevee: Dof, bloom, motion blur for camera.
+- Eevee: Shader to RGB node.
+- Eevee: Light probes.
+- Eevee: Light cache.
+- Eevee: Ground truth ambient occlusion.
+- Viewport: Workbench engine.
+- Viewport: Overlays.
+- Viewport: Look dev - material preview.
+- Viewport: Volume preview.
+- Grease Pencil: New 2d Animation.
+- Cycles: Principled hair BSDF [doc](https://docs.blender.org/manual/en/2.80/render/shader_nodes/shader/hair_principled.html).
+- Cycles: Principled volume [doc](https://docs.blender.org/manual/en/2.80/render/shader_nodes/shader/volume_principled.html).
+- Cycles: Cryptomate.
+- Cycles: Random walk SSS.
+- Cycles: Vector Displacement.
+- Cycles: New adaptive subdivision dicing scheme.
+- Cycles: Bevel shader.
+- Cycles: AO shader.
+- Cycles: IES light node.
+- Cycles: New baking anti aliasing.
+- Cycles: New area light shapes.
+- Cycles: Transparent film rendering for glass.
+- Cycles: Motion blur arbitrary sample count.
+- Cycles: Combined CPU and GPU rendering.
+- Cycles: CUDA small tiles optimization.
+- Cycles: CUDA object streaming for out of gRAM rendering.
+- Cycles: CUDA minimum version bump to 3.x
+- Mesh: New multi object editing.
+- Mesh: Custom normal maps.
+- Animation: Pop over driver editor.
+- Blenlib: New dependency graph for parallelization.
+- Blenlib: New unit system.
+- Physics: New cloth bending springs.
+- Physics: New cloth collisions.
+
diff --git a/embree.patch b/embree.patch
new file mode 100644
index 00000000000..bed0b39e744
--- /dev/null
+++ b/embree.patch
@@ -0,0 +1,43 @@
+diff --git a/intern/cycles/blender/CMakeLists.txt b/intern/cycles/blender/CMakeLists.txt
+index d9a2ebf8571..f3b7d156024 100644
+--- a/intern/cycles/blender/CMakeLists.txt
++++ b/intern/cycles/blender/CMakeLists.txt
+@@ -66,6 +66,12 @@ if(WITH_CYCLES_LOGGING)
+ )
+ endif()
+
++if(WITH_CYCLES_EMBREE)
++ list(APPEND LIB
++ ${EMBREE_LIBRARIES}
++ )
++endif()
++
+ set(ADDON_FILES
+ addon/__init__.py
+ addon/engine.py
+diff --git a/build_files/cmake/Modules/FindEmbree.cmake b/build_files/cmake/Modules/FindEmbree.cmake
+index d9d525d4586..03b509a28f3 100644
+--- a/build_files/cmake/Modules/FindEmbree.cmake
++++ b/build_files/cmake/Modules/FindEmbree.cmake
+@@ -72,7 +72,7 @@ ENDFOREACH()
+
+ FIND_LIBRARY(EMBREE_LIBRARY
+ NAMES
+- libembree3
++ embree3
+ HINTS
+ ${_embree_SEARCH_DIRS}
+ PATH_SUFFIXES
+@@ -83,10 +83,10 @@ FIND_LIBRARY(EMBREE_LIBRARY
+ # 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(EMBREE_FOUND)
+
diff --git a/usd_python.patch b/usd_python.patch
new file mode 100644
index 00000000000..a72d75cd6f0
--- /dev/null
+++ b/usd_python.patch
@@ -0,0 +1,26 @@
+diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
+index ac570f17e47..505aa97934c 100644
+--- a/build_files/cmake/platform/platform_unix.cmake
++++ b/build_files/cmake/platform/platform_unix.cmake
+@@ -320,6 +320,9 @@ if(WITH_BOOST)
+ if(WITH_OPENVDB)
+ list(APPEND __boost_packages iostreams)
+ endif()
++ if(WITH_USD)
++ list(APPEND __boost_packages python27)
++ endif()
+ list(APPEND __boost_packages system)
+ find_package(Boost 1.48 COMPONENTS ${__boost_packages})
+ if(NOT Boost_FOUND)
+diff --git a/source/blender/usd/CMakeLists.txt b/source/blender/usd/CMakeLists.txt
+index 6ea02f44d76..0ec18e17689 100644
+--- a/source/blender/io/usd/CMakeLists.txt
++++ b/source/blender/io/usd/CMakeLists.txt
+@@ -48,6 +48,7 @@ set(INC
+ set(INC_SYS
+ ${USD_INCLUDE_DIRS}
+ ${BOOST_INCLUDE_DIR}
++ ${PYTHON_INCLUDE_DIRS}
+ ${TBB_INCLUDE_DIR}
+ )
+