commit:     d581c744afb66e29dbd4daa01ca0dcc4911e5836
Author:     Tiziano Müller <dev-zero <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  7 08:20:25 2016 +0000
Commit:     Tiziano Müller <dev-zero <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 08:20:25 2016 +0000
URL:        https://gitweb.gentoo.org/dev/dev-zero.git/commit/?id=d581c744

media-gfx/freecad: add netgen/pcl support

 media-gfx/freecad/Manifest                         |   1 +
 .../files/freecad-0.14.3702-install-paths.patch    |  21 +++
 media-gfx/freecad/files/freecad.sharedmimeinfo     |   8 ++
 media-gfx/freecad/freecad-0.16.ebuild              | 148 +++++++++++++++++++++
 media-gfx/freecad/metadata.xml                     |  11 ++
 5 files changed, 189 insertions(+)

diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest
new file mode 100644
index 0000000..c524d57
--- /dev/null
+++ b/media-gfx/freecad/Manifest
@@ -0,0 +1 @@
+DIST freecad-0.16.tar.gz 111706127 SHA256 
6cc71ab4b0dc60b493d3aaa4b42f1ce1af9d4fcd539309ab0792804579e18e09 SHA512 
bc9dc8122cabd9a84f2b955746818e0d77ae90e68747ec96521099472b7803df9ff794ed823d6eb29352bd0538b8f01cf81c306ff427f1af2ee049f8f7096dbb
 WHIRLPOOL 
8d90a4213808dcd7ce7adeaeac8a30351e06b217e31326817cb034ec02dcfe7be0ea71cb5bf297e1bab3a8a6c6ac24848f51a0453f9bf09162e700bc52f9cf4d

diff --git a/media-gfx/freecad/files/freecad-0.14.3702-install-paths.patch 
b/media-gfx/freecad/files/freecad-0.14.3702-install-paths.patch
new file mode 100644
index 0000000..d042695
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.14.3702-install-paths.patch
@@ -0,0 +1,21 @@
+--- freecad-0.14.3702/CMakeLists.txt
++++ freecad-0.14.3702/CMakeLists.txt
+@@ -69,9 +69,15 @@
+     SET(CMAKE_INSTALL_PREFIX "/usr/lib${LIB_SUFFIX}/freecad" CACHE PATH 
"Installation root directory")
+ endif(WIN32)
+ 
+-SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and 
resource files")
+-SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header 
files")
+-SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation 
and license files")
++if(NOT CMAKE_INSTALL_DATADIR)
++       SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data 
and resource files")
++endif(NOT CMAKE_INSTALL_DATADIR)
++if(NOT CMAKE_INSTALL_INCLUDEDIR)
++       SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for 
header files")
++endif(NOT CMAKE_INSTALL_INCLUDEDIR)
++if(NOT CMAKE_INSTALL_DOCDIR)
++       SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for 
documentation and license files")
++endif(NOT CMAKE_INSTALL_DOCDIR)
+ # Don't set it without manual adaption of LibDir variable in 
src/App/FreeCADInit.py
+ SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries")
+ 

diff --git a/media-gfx/freecad/files/freecad.sharedmimeinfo 
b/media-gfx/freecad/files/freecad.sharedmimeinfo
new file mode 100644
index 0000000..6d5e93e
--- /dev/null
+++ b/media-gfx/freecad/files/freecad.sharedmimeinfo
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
+       <mime-type type="application/x-extension-fcstd">
+               <!-- <sub-class-of type="application/zip"/> -->
+               <comment>FreeCAD document files</comment>
+               <glob pattern="*.fcstd"/>
+       </mime-type>
+</mime-info>

diff --git a/media-gfx/freecad/freecad-0.16.ebuild 
b/media-gfx/freecad/freecad-0.16.ebuild
new file mode 100644
index 0000000..ce8a0dc
--- /dev/null
+++ b/media-gfx/freecad/freecad-0.16.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cmake-utils eutils fortran-2 multilib python-single-r1 fdo-mime 
toolchain-funcs
+
+DESCRIPTION="QT based Computer Aided Design application"
+HOMEPAGE="http://www.freecadweb.org/";
+SRC_URI="https://github.com/FreeCAD/FreeCAD/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="netgen pcl"
+
+COMMON_DEPEND="dev-cpp/eigen:3
+       dev-libs/boost
+       dev-libs/xerces-c[icu]
+       dev-python/matplotlib
+       dev-python/pyside[X]
+       dev-python/shiboken
+       dev-qt/designer:4
+       dev-qt/qtgui:4
+       dev-qt/qtopengl:4
+       dev-qt/qtsvg:4
+       dev-qt/qtwebkit:4
+       media-libs/coin
+       || ( sci-libs/opencascade:6.9.0[vtk] sci-libs/opencascade:6.8.0 
sci-libs/opencascade:6.7.1 )
+       netgen? ( =sci-mathematics/netgen-5*:=[source] )
+       pcl? ( sci-libs/pcl:= )
+       sys-libs/zlib
+       virtual/glu
+       ${PYTHON_DEPS}"
+RDEPEND="${COMMON_DEPEND}
+       dev-qt/assistant:4
+       dev-python/pivy
+       dev-python/numpy"
+DEPEND="${COMMON_DEPEND}
+       dev-python/pyside-tools
+       >=dev-lang/swig-2.0.4-r1:0"
+
+# https://bugs.gentoo.org/show_bug.cgi?id=352435
+# 
https://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt
+RESTRICT="bindist 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_prepare() {
+       epatch \
+               "${FILESDIR}"/${PN}-0.14.3702-install-paths.patch
+
+       #bug 518996
+       sed -e "/LibDir = /s:'lib':'"$(get_libdir)"':g" \
+               -i src/App/FreeCADInit.py || die
+
+       # if we are building with netgen support, we have netgen v5
+       append-cppflags "-DNETGEN_V5"
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DOCC_INCLUDE_DIR="${CASROOT}"/inc
+               -DOCC_INCLUDE_PATH="${CASROOT}"/inc
+               -DOCC_LIBRARY="${CASROOT}"/lib/libTKernel.so
+               -DOCC_LIBRARY_DIR="${CASROOT}"/lib
+               -DOCC_LIB_PATH="${CASROOT}"/lib
+               -DCOIN3D_INCLUDE_DIR="${EROOT}"usr/include/coin
+               -DCOIN3D_LIBRARY="${EROOT}"usr/$(get_libdir)/libCoin.so
+               -DSOQT_LIBRARY="${EROOT}"usr/$(get_libdir)/libSoQt.so
+               -DSOQT_INCLUDE_PATH="${EROOT}"usr/include/coin
+               -DCMAKE_INSTALL_PREFIX="${EROOT}"usr/$(get_libdir)/${P}
+               -DCMAKE_INSTALL_DATADIR="${EROOT}"usr/share/${P}/
+               -DCMAKE_INSTALL_DOCDIR="${EROOT}"usr/share/doc/${P}/
+               -DCMAKE_INSTALL_INCLUDEDIR="${EROOT}"usr/include/${P}/
+               -DBUILD_FEM_NETGEN="$(usex netgen)"
+               -DFREECAD_USE_PCL="$(usex pcl)"
+       )
+
+       # 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
+       ewarn "${P} will be built against opencascade version ${CASROOT}"
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       prune_libtool_files
+
+       make_wrapper FreeCAD \
+               "${EROOT}"usr/$(get_libdir)/${P}/bin/FreeCAD \
+               "" "${EROOT}"usr/$(get_libdir)/${P}/lib
+       make_wrapper FreeCADCmd \
+               "${EROOT}"usr/$(get_libdir)/${P}/bin/FreeCADCmd \
+               "" "${EROOT}"usr/$(get_libdir)/${P}/lib
+
+       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}"
+       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
+
+       # disable compression of QT assistant help files
+       >> "${ED}"usr/share/doc/${P}/freecad.qhc.ecompress.skip
+       >> "${ED}"usr/share/doc/${P}/freecad.qch.ecompress.skip
+
+       python_optimize "${ED}"usr/{$(get_libdir),share}/${P}/Mod/
+}
+
+pkg_postinst() {
+       fdo-mime_mime_database_update
+}
+
+pkg_postrm() {
+       fdo-mime_mime_database_update
+}

diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml
new file mode 100644
index 0000000..a957e8b
--- /dev/null
+++ b/media-gfx/freecad/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>x...@gentoo.org</email>
+               <name>Michael Weber</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="sourceforge">free-cad</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to