diff options
author | Chris Mayo <aklhfex@gmail.com> | 2024-11-11 19:34:19 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-11-16 21:39:06 +0000 |
commit | c9f809ca76c43fb6c4363876c7076eb91a0368c1 (patch) | |
tree | 4cb48da7ee66205dcb441463cadf348484295264 /media-gfx | |
parent | sci-mathematics/manifold: new package, add 3.0.0_pre20241108 (diff) | |
download | gentoo-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/Manifest | 2 | ||||
-rw-r--r-- | media-gfx/openscad/openscad-20241111.ebuild | 163 |
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 +} |