summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/openscad/openscad-9999.ebuild')
-rw-r--r--media-gfx/openscad/openscad-9999.ebuild101
1 files changed, 67 insertions, 34 deletions
diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-9999.ebuild
index a718d9a9a8ac..433200d96c25 100644
--- a/media-gfx/openscad/openscad-9999.ebuild
+++ b/media-gfx/openscad/openscad-9999.ebuild
@@ -1,49 +1,58 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit elisp-common git-r3 qmake-utils xdg
+inherit cmake elisp-common git-r3 xdg
SITEFILE="50${PN}-gentoo.el"
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
HOMEPAGE="https://www.openscad.org/"
+SRC_URI=""
EGIT_REPO_URI="https://github.com/openscad/openscad.git"
-LICENSE="GPL-2"
+# Code is GPL-3+, MCAD library is LGPL-2.1
+LICENSE="GPL-3+ LGPL-2.1"
SLOT="0"
KEYWORDS=""
-IUSE="ccache emacs"
-RESTRICT="test"
+IUSE="cairo dbus emacs gamepad headless spacenav"
+RESTRICT="test" # 32 out 1300+ tests fail
+
+REQUIRED_USE="
+ headless? ( !dbus !gamepad !spacenav )
+"
RDEPEND="
dev-cpp/eigen:3
dev-libs/boost:=
dev-libs/double-conversion:=
dev-libs/glib:2
- dev-libs/gmp:0=
- dev-libs/hidapi
- dev-libs/libspnav
+ dev-libs/libxml2
dev-libs/libzip:=
- dev-libs/mpfr:0=
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5[-gles2-only]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
media-gfx/opencsg
media-libs/fontconfig
media-libs/freetype
- >=media-libs/glew-2.0.0:0=
+ media-libs/glew:0=
media-libs/harfbuzz:=
media-libs/lib3mf
sci-mathematics/cgal:=
- >=x11-libs/qscintilla-2.10.3:=
- emacs? ( >=app-editors/emacs-23.1:* )
+ virtual/opengl
+ cairo? ( x11-libs/cairo )
+ emacs? ( app-editors/emacs:* )
+ !headless? (
+ 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/qtwidgets:5
+ x11-libs/qscintilla:=
+ dbus? ( dev-qt/qtdbus:5 )
+ gamepad? ( dev-qt/qtgamepad:5 )
+ )
+ spacenav? ( dev-libs/libspnav )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -52,27 +61,45 @@ BDEPEND="
sys-devel/flex
sys-devel/gettext
virtual/pkgconfig
- ccache? ( dev-util/ccache )
"
-src_prepare() {
- default
+DOCS=(
+ RELEASE_NOTES.md
+ doc/TODO.txt
+ doc/contributor_copyright.txt
+ doc/hacking.md
+ doc/testing.txt
+)
- # fix path prefix
- sed -i "s/\/usr\/local/\/usr/g" ${PN}.pro || die
-
- # disable ccache
- if ! use ccache; then
- eapply "${FILESDIR}/${P}-0002-Gentoo-specific-Disable-ccache-building.patch"
+src_prepare() {
+ if has_version ">=media-libs/lib3mf-2"; then
+ eapply "${FILESDIR}/${P}-0001-fix-to-find-lib3mf-2.patch"
fi
+ cmake_src_prepare
}
src_configure() {
- eqmake5 "${PN}.pro"
+ local mycmakeargs=(
+ -DCLANG_TIDY=OFF
+ -DENABLE_CAIRO=$(usex cairo)
+ -DENABLE_SPNAV=$(usex spacenav)
+ -DENABLE_TESTS=OFF
+ -DHEADLESS=$(usex headless)
+ -DUSE_CCACHE=OFF
+ )
+
+ if use !headless; then
+ mycmakeargs+=(
+ -DENABLE_GAMEPAD=$(usex gamepad)
+ -DENABLE_QTDBUS=$(usex dbus)
+ )
+ fi
+
+ cmake_src_configure
}
src_compile() {
- default
+ cmake_src_compile
if use emacs ; then
elisp-compile contrib/*.el
@@ -80,24 +107,30 @@ src_compile() {
}
src_install() {
- emake install INSTALL_ROOT="${D}"
+ DOCS+=( doc/*.pdf )
+ cmake_src_install
+
+ mv -i "${ED}"/usr/share/openscad/locale "${ED}"/usr/share || die "failed to move locales"
+ ln -sf ../locale "${ED}"/usr/share/openscad/locale || die
+
+ rm -r "${ED}"/usr/share/openscad/libraries/MCAD/.{git,gitignore} || die
if use emacs; then
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
elisp-install ${PN} contrib/*.el contrib/*.elc
fi
-
- einstalldocs
}
pkg_postinst() {
use emacs && elisp-site-regen
xdg_desktop_database_update
+ xdg_icon_cache_update
xdg_mimeinfo_database_update
}
pkg_postrm() {
use emacs && elisp-site-regen
xdg_desktop_database_update
+ xdg_icon_cache_update
xdg_mimeinfo_database_update
}