summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl@gmail.com>2020-04-19 20:44:54 +0200
committerJoonas Niilola <juippis@gentoo.org>2020-06-12 09:59:45 +0300
commit8dfc7b2d0c0cc3d01d08ec9dc7885be394334a50 (patch)
tree3b7cca515acbe35289948dbd1e0a70ae9cfce21e /media-gfx/openscad
parentapp-misc/anki: bump to 2.1.15 and modernize ebuild (diff)
downloadgentoo-8dfc7b2d0c0cc3d01d08ec9dc7885be394334a50.tar.gz
gentoo-8dfc7b2d0c0cc3d01d08ec9dc7885be394334a50.tar.bz2
gentoo-8dfc7b2d0c0cc3d01d08ec9dc7885be394334a50.zip
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@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@gmail.com> Signed-off-by: Joonas Niilola <juippis@gentoo.org>
Diffstat (limited to 'media-gfx/openscad')
-rw-r--r--media-gfx/openscad/files/openscad-2019.05-0001-Fix-build-with-boost-1.73.patch28
-rw-r--r--media-gfx/openscad/files/openscad-2019.05-0002-Gentoo-specific-Disable-ccache-building.patch35
-rw-r--r--media-gfx/openscad/metadata.xml5
-rw-r--r--media-gfx/openscad/openscad-2019.05-r3.ebuild108
4 files changed, 176 insertions, 0 deletions
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 000000000000..74f48b4c1aed
--- /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 <waebbl@gmail.com>
+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 <waebbl@gmail.com>
+---
+ 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 000000000000..1a4903828e80
--- /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 <waebbl@gmail.com>
+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 <waebbl@gmail.com>
+---
+ 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 7b83ba148002..5ed7ed33c62b 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 000000000000..73d706525135
--- /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
+}