summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mayo <aklhfex@gmail.com>2024-11-11 19:34:19 +0000
committerSam James <sam@gentoo.org>2024-11-16 21:39:06 +0000
commitc9f809ca76c43fb6c4363876c7076eb91a0368c1 (patch)
tree4cb48da7ee66205dcb441463cadf348484295264 /media-gfx
parentsci-mathematics/manifold: new package, add 3.0.0_pre20241108 (diff)
downloadgentoo-c9f809ca76c43fb6c4363876c7076eb91a0368c1.tar.gz
gentoo-c9f809ca76c43fb6c4363876c7076eb91a0368c1.tar.bz2
gentoo-c9f809ca76c43fb6c4363876c7076eb91a0368c1.zip
media-gfx/openscad: add 20241111
Signed-off-by: Chris Mayo <aklhfex@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/openscad/Manifest2
-rw-r--r--media-gfx/openscad/openscad-20241111.ebuild163
2 files changed, 165 insertions, 0 deletions
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
+}