diff options
-rw-r--r-- | media-gfx/freecad/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/freecad/freecad-0.16.ebuild | 138 |
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 +} |