commit blender for openSUSE:Factory
Hello community, here is the log from the commit of package blender for openSUSE:Factory checked in at 2015-12-29 13:00:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/blender (Old) and /work/SRC/openSUSE:Factory/.blender.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "blender" Changes: -------- --- /work/SRC/openSUSE:Factory/blender/blender.changes 2015-12-21 12:05:05.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.blender.new/blender.changes 2015-12-29 13:00:05.000000000 +0100 @@ -1,0 +2,6 @@ +Mon Dec 28 10:00:03 UTC 2015 - davejplater@gmail.com + +- Added conditionals to enable blender to build without cycles and + openCOLLADA for openSUSE:13.2 see boo#960234 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ blender.spec ++++++ --- /var/tmp/diff_new_pack.34yV7L/_old 2015-12-29 13:00:07.000000000 +0100 +++ /var/tmp/diff_new_pack.34yV7L/_new 2015-12-29 13:00:07.000000000 +0100 @@ -22,20 +22,28 @@ %define collada 1 %define wplayer 1 %define documentation 0 - -%bcond_without ffmpeg - -# Use rpmbuild -D 'BUILD_ORIG 1' to build original code. - -Name: blender -Version: 2.76b -Release: 0 - # blender has versions like x.xxy which have x.xx (notice the missing # trailing y) in the directory path. This makes this additional variable # necessary. %define _version 2.76 - +# NOTE: this is to enable blender to build without cycles for 13.2 BUILD_ORIG = 1 see boo#960234 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 +%bcond_without ffmpeg +%bcond_without cycles +%else +%if 0%{?BUILD_ORIG} == 1 && 0%{?suse_version} <= 1320 +%define collada 0 +%bcond_without ffmpeg +%bcond_with cycles +%else +%define collada 0 +%bcond_with ffmpeg +%bcond_with cycles +%endif +%endif +Name: blender +Version: 2.76b +Release: 0 Summary: A 3D Modelling And Rendering Package License: GPL-2.0+ Group: Productivity/Graphics/3D Editors @@ -50,24 +58,6 @@ Source8: blender-getversion.py # Refreshed for 2.67b Patch1: blender-2.58-python_include.patch -BuildRequires: gettext-tools -%if 0%{?suse_version} > 1210 -BuildRequires: libGLw-devel -BuildRequires: libGLw1 -%else -BuildRequires: MesaGLw-devel -%endif -BuildRequires: libexpat-devel -BuildRequires: pkg-config -# Needed since blender 2.71. Otherwise it won't build -BuildRequires: python3-devel >= 3.4 -BuildRequires: python3-numpy-devel -BuildRequires: python3-requests -BuildRequires: update-desktop-files -BuildRequires: xorg-x11 -%if %documentation == 1 -Recommends: blender-doc -%endif # libquicktime-devel BuildRequires: OpenEXR-devel BuildRequires: SDL-devel @@ -79,6 +69,7 @@ BuildRequires: fdupes BuildRequires: fftw3-devel BuildRequires: gcc-c++ +BuildRequires: gettext-tools BuildRequires: glew-devel BuildRequires: graphviz BuildRequires: help2man @@ -86,6 +77,7 @@ BuildRequires: jack-audio-connection-kit-devel BuildRequires: libao-devel BuildRequires: libdrm-devel +BuildRequires: libexpat-devel BuildRequires: libjpeg-devel BuildRequires: liblcms-devel BuildRequires: libpng-devel @@ -99,9 +91,16 @@ BuildRequires: openssl-devel BuildRequires: pcre-devel BuildRequires: perl-Text-Iconv +BuildRequires: pkg-config +# Needed since blender 2.71. Otherwise it won't build +BuildRequires: python3-devel >= 3.4 +BuildRequires: python3-numpy-devel +BuildRequires: python3-requests BuildRequires: ruby BuildRequires: ruby-devel BuildRequires: shared-mime-info +BuildRequires: update-desktop-files +BuildRequires: xorg-x11 BuildRequires: xorg-x11-devel BuildRequires: xz BuildRequires: xz-devel @@ -109,6 +108,20 @@ BuildRequires: yasm-devel BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(libxml-2.0) +# See bnc#713346 +Requires: python3-numpy +Requires: python3-requests +Requires: python3-xml +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?suse_version} > 1210 +BuildRequires: libGLw-devel +BuildRequires: libGLw1 +%else +BuildRequires: MesaGLw-devel +%endif +%if %{documentation} == 1 +Recommends: blender-doc +%endif %if %{with ffmpeg} BuildRequires: ffmpeg-devel %endif @@ -119,13 +132,10 @@ BuildRequires: pkgconfig(audaspace) %endif # Added OpenimageIO and OpenColorIO to enable build with cycles see bnc#905649 +%if %{with cycles} BuildRequires: OpenColorIO-devel BuildRequires: OpenImageIO-devel -# See bnc#713346 -Requires: python3-numpy -Requires: python3-requests -Requires: python3-xml -BuildRoot: %{_tmppath}/%{name}-%{version}-build +%endif %description Blender is a 3D modelling and rendering package. It is the in-house @@ -144,8 +154,11 @@ rendering, node-based compositing, and non linear video editing, as well as an integrated game engine for real-time interactive 3D and game creation and playback with cross-platform compatibility. +%if %{without cycles} +This blender is not built with cycles. +%endif -%if %documentation == 1 +%if %{documentation} == 1 %package doc Summary: Documentation for blender Group: Documentation @@ -191,6 +204,11 @@ export pver=$(pkg-config python3 --modversion)$(python3-config --abiflags) mkdir -p Build && pushd Build # Since Blender 2.71 Python >=3.4 is a hard requirement for building. +# FIXME: This comes from a stupid osc spec formatter +# blender's flags are complex enough already without %%cmake macro spamming the build log. +# It also puts _smp_mflags where it shouldn't, I had to write make -j1 to stop it. +# NOTE: Don't use cmake macro. +# FIXME: you should use %%cmake macros cmake ../ -DBUILD_SHARED_LIBS:BOOL=off \ -DWITH_FFTW3:BOOL=on \ -DWITH_JACK:BOOL=on \ @@ -201,6 +219,8 @@ %endif %if 0%{?collada} == 1 -DWITH_OPENCOLLADA:BOOL=on \ +%else + -DWITH_OPENCOLLADA:BOOL=off \ %endif %if 0%{?audaspace} == 1 -DWITH_SYSTEM_AUDASPACE:BOOL=on \ @@ -208,13 +228,18 @@ -DWITH_PYTHON:BOOL=on \ -DWITH_PYTHON_INSTALL:BOOL=off \ -DWITH_GAMEENGINE:BOOL=ON \ +%if %{without cycles} + -DWITH_CYCLES:BOOL=OFF \ +%endif %ifarch ppc ppc64 ppc64le -DWITH_CYCLES:BOOL=OFF \ %else +%if %{with cycles} -DWITH_CYCLES:BOOL=ON \ -%endif -DWITH_OPENIMAGEIO:BOOL=ON \ -DWITH_OPENCOLORIO:BOOL=ON \ +%endif +%endif -DWITH_PLAYER:BOOL=on \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_SYSTEM_GLEW:BOOL=ON \ @@ -224,29 +249,29 @@ %endif -DWITH_MOD_OCEANSIM:BOOL=OFF \ -DCMAKE_VERBOSE_MAKEFILE=on \ - -DCMAKE_C_FLAGS="$RPM_OPT_FLAGS ${sseflags}" \ - -DCMAKE_CXX_FLAGS="$RPM_OPT_FLAGS ${sseflags}" \ + -DCMAKE_C_FLAGS="%{optflags} ${sseflags}" \ + -DCMAKE_CXX_FLAGS="%{optflags} ${sseflags}" \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ -DPYTHON_VERSION=$psver \ -DPYTHON_LIBPATH=%{_libexecdir} \ -DPYTHON_LIBRARY=python$pver \ - -DPYTHON_INCLUDE_DIRS=/usr/include/python$pver \ + -DPYTHON_INCLUDE_DIRS=%{_includedir}/python$pver \ -DWITH_PYTHON_INSTALL_NUMPY=off export LDFLAGS="$LDFLAGS -lclew" pushd extern/libmv -make +make -j1 popd # A further attempt to stop out of memory failures. export jobs=$(getconf _NPROCESSORS_ONLN) + %define jobs %(echo $jobs) %if 0%{?jobs} > 2 %define _smp_mflags -j2 %endif make %{?_smp_mflags} popd - -%if %documentation == 1 +%if %{documentation} == 1 # Build documentation pushd doc/doxygen doxygen -u Doxyfile @@ -259,25 +284,45 @@ %install export blender_version=$(grep BLENDER_VERSION source/blender/blenkernel/BKE_blender.h | tr -dc 0-9) export blender_version=$(expr $blender_version / 100).$(expr $blender_version % 100) + %define rlversion %(echo $blender_version) echo "release version = $blender_version" echo "rlversion is %{?rlversion}" - # make install pushd Build %make_install popd - # Remove folder, it's not supposed to be installed here. rm -rf %{buildroot}%{_datadir}/%{name}/%{_version}/datafiles/fonts rm -f %{buildroot}%{_datadir}/%{name}/%{_version}/scripts/addons/.gitignore - +# Fix any .py files with shebangs and wrong permissions. +if test -z `find %{buildroot} -name *.py -perm 0644 -print0|xargs -0r grep -l '#!'`; \ +then break; +else chmod -f 0755 `find %{buildroot} -name *.py -perm 0644 -print0|xargs -0r grep -l '#!'`; \ +fi +# Copy text files to correct place. +mkdir -p %{buildroot}%{_docdir}/%{name} +cp -v %{buildroot}%{_datadir}/doc/blender/* %{buildroot}%{_docdir}/%{name}/ +rm -rf %{buildroot}%{_datadir}/doc/blender +# install blender sample. +install -D -m 0644 %{SOURCE2} %{buildroot}%{_docdir}/%{name}/ +install -D -m 0644 %{SOURCE3} %{buildroot}%{_docdir}/%{name}/ +install -D -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/ +# Install s6=blender.xpm +#install -D -m 0644 %%{SOURCE6} %%{buildroot}%%{_datadir}/pixmaps/ +if test -z `find %{buildroot}%{_docdir}/%{name} -name *.py -perm 0755 -print0|xargs -0r grep -l '#!'`; \ +then break; +else chmod -f 0644 `find %{buildroot}%{_docdir}/%{name} -name *.py -perm 0755 -print0|xargs -0r grep -l '#!'`; \ +fi +%fdupes %{buildroot}%{_datadir}/%{name}/%{_version}/ +%find_lang %{name} %{?no_lang_C} +rm -rf %{buildroot}%{_datadir}/locale/languages +find %{buildroot}%{_datadir}/%{name}/%{_version}/scripts/ -name "*.h" -print -delete # Factory is now of the opinion that every /usr/bin file needs a man page, -%if %wplayer == 1 +%if %{wplayer} == 1 # Generate man page with help2man # Create man1 directory if it doesn't exist. Added with v2.73 [ -d %{buildroot}%{_mandir}/man1 ] || mkdir -p %{buildroot}%{_mandir}/man1 || : - pushd %{buildroot}%{_mandir}/man1 cp -v %{buildroot}%{_bindir}/blenderplayer ./ help2man \ @@ -288,62 +333,27 @@ popd #cp -v %%{SOURCE5} %%{buildroot}%%{_mandir}/man1 %endif - -# Fix any .py files with shebangs and wrong permissions. -if test -z `find %{buildroot} -name *.py -perm 0644 -print0|xargs -0r grep -l '#!'`; \ -then break; -else chmod -f 0755 `find %{buildroot} -name *.py -perm 0644 -print0|xargs -0r grep -l '#!'`; \ -fi - -# Copy text files to correct place. -mkdir -p %{buildroot}%{_docdir}/%{name} -cp -v %{buildroot}%{_datadir}/doc/blender/* %{buildroot}%{_docdir}/%{name}/ -rm -rf %{buildroot}%{_datadir}/doc/blender -# install blender sample. -install -D -m 0644 %{SOURCE2} %{buildroot}%{_docdir}/%{name}/ -install -D -m 0644 %{SOURCE3} %{buildroot}%{_docdir}/%{name}/ -install -D -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/ - %if 1 == 1 # Add more icons. mkdir -p %{buildroot}%{_datadir}/pixmaps/ pushd %{buildroot}%{_datadir}/pixmaps/ ln -s ../icons/hicolor/32x32/apps/blender.png blender.png popd - # Install s6=blender.xpm and s11=v-2.55 install -D -m 0644 %{SOURCE6} %{buildroot}%{_datadir}/pixmaps/ - ln -s ../icons/hicolor/scalable/apps/blender.svg %{buildroot}%{_datadir}/pixmaps %endif - -# Install s6=blender.xpm -install -D -m 0644 %{SOURCE6} %{buildroot}%{_datadir}/pixmaps/ - %if 0%{?sles_version} %suse_update_desktop_file -i -n -G "Blender Template" x-blend %suse_update_desktop_file -i -n blender %else - # Install blender template desktop file. desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE7} - # Validate blender.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/blender.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/x-blend.desktop %endif -if test -z `find %{buildroot}%{_docdir}/%{name} -name *.py -perm 0755 -print0|xargs -0r grep -l '#!'`; \ -then break; -else chmod -f 0644 `find %{buildroot}%{_docdir}/%{name} -name *.py -perm 0755 -print0|xargs -0r grep -l '#!'`; \ -fi - -%fdupes %{buildroot}%{_datadir}/%{name}/%{_version}/ - -%find_lang %{name} %{?no_lang_C} -rm -rf %{buildroot}%{_datadir}/locale/languages -find %{buildroot}%{_datadir}/%{name}/%{_version}/scripts/ -name "*.h" -print -delete - %post update-desktop-database >/dev/null 2>&1 ||: update-mime-database %{_datadir}/mime >/dev/null 2>&1 ||: @@ -378,10 +388,9 @@ %{_datadir}/pixmaps/blender.svg %{_datadir}/pixmaps/blender.xpm %{_datadir}/pixmaps/blender.png -%if %documentation == 0 +%if %{documentation} == 0 %doc %{_docdir}/%{name} %else - %files doc %defattr (-, root, root) %doc doc/
participants (1)
-
root@hilbert.suse.de