swt2c / rpms / LuxRender

Forked from rpms/LuxRender 5 years ago
Clone
Blob Blame History Raw
# [Fedora] Turn off the brp-python-bytecompile script 
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')

%global hash0 b3f85cf7742f
%global hash1 885740dce55a
%global hash2 61352e6aae3f


Name:           LuxRender
Version:        1.6
Release:        8%{?dist}
Summary:        Lux Renderer, an unbiased rendering system

License:        GPLv3+ and BSD
URL:            http://www.luxrender.net
#Taken from http://src.luxrender.net/lux/archive/XXXXX.tar.bz2 AKA said release
Source0:        http://src.luxrender.net/lux/archive/luxrender-lux-%{hash0}.tar.bz2
Source1:        http://src.luxrender.net/luxblend25/archive/luxrender-luxblend25-%{hash1}.tar.bz2
Source2:        http://src.luxrender.net/luxrays/file/luxrender-luxrays-%{hash2}.tar.bz2
Source3:        luxblend-default.cfg
Source4:	luxrender.appdata.xml
Source5:	luxrender-blender.metainfo.xml

#LuxRender use intensively SSE3
#ExclusiveArch:	%{ix86} x86_64 ia64
ExclusiveArch:	x86_64

BuildRequires:  desktop-file-utils
BuildRequires:  doxygen
BuildRequires:  cmake
BuildRequires:  dos2unix
BuildRequires:	gcc-c++
BuildRequires:  bison
BuildRequires:  boost-devel
BuildRequires:  embree-devel
BuildRequires:  fftw-devel
BuildRequires:  flex
BuildRequires:  fltk-devel
BuildRequires:  freeglut-devel
BuildRequires:  freeimage-devel
BuildRequires:  glew-devel
BuildRequires:  ilmbase-devel
BuildRequires:  qt4-devel
BuildRequires:  libappstream-glib
BuildRequires:  libpng-devel
BuildRequires:  libjpeg-turbo-devel
BuildRequires:  libtiff-devel
BuildRequires:  OpenEXR-devel
BuildRequires:	OpenImageIO-devel
BuildRequires:  python3-devel
BuildRequires:  wxGTK-devel
BuildRequires:  gtk3-devel
BuildRequires:  libXdamage-devel
BuildRequires:  libXmu-devel
BuildRequires:	blender-rpm-macros
BuildRequires:  opencl-headers
BuildRequires:  ocl-icd-devel

Requires:  %{name}-core = %{version}-%{release}


%description
LuxRender is a rendering system for physically correct image synthesis.

%package lib
Summary:        Libraries for %{name}

%description lib
The %{name}-lib package contains shared library for %{name}.

%package        core
Summary:        Core binaries for %{name}
Requires:       %{name}-lib%{?_isa} = %{version}-%{release}

%description    core
The %{name}-core package contains core binaries for using %{name}.

%package        blender
Summary:        Blender export plugin to %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:	blender(ABI) = %{blender_api}
BuildArch:	noarch

%description    blender
The %{name}-blender package contains the plugin for Blender
to export into %{name}

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}-lib%{?_isa} = %{version}-%{release}
Provides:       %{name}-devel-docs = %{version}-%{release}
Obsoletes:      %{name}-devel-docs < 0.7

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.



%prep
%autosetup -n luxrender-lux-%{hash0}
%autosetup -D -T -a 1 -n luxrender-lux-%{hash0}
%autosetup -D -T -a 2 -n luxrender-lux-%{hash0}

#Disable tweaking
%if 0
sed -i -e 's/-O3//' CMakeLists.txt
%ifarch i686
sed -i -e 's/-msse2/-msse/' CMakeLists.txt
%endif
%ifnarch x86_64 ia64
sed -i -e 's/-msse2//' CMakeLists.txt
%endif
%ifnarch %{ix86} x86_64 ia64
sed -i -e 's/-mfpmath=sse//' CMakeLists.txt
%endif
%endif

#Building luxrays
%build
mkdir -p luxrender-luxrays-%{hash2}
pushd luxrender-luxrays-%{hash2}

%cmake \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
  -DCMAKE_CXX_FLAGS="$CXXFLAGS -DLUXRAYS_DISABLE_OPENCL=0"
%make_build VERBOSE=1
popd


#Building lux
%cmake \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
  -DCMAKE_CXX_FLAGS="$CXXFLAGS -DLUXRAYS_DISABLE_OPENCL=0" \
  -DLUXCORE_INCLUDE_DIRS=%{_builddir}/luxrender-lux-%{hash0}/luxrender-luxrays-%{hash2}/include \
  -DLUXCORE_LIBRARY=%{_builddir}/luxrender-lux-%{hash0}/luxrender-luxrays-%{hash2}/lib/libluxcore.a \
  -DLUXRAYS_INCLUDE_DIRS=%{_builddir}/luxrender-lux-%{hash0}/luxrender-luxrays-%{hash2}/include \
  -DLUXRAYS_LIBRARY=%{_builddir}/luxrender-lux-%{hash0}/luxrender-luxrays-%{hash2}/lib/libluxrays.a \
  -DSLG_INCLUDE_DIRS=%{_builddir}/luxrender-lux-%{hash0}/luxrender-luxrays-%{hash2}/include \
  -DSLG_LIBRARY=%{_builddir}/luxrender-lux-%{hash0}/luxrender-luxrays-%{hash2}/lib/libsmallluxgpu.a \
  -DLUXRAYS_DISABLE_OPENCL:BOOL=OFF
%make_build VERBOSE=1


%install
%make_install

desktop-file-install --vendor "" --delete-original \
  --dir %{buildroot}%{_datadir}/applications \
  --remove-category Application \
  %{buildroot}%{_datadir}/applications/luxrender.desktop

# Import add-ons and preset
mkdir -p %{buildroot}%{blender_addons}
mkdir -p %{buildroot}%{blender_preset}
cp -pr luxrender-luxblend25-%{hash1}/src/luxrender \
  %{buildroot}%{blender_addons}/
cp -pr luxrender-luxblend25-%{hash1}/src/presets/luxrender \
  %{buildroot}%{blender_preset}/

# Install default configuration
mkdir -p %{buildroot}%{blender_libdir}/scripts/bpydata/config
install -pm 0644 %{SOURCE3} \
  %{buildroot}%{blender_libdir}/scripts/bpydata/config/luxblend-default.cfg


# AppData
# BugReportURL: http://www.luxrender.net/mantis/view.php?id=1540
install -p -m 644 -D %{SOURCE4} %{buildroot}%{_datadir}/metainfo/luxrender.appdata.xml
install -p -m 644 -D %{SOURCE5} %{buildroot}%{_datadir}/metainfo/luxrender-blender.metainfo.xml

%check
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/luxrender.appdata.xml
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/luxrender-blender.metainfo.xml


%post 
%if 0%{?fedora} == 24 || 0%{?fedora} == 23 || 0%{?rhel} == 7
/usr/bin/update-desktop-database &> /dev/null || :
%endif
/bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
%if 0%{?fedora} == 23 || 0%{?rhel} == 7
/bin/touch --no-create %{_datadir}/mime/packages &> /dev/null || :
%endif
lib -p /sbin/ldconfig

%postun 
%if 0%{?fedora} == 24 || 0%{?fedora} == 23 || 0%{?rhel} == 7
/usr/bin/update-desktop-database &> /dev/null || :
%endif
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
%if 0%{?fedora} == 23 || 0%{?rhel} == 7
    /usr/bin/update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
%endif
lib -p /sbin/ldconfig


%files
%doc AUTHORS.txt COPYING.txt
%{_bindir}/luxrender
%{_datadir}/pixmaps/luxrender.svg
%{_datadir}/metainfo/luxrender.appdata.xml
%{_datadir}/applications/luxrender.desktop

%files lib
%{_libdir}/*.so

%files core
%{_bindir}/luxconsole
%{_bindir}/luxmerger

%files blender
%{_datadir}/metainfo/luxrender-blender.metainfo.xml
%{blender_addons}/luxrender/
%{blender_preset}/luxrender/
%{blender_libdir}/scripts/bpydata/config/luxblend-default.cfg

%files devel
%{_includedir}/luxrender/


%changelog
* Tue Feb 14 2017 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-8
- Fix appdata naming file
- Add missing metainfo files

* Sun Feb 12 2017 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-7
- Include presets for Blender add-on

* Tue Feb 07 2017 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-6
- Split out appstream metadata into their own
- Update scriptlets as per packaging guidelines (mimeinfo only on RHEL 7 and
  Fedora 23, desktop database only on RHEL 7, Fedora 23 and 24).
- Use noarch for blender add-on
- Install preset
- Drop unused patches

* Tue Feb 07 2017 Björn Esser <besser82@fedoraproject.org> - 1.6-5
- Rebuilt for Boost 1.63

* Wed Nov 23 2016 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-4
- Rebuild for embree 2.13.0

* Thu Oct 27 2016 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-3
- Rebuild from Blender 2.78a

* Wed Oct 19 2016 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-2
- Built on embree 2.12 addressing large memory consumption

* Mon Oct 17 2016 Luya Tshimbalanga <luya@fedoraproject.org> - 1.6-1
- Updated to 1.6
- Dropped patches
- Added embree as dependencies
- Set exclusivity to 64 bit architecture due to embree requirement

* Sun Oct 02 2016 Luya Tshimbalanga <luya@fedoraproject.org> - 1.4-1
- Rebuilt for blender 2.78 version
- Updated to 1.4
- Added OpenImageIO dependency

* Mon Aug 01 2016 Luya Tshimbalanga <luya@fedoraproject.org> - 1.3.1-32
- Rebuilt for latest blender version

* Mon May 16 2016 Jonathan Wakely <jwakely@redhat.com> - 1.3.1-31
- Rebuilt for linker errors in boost (#1331983)

* Tue Mar 08 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 1.3.1-30
- Fix FTBFS with GCC 6 (#1307281)

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Jan 25 2016 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-28
- Rebuilt to fix dep. issues

* Thu Jan 14 2016 Jonathan Wakely <jwakely@redhat.com> 1.3.1-27
- Patched and rebuilt for Boost 1.60

* Wed Oct 14 2015 Nicolas Chauvet <kwizart@gmail.com> - 1.3.1-26
- Rebuilt for blender

* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 1.3.1-25
- Rebuilt for Boost 1.59

* Wed Aug 05 2015 Jonathan Wakely <jwakely@redhat.com> 1.3.1-24
- Rebuilt for Boost 1.58

* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-23
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159

* Mon Jul 27 2015 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-22
- Rebuilt for blender-2.75

* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 1.3.1-21
- rebuild for Boost 1.58

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.3.1-19
- Rebuilt for GCC 5 C++11 ABI change

* Thu Apr  2 2015 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-18
- Rebuilt again to solve dependencies issues

* Wed Apr  1 2015 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-17
- Rebuilt for blender-2.74

* Thu Mar 26 2015 Richard Hughes <rhughes@redhat.com> - 1.3.1-16
- Add an AppData file for the software center

* Thu Feb 19 2015 Rex Dieter <rdieter@fedoraproject.org> 1.3.1-15
- rebuild (fltk)

* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 1.3.1-14
- Rebuild for boost 1.57.0

* Thu Jan  8 2015 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-13
- Rebuilt for new blender release

* Wed Nov 26 2014 Rex Dieter <rdieter@fedoraproject.org> - 1.3.1-12
- rebuild(openexr), s/qt-devel/qt4-devel/

* Thu Oct  9 2014 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-11
- Rebuilt for blender-2.72

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sun Jun 29 2014 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-9
- Rebuilt for blender-2.71

* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 1.3.1-7
- Rebuild for boost 1.55.0

* Sun Mar 23 2014 Jochen Schmitt <Jochen herr-schmitt de> - 1.3.1-6
- Rebuilt for blender-2.70

* Thu Jan 02 2014 François Cami <fcami@fedoraproject.org> - 1.3.1-5
- Enable OpenCL.

* Wed Jan 01 2014 François Cami <fcami@fedoraproject.org> - 1.3.1-4
- Fix FTBS.

* Tue Dec 10 2013 Björn Esser <bjoern.esser@gmail.com> - 1.3.1-3
- rebuilt to fix several broken dependencies in Rawhide

* Wed Nov 27 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.3.1-2
- rebuild (openexr)

* Tue Nov 19 2013 Nicolas Chauvet <kwizart@gmail.com> - 1.3.1-1
- Update to 1.3.1

* Thu Oct 31 2013 Jochen Schmitt <Jochen herr-schmitt de> - 1.0-16
- Rebuilt for blender-2.69

* Sat Sep 14 2013 Bruno Wolff III <bruno@wolff.to> 1.0-15
- Rebuild for ilmbase related soname bumps

* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Sat Jul 27 2013 pmachata@redhat.com - 1.0-13
- Rebuild for boost 1.54.0

* Sat Jul 20 2013 Jochen Schmitt <Jochen herr-schmitt de> - 1.0-12
- Rebuilt for blender-2.68

* Thu May 16 2013 Jochen Schmitt <Jochen herr-schmitt de> - 1.0-11
- Rebuilt for blender-2.67

* Sun Mar 10 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.0-10
- rebuild (OpenEXR)

* Sun Feb 24 2013 Jochen Schmitt <Jochen herr-schmitt de> - 1.0-9
- Rebuilt for blender-2.66

* Sat Feb 23 2013 Kevin Fenzi <kevin@scrye.com> - 1.0-8
- Rebuild for broken deps in rawhide

* Sun Feb 10 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.0-7
- Rebuild for Boost-1.53.0

* Sat Feb 09 2013 Denis Arnaud <denis.arnaud_fedora@m4x.org> - 1.0-6
- Rebuild for Boost-1.53.0