Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2:Ports
blender
blender.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File blender.spec of Package blender
# # spec file for package blender # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # NOTE:Audaspace will become a separate library as of blender 2.8 set audaspace to 1 when this verion is available. # NOTE:Adaspace is already in factory. %define audaspace 0 %define collada 1 %define wplayer 1 %define documentation 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 %(echo %{version} | cut -b 1-4) # 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 Url: http://www.blender.org/ # http://download.blender.org/source/ Source0: http://download.blender.org/source/%{name}-%{version}.tar.gz Source2: geeko.blend Source3: geeko.README Source4: blender-sample Source6: blender.xpm Source7: x-blend.desktop Source8: blender-getversion.py Source9: blender.appdata.xml # Refreshed for 2.67b Patch1: blender-2.58-python_include.patch # Patch backported from blender-2.77a to fix build with ffmpeg3x Patch2: blender-ffmpeg3.patch # libquicktime-devel BuildRequires: OpenEXR-devel BuildRequires: SDL2-devel BuildRequires: boost-devel BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: doxygen BuildRequires: epydoc BuildRequires: fdupes BuildRequires: fftw3-devel BuildRequires: gcc-c++ BuildRequires: gettext-tools BuildRequires: glew-devel BuildRequires: graphviz BuildRequires: help2man BuildRequires: hicolor-icon-theme BuildRequires: jack-audio-connection-kit-devel BuildRequires: libao-devel BuildRequires: libdrm-devel BuildRequires: libexpat-devel BuildRequires: libjpeg-devel BuildRequires: liblcms-devel BuildRequires: libpng-devel BuildRequires: libsamplerate-devel BuildRequires: libsndfile-devel BuildRequires: libtiff-devel BuildRequires: libtool BuildRequires: libvorbis-devel BuildRequires: lzo-devel BuildRequires: openal-soft-devel 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 BuildRequires: yasm 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: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavdevice) >= 55.1 BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) %endif %if 0%{?collada} == 1 BuildRequires: openCOLLADA-devel >= svn838 %endif %if 0%{?audaspace} == 1 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 %endif %description Blender is a 3D modelling and rendering package. It is the in-house software of a high quality animation studio, Blender has proven to be an extremely fast and versatile design instrument. The software has a personal touch, offering a unique approach to the world of Three Dimensions. Use Blender to create TV commercials, to make technical visualizations, business graphics, to do some morphing, or design user interfaces. You can easy build and manage complex environments. The renderer is versatile and extremely fast. All basic animation principles (curves & keys) are well implemented.It includes tools for modeling, sculpting, texturing (painting, node-based shader materials, or UV mapped), UV mapping, rigging and constraints, weight painting, particle systems, simulation (fluids, physics, and soft body dynamics and an external crowd simulator), 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 %package doc Summary: Documentation for blender Group: Documentation BuildArch: noarch %description doc Being the in-house software of a high quality animation studio, Blender has proven to be an extremely fast and versatile design instrument. The software has a personal touch, offering a unique approach to the world of Three Dimensions. Use Blender to create TV commercials, to make technical visualizations, business graphics, to do some morphing, or design user interfaces. This package includes API documentation and example plugin programs. %endif %lang_package %prep %setup -q %patch1 %patch2 # binreloc is not a part of fedora rm -rf extern/ffmpeg rm -rf extern/fftw rm -rf extern/glew rm -rf extern/libmp3lame rm -rf extern/libopenjpeg rm -rf extern/libredcode rm -rf extern/ode rm -rf extern/x264 rm -rf extern/xvidcore rm -rf extern/qhull rm -rf extern/make rm -rf extern/verse echo %{_version} %build # sse options not supported by PowerPC %ifnarch ppc ppc64 ppc64le sseflags='-msse -msse2' %endif # Find python3 version and abiflags export psver=$(pkg-config python3 --modversion) 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 \ -DWITH_CODEC_SNDFILE:BOOL=on \ -DWITH_IMAGE_OPENJPEG:BOOL=off \ %if %{with ffmpeg} -DWITH_CODEC_FFMPEG:BOOL=on \ %endif %if 0%{?collada} == 1 -DWITH_OPENCOLLADA:BOOL=on \ %else -DWITH_OPENCOLLADA:BOOL=off \ %endif %if 0%{?audaspace} == 1 -DWITH_SYSTEM_AUDASPACE:BOOL=on \ %endif -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 \ -DWITH_OPENIMAGEIO:BOOL=ON \ -DWITH_OPENCOLORIO:BOOL=ON \ %endif %endif -DWITH_PLAYER:BOOL=on \ -DWITH_INSTALL_PORTABLE:BOOL=OFF \ -DWITH_SYSTEM_GLEW:BOOL=ON \ -DWITH_SDL:BOOL=ON \ %ifnarch x86_64 -DSUPPORT_SSE2_BUILD=false \ -DWITH_RAYOPTIMIZATION:BOOL=OFF \ -DWITH_MOD_OCEANSIM:BOOL=OFF \ %else -DWITH_RAYOPTIMIZATION:BOOL=on \ -DWITH_MOD_OCEANSIM:BOOL=ON \ %endif -DCMAKE_VERBOSE_MAKEFILE=on \ -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=%{_includedir}/python$pver \ -DWITH_PYTHON_INSTALL_NUMPY=off export LDFLAGS="$LDFLAGS -lclew" pushd extern/libmv 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 # Build documentation pushd doc/doxygen doxygen -u Doxyfile doxygen Doxyfile popd mv doc/doxygen/html doc/ rm -rf doc/doxygen %endif %install echo "release version = %{_version}" # 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 appdata file mkdir -p %{buildroot}%{_datadir}/appdata/ install -D -m 0644 %{SOURCE9} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml 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 # 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 \ --version-string="%{version}" \ --help-option="-h" -n "a utility for previewing .blend files" \ -s 1 -m "User Commands" -S "Stichting Blender Foundation" -N -o blenderplayer.1 ./'blenderplayer -h ""' rm blenderplayer popd #cp -v %%{SOURCE5} %%{buildroot}%%{_mandir}/man1 %endif %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 %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 %post update-desktop-database >/dev/null 2>&1 ||: update-mime-database %{_datadir}/mime >/dev/null 2>&1 ||: touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1 ||: %postun update-desktop-database >/dev/null 2>&1 ||: update-mime-database %{_datadir}/mime >/dev/null 2>&1 ||: if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor >/dev/null 2>&1 ||: gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 ||: fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor >/dev/null 2>&1 ||: %files lang -f %{name}.lang %defattr (-, root, root) %{_datadir}/%{name}/%{_version}/datafiles/ %files %defattr (-, root, root) %{_bindir}/* %{_mandir}/man1/* %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/%{_version} %{_datadir}/%{name}/%{_version}/scripts/ %{_datadir}/applications/blender.desktop %{_datadir}/applications/x-blend.desktop %{_datadir}/icons/hicolor/*/apps/blender.png %{_datadir}/icons/hicolor/scalable/apps/blender.svg %{_datadir}/pixmaps/blender.svg %{_datadir}/pixmaps/blender.xpm %{_datadir}/pixmaps/blender.png %dir %{_datadir}/appdata %{_datadir}/appdata/*.appdata.xml %if %{documentation} == 0 %doc %{_docdir}/%{name} %else %files doc %defattr (-, root, root) %doc doc/ %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor