From 61ae68b49a1af31cd54436180e5116a2a5055e63 Mon Sep 17 00:00:00 2001 From: Bernd Waibel Date: Fri, 12 Feb 2021 23:43:30 +0100 Subject: media-gfx/openscad: adapt to work with lib3mf-2 Now uses cmake instead of qmake. Package-Manager: Portage-3.0.14, Repoman-3.0.2 Signed-off-by: Bernd Waibel Signed-off-by: Joonas Niilola --- .../openscad-9999-0001-fix-to-find-lib3mf-2.patch | 36 ++++++++ ...2-Gentoo-specific-Disable-ccache-building.patch | 35 ------- media-gfx/openscad/metadata.xml | 10 ++ media-gfx/openscad/openscad-9999.ebuild | 101 ++++++++++++++------- 4 files changed, 113 insertions(+), 69 deletions(-) create mode 100644 media-gfx/openscad/files/openscad-9999-0001-fix-to-find-lib3mf-2.patch delete mode 100644 media-gfx/openscad/files/openscad-9999-0002-Gentoo-specific-Disable-ccache-building.patch (limited to 'media-gfx/openscad') diff --git a/media-gfx/openscad/files/openscad-9999-0001-fix-to-find-lib3mf-2.patch b/media-gfx/openscad/files/openscad-9999-0001-fix-to-find-lib3mf-2.patch new file mode 100644 index 000000000000..0ca19d33646b --- /dev/null +++ b/media-gfx/openscad/files/openscad-9999-0001-fix-to-find-lib3mf-2.patch @@ -0,0 +1,36 @@ +From 15bf93ab04e6fd61507f138bcfc6f9c770d9479b Mon Sep 17 00:00:00 2001 +From: Bernd Waibel +Date: Thu, 11 Feb 2021 23:14:31 +0100 +Subject: [PATCH] fix to find lib3mf-2 + +Lib3mf-2 uses lowercase name for it's pkg-config file. + +Signed-off-by: Bernd Waibel +--- + cmake/Modules/FindLib3MF.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/Modules/FindLib3MF.cmake b/cmake/Modules/FindLib3MF.cmake +index 7a1ee285..b062c09c 100644 +--- a/cmake/Modules/FindLib3MF.cmake ++++ b/cmake/Modules/FindLib3MF.cmake +@@ -15,14 +15,14 @@ message(STATUS "Searching for lib3mf.") + # We still fall back to the rest of detection code here. + # Travis CI Ubuntu Trusty environment has some issue with pkg-config + # not finding the version. +-pkg_check_modules(LIB3MF lib3MF) ++pkg_check_modules(LIB3MF lib3mf) + + # default to uppercase for 1.0 library name + set(LIB3MF_LIB "3MF") + + # some distribution packages are missing version information for 2.0 + if (LIB3MF_VERSION STREQUAL "" AND LIB3MF_FOUND) +- if (EXISTS "/usr/include/lib3mf" AND EXISTS "/usr/include/lib3mf/lib3mf_implicit.hpp") ++ if (EXISTS "/usr/include/lib3mf" AND EXISTS "/usr/include/lib3mf/Bindings/Cpp/lib3mf_implicit.hpp") + set(LIB3MF_VERSION "2.0.0") + endif() + endif() +-- +2.30.1 + diff --git a/media-gfx/openscad/files/openscad-9999-0002-Gentoo-specific-Disable-ccache-building.patch b/media-gfx/openscad/files/openscad-9999-0002-Gentoo-specific-Disable-ccache-building.patch deleted file mode 100644 index ca21b9322e8e..000000000000 --- a/media-gfx/openscad/files/openscad-9999-0002-Gentoo-specific-Disable-ccache-building.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8d6fd9c0896e513eec2da3c97cfd33a5ec09c148 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel -Date: Sun, 17 May 2020 21:38:45 +0200 -Subject: [PATCH] [Gentoo-specific] Disable ccache building - -On Gentoo we use a USE flag to determine whether to use -ccache for building or not. - -Signed-off-by: Bernd Waibel ---- - openscad.pro | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/openscad.pro b/openscad.pro -index cc7f3569..8fbd3a5b 100755 ---- a/openscad.pro -+++ b/openscad.pro -@@ -208,10 +208,10 @@ mdi { - DEFINES += ENABLE_MDI - } - --system("ccache -V >/dev/null 2>/dev/null") { -- CONFIG += ccache -- message("Using ccache") --} -+#system("ccache -V >/dev/null 2>/dev/null") { -+# CONFIG += ccache -+# message("Using ccache") -+#} - - include(common.pri) - --- -2.26.2 - diff --git a/media-gfx/openscad/metadata.xml b/media-gfx/openscad/metadata.xml index 75aa20b67f16..3ccb815587c6 100644 --- a/media-gfx/openscad/metadata.xml +++ b/media-gfx/openscad/metadata.xml @@ -24,6 +24,16 @@ Use dev-util/ccache to speed up rebuilds + + Add support for gamepads through dev-qt/qtgamepad + + + Build a binary without GUI + + + Add support for space navigator devices through + dev-libs/libspnav + openscad/openscad 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 } -- cgit v1.2.3-65-gdbad