File openscad.spec of Package openscad
#
# spec file for package openscad
#
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: openscad
Version: 2026.xx.xx
Release: 0
Summary: Programmers Solid 3D CAD Modeller
License: GPL-3.0-or-later
Group: Productivity/Graphics/CAD
URL: https://www.openscad.org/
Source: %{name}-%{version}.tar.xz
BuildRequires: bison
BuildRequires: double-conversion-devel
BuildRequires: flex
BuildRequires: gcc
BuildRequires: glew-devel
BuildRequires: libboost_filesystem-devel
BuildRequires: libboost_program_options-devel
BuildRequires: libboost_regex-devel
BuildRequires: libboost_thread-devel
BuildRequires: libcgal-devel > 5.0
BuildRequires: libspnav-devel
BuildRequires: memory-constraints
BuildRequires: opencsg-devel
BuildRequires: pkgconfig
BuildRequires: qt6-concurrent-devel
BuildRequires: qt6-core-devel >= 6.4.0
BuildRequires: qt6-core-private-devel
BuildRequires: qt6-websockets-devel
BuildRequires: qt6-qt5compat-devel
BuildRequires: qt6-multimedia-devel
BuildRequires: qt6-svg-devel
BuildRequires: qt6-openglwidgets-devel
BuildRequires: pkgconfig(cairo) > 1.14
BuildRequires: pkgconfig(eigen3)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libzip)
BuildRequires: pkgconfig(lib3mf)
BuildRequires: pkgconfig(tbb)
BuildRequires: qscintilla-qt6-devel
%description
OpenSCAD is a software for creating solid 3D CAD objects. It does not
focus on the artistic aspects of 3D modelling and does not target the
creation of, say, computer-animated movies, but instead on the CAD
aspects, e.g. modelling of machine parts.
%prep
%autosetup -p1
%build
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DEXPERIMENTAL=ON \
-DOFFLINE_DOCS=OFF \
-DUSE_QT6=ON \
-DENABLE_TESTS=OFF \
-DUSE_BUILTIN_OPENCSG=ON
%cmake_build
%install
%cmake_install
%files
%defattr(-,root,root)
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1.gz
%{_datadir}/metainfo/org.%{name}.OpenSCAD.appdata.xml
%{_datadir}/mime/packages/%{name}.xml
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/color-schemes/
%{_datadir}/%{name}/color-schemes/readme.txt
%dir %{_datadir}/%{name}/color-schemes/editor
%{_datadir}/%{name}/color-schemes/editor/*.json
%dir %{_datadir}/%{name}/color-schemes/render
%{_datadir}/%{name}/color-schemes/render/*.json
%dir %{_datadir}/%{name}/examples/
%{_datadir}/%{name}/examples/COPYING-CC0.txt
%dir %{_datadir}/%{name}/examples/Advanced/
%{_datadir}/%{name}/examples/Advanced/*.scad
%{_datadir}/%{name}/examples/Advanced/*.png
%{_datadir}/%{name}/examples/Advanced/*.json
%dir %{_datadir}/%{name}/examples/Basics
%{_datadir}/%{name}/examples/Basics/*.scad
%{_datadir}/%{name}/examples/Basics/*.json
%{_datadir}/%{name}/examples/Basics/*.stl
%dir %{_datadir}/%{name}/examples/Functions
%{_datadir}/%{name}/examples/Functions/*.scad
%{_datadir}/%{name}/examples/Functions/*.json
%dir %{_datadir}/%{name}/examples/Old
%{_datadir}/%{name}/examples/Old/*.scad
%{_datadir}/%{name}/examples/Old/*.dxf
%{_datadir}/%{name}/examples/Old/*.dat
%{_datadir}/%{name}/examples/Old/*.stl
%dir %{_datadir}/%{name}/examples/Parametric
%{_datadir}/%{name}/examples/Parametric/*.scad
%{_datadir}/%{name}/examples/Parametric/*.json
%dir %{_datadir}/%{name}/fonts
%{_datadir}/%{name}/fonts/*.conf
%dir %{_datadir}/%{name}/fonts/Liberation-2.00.1
%{_datadir}/%{name}/fonts/Liberation-2.00.1/*
%dir %{_datadir}/%{name}/fonts/Liberation-2.00.1/ttf
%{_datadir}/%{name}/fonts/Liberation-2.00.1/ttf/*.ttf
%dir %{_datadir}/%{name}/libraries
%dir %{_datadir}/%{name}/libraries/MCAD
%{_datadir}/%{name}/libraries/MCAD/*.scad
%{_datadir}/%{name}/libraries/MCAD/README.markdown
%{_datadir}/%{name}/libraries/MCAD/TODO
%{_datadir}/%{name}/libraries/MCAD/lgpl-2.1.txt
%{_datadir}/%{name}/libraries/MCAD/*.py
%dir %{_datadir}/%{name}/libraries/MCAD/bitmap
%{_datadir}/%{name}/libraries/MCAD/bitmap/README
%{_datadir}/%{name}/libraries/MCAD/bitmap/*.scad
%dir %{_datadir}/%{name}/templates
%{_datadir}/%{name}/templates/*.json
%dir %{_datadir}/%{name}/shaders
%{_datadir}/%{name}/shaders/*.frag
%{_datadir}/%{name}/shaders/*.vert
%dir %{_datadir}/%{name}/locale
%dir %{_datadir}/%{name}/locale/*
%dir %{_datadir}/%{name}/locale/*/LC_MESSAGES
%{_datadir}/%{name}/locale/*/LC_MESSAGES/%{name}.mo
%{_datadir}/applications/%{name}.desktop
%dir %{_datadir}/icons/hicolor
%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/48x48
%dir %{_datadir}/icons/hicolor/48x48/apps
%dir %{_datadir}/icons/hicolor/512x512
%dir %{_datadir}/icons/hicolor/512x512/apps
%dir %{_datadir}/icons/hicolor/64x64
%dir %{_datadir}/icons/hicolor/64x64/apps
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%changelog