diff -up ./freecad.spec.base ./freecad.spec --- ./freecad.spec.base 2019-09-16 15:40:59.908156457 -0400 +++ ./freecad.spec 2019-09-16 15:41:46.564758799 -0400 @@ -44,17 +44,32 @@ BuildRequires: med-devel BuildRequires: mesa-libGLU-devel BuildRequires: netgen-mesher-devel BuildRequires: netgen-mesher-devel-private +BuildRequires: libusb-devel +%if 0%{?fedora} > 28 +BuildRequires: python3-pivy +BuildRequires: boost-python3 +BuildRequires: boost-python3-devel +BuildRequires: mesa-libEGL-devel +BuildRequires: python3-matplotlib +BuildRequires: python3 +BuildRequires: python3-devel +BuildRequires: python3-pyside +BuildRequires: pyside2-tools +BuildRequires: python3-pyside2-devel +BuildRequires: python3-shiboken2-devel +%else +BuildRequires: boost-python2 +BuildRequires: boost-python2-devel +BuildRequires: python2-pivy +BuildRequires: python2-matplotlib +BuildRequires: python2 +BuildRequires: python2-devel +BuildRequires: python2-pyside BuildRequires: pyside-tools -BuildRequires: python -BuildRequires: python-matplotlib -%if 0%{?fedora} < 30 -BuildRequires: python-pivy -%endif -BuildRequires: python-pyside BuildRequires: python-pyside-devel -BuildRequires: python2-devel -BuildRequires: qt-devel -BuildRequires: qt-webkit-devel +%endif +BuildRequires: qt5-devel +BuildRequires: qt5-qtwebkit-devel BuildRequires: shiboken BuildRequires: shiboken-devel BuildRequires: smesh @@ -65,14 +80,7 @@ BuildRequires: vtk-devel BuildRequires: xerces-c BuildRequires: xerces-c-devel BuildRequires: zlib-devel -%if 0%{?fedora} > 28 -BuildRequires: boost-python2 -BuildRequires: boost-python2-devel -BuildRequires: boost-python3 -BuildRequires: boost-python3-devel -BuildRequires: mesa-libEGL-devel -BuildRequires: python3-matplotlib -%endif +BuildRequires: pcl-devel # For appdata %if 0%{?fedora} @@ -88,12 +96,23 @@ Obsoletes: %{name}-doc < 0.13-5 # Needed for plugin support and is not a soname dependency. %if ! 0%{?rhel} <= 6 && "%{_arch}" != "ppc64" # python-pivy does not build on EPEL 6 ppc64. -Requires: python-pivy +%if 0%{?fedora} > 28 +Requires: python3-pivy +%else +Requires: python2-pivy +%endif %endif Requires: hicolor-icon-theme +%if 0%{?fedora} > 28 +Requires: python3-matplotlib +Requires: python3-collada +Requires: python3-pyside2 +Recommends: python3-pysolar +%else Requires: python-matplotlib Requires: python-collada Requires: python-pyside +%endif # plugins and private shared libs in %%{_libdir}/freecad/lib are private; # prevent private capabilities being advertised in Provides/Requires @@ -154,9 +173,18 @@ rm -rf build && mkdir build && cd build -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ -DRESOURCEDIR=%{_datadir}/%{name} \ -DFREECAD_USE_EXTERNAL_PIVY=TRUE \ + -DFREECAD_USE_PCL=TRUE \ + -DBUILD_QT5=ON \ + -DPYSIDE_INCLUDE_DIR=/usr/include/PySide2 \ +%if 0%{?fedora} > 28 + -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \ +%else + -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2 \ +%endif -DMEDFILE_INCLUDE_DIRS=%{MEDFILE_INCLUDE_DIRS} \ ../ +make fc_version sed -i 's,FCRevision \"Unknown\",FCRevision \"%{release} (Git)\",' src/Build/Version.h sed -i 's,FCRepositoryURL \"Unknown\",FCRepositoryURL \"git://github.com/FreeCAD/FreeCAD.git master\",' src/Build/Version.h @@ -179,8 +207,11 @@ mv %{buildroot}%{_libdir}/%{name}/share/ mkdir %{buildroot}%{_datadir}/applications/ mv %{buildroot}%{_libdir}/%{name}/share/applications/* %{buildroot}%{_datadir}/applications/ -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/ -mv %{buildroot}%{_libdir}/%{name}/share/icons/hicolor/scalable/apps/* %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/ +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/ +mv %{buildroot}%{_libdir}/%{name}/share/icons/hicolor/scalable/* %{buildroot}%{_datadir}/icons/hicolor/scalable/ + +mkdir -p %{buildroot}%{_datadir}/pixmaps/ +mv %{buildroot}%{_libdir}/%{name}/share/pixmaps/* %{buildroot}%{_datadir}/pixmaps/ mkdir -p %{buildroot}%{_datadir}/mime/packages/ mv %{buildroot}%{_libdir}/%{name}/share/mime/packages/* %{buildroot}%{_datadir}/mime/packages/ @@ -188,8 +219,8 @@ mv %{buildroot}%{_libdir}/%{name}/share/ pushd %{buildroot}%{_libdir}/%{name}/share/ rmdir metainfo/ rmdir applications/ -rmdir -p mime/packages/ -rmdir -p icons/hicolor/scalable/apps/ +rm -rf mime +rm -rf icons popd # Bug maintainers to keep %%{plugins} macro up to date. @@ -206,7 +237,7 @@ if [ -n "$new_plugins" ]; then fi # Make sure there are no entries in the plugins macro that don't match plugins for p in %{plugins}; do - if [ -z "`ls %{buildroot}%{_libdir}/%{name}/lib/$p*.so`" ]; then + if [ -z "`ls %{buildroot}%{_libdir}/%{name}/%{_lib}/$p*.so`" ]; then set +x echo -e "\n\n\n**** ERROR:\n" \ "\nExtra entry in %%{plugins} macro with no matching plugin:" \ @@ -246,11 +277,12 @@ fi %{_bindir}/* %dir %{_libdir}/%{name} %{_libdir}/%{name}/bin/ -%{_libdir}/%{name}/lib/ +%{_libdir}/%{name}/%{_lib}/ %{_libdir}/%{name}/Mod/ %{_libdir}/%{name}/Ext/ %{_datadir}/applications/* -%{_datadir}/icons/hicolor/scalable/apps/* +%{_datadir}/icons/hicolor/scalable/* +%{_datadir}/pixmaps/* %{_datadir}/appdata/* %{_datadir}/mime/packages/*