commit:     c9f809ca76c43fb6c4363876c7076eb91a0368c1
Author:     Chris Mayo <aklhfex <AT> gmail <DOT> com>
AuthorDate: Mon Nov 11 19:34:19 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 16 21:39:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9f809ca

media-gfx/openscad: add 20241111

Signed-off-by: Chris Mayo <aklhfex <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/openscad/Manifest                 |   2 +
 media-gfx/openscad/openscad-20241111.ebuild | 163 ++++++++++++++++++++++++++++
 2 files changed, 165 insertions(+)

diff --git a/media-gfx/openscad/Manifest b/media-gfx/openscad/Manifest
index ac0202896cd3..eb98c72aacdb 100644
--- a/media-gfx/openscad/Manifest
+++ b/media-gfx/openscad/Manifest
@@ -1 +1,3 @@
 DIST openscad-2021.01.tar.gz 15817555 BLAKE2B 
417857d704fa3c14312641ebda983eb85a1e3bc0d517a235fa3bd2523fce6f93c1ea526c330179bc35f03e6c73d3cd7c4c57cd71480088c21bfc99bb020ab7cd
 SHA512 
8deaa26bf4c295c12da38f323d2b2e6f827851337f5bc1cc9c79afc083c9f913c19a263086e6e853bf2c8434c1ccc705ea22ddb02dc99d39bb1e5e03fc58d128
+DIST openscad-20241111.tar.gz 25288494 BLAKE2B 
d414e2c2bf13a436ee78d02cc4888d2c4c69e237d1b7deef808b56a6b0e1b16dd39acf939befa009da97653b3363886068e8316e7c861b384e6c9e32ad97cf62
 SHA512 
b42ba68842a279a48063690ad730a71e25b5a49c89551eecfe3671e3c217f493968292805831eec3efc8cbb7421d30bcdd216e4205c1b1de8989ab94a31531ae
+DIST openscad-MCAD-bd0a7ba3f042bfbced5ca1894b236cea08904e26.tar.gz 58895 
BLAKE2B 
e154a38e1c36873a34f7c80b8fa484e4bbcb1b0c217e15b977e6cedc9a83fd2e1518791f9a58a4f0e893c2a55947d7eaddb660d8b725eca048c30f0ea41cf14a
 SHA512 
c6208a90f6a58ebdc0477d3e1b6be2f52e4ce976ac619a87818437cb9696b7e83285564fde757d32efaf50033d5217b55f67b6ce342250de838dd09fef334f36

diff --git a/media-gfx/openscad/openscad-20241111.ebuild 
b/media-gfx/openscad/openscad-20241111.ebuild
new file mode 100644
index 000000000000..afb2c30366fb
--- /dev/null
+++ b/media-gfx/openscad/openscad-20241111.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic multiprocessing optfeature virtualx xdg
+
+COMMIT=6baf982dc95c91829251fab871bf66554386ece1
+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 )"
+# doc downloads are not versioned and found at:
+# https://files.openscad.org/documentation/
+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
+
+REQUIRED_USE="
+       dbus? ( gui )
+       gamepad? ( gui )
+       spacenav? ( gui )
+       qt6? ( !gamepad )
+"
+
+RDEPEND="
+       dev-cpp/eigen:3
+       dev-libs/boost:=
+       dev-libs/double-conversion:=
+       dev-libs/glib:2
+       dev-libs/libxml2
+       dev-libs/libzip:=
+       media-gfx/opencsg:=
+       media-libs/fontconfig
+       media-libs/freetype
+       media-libs/harfbuzz:=
+       media-libs/lib3mf:=
+       sci-mathematics/cgal:=
+       virtual/opengl
+       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 )
+               )
+       )
+       hidapi? ( dev-libs/hidapi )
+       manifold? (
+               dev-cpp/tbb
+               >=sci-mathematics/manifold-3.0.0_pre2040919
+       )
+       mimalloc? ( dev-libs/mimalloc:= )
+       pdf? ( x11-libs/cairo )
+       spacenav? ( dev-libs/libspnav )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       app-alternatives/yacc
+       app-alternatives/lex
+       dev-util/itstool
+       dev-util/sanitizers-cmake
+       sys-devel/gettext
+       virtual/pkgconfig
+"
+
+DOCS=(
+       README.md
+       RELEASE_NOTES.md
+       doc/TODO.txt
+       doc/contributor_copyright.txt
+       doc/hacking.md
+       doc/testing.txt
+       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
+
+       cmake_src_prepare
+}
+
+src_configure() {
+       # -Werror=odr
+       # https://github.com/openscad/openscad/issues/5239
+       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)
+       )
+
+       if use gui; then
+               mycmakeargs+=(
+                       -DENABLE_GAMEPAD=$(usex gamepad)
+                       -DENABLE_HIDAPI=$(usex hidapi)
+                       -DENABLE_QTDBUS=$(usex dbus)
+                       -DENABLE_SPNAV=$(usex spacenav)
+               )
+       fi
+
+       cmake_src_configure
+}
+
+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
+
+       optfeature "support scad major mode in GNU Emacs" app-emacs/scad-mode
+}

Reply via email to