summaryrefslogtreecommitdiff
path: root/media-gfx
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/openscad/Manifest1
-rw-r--r--media-gfx/openscad/files/50openscad-gentoo.el3
-rw-r--r--media-gfx/openscad/files/openscad-2019.05_fix-boost-1.72.0-build.patch27
-rw-r--r--media-gfx/openscad/files/openscad-2019.05_fix-boost-1.73.0-build.patch11
-rw-r--r--media-gfx/openscad/openscad-2019.05-r2.ebuild87
5 files changed, 129 insertions, 0 deletions
diff --git a/media-gfx/openscad/Manifest b/media-gfx/openscad/Manifest
new file mode 100644
index 0000000..fd29bf8
--- /dev/null
+++ b/media-gfx/openscad/Manifest
@@ -0,0 +1 @@
+DIST openscad-2019.05.tar.gz 14604881 BLAKE2B ed7d6088606fab44284363da73643e556f07c0f0a7a223bdf718dcc36a82158bf23e315724ea520d63a3f1331207df0ea7b0ade817f01dd39b67ca6f36529d56 SHA512 073053f625ffa4fea6ed836396b7ff4b87b26cf7500b06c804983afc0f1dfd3d78bfb81b3fd217c3939b0ec915d85b0c7990773eaf968512a150deaa0399df13
diff --git a/media-gfx/openscad/files/50openscad-gentoo.el b/media-gfx/openscad/files/50openscad-gentoo.el
new file mode 100644
index 0000000..3cc7c1a
--- /dev/null
+++ b/media-gfx/openscad/files/50openscad-gentoo.el
@@ -0,0 +1,3 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'scad-mode "scad-mode" "Major mode for editing SCAD code." t)
+(add-to-list 'auto-mode-alist '("\\.scad$" . scad-mode))
diff --git a/media-gfx/openscad/files/openscad-2019.05_fix-boost-1.72.0-build.patch b/media-gfx/openscad/files/openscad-2019.05_fix-boost-1.72.0-build.patch
new file mode 100644
index 0000000..28d3285
--- /dev/null
+++ b/media-gfx/openscad/files/openscad-2019.05_fix-boost-1.72.0-build.patch
@@ -0,0 +1,27 @@
+From b6c170cc5dd1bc677176ee732cdb0ddae57e5cf0 Mon Sep 17 00:00:00 2001
+From: Jan Beich <jbeich@FreeBSD.org>
+Date: Fri, 25 Oct 2019 15:10:26 +0000
+Subject: [PATCH] Add missing header bootlegged by Boost < 1.72
+
+src/parser.y:76:6: error: no template named 'stack' in namespace 'std'
+std::stack<LocalScope *> scope_stack;
+~~~~~^
+---
+ src/parser.y | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/parser.y b/src/parser.y
+index 7f4fd56c..4c77c989 100644
+--- a/src/parser.y
++++ b/src/parser.y
+@@ -46,6 +46,7 @@
+ #include "printutils.h"
+ #include "memory.h"
+ #include <sstream>
++#include <stack>
+ #include <boost/filesystem.hpp>
+ #include "boost-utils.h"
+ #include "feature.h"
+--
+2.24.1
+
diff --git a/media-gfx/openscad/files/openscad-2019.05_fix-boost-1.73.0-build.patch b/media-gfx/openscad/files/openscad-2019.05_fix-boost-1.73.0-build.patch
new file mode 100644
index 0000000..041d241
--- /dev/null
+++ b/media-gfx/openscad/files/openscad-2019.05_fix-boost-1.73.0-build.patch
@@ -0,0 +1,11 @@
+--- a/src/import.cc 2019-03-30 22:14:41.000000000 -0600
++++ b/src/import.cc2 2020-05-10 20:30:19.704599229 -0600
+@@ -50,7 +50,7 @@
+ #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);
diff --git a/media-gfx/openscad/openscad-2019.05-r2.ebuild b/media-gfx/openscad/openscad-2019.05-r2.ebuild
new file mode 100644
index 0000000..da2c116
--- /dev/null
+++ b/media-gfx/openscad/openscad-2019.05-r2.ebuild
@@ -0,0 +1,87 @@
+# 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="emacs"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2019.05_fix-boost-1.72.0-build.patch"
+ "${FILESDIR}/${PN}-2019.05_fix-boost-1.73.0-build.patch"
+)
+
+# FIXME: add optional lib3mf
+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:=
+ sci-mathematics/cgal:=
+ >=x11-libs/qscintilla-2.10.3:=
+ emacs? ( >=app-editors/emacs-23.1:* )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+
+ # fix path prefix
+ sed -i "s/\/usr\/local/\/usr/g" ${PN}.pro || die
+}
+
+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
+}