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
openSUSE Build Service is sponsored by