commit:     b809ad20e706bf9af8c0a918f3b47701efc4e9e4
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Sat Nov 16 01:52:12 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 16 21:39:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b809ad20

media-gfx/openscad: add 20241114

Drop RESTRICT=mirror.
Document manifold USE-flag.
Drop qt5 support.
Bundle sanitizers-cmake as there is and likely never will be another consumer.
Force CONFIG mode for FindBoost.
Eigen3 is a header-only library and we do not have public headers, so it's
DEPEND only.
Add egl and glx USE-flags.

Adjust ebuild style to fit the rest my ebuilds.

Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/openscad/Manifest                        |   3 +-
 media-gfx/openscad/metadata.xml                    |   6 +
 ...ad-20241111.ebuild => openscad-20241114.ebuild} | 134 +++++++++++----------
 profiles/arch/amd64/package.use.mask               |   4 +
 profiles/arch/base/package.use.mask                |   4 +
 5 files changed, 87 insertions(+), 64 deletions(-)

diff --git a/media-gfx/openscad/Manifest b/media-gfx/openscad/Manifest
index eb98c72aacdb..c20624a8c4dc 100644
--- a/media-gfx/openscad/Manifest
+++ b/media-gfx/openscad/Manifest
@@ -1,3 +1,4 @@
 DIST openscad-2021.01.tar.gz 15817555 BLAKE2B 
417857d704fa3c14312641ebda983eb85a1e3bc0d517a235fa3bd2523fce6f93c1ea526c330179bc35f03e6c73d3cd7c4c57cd71480088c21bfc99bb020ab7cd
 SHA512 
8deaa26bf4c295c12da38f323d2b2e6f827851337f5bc1cc9c79afc083c9f913c19a263086e6e853bf2c8434c1ccc705ea22ddb02dc99d39bb1e5e03fc58d128
-DIST openscad-20241111.tar.gz 25288494 BLAKE2B 
d414e2c2bf13a436ee78d02cc4888d2c4c69e237d1b7deef808b56a6b0e1b16dd39acf939befa009da97653b3363886068e8316e7c861b384e6c9e32ad97cf62
 SHA512 
b42ba68842a279a48063690ad730a71e25b5a49c89551eecfe3671e3c217f493968292805831eec3efc8cbb7421d30bcdd216e4205c1b1de8989ab94a31531ae
+DIST openscad-20241114.tar.gz 25288312 BLAKE2B 
0c1a9b4b15c12f4b3b600e81cdb5eeddb34887c83e2ae67735d7221b6660730dc5e7f97f80b84d187772adfa20d15e20f0cded1b4937e26305434847bbf2af27
 SHA512 
6c66c09e4b72ec5ef200d077b58fcb7a5a9acd359551a5daebdc3e24cb2cb7ed7d607b04e5563ea6f14d9d929310c3a9194ac889f2530c2c933235271040981a
 DIST openscad-MCAD-bd0a7ba3f042bfbced5ca1894b236cea08904e26.tar.gz 58895 
BLAKE2B 
e154a38e1c36873a34f7c80b8fa484e4bbcb1b0c217e15b977e6cedc9a83fd2e1518791f9a58a4f0e893c2a55947d7eaddb660d8b725eca048c30f0ea41cf14a
 SHA512 
c6208a90f6a58ebdc0477d3e1b6be2f52e4ce976ac619a87818437cb9696b7e83285564fde757d32efaf50033d5217b55f67b6ce342250de838dd09fef334f36
+DIST sanitizers-cmake-3f0542e4e034aab417c51b2b22c94f83355dee15.tar.gz 7451 
BLAKE2B 
2ca72e3ecda02d4f0eed05be0954af02706425e94626d5a4b9d897968e35c341413171e2388ece7e83dad9eb7b5e2c2f73811ea8db8fa33b0bce6d5dd53550b7
 SHA512 
10cd4eeb3bbb7bf5c6f5cf8b5bc6a531b1ec8bdc147583d8de028a3e4b8b9d0e258aad81f02135267ce8f7d87b30999dedd25b44c0754b5c31e00d8481cd412f

diff --git a/media-gfx/openscad/metadata.xml b/media-gfx/openscad/metadata.xml
index 654ea84529a5..ac47d0a9f5d3 100644
--- a/media-gfx/openscad/metadata.xml
+++ b/media-gfx/openscad/metadata.xml
@@ -30,12 +30,18 @@
        <flag name="gamepad">
                Add support for gamepads through <pkg>dev-qt/qtgamepad</pkg>
        </flag>
+       <flag name="glx">
+               Enable GLX to interface OpenGL and X11
+       </flag>
        <flag name="gui">
                Enable or disable building of the GUI
        </flag>
        <flag name="hidapi">
                Build in support for HID-Class devices using 
<pkg>dev-libs/hidapi</pkg>
        </flag>
+       <flag name="manifold">
+               Enable Manifold render backend via 
<pkg>sci-mathematics/manifold</pkg>
+       </flag>
        <flag name="mimalloc">
                Build using <pkg>dev-libs/mimalloc</pkg> as memory allocator
        </flag>

diff --git a/media-gfx/openscad/openscad-20241111.ebuild 
b/media-gfx/openscad/openscad-20241114.ebuild
similarity index 51%
rename from media-gfx/openscad/openscad-20241111.ebuild
rename to media-gfx/openscad/openscad-20241114.ebuild
index afb2c30366fb..ec08be8aa0b5 100644
--- a/media-gfx/openscad/openscad-20241111.ebuild
+++ b/media-gfx/openscad/openscad-20241114.ebuild
@@ -5,13 +5,21 @@ EAPI=8
 
 inherit cmake flag-o-matic multiprocessing optfeature virtualx xdg
 
-COMMIT=6baf982dc95c91829251fab871bf66554386ece1
-MCAD_COMMIT=bd0a7ba3f042bfbced5ca1894b236cea08904e26
+COMMIT="bc0d078e0361d7dba66723ac31bdb3b650ecff37"
+SANITIZERS_CMAKE_COMMIT="3f0542e4e034aab417c51b2b22c94f83355dee15"
+MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
 
 DESCRIPTION="The Programmers Solid 3D CAD Modeller"
 HOMEPAGE="https://openscad.org/";
-SRC_URI="https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz -> 
${P}.tar.gz
-       test? ( https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz 
-> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz )"
+SRC_URI="
+       https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
+               -> ${P}.tar.gz
+       
https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
+               -> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
+       test? (
+               https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz 
-> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
+       )
+"
 # doc downloads are not versioned and found at:
 # https://files.openscad.org/documentation/
 S="${WORKDIR}/${PN}-${COMMIT}"
@@ -19,19 +27,19 @@ S="${WORKDIR}/${PN}-${COMMIT}"
 # Code is GPL-3+, MCAD library is LGPL-2.1
 LICENSE="GPL-3+ LGPL-2.1"
 SLOT="0"
-KEYWORDS="~amd64"
-IUSE="dbus experimental gamepad +gui hidapi +manifold mimalloc pdf qt6 
spacenav test"
-RESTRICT="test mirror"  # many tests fail
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="dbus +egl experimental glx +gui hidapi +manifold mimalloc pdf spacenav 
test"
+RESTRICT="test"  # many tests fail
 
 REQUIRED_USE="
        dbus? ( gui )
-       gamepad? ( gui )
+       hidapi? ( gui )
        spacenav? ( gui )
-       qt6? ( !gamepad )
+       || ( egl glx )
 "
 
 RDEPEND="
-       dev-cpp/eigen:3
        dev-libs/boost:=
        dev-libs/double-conversion:=
        dev-libs/glib:2
@@ -43,44 +51,31 @@ RDEPEND="
        media-libs/harfbuzz:=
        media-libs/lib3mf:=
        sci-mathematics/cgal:=
-       virtual/opengl
+       media-libs/libglvnd[X]
        gui? (
-               qt6? (
-                       dev-qt/qt5compat:6
-                       
dev-qt/qtbase:6[concurrent,dbus?,-gles2-only,network,opengl,widgets]
-                       dev-qt/qtmultimedia:6
-                       dev-qt/qtsvg:6
-                       x11-libs/qscintilla:=[qt6]
-               )
-               !qt6? (
-                       dev-qt/qtconcurrent:5
-                       dev-qt/qtcore:5
-                       dev-qt/qtgui:5[-gles2-only]
-                       dev-qt/qtmultimedia:5
-                       dev-qt/qtnetwork:5
-                       dev-qt/qtopengl:5
-                       dev-qt/qtsvg:5
-                       dev-qt/qtwidgets:5
-                       x11-libs/qscintilla:0=
-                       dbus? ( dev-qt/qtdbus:5 )
-                       gamepad? ( dev-qt/qtgamepad:5 )
-               )
+               dev-qt/qt5compat:6
+               
dev-qt/qtbase:6[concurrent,dbus?,-gles2-only,network,opengl,widgets]
+               dev-qt/qtmultimedia:6
+               dev-qt/qtsvg:6
+               x11-libs/qscintilla:=[qt6]
        )
        hidapi? ( dev-libs/hidapi )
        manifold? (
                dev-cpp/tbb
-               >=sci-mathematics/manifold-3.0.0_pre2040919
+               sci-mathematics/manifold
        )
        mimalloc? ( dev-libs/mimalloc:= )
        pdf? ( x11-libs/cairo )
        spacenav? ( dev-libs/libspnav )
 "
-DEPEND="${RDEPEND}"
+DEPEND="
+       ${RDEPEND}
+       dev-cpp/eigen:3
+"
 BDEPEND="
        app-alternatives/yacc
        app-alternatives/lex
        dev-util/itstool
-       dev-util/sanitizers-cmake
        sys-devel/gettext
        virtual/pkgconfig
 "
@@ -95,13 +90,17 @@ DOCS=(
        doc/translation.txt
 )
 
-PATCHES=( "${FILESDIR}/sanitizers-cmake.patch" )
-
 src_prepare() {
        if use test; then
                mv -f "${WORKDIR}/MCAD-${MCAD_COMMIT}"/* "${S}/libraries/MCAD/" 
|| die
        fi
 
+       # NOTE adhere CMP0167
+       # https://cmake.org/cmake/help/latest/policy/CMP0167.html
+       sed \
+               -e '/find_package(Boost/s/)/ CONFIG)/g' \
+               -i CMakeLists.txt || die
+
        cmake_src_prepare
 }
 
@@ -111,51 +110,60 @@ src_configure() {
        filter-lto
 
        local mycmakeargs=(
-               -DOPENSCAD_COMMIT=${COMMIT:0:9}
-               -DOPENSCAD_VERSION=${PV:0:4}.${PV:4:2}.${PV:6:2}
-               -DCLANG_TIDY=OFF
-               -DENABLE_CAIRO=$(usex pdf)
-               -DENABLE_EGL=ON
-               -DENABLE_GLX=OFF
-               -DENABLE_MANIFOLD=$(usex manifold)
-               -DENABLE_TESTS=$(usex test)
-               -DEXPERIMENTAL=$(usex experimental)
-               -DHEADLESS=$(usex gui OFF ON)
-               -DUSE_BUILTIN_MANIFOLD=OFF
-               -DUSE_CCACHE=OFF
-               -DUSE_GLAD=ON
-               -DUSE_LEGACY_RENDERERS=OFF
-               -DUSE_MIMALLOC=$(usex mimalloc)
-               -DUSE_QT6=$(usex qt6)
+               
-DCMAKE_MODULE_PATH="${WORKDIR}/sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}/cmake"
+
+               -DOPENSCAD_COMMIT="${COMMIT:0:9}"
+               -DOPENSCAD_VERSION="${PV:0:4}.${PV:4:2}.${PV:6:2}"
+
+               -DCLANG_TIDY="no"
+               -DENABLE_CAIRO="$(usex pdf)"
+               -DENABLE_CGAL="yes"
+               -DENABLE_EGL="$(usex egl)"
+               -DENABLE_GLX="$(usex glx)"
+               -DENABLE_MANIFOLD="$(usex manifold)"
+               -DENABLE_PYTHON="no"
+               -DENABLE_TESTS="$(usex test)"
+
+               -DEXPERIMENTAL="$(usex experimental)"
+
+               -DHEADLESS="$(usex !gui)"
+               -DUSE_BUILTIN_MANIFOLD="no"
+               -DUSE_CCACHE="no"
+               -DUSE_GLAD="yes"
+               -DUSE_GLEW="no"
+               -DUSE_LEGACY_RENDERERS="no"
+               -DUSE_MIMALLOC="$(usex mimalloc)"
+               -DUSE_QT6="$(usex gui)"
+               -DOFFLINE_DOCS="no" # TODO
        )
 
        if use gui; then
                mycmakeargs+=(
-                       -DENABLE_GAMEPAD=$(usex gamepad)
-                       -DENABLE_HIDAPI=$(usex hidapi)
-                       -DENABLE_QTDBUS=$(usex dbus)
-                       -DENABLE_SPNAV=$(usex spacenav)
+                       -DENABLE_HIDAPI="$(usex hidapi)"
+                       -DENABLE_QTDBUS="$(usex dbus)"
+                       -DENABLE_SPNAV="$(usex spacenav)"
                )
        fi
 
        cmake_src_configure
 }
 
+src_test() {
+       xdg_environment_reset
+       pushd "${BUILD_DIR}" > /dev/null || die
+       virtx ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)"
+       popd > /dev/null || die
+}
+
 src_install() {
        DOCS+=( doc/*.pdf )
+
        cmake_src_install
 
        mv -i "${ED}"/usr/share/openscad/locale "${ED}"/usr/share || die 
"failed to move locales"
        dosym -r /usr/share/locale /usr/share/openscad/locale
 }
 
-src_test() {
-       xdg_environment_reset
-       pushd "${BUILD_DIR}" > /dev/null || die
-       virtx ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)"
-       popd > /dev/null || die
-}
-
 pkg_postinst() {
        xdg_pkg_postinst
 

diff --git a/profiles/arch/amd64/package.use.mask 
b/profiles/arch/amd64/package.use.mask
index 5dc755ee1f54..742af1c7aa8c 100644
--- a/profiles/arch/amd64/package.use.mask
+++ b/profiles/arch/amd64/package.use.mask
@@ -17,6 +17,10 @@
 
 #--- END OF EXAMPLES ---
 
+# Paul Zander <[email protected]> (2024-11-16)
+# Only available on amd64 for now
+media-gfx/openscad -manifold
+
 # Joonas Niilola <[email protected]> (2024-11-16)
 # Available on amd64.
 www-client/firefox -wasm

diff --git a/profiles/arch/base/package.use.mask 
b/profiles/arch/base/package.use.mask
index 3b486c64e8ee..058af94660e0 100644
--- a/profiles/arch/base/package.use.mask
+++ b/profiles/arch/base/package.use.mask
@@ -1,6 +1,10 @@
 # Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
+# Paul Zander <[email protected]> (2024-11-16)
+# Only available on amd64 for now
+media-gfx/openscad manifold
+
 # Sam James <[email protected]> (2024-10-29)
 # Only available on amd64 for now
 dev-libs/elfutils stacktrace

Reply via email to