summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/freecad/Manifest1
-rw-r--r--media-gfx/freecad/freecad-0.16.ebuild138
2 files changed, 139 insertions, 0 deletions
diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest
index ef0b5030b8a9..04eee41d403d 100644
--- a/media-gfx/freecad/Manifest
+++ b/media-gfx/freecad/Manifest
@@ -1 +1,2 @@
DIST freecad-0.15.4671.tar.gz 93680347 SHA256 8dda8f355cb59866a55c9c6096f39a3ebc5347892284db4c305352cc9be03bbc SHA512 695081117b5511bbc0b7335b63a8760e164987a6dff2c5b0dc86b6b0a93bb7d7b83aa9f4fab1d66d7d2c917a42b0135af78553b463579873a1d1e52e3dd9aecb WHIRLPOOL 0c351ad9ee360dfd9af54af9cc348a6ba3d8c15b6743667f6943e41aa252cec9bd2149baa32fceeceac65660a9b629aefba3c80a5c3a84c45a8d502323547287
+DIST freecad-0.16.tar.gz 111706127 SHA256 6cc71ab4b0dc60b493d3aaa4b42f1ce1af9d4fcd539309ab0792804579e18e09 SHA512 bc9dc8122cabd9a84f2b955746818e0d77ae90e68747ec96521099472b7803df9ff794ed823d6eb29352bd0538b8f01cf81c306ff427f1af2ee049f8f7096dbb WHIRLPOOL 8d90a4213808dcd7ce7adeaeac8a30351e06b217e31326817cb034ec02dcfe7be0ea71cb5bf297e1bab3a8a6c6ac24848f51a0453f9bf09162e700bc52f9cf4d
diff --git a/media-gfx/freecad/freecad-0.16.ebuild b/media-gfx/freecad/freecad-0.16.ebuild
new file mode 100644
index 000000000000..a828e8121207
--- /dev/null
+++ b/media-gfx/freecad/freecad-0.16.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eutils fdo-mime fortran-2 python-single-r1
+
+DESCRIPTION="QT based Computer Aided Design application"
+HOMEPAGE="http://www.freecadweb.org/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/mdadams/jasper.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=""
+
+#sci-libs/orocos_kdl waiting for Bug 604130 (keyword ~x86)
+#dev-qt/qtgui:4[-egl] and dev-qt/qtopengl:4[-egl] : Bug 564978
+#dev-python/pyside[svg] : Bug 591012
+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[X,svg,${PYTHON_USEDEP}]
+ dev-python/shiboken[${PYTHON_USEDEP}]
+ dev-qt/designer:4
+ dev-qt/qtgui:4[-egl]
+ dev-qt/qtopengl:4[-egl]
+ dev-qt/qtsvg:4
+ dev-qt/qtwebkit:4
+ media-libs/coin
+ media-libs/freetype
+ || ( sci-libs/opencascade:6.9.1[vtk] sci-libs/opencascade:6.9.0[vtk] sci-libs/opencascade:6.8.0 sci-libs/opencascade:6.7.1 )
+ 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[${PYTHON_USEDEP}]"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.14.3702-install-paths.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
+ #-DFREECAD_USE_EXTERNAL_KDL="ON" waiting for Bug 604130 (keyword ~x86)
+ 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="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() {
+ fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+ fdo-mime_mime_database_update
+}