summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2018-03-02 22:48:50 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2018-03-02 23:08:14 +0100
commit506f827c4f6bdbaf6c93463f2d8e6390d2be6a4e (patch)
tree35005eb91123544239e866753b00b29deb63e427
parentdev-python/promises: version bump to 2.1 (diff)
downloadgentoo-506f827c4f6bdbaf6c93463f2d8e6390d2be6a4e.tar.gz
gentoo-506f827c4f6bdbaf6c93463f2d8e6390d2be6a4e.tar.bz2
gentoo-506f827c4f6bdbaf6c93463f2d8e6390d2be6a4e.zip
media-gfx/freecad: Add no-webkit patch
Bug: https://bugs.gentoo.org/620702 Package-Manager: Portage-2.3.24, Repoman-2.3.6
-rw-r--r--media-gfx/freecad/files/freecad-0.17_pre-no-webkit.patch45
-rw-r--r--media-gfx/freecad/freecad-0.17_pre-r1.ebuild133
2 files changed, 178 insertions, 0 deletions
diff --git a/media-gfx/freecad/files/freecad-0.17_pre-no-webkit.patch b/media-gfx/freecad/files/freecad-0.17_pre-no-webkit.patch
new file mode 100644
index 00000000000..60dcfed22c7
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.17_pre-no-webkit.patch
@@ -0,0 +1,45 @@
+Description: Remove Qt4-Webkit dependency
+Author: Anton Gladky <gladk@debian.org>
+Bug-Debian: https://bugs.debian.org/784464
+Last-Update: 2017-09-06
+
+* asturm: tidied up and amended to use and not override BUILD_WEB
+
+--- a/src/Gui/DownloadManager.cpp
++++ b/src/Gui/DownloadManager.cpp
+@@ -33,7 +33,6 @@
+ #include <QMetaEnum>
+ #include <QSettings>
+ #include <QFileIconProvider>
+-#include <QWebSettings>
+
+ #include "DownloadItem.h"
+ #include "DownloadManager.h"
+@@ -224,11 +223,12 @@ void DownloadManager::updateRow()
+ ui->downloadsView->setRowHeight(row, item->minimumSizeHint().height());
+
+ bool remove = false;
++/*
+ QWebSettings *globalSettings = QWebSettings::globalSettings();
+ if (!item->downloading()
+ && globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
+ remove = true;
+-
++*/
+ if (item->downloadedSuccessfully()
+ && removePolicy() == DownloadManager::SuccessFullDownload) {
+ remove = true;
+--- a/CMakeLists.txt 2018-03-02 22:39:46.374140506 +0100
++++ b/CMakeLists.txt 2018-03-02 22:41:59.904216932 +0100
+@@ -351,11 +351,6 @@
+ set(BUILD_MESH ON)
+ endif(BUILD_JTREADER)
+
+-#a runtime dependency
+-if(BUILD_START)
+- set(BUILD_WEB ON)
+-endif(BUILD_START)
+-
+ #leaving test module for someone else.
+ #image has none. as far as I can tell.
+ #mesh has none. as far as I can tell.
diff --git a/media-gfx/freecad/freecad-0.17_pre-r1.ebuild b/media-gfx/freecad/freecad-0.17_pre-r1.ebuild
new file mode 100644
index 00000000000..18a7d527d17
--- /dev/null
+++ b/media-gfx/freecad/freecad-0.17_pre-r1.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eutils xdg-utils fortran-2 python-single-r1
+
+DESCRIPTION="Qt based Computer Aided Design application"
+HOMEPAGE="https://www.freecadweb.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/FreeCAD/FreeCAD.git"
+else
+ SRC_URI="https://github.com/FreeCAD/FreeCAD/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/eigen:3
+ dev-java/xerces
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-libs/xerces-c[icu]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pyside:0[X,svg,${PYTHON_USEDEP}]
+ dev-python/shiboken:0[${PYTHON_USEDEP}]
+ dev-qt/designer:4
+ dev-qt/qtgui:4[-egl]
+ dev-qt/qtopengl:4[-egl]
+ dev-qt/qtsvg:4
+ media-libs/coin
+ media-libs/freetype
+ sci-libs/opencascade:*[vtk(+)]
+ sci-libs/orocos_kdl
+ sys-libs/zlib
+ virtual/glu"
+RDEPEND="${COMMON_DEPEND}
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pivy[${PYTHON_USEDEP}]
+ dev-qt/assistant:4"
+DEPEND="${COMMON_DEPEND}
+ >=dev-lang/swig-2.0.4-r1:0
+ dev-python/pyside-tools:0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.14.3702-install-paths.patch
+ "${FILESDIR}"/${P}-no-webkit.patch
+)
+
+# https://bugs.gentoo.org/show_bug.cgi?id=352435
+# https://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="mirror"
+
+# TODO:
+# DEPEND and RDEPEND:
+# salome-smesh - science overlay
+# zipio++ - not in portage yet
+
+S="${WORKDIR}/FreeCAD-${PV}"
+
+DOCS=( README.md ChangeLog.txt )
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ python-single-r1_pkg_setup
+
+ [[ -z ${CASROOT} ]] && die "empty \$CASROOT, run eselect opencascade set or define otherwise"
+}
+
+src_configure() {
+ export QT_SELECT=4
+
+ #-DOCC_* defined with cMake/FindOpenCasCade.cmake
+ #-DCOIN3D_* defined with cMake/FindCoin3D.cmake
+ #-DSOQT_ not used
+ local mycmakeargs=(
+ -DOCC_INCLUDE_DIR="${CASROOT}"/inc
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)
+ -DCMAKE_INSTALL_DATADIR=share/${P}
+ -DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
+ -DCMAKE_INSTALL_INCLUDEDIR=include/${P}
+ -DFREECAD_USE_EXTERNAL_KDL=ON
+ -DBUILD_WEB=OFF
+ )
+
+ # TODO to remove embedded dependencies:
+ #
+ # -DFREECAD_USE_EXTERNAL_ZIPIOS="ON" -- this option needs zipios++ but it's not yet in portage so the embedded zipios++
+ # (under src/zipios++) will be used
+ # salomesmesh is in 3rdparty but upstream's find_package function is not complete yet to compile against external version
+ # (external salomesmesh is available in "science" overlay)
+
+ cmake-utils_src_configure
+ einfo "${P} will be built against opencascade version ${CASROOT}"
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ make_desktop_entry FreeCAD "FreeCAD" "" "" "MimeType=application/x-extension-fcstd;"
+
+ # install mimetype for FreeCAD files
+ insinto /usr/share/mime/packages
+ newins "${FILESDIR}"/${PN}.sharedmimeinfo "${PN}.xml"
+
+ # install icons to correct place rather than /usr/share/freecad
+ pushd "${ED%/}"/usr/share/${P} || die
+ local size
+ for size in 16 32 48 64; do
+ newicon -s ${size} freecad-icon-${size}.png freecad.png
+ done
+ doicon -s scalable freecad.svg
+ newicon -s 64 -c mimetypes freecad-doc.png application-x-extension-fcstd.png
+ popd || die
+
+ python_optimize "${ED%/}"/usr/{,share/${P}/}Mod/
+}
+
+pkg_postinst() {
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_mimeinfo_database_update
+}