freecad/freecad.spec

134 lines
4.3 KiB
RPMSpec
Raw Permalink Normal View History

Name: freecad
Version: 0.21.2
Release: 1mamba
Summary: a parametric 3D modeler
Group: Graphical Desktop/Applications/Graphics
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.freecad.org/
Source: https://github.com/FreeCAD/FreeCAD.git/%{version}/FreeCAD-%{version}.tar.bz2
Patch0: freecad-0.21.2-vtk-9.3.0.patch
Patch1: freecad-0.21.2-desktop-icon-under-wayland.patch
Patch2: freecad-0.21.2-fix-qt6-issues-in-addon-manager.patch
Patch3: freecad-0.21.2-fix_navicube_drawing_and_interaction_with_qt6.patch
Patch4: freecad-0.21.2-boost-1.85.0.patch
Patch5: freecad-0.21.2-boost-1.85.0-2.patch
License: LGPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libX11-devel
BuildRequires: libboost-devel
BuildRequires: libcoin-devel
BuildRequires: libfmt-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libglew-devel
BuildRequires: libglu-devel
BuildRequires: libglvnd-devel
BuildRequires: libgomp-devel
BuildRequires: libhdf5-devel
BuildRequires: libjsoncpp-devel
BuildRequires: libmed-devel
BuildRequires: libmpi-devel
BuildRequires: libocct-devel
BuildRequires: libpython3-devel
BuildRequires: libspnav-devel
BuildRequires: libstdc++6-devel
BuildRequires: libtbb-devel
BuildRequires: libvtk-devel
BuildRequires: libxerces-c-devel
BuildRequires: libz-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6-qtpositioning-devel
BuildRequires: qt6-qtsvg-devel
BuildRequires: qt6-qttools-devel
BuildRequires: qt6-qtwebchannel-devel
BuildRequires: qt6-qtwebengine-devel
## AUTOBUILDREQ-END
BuildRequires: oce
BuildRequires: libboost-devel
BuildRequires: cmake
Obsoletes: Free-CAD < 0.21.2
Obsoletes: libFree-CAD < 0.21.2
Obsoletes: libFree-CAD-devel < 0.21.2
%description
FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size.
Parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters.
FreeCAD is open-source and highly customizable, scriptable and extensible.
Can reads and writes many open file formats such as STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE and many others.
%debug_package
%prep
%setup -q -n FreeCAD-%{version}
#-D -T
#:<< _EOF
%patch 0 -p1 -b .vtk-9.3.0
%patch 1 -p1 -b .desktop-icon-under-wayland
%patch 2 -p1 -b .fix-qt6-issues-in-addon-manager
%patch 3 -p1 -b .fix_navicube_drawing_and_interaction_with_qt6
%patch 4 -p1 -b .boost-1.85.0
%patch 5 -p1 -b .boost-1.85.0-2
%build
#:<< __EOF
%cmake -d build \
-DBUILD_FLAT_MESH=ON \
-DBUILD_ENABLE_CXX_STD=C++17 \
-DBUILD_FEM_VTK=TRUE \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_INSTALL_BINDIR=%{_libdir}/freecad/bin \
-DCMAKE_INSTALL_DATADIR=%{_datadir}/freecad \
-DCMAKE_INSTALL_DOCDIR=%{_datadir}/freecad/doc \
-DCMAKE_INSTALL_LIBDIR=%{_datadir}/freecad/lib \
-DCMAKE_INSTALL_PREFIX=%{_datadir}/freecad \
-DFREECAD_USE_EXTERNAL_PIVY=ON \
-DFREECAD_USE_OCC_VARIANT='Official Version' \
-DFREECAD_USE_QT_FILEDIALOG=ON \
-DFREECAD_QT_VERSION=6 \
-DCMAKE_INSTALL_DOCDIR:PATH="share/freecad/doc" \
-DCMAKE_INSTALL_DATADIR:PATH="share/freecad" \
-DCMAKE_BUILD_TYPE=Release
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall -C build
install -d %{buildroot}%{_bindir}
ln -sf ../%{_lib}/freecad/bin/FreeCAD %{buildroot}%{_bindir}/freecad
ln -sf ../%{_lib}/freecad/bin/FreeCAD %{buildroot}%{_bindir}/FreeCAD
ln -sf ../%{_lib}/freecad/bin/FreeCADCmd %{buildroot}%{_bindir}/freecadcmd
ln -sf ../%{_lib}/freecad/bin/FreeCADCmd %{buildroot}%{_bindir}/FreeCADCmd
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%files
%defattr(-,root,root)
%{_bindir}/FreeCAD
%{_bindir}/FreeCADCmd
%{_bindir}/freecad
%{_bindir}/freecadcmd
%dir %{_libdir}/freecad
%dir %{_libdir}/freecad/bin
%{_libdir}/freecad/bin/FreeCAD
%{_libdir}/freecad/bin/FreeCADCmd
%dir %{_datadir}/freecad
%{_datadir}/freecad/*
%changelog
* Sun Jul 28 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 0.21.2-1mamba
- update to 0.21.2
* Tue Jun 14 2016 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 0.17_pre-1mamba
- update to 0.17_pre
* Mon Jun 13 2016 Ercole 'ercolinux' Carpanetto <ercole69@gmail.com> 0.16-1mamba
- package created using the webbuild interface