# The 2.3 release won't build with a current gcc/glibc, use snapshot from 2.x branch # (contains several small bug fixes) %global commit b1d87bf284b32e875c8edba592113e691ea10bcd %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global gitdate 20170416 %global commit1 8f958955f54668c142ded760dc951ffd16d9c71b %global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) Name : solvespace Version : 2.3 Release : 3.%{gitdate}git%{shortcommit}%{?dist} Summary : Parametric 2d/3d CAD License : GPLv3 URL : https://github.com/solvespace/solvespace Source0 : https://github.com/solvespace/solvespace/tarball/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz Source1 : https://github.com/solvespace/libdxfrw/tarball/%{commit1}/libdxfrw-%{shortcommit1}.tar.gz # tarball doesn't contain a .git directory, so have to hardcode the commit hash # see comment in CMakeLists.txt Patch0 : %{name}-%{version}-%{shortcommit}-git-hash.patch BuildRequires : gcc BuildRequires : gcc-c++ BuildRequires : cmake BuildRequires : mesa-libGL-devel BuildRequires : mesa-libGLU-devel BuildRequires : libspnav-devel BuildRequires : pkgconfig(zlib) BuildRequires : pkgconfig(libpng) BuildRequires : pkgconfig(cairo) BuildRequires : pkgconfig(fontconfig) BuildRequires : pkgconfig(glew) BuildRequires : pkgconfig(freetype2) BuildRequires : pkgconfig(json-c) BuildRequires : pkgconfig(gtkmm-2.4) BuildRequires : pkgconfig(pangomm-1.4) BuildRequires : pkgconfig(x11) BuildRequires : desktop-file-utils Requires : hicolor-icon-theme # solvespace uses its own forked version of libdxfrw Provides : bundled(libdxfrw) = 0.6.3 %description SolveSpace is a parametric 2d/3d CAD program. Applications include modeling 2d and 3d parts, 3d-printed parts, preparing CAM data, mechanism design and plane and solid geometry. %package -n libslvs Summary: SolveSpace geometric kernel %description -n libslvs SolveSpace is a parametric 2d/3d CAD proram. libslvs cotains the geometric kernel of SolveSpace built as a library. %package -n libslvs-devel Summary: Development files for SolveSpace geometric kernel Requires: libslvs%{?_isa} = %{version}-%{release} %description -n libslvs-devel SolveSpace is a parametric 2d/3d CAD program. libslvs contains the development files for the library version of the SolveSpace geometric kernel. %prep %autosetup -n solvespace-%{name}-%{shortcommit} -a 1 # libdxfrw git submodule is not included in the tarball, insert manually rmdir extlib/libdxfrw mv solvespace-libdxfrw-%{shortcommit1} extlib/libdxfrw %build mkdir build cd build %cmake .. %make_build %install cd build %make_install %check desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop %post -n libslvs -p /sbin/ldconfig %postun -n libslvs -p /sbin/ldconfig %files %{_bindir}/solvespace %{_datarootdir}/applications/solvespace.desktop %{_datarootdir}/icons/hicolor/16x16/apps/solvespace.png %{_datarootdir}/icons/hicolor/24x24/apps/solvespace.png %{_datarootdir}/icons/hicolor/32x32/apps/solvespace.png %{_datarootdir}/icons/hicolor/48x48/apps/solvespace.png %{_datarootdir}/icons/hicolor/16x16/mimetypes/application.x-solvespace.png %{_datarootdir}/icons/hicolor/24x24/mimetypes/application.x-solvespace.png %{_datarootdir}/icons/hicolor/32x32/mimetypes/application.x-solvespace.png %{_datarootdir}/icons/hicolor/48x48/mimetypes/application.x-solvespace.png %{_datarootdir}/pixmaps/* %license COPYING.txt %doc README.md CHANGELOG.md %files -n libslvs %{_libdir}/libslvs.so.* %license COPYING.txt %files -n libslvs-devel %{_libdir}/libslvs.so %{_includedir}/slvs.h %changelog * Sun May 13 2018 Dominik Schubert - 2.3-3.20170416gitb1d87bf - Rebuild for Fedora 28 - Remove obsolete scriptlets * Sun Jan 21 2018 Dominik Schubert - 2.3-2.20170416gitb1d87bf - Fix dependency on hicolor-icon-theme (should be runtime not build) * Fri Jan 12 2018 Dominik Schubert - 2.3-1.20170416gitb1d87bf - Initial packaging