## START: Set by rpmautospec ## (rpmautospec version 0.6.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global blender_api 3.3 %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) %bcond_with clang %bcond_without ffmpeg # Needed to enable osl support for cycles rendering %bcond_without llvm %bcond_with openshading %bcond_with sdl %bcond_without system_eigen3 %bcond_with wayland %if 0%{?fedora} %ifarch x86_64 || aarch64 || ppc64le %global cyclesflag ON # Only available on x86_64 and aarch64 %ifarch x86_64 || aarch64 %bcond_without embree %bcond_without hidapi %ifarch x86_64 %bcond_without oidn %endif %bcond_without usd %endif %else %bcond_with embree %bcond_with hidapi %bcond_with oidn %bcond_with usd %endif %else %global cyclesflag OFF %endif Name: blender Epoch: 1 Version: 3.3.19 Release: %autorelease Summary: 3D modeling, animation, rendering and post-production License: GPLv2 URL: http://www.blender.org Source0: http://download.%{name}.org/source/%{name}-%{version}.tar.xz Source1: macros.%{name} # Development stuff BuildRequires: boost-devel %if %{with clang} BuildRequires: clang %endif %if %{with llvm} BuildRequires: llvm-devel %endif BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: git-core BuildRequires: libharu-devel BuildRequires: libtool #BuildRequires: pkgconfig(blosc) %if %{with system_eigen3} BuildRequires: pkgconfig(eigen3) %endif BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(gmp) %if %{with hidapi} BuildRequires: pkgconfig(hidapi-hidraw) %endif BuildRequires: pkgconfig(jemalloc) BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(openssl) #BuildRequires: pkgconfig(pugixml) BuildRequires: pkgconfig(python3) >= 3.7 %if %{with wayland} BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(xkbcommon) %endif BuildRequires: pkgconfig(xxf86vm) BuildRequires: python3dist(idna) BuildRequires: python3dist(numpy) BuildRequires: python3dist(requests) BuildRequires: python3dist(setuptools) BuildRequires: subversion-devel # Compression stuff BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(lzo2) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libzstd) # 3D modeling stuff #BuildRequires: cmake(ceres) %if %{with embree} BuildRequires: cmake(embree) %endif #BuildRequires: opensubdiv-devel %if %{with openshading} # Use oslc compiler BuildRequires: openshadinglanguage-common-headers BuildRequires: pkgconfig(oslcomp) %endif %if %{with oidn} BuildRequires: cmake(OpenImageDenoise) %endif BuildRequires: OpenImageIO-devel BuildRequires: openxr-devel BuildRequires: openxr-libs BuildRequires: potrace BuildRequires: openCOLLADA-devel >= svn825 BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(ftgl) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(glut) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glu) #BuildRequires: openxr-libs #BuildRequires: pkgconfig(openxr) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xrender) #BuildRequires: pkgconfig(ode) BuildRequires: pkgconfig(sdl2) %if %{with usd} BuildRequires: usd-devel %endif BuildRequires: pkgconfig(xproto) # Picture/Video stuff #BuildRequires: cmake(Alembic) %if %{with ffmpeg} BuildRequires: ffmpeg-free-devel BuildRequires: libavdevice-free-devel BuildRequires: libavformat-free-devel %endif BuildRequires: lame-devel #BuildRequires: libspnav-devel #BuildRequires: openvdb-devel BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(libwebp) # OpenColorIO 2 and up required #BuildRequires: pkgconfig(OpenColorIO) > 1 %if 0%{?fedora} > 34 BuildRequires: cmake(Imath) BuildRequires: cmake(OpenEXR) %else BuildRequires: pkgconfig(OpenEXR) %endif #BuildRequires: pkgconfig(OpenImageIO) BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(tbb) #BuildRequires: potrace-devel # Audio stuff BuildRequires: pkgconfig(ao) BuildRequires: pkgconfig(flac) #BuildRequires: pkgconfig(freealut) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(samplerate) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(vorbis) # Typography stuff BuildRequires: fontpackages-devel BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(tinyxml) # Appstream stuff BuildRequires: libappstream-glib Requires: google-droid-sans-fonts Requires: hicolor-icon-theme Requires: python3dist(requests) Requires: python3dist(numpy) Requires: shared-mime-info Provides: blender(ABI) = %{blender_api} # Obsolete the standalone Blender player retired by upstream Obsoletes: blenderplayer < 1:2.80-1 Provides: blenderplayer = 1:2.80-1 # Obsoletes separate Blender Fonts - rhbz#1889049 Obsoletes: blender-fonts < 1:2.91.0-5 # Starting from 2.90, Blender support only 64-bits architectures ExcludeArch: %{ix86} %{arm} %description Blender is the essential software solution you need for 3D, from modeling, animation, rendering and post-production to interactive creation and playback. Professionals and novices can easily and inexpensively publish stand-alone, secure, multi-platform content to the web, CD-ROMs, and other media. %package rpm-macros Summary: RPM macros to build third-party blender addons packages BuildArch: noarch %description rpm-macros This package provides rpm macros to support the creation of third-party addon packages to extend Blender. %prep %autosetup -p1 # Delete the bundled FindOpenJPEG to make find_package use the system version # instead (the local version hardcodes the openjpeg version so it is not update # proof) rm -f build_files/cmake/Modules/FindOpenJPEG.cmake # Fix all Python shebangs recursively in . %py3_shebang_fix . # Workaround for eigen3 trying to enforce power10 when fedora only supports power8. # https://bugzilla.redhat.com/show_bug.cgi?id=1996330 %ifarch ppc64 ppc64le %global optflags_orig %optflags %global optflags %optflags_orig -DEIGEN_ALTIVEC_DISABLE_MMA %endif # Work around CMake boost module needing the python version to find the library sed -i "s/date_time/date_time python%{python3_version_nodots}/" \ build_files/cmake/platform/platform_unix.cmake %build # Use blender lite template for EPEL as starting point %cmake \ -C./build_files/cmake/config/blender_release.cmake . \ %if %{with ffmpeg} -DWITH_CODEC_FFMPEG=ON \ -D_ffmpeg_INCLUDE_DIR=%{_includedir}/ffmpeg \ %else -DWITH_CODEC_FFMPEG=OFF \ %endif %if %{with openshading} -D_osl_LIBRARIES=%{_libdir} \ -DOSL_INCLUDE_DIR=%{_includedir} \ -DOSL_COMPILER=%{_bindir}/oslc \ %endif -DBOOST_ROOT=%{_prefix} \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS="%{optflags} -Wl,--as-needed" \ -DCMAKE_CXX_FLAGS="%{optflags} -Wl,--as-needed" \ -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_SKIP_RPATH=ON \ -DOpenGL_GL_PREFERENCE=GLVND \ -DPYTHON_VERSION=%{python3_version} \ -DWITH_CYCLES=%{cyclesflag} \ %ifnarch x86_64 -DWITH_CYCLES_EMBREE=OFF \ %endif -DWITH_DOC_MANPAGE=ON \ %if %{with wayland} -DWITH_GHOST_WAYLAND=ON \ -DWITH_GL_EGL=ON \ %endif -DWITH_INSTALL_PORTABLE=OFF \ -DWITH_INTERNATIONAL=ON \ -DWITH_PYTHON_INSTALL=OFF \ -DWITH_PYTHON_INSTALL_REQUESTS=OFF \ %if %{with sdl} -DWITH_GHOST_SDL=ON \ %endif %if %{with system_eigen3} -DWITH_SYSTEM_EIGEN3=ON \ %endif -DWITH_SYSTEM_GLEW=ON \ %if %{with usd} -DWITH_USD=ON \ -DUSD_LIBRARY=%{_libdir}/libusd_usd_ms.so \ %else -DWITH_USD=OFF \ %endif -DWITH_OPENCOLLADA=ON \ -DXR_OPENXR_SDK_LOADER_LIBRARY=%{_libdir}/libopenxr_loader.so.1 %cmake_build %install %cmake_install # Deal with docs in the files section rm -rf %{buildroot}%{_docdir}/%{name}/* # rpm macros mkdir -p %{buildroot}%{macrosdir} sed -e 's/@VERSION@/%{blender_api}/g' %{SOURCE1} > %{buildroot}%{macrosdir}/macros.%{name} # AppData install -p -m 644 -D release/freedesktop/org.%{name}.Blender.appdata.xml \ %{buildroot}%{_metainfodir}/org.%{name}.Blender.appdata.xml # Localization #%%find_lang %%{name} # rpmlint fixes find %{buildroot}%{_datadir}/%{name}/%{blender_api}/scripts -name "*.py" -exec chmod 755 {} \; %check desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/org.%{name}.Blender.appdata.xml %files #%%files -f %%{name}.lang %license COPYING %license doc/license/*-license.txt %license release/text/copyright.txt %doc release/text/readme.html %{_bindir}/%{name} %{_bindir}/%{name}-thumbnailer %{_datadir}/applications/%{name}.desktop #%%exclude %%{_datadir}/%%{name}/%%{blender_api}/datafiles/locale/ %{_datadir}/%{name}/ %{_datadir}/icons/hicolor/*/apps/%{name}*.* %{_mandir}/man1/%{name}.* %{_metainfodir}/org.%{name}.Blender.appdata.xml %files rpm-macros %{macrosdir}/macros.%{name} %changelog ## START: Generated by rpmautospec * Mon Jun 10 2024 Luya Tshimbalanga - 1:3.3.19-1 - Update to 3.3.19 * Sun Apr 21 2024 Luya Tshimbalanga - 1:3.3.18-1 - Update to 3.3.18 LTS * Sat Dec 30 2023 Luya Tshimbalanga - 1:3.3.14-1 - Update to 3.3.14 * Tue Dec 12 2023 Luya Tshimbalanga - 1:3.3.12-1 - Update to 3.3.12 * Wed Sep 27 2023 Luya Tshimbalanga - 1:3.3.11-1 - Updafte to 3.3.11 * Fri Sep 08 2023 Luya Tshimbalanga - 1:3.3.10-1 - Update to 3.3.10 * Sat Jul 01 2023 Luya Tshimbalanga - 1:3.3.8-1 - Update to 3.3.8 * Wed May 24 2023 Luya Tshimbalanga - 1:3.3.7-1 - Update to 3.3.7 * Mon Apr 24 2023 Luya Tshimbalanga - 1:3.3.6-1 - Update to 3.3.6 * Wed Apr 05 2023 Luya Tshimbalanga - 1:3.3.5-1 - Update to blender 3.3.5 * Tue Jan 31 2023 Luya Tshimbalanga - 1:3.3.3-4 - Disable mma for ppc64le * Tue Jan 31 2023 Luya Tshimbalanga - 1:3.3.3-3 - Update sources * Tue Jan 31 2023 Luya Tshimbalanga - 1:3.3.3-2 - Add macros file * Tue Jan 31 2023 Luya Tshimbalanga - 1:3.3.3-1 - Initial release for EPEL ## END: Generated by rpmautospec