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/*
 
