diff --git a/README.md b/README.md index 9a6409d..89fb948 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ # solvespace +A parametric 3d CAD program. Applications include: +modeling 3d parts — draw with extrudes, revolves, and Boolean (union / difference) operations +modeling 2d parts — draw the part as a single section, and export DXF, PDF, SVG; use 3d assembly to verify fit +3d-printed parts — export the STL or other triangle mesh expected by most 3d printers +preparing CAM data — export 2d vector art for a waterjet machine or laser cutter; or generate STEP or STL, for import into third-party CAM software for machining +mechanism design — use the constraint solver to simulate planar or spatial linkages, with pin, ball, or slide joints +plane and solid geometry — replace hand-solved trigonometry and spreadsheets with a live dimensioned drawing + diff --git a/solvespace-v2.1-GetGitCommitHash.patch b/solvespace-v2.1-GetGitCommitHash.patch new file mode 100644 index 0000000..3db16d6 --- /dev/null +++ b/solvespace-v2.1-GetGitCommitHash.patch @@ -0,0 +1,17 @@ +diff -Naur solvespace-2.x.orig/cmake/GetGitCommitHash.cmake solvespace-2.x/cmake/GetGitCommitHash.cmake +--- solvespace-2.x.orig/cmake/GetGitCommitHash.cmake 2016-07-12 22:51:03.176211103 +0200 ++++ solvespace-2.x/cmake/GetGitCommitHash.cmake 2016-07-12 22:51:43.072113111 +0200 +@@ -25,11 +25,11 @@ + endif() + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${GIT_DEPENDS}) + +- string(STRIP ${HEAD_REF} HEAD_REF) ++ string(STRIP "${HEAD_REF}" HEAD_REF) + if(HEAD_REF STREQUAL "") + message(WARNING "Cannot determine git HEAD") + else() +- set(GIT_COMMIT_HASH ${HEAD_REF} PARENT_SCOPE) ++ set(GIT_COMMIT_HASH "${HEAD_REF}" PARENT_SCOPE) + endif() + endfunction() + get_git_commit_hash() \ No newline at end of file diff --git a/solvespace.spec b/solvespace.spec new file mode 100644 index 0000000..2f42293 --- /dev/null +++ b/solvespace.spec @@ -0,0 +1,106 @@ +Name: solvespace +Version: 2.3 +Release: 1mamba +Summary: A parametric 3d CAD program +Group: Graphical Desktop/Applications/Graphics +Vendor: openmamba +Distribution: openmamba +Packager: Ercole 'ercolinux' Carpanetto +URL: http://solvespace.com/index.pl +Source: https://github.com/solvespace/solvespace.git/v%{version}/solvespace-%{version}.tar.bz2 +Patch0: solvespace-v2.1-GetGitCommitHash.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libGL-devel +BuildRequires: libGLU-devel +BuildRequires: libX11-devel +BuildRequires: libatkmm-devel +BuildRequires: libcairomm-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc +BuildRequires: libglew-devel +BuildRequires: libglib-devel +BuildRequires: libglibmm-devel +BuildRequires: libgtk2-devel +BuildRequires: libgtkmm2-devel +BuildRequires: libjson-c-devel +BuildRequires: libpangomm-devel +BuildRequires: libpng-devel +BuildRequires: libsigc++-devel +BuildRequires: libspnav-devel +BuildRequires: libstdc++6-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRequires: cmake +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +A parametric 3d CAD program. Applications include: +modeling 3d parts — draw with extrudes, revolves, and Boolean (union / difference) operations +modeling 2d parts — draw the part as a single section, and export DXF, PDF, SVG; use 3d assembly to verify fit +3d-printed parts — export the STL or other triangle mesh expected by most 3d printers +preparing CAM data — export 2d vector art for a waterjet machine or laser cutter; or generate STEP or STL, for import into third-party CAM software for machining +mechanism design — use the constraint solver to simulate planar or spatial linkages, with pin, ball, or slide joints +plane and solid geometry — replace hand-solved trigonometry and spreadsheets with a live dimensioned drawing + +%package -n lib%{name} +Group: System/Libraries +Summary: Shared libraries for %{name} + +%description -n lib%{name} +This package contains shared libraries for %{name}. + +%package -n lib%{name}-devel +Group: Development/Libraries +Summary: Development files for %{name} + +%description -n lib%{name}-devel +This package contains libraries and header files for developing applications that use %{name}. + +%debug_package + +%prep +%setup -q +sed -i "s|^\(include.GetGitCommitHash.\)|#\1|" CMakeLists.txt +sed -i'' -e's/CHAR_WIDTH/CHAR_WIDTH_/g' src/ui.h src/textwin.cpp src/toolbar.cpp + +%build +%cmake -d build + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_bindir}/solvespace +%{_datadir}/applications/solvespace.desktop +%{_datadir}/icons/hicolor/*/apps/solvespace.png +%{_datadir}/icons/hicolor/*/mimetypes/application.x-solvespace.png +%{_datadir}/pixmaps/solvespace-*.xpm + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libslvs.so.* +%doc COPYING.txt + +%files -n lib%{name}-devel +%defattr(-,root,root) +%{_includedir}/slvs.h +%{_libdir}/libslvs.so +%doc README.md + +%changelog +* Tue Dec 03 2019 Silvan Calarco 2.3-1mamba +- update to 2.3 + +* Sat Jul 09 2016 Ercole 'ercolinux' Carpanetto v2.1-1mamba +- package created using the webbuild interface