commit:     8dfc7b2d0c0cc3d01d08ec9dc7885be394334a50
Author:     Bernd Waibel <waebbl <AT> gmail <DOT> com>
AuthorDate: Sun Apr 19 18:44:54 2020 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri Jun 12 06:59:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8dfc7b2d

media-gfx/openscad: Fix build with boost-1.73.0

Thanks to William T Wilson for reporting and providing patch.

Additionally OpenSCAD has an optional, but automagic dependency on
media-libs/lib3mf.

Add ccache USE flag, as it's automagically enabled whenever the ccache
binary is found in PATH.

Reported-by: William T Wilson <fluffysheap <AT> gmail.com>
Closes: https://bugs.gentoo.org/722302
Package-Manager: Portage-2.3.99-r2, Repoman-2.3.22
Signed-off-by: Bernd Waibel <waebbl <AT> gmail.com>
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 ...ad-2019.05-0001-Fix-build-with-boost-1.73.patch |  28 ++++++
 ...2-Gentoo-specific-Disable-ccache-building.patch |  35 +++++++
 media-gfx/openscad/metadata.xml                    |   5 +
 media-gfx/openscad/openscad-2019.05-r3.ebuild      | 108 +++++++++++++++++++++
 4 files changed, 176 insertions(+)

diff --git 
a/media-gfx/openscad/files/openscad-2019.05-0001-Fix-build-with-boost-1.73.patch
 
b/media-gfx/openscad/files/openscad-2019.05-0001-Fix-build-with-boost-1.73.patch
new file mode 100644
index 00000000000..74f48b4c1ae
--- /dev/null
+++ 
b/media-gfx/openscad/files/openscad-2019.05-0001-Fix-build-with-boost-1.73.patch
@@ -0,0 +1,28 @@
+From 47275a3d92969709e7605f23a408c5ed5aa483c9 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <[email protected]>
+Date: Fri, 15 May 2020 19:09:10 +0200
+Subject: [PATCH] Fix build with boost-1.73
+
+Thanks to William T Wilson for reporting and providing the patch.
+
+Signed-off-by: Bernd Waibel <[email protected]>
+---
+ src/import.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/import.cc b/src/import.cc
+index eef1323..08e46ff 100644
+--- a/src/import.cc
++++ b/src/import.cc
+@@ -50,7 +50,7 @@ namespace fs = boost::filesystem;
+ #include <boost/assign/std/vector.hpp>
+ using namespace boost::assign; // bring 'operator+=()' into scope
+ 
+-#include <boost/detail/endian.hpp>
++#include <boost/endian/arithmetic.hpp>
+ #include <cstdint>
+ 
+ extern PolySet * import_amf(std::string, const Location &loc);
+-- 
+2.26.2
+

diff --git 
a/media-gfx/openscad/files/openscad-2019.05-0002-Gentoo-specific-Disable-ccache-building.patch
 
b/media-gfx/openscad/files/openscad-2019.05-0002-Gentoo-specific-Disable-ccache-building.patch
new file mode 100644
index 00000000000..1a4903828e8
--- /dev/null
+++ 
b/media-gfx/openscad/files/openscad-2019.05-0002-Gentoo-specific-Disable-ccache-building.patch
@@ -0,0 +1,35 @@
+From 2940d8e5c74faa5dcd5279c8166064ade3da5695 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <[email protected]>
+Date: Sun, 17 May 2020 21:13:44 +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 <[email protected]>
+---
+ openscad.pro | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/openscad.pro b/openscad.pro
+index 2d190dd..9c4e67b 100755
+--- a/openscad.pro
++++ b/openscad.pro
+@@ -214,10 +214,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 7b83ba14800..5ed7ed33c62 100644
--- a/media-gfx/openscad/metadata.xml
+++ b/media-gfx/openscad/metadata.xml
@@ -20,6 +20,11 @@
        OpenSCAD is free software and available for Linux/UNIX, MS Windows and
        Mac OS X.
 </longdescription>
+<use>
+       <flag name="ccache">
+               Use <pkg>dev-util/ccache</pkg> to speed up rebuilds
+       </flag>
+</use>
 <upstream>
        <remote-id type="github">openscad/openscad</remote-id>
 </upstream>

diff --git a/media-gfx/openscad/openscad-2019.05-r3.ebuild 
b/media-gfx/openscad/openscad-2019.05-r3.ebuild
new file mode 100644
index 00000000000..73d70652513
--- /dev/null
+++ b/media-gfx/openscad/openscad-2019.05-r3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit elisp-common qmake-utils xdg
+
+SITEFILE="50${PN}-gentoo.el"
+
+DESCRIPTION="The Programmers Solid 3D CAD Modeller"
+HOMEPAGE="https://www.openscad.org/";
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz 
-> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ccache emacs"
+RESTRICT="test"
+
+PATCHES=(
+       "${FILESDIR}/${P}_fix-boost-1.72.0-build.patch"
+       "${FILESDIR}/${P}-0001-Fix-build-with-boost-1.73.patch"
+)
+
+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/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/harfbuzz:=
+       media-libs/lib3mf
+       sci-mathematics/cgal:=
+       >=x11-libs/qscintilla-2.10.3:=
+       emacs? ( >=app-editors/emacs-23.1:* )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       dev-util/itstool
+       sys-devel/bison
+       sys-devel/flex
+       sys-devel/gettext
+       virtual/pkgconfig
+       ccache? ( dev-util/ccache )
+"
+
+src_prepare() {
+       default
+
+       # 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"
+       fi
+}
+
+src_configure() {
+       eqmake5 "${PN}.pro"
+}
+
+src_compile() {
+       default
+
+       if use emacs ; then
+               elisp-compile contrib/*.el
+       fi
+}
+
+src_install() {
+       emake install INSTALL_ROOT="${D}"
+
+       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_mimeinfo_database_update
+}
+
+pkg_postrm() {
+       use emacs && elisp-site-regen
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+}

Reply via email to