%define oname FreeCAD Summary: FreeCAD is a general purpose 3D CAD modeler Name: freecad Version: 0.19.4 Release: 1 License: GPLv2+ and LGPLv2+ Group: Graphics URL: http://www.freecadweb.org/ Source0: https://github.com/FreeCAD/FreeCAD/archive/%{version}/%{oname}-%{version}.tar.gz Source1: %{name}.desktop Source2: %{name}.1 Source3: %{name}.rpmlintrc BuildRequires: boost-devel >= 1.33.1 BuildRequires: cmake BuildRequires: eigen3 >= 3.3.1 BuildRequires: gcc-gfortran BuildRequires: libspnav-devel BuildRequires: med-devel BuildRequires: opencascade-devel >= 5.2 BuildRequires: openmpi-devel BuildRequires: pkgconfig(Coin) >= 2.4.0 BuildRequires: pkgconfig(SoQt) >= 1.2.0 BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(gstreamer-0.10) BuildRequires: pkgconfig(jsoncpp) BuildRequires: pkgconfig(ode) BuildRequires: pkgconfig(opencv) BuildRequires: pkgconfig(pyside) BuildRequires: pkgconfig(python) >= 2.5 BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(shiboken) BuildRequires: pkgconfig(xerces-c) >= 2.6 BuildRequires: pyside-tools BuildRequires: python-matplotlib BuildRequires: python-vtk BuildRequires: qt4-devel BuildRequires: tcl-vtk BuildRequires: tcl-vtk-qt BuildRequires: vtk-devel BuildRequires: vtk-test-suite BuildRequires: swig BuildRequires: boost-devel # Qt5 + Python3 BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5OpenGL) BuildRequires: pkgconfig(Qt5WebEngine) BuildRequires: pkgconfig(Qt5XmlPatterns) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(Qt5Xml) BuildRequires: pkgconfig(Qt5PrintSupport) BuildRequires: pkgconfig(Qt5Svg) BuildRequires: pkgconfig(Qt5UiTools) BuildRequires: pkgconfig(Qt5Concurrent) BuildRequires: pkgconfig(Qt5WebKitWidgets) BuildRequires: python3-matplotlib #BuildRequires: python3-pivy BuildRequires: python3-ply BuildRequires: python3-qt5-core #python3-pyside2.qtcore BuildRequires: python3-qt5-gui #python3-pyside2.qtgui BuildRequires: python3-qt5-svg #python3-pyside2.qtsvg BuildRequires: python3-qt5-widgets #python3-pyside2.qtwidgets #BuildRequires: python3-pyside2uic # shiboken2 # PySide2 # PySide2Tools Requires: pyside %description FreeCAD will be a general purpose parametric 3D CAD modeler. The development is completely Open Source. It is a feature based parametric modeler with a modular software architecture which makes it easy to provide additional functionality without modifying the core system. As with many modern 3D CAD modelers it has many 2D component in order to extract design detail from the 3D model to create 2D production drawings, but direct 2D drawing (e.g. AutoCAD LT) is not the focus, neither are animation and organic shapes (e.g. Maya, 3D StudioMAX, Blender and Cinema 4D). %files %doc ChangeLog.txt LICENSE data/License.txt build/doc/* %{_bindir}/* %{_datadir}/%{name}/ %{_datadir}/applications/%{name}.desktop %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg %{_libdir}/%{name}/*.so %{_libdir}/%{name}/Mod/ %{_libdir}/%{name}/bin/ %{_libdir}/%{name}/Ext/ %{_libdir}/%{name}/share/ %{_mandir}/man1/*.1* #---------------------------------------------------------------------------- %package devel Summary: Devel package for %{name} Requires: %{name} = %{EVRD} Group: Development/C++ %description devel Development files for FreeCAD. %files devel %doc ChangeLog.txt LICENSE %{_libdir}/%{name}/include/ #---------------------------------------------------------------------------- %prep %setup -qn %{oname}-%{version} #%%apply_patches # Fix bogus file perms find ./src -name "*.py*" |xargs chmod 755 find ./src -name "*.h*" |xargs chmod 644 find ./src -name "*.cpp*" |xargs chmod 644 %build #%%define Werror_cflags %%{nil} #cmake_qt4 \ #cmake_qt5 \ # -DBUILD_QT5=ON \ # -DPYTHON_EXECUTABLE=/usr/bin/python3 \ %cmake_qt4 \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \ -DCMAKE_INSTALL_INCLUDEDIR=%{_libdir}/%{name}/include \ -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \ -DCMAKE_INSTALL_LIBDIR=%{_libdir}/%{name} \ -DRESOURCEDIR=%{_datadir}/%{name} %make %install %makeinstall_std -C build # Symlink binaries to /usr/bin mkdir -p %{buildroot}%{_bindir} pushd %{buildroot}%{_bindir} ln -s ../%{_lib}/freecad/bin/FreeCAD . ln -s ../%{_lib}/freecad/bin/FreeCADCmd . popd # Fix bogus perms chmod +x %{buildroot}%{_libdir}/%{name}/Mod/PartDesign/Scripts/*.py # Install and fix .desktop file desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} sed -i 's,@lib@,%{_lib},g' %{buildroot}%{_datadir}/applications/%{name}.desktop # Install desktop icon install -pD -m 0644 src/Gui/Icons/%{name}.svg \ %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg # Install man page install -pD -m 0644 %{SOURCE2} %{buildroot}%{_mandir}/man1/%{name}.1 # Symlink manpage to other binary names pushd %{buildroot}%{_mandir}/man1 ln -sf %{name}.1.gz FreeCAD.1.gz. ln -sf %{name}.1.gz FreeCADCmd.1.gz popd # FIXME: Apparently there are no more include files to install. # For now keep the devel package and manually create the needed (empty) dir mkdir -p %{buildroot}%{_libdir}/%{name}/include