# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python3_{4,5,6} ) inherit cmake-utils eutils xdg-utils gnome2-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 COMMIT="c770ce7a343072dd2df74bf5b95ac4a114ce9213" # 2017-11-18 SRC_URI="https://github.com/FreeCAD/FreeCAD/archive/${COMMIT}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~x86" S="${WORKDIR}/FreeCAD-${COMMIT}" fi LICENSE="GPL-2" SLOT="0" IUSE="" REQUIRED_USE="${PYTHON_REQUIRED_USE}" # dev-python/pyside[svg]: svg USE flag is required for FreeCAD Draft mode COMMON_DEPEND=" ${PYTHON_DEPS} dev-cpp/eigen:3 dev-libs/boost:=[python,${PYTHON_USEDEP}] dev-libs/xerces-c[icu] dev-python/matplotlib[${PYTHON_USEDEP}] dev-python/pyside:2[svg,${PYTHON_USEDEP}] dev-python/shiboken:2[${PYTHON_USEDEP}] dev-qt/qtnetwork:5 dev-qt/qtxml:5 dev-qt/qtwidgets:5 dev-qt/qtprintsupport:5 dev-qt/qtopengl:5 dev-qt/qtsvg:5 dev-qt/designer:5 dev-qt/qtconcurrent:5 dev-qt/qtwebkit:5 media-libs/coin media-libs/freetype sci-libs/opencascade[vtk(+)] sci-libs/orocos_kdl sys-libs/zlib virtual/glu sci-libs/libmed" RDEPEND="${COMMON_DEPEND} dev-python/numpy[${PYTHON_USEDEP}] dev-qt/assistant:5" # dev-python/pivy[${PYTHON_USEDEP}] - depends on SoQt which depends on Qt4 DEPEND="${COMMON_DEPEND} >=dev-lang/swig-2.0.4-r1:0 dev-python/pyside-tools:2[${PYTHON_USEDEP}]" PATCHES=( "${FILESDIR}"/${PN}-0.14.3702-install-paths.patch ) 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=5 #-DOCC_* defined with cMake/FindOpenCasCade.cmake #-DCOIN3D_* defined with cMake/FindCoin3D.cmake #-DSOQT_ not used local mycmakeargs=( -DBUILD_QT5=ON -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" ) # TODO: 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() { gnome2_icon_cache_update xdg_desktop_database_update xdg_mimeinfo_database_update } pkg_postrm() { xdg_mimeinfo_database_update xdg_desktop_database_update gnome2_icon_cache_update }