File openscad-nightly.spec of Package OpenSCAD
Name: openscad-nightly
Version: 20250121T084250.git7edc1df95
Release: 0
Summary: The Programmers Solid 3D CAD Modeller
License: GPL-2.0+
Source: https://github.com/openscad/openscad/archive/HEAD/openscad-%{version}.tar.gz
BuildRequires: (curl or curl-minimal)
BuildRequires: make
BuildRequires: ccache
BuildRequires: gcc-c++
BuildRequires: flex
BuildRequires: bison
BuildRequires: pkgconfig
BuildRequires: gettext
BuildRequires: glew-devel
BuildRequires: boost-devel
BuildRequires: libzip-devel
BuildRequires: opencsg-devel
BuildRequires: libxml2-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: harfbuzz-devel
BuildRequires: cairo-devel
BuildRequires: double-conversion-devel
%if 0%{?suse_version}
BuildRequires: libeigen3-devel
BuildRequires: libcgal-devel
BuildRequires: libqt5-qtbase-devel
BuildRequires: libqt5-qtsvg-devel
BuildRequires: libqt5-qtmultimedia-devel
BuildRequires: libQt5OpenGL-devel
BuildRequires: libqscintilla-qt5-devel
BuildRequires: Mesa-devel
BuildRequires: update-desktop-files
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_system-devel
BuildRequires: libboost_regex-devel
BuildRequires: libboost_thread-devel
BuildRequires: libboost_program_options-devel
BuildRequires: tbb
%endif
%if 0%{?fedora_version}
BuildRequires: glib2-devel
BuildRequires: eigen3-devel
BuildRequires: CGAL-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtsvg-devel
BuildRequires: qt5-qtmultimedia-devel
BuildRequires: qscintilla-qt5-devel
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libGLU-devel
BuildRequires: mpfr-devel
BuildRequires: gmp-devel
BuildRequires: libXmu-devel
BuildRequires: tbb-devel
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global debug_package %{nil}
%description
OpenSCAD is a software for creating solid 3D CAD models. It is
free software and available for Linux/UNIX, Windows and Mac OS X.
Unlike most free software for creating 3D models (such as Blender)
it does not focus on the artistic aspects of 3D modelling but
instead on the CAD aspects. Thus it might be the application you
are looking for when you are planning to create 3D models of machine
parts but pretty sure is not what you are looking for when you are
more interested in creating computer-animated movies.
%prep
%setup -c -T
gzip -dc /home/abuild/rpmbuild/SOURCES/openscad-%{version}.tar.gz | tar -x --strip-components=1 -f -
if [ $? -ne 0 ]; then
exit $?
fi
%build
OPENSCAD_VERSION=`echo "%{version}" | sed -e 's/^\(....\)\(..\)\(..\).*/\1.\2.\3.nightly/'`
OPENSCAD_COMMIT=`echo "%{version}" | cut -b 20-26`
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DCMAKE_BUILD_TYPE=RelWithDebInfo -DEXPERIMENTAL=ON -DSNAPSHOT=ON -DSUFFIX=nightly -DOPENSCAD_VERSION="$OPENSCAD_VERSION" -DOPENSCAD_COMMIT="$OPENSCAD_COMMIT"
make
%install
cd build
make DESTDIR=%{buildroot} install
%if 0%{?suse_version}
%suse_update_desktop_file openscad-nightly Graphics 3DGraphics
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%dir %{_datadir}/metainfo
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/48x48
%dir %{_datadir}/icons/hicolor/48x48/apps
%dir %{_datadir}/icons/hicolor/64x64
%dir %{_datadir}/icons/hicolor/64x64/apps
%dir %{_datadir}/icons/hicolor/128x128
%dir %{_datadir}/icons/hicolor/128x128/apps
%dir %{_datadir}/icons/hicolor/256x256
%dir %{_datadir}/icons/hicolor/256x256/apps
%dir %{_datadir}/icons/hicolor/512x512
%dir %{_datadir}/icons/hicolor/512x512/apps
%doc COPYING README.md RELEASE_NOTES.md doc/*.pdf
%{_bindir}/openscad-nightly
%{_mandir}/man1/*
%{_datadir}/openscad-nightly/
%{_datadir}/applications/openscad-nightly.desktop
%{_datadir}/icons/hicolor/48x48/apps/openscad-nightly.png
%{_datadir}/icons/hicolor/64x64/apps/openscad-nightly.png
%{_datadir}/icons/hicolor/128x128/apps/openscad-nightly.png
%{_datadir}/icons/hicolor/256x256/apps/openscad-nightly.png
%{_datadir}/icons/hicolor/512x512/apps/openscad-nightly.png
%{_datadir}/mime/packages/openscad-nightly.xml
%{_datadir}/metainfo/org.openscad.OpenSCAD-nightly.appdata.xml
%changelog