1 |
commit: d581c744afb66e29dbd4daa01ca0dcc4911e5836 |
2 |
Author: Tiziano Müller <dev-zero <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Jul 7 08:20:25 2016 +0000 |
4 |
Commit: Tiziano Müller <dev-zero <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Jul 7 08:20:25 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/dev/dev-zero.git/commit/?id=d581c744 |
7 |
|
8 |
media-gfx/freecad: add netgen/pcl support |
9 |
|
10 |
media-gfx/freecad/Manifest | 1 + |
11 |
.../files/freecad-0.14.3702-install-paths.patch | 21 +++ |
12 |
media-gfx/freecad/files/freecad.sharedmimeinfo | 8 ++ |
13 |
media-gfx/freecad/freecad-0.16.ebuild | 148 +++++++++++++++++++++ |
14 |
media-gfx/freecad/metadata.xml | 11 ++ |
15 |
5 files changed, 189 insertions(+) |
16 |
|
17 |
diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest |
18 |
new file mode 100644 |
19 |
index 0000000..c524d57 |
20 |
--- /dev/null |
21 |
+++ b/media-gfx/freecad/Manifest |
22 |
@@ -0,0 +1 @@ |
23 |
+DIST freecad-0.16.tar.gz 111706127 SHA256 6cc71ab4b0dc60b493d3aaa4b42f1ce1af9d4fcd539309ab0792804579e18e09 SHA512 bc9dc8122cabd9a84f2b955746818e0d77ae90e68747ec96521099472b7803df9ff794ed823d6eb29352bd0538b8f01cf81c306ff427f1af2ee049f8f7096dbb WHIRLPOOL 8d90a4213808dcd7ce7adeaeac8a30351e06b217e31326817cb034ec02dcfe7be0ea71cb5bf297e1bab3a8a6c6ac24848f51a0453f9bf09162e700bc52f9cf4d |
24 |
|
25 |
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 |
26 |
new file mode 100644 |
27 |
index 0000000..d042695 |
28 |
--- /dev/null |
29 |
+++ b/media-gfx/freecad/files/freecad-0.14.3702-install-paths.patch |
30 |
@@ -0,0 +1,21 @@ |
31 |
+--- freecad-0.14.3702/CMakeLists.txt |
32 |
++++ freecad-0.14.3702/CMakeLists.txt |
33 |
+@@ -69,9 +69,15 @@ |
34 |
+ SET(CMAKE_INSTALL_PREFIX "/usr/lib${LIB_SUFFIX}/freecad" CACHE PATH "Installation root directory") |
35 |
+ endif(WIN32) |
36 |
+ |
37 |
+-SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files") |
38 |
+-SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files") |
39 |
+-SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files") |
40 |
++if(NOT CMAKE_INSTALL_DATADIR) |
41 |
++ SET(CMAKE_INSTALL_DATADIR data CACHE PATH "Output directory for data and resource files") |
42 |
++endif(NOT CMAKE_INSTALL_DATADIR) |
43 |
++if(NOT CMAKE_INSTALL_INCLUDEDIR) |
44 |
++ SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header files") |
45 |
++endif(NOT CMAKE_INSTALL_INCLUDEDIR) |
46 |
++if(NOT CMAKE_INSTALL_DOCDIR) |
47 |
++ SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and license files") |
48 |
++endif(NOT CMAKE_INSTALL_DOCDIR) |
49 |
+ # Don't set it without manual adaption of LibDir variable in src/App/FreeCADInit.py |
50 |
+ SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries") |
51 |
+ |
52 |
|
53 |
diff --git a/media-gfx/freecad/files/freecad.sharedmimeinfo b/media-gfx/freecad/files/freecad.sharedmimeinfo |
54 |
new file mode 100644 |
55 |
index 0000000..6d5e93e |
56 |
--- /dev/null |
57 |
+++ b/media-gfx/freecad/files/freecad.sharedmimeinfo |
58 |
@@ -0,0 +1,8 @@ |
59 |
+<?xml version="1.0" encoding="UTF-8"?> |
60 |
+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> |
61 |
+ <mime-type type="application/x-extension-fcstd"> |
62 |
+ <!-- <sub-class-of type="application/zip"/> --> |
63 |
+ <comment>FreeCAD document files</comment> |
64 |
+ <glob pattern="*.fcstd"/> |
65 |
+ </mime-type> |
66 |
+</mime-info> |
67 |
|
68 |
diff --git a/media-gfx/freecad/freecad-0.16.ebuild b/media-gfx/freecad/freecad-0.16.ebuild |
69 |
new file mode 100644 |
70 |
index 0000000..ce8a0dc |
71 |
--- /dev/null |
72 |
+++ b/media-gfx/freecad/freecad-0.16.ebuild |
73 |
@@ -0,0 +1,148 @@ |
74 |
+# Copyright 1999-2016 Gentoo Foundation |
75 |
+# Distributed under the terms of the GNU General Public License v2 |
76 |
+# $Id$ |
77 |
+ |
78 |
+EAPI=6 |
79 |
+ |
80 |
+PYTHON_COMPAT=( python2_7 ) |
81 |
+ |
82 |
+inherit cmake-utils eutils fortran-2 multilib python-single-r1 fdo-mime toolchain-funcs |
83 |
+ |
84 |
+DESCRIPTION="QT based Computer Aided Design application" |
85 |
+HOMEPAGE="http://www.freecadweb.org/" |
86 |
+SRC_URI="https://github.com/FreeCAD/FreeCAD/archive/${PV}.tar.gz -> ${P}.tar.gz" |
87 |
+ |
88 |
+LICENSE="GPL-2" |
89 |
+SLOT="0" |
90 |
+KEYWORDS="~amd64 ~x86" |
91 |
+IUSE="netgen pcl" |
92 |
+ |
93 |
+COMMON_DEPEND="dev-cpp/eigen:3 |
94 |
+ dev-libs/boost |
95 |
+ dev-libs/xerces-c[icu] |
96 |
+ dev-python/matplotlib |
97 |
+ dev-python/pyside[X] |
98 |
+ dev-python/shiboken |
99 |
+ dev-qt/designer:4 |
100 |
+ dev-qt/qtgui:4 |
101 |
+ dev-qt/qtopengl:4 |
102 |
+ dev-qt/qtsvg:4 |
103 |
+ dev-qt/qtwebkit:4 |
104 |
+ media-libs/coin |
105 |
+ || ( sci-libs/opencascade:6.9.0[vtk] sci-libs/opencascade:6.8.0 sci-libs/opencascade:6.7.1 ) |
106 |
+ netgen? ( =sci-mathematics/netgen-5*:=[source] ) |
107 |
+ pcl? ( sci-libs/pcl:= ) |
108 |
+ sys-libs/zlib |
109 |
+ virtual/glu |
110 |
+ ${PYTHON_DEPS}" |
111 |
+RDEPEND="${COMMON_DEPEND} |
112 |
+ dev-qt/assistant:4 |
113 |
+ dev-python/pivy |
114 |
+ dev-python/numpy" |
115 |
+DEPEND="${COMMON_DEPEND} |
116 |
+ dev-python/pyside-tools |
117 |
+ >=dev-lang/swig-2.0.4-r1:0" |
118 |
+ |
119 |
+# https://bugs.gentoo.org/show_bug.cgi?id=352435 |
120 |
+# https://www.gentoo.org/foundation/en/minutes/2011/20110220_trustees.meeting_log.txt |
121 |
+RESTRICT="bindist mirror" |
122 |
+ |
123 |
+# TODO: |
124 |
+# DEPEND and RDEPEND: |
125 |
+# salome-smesh - science overlay |
126 |
+# zipio++ - not in portage yet |
127 |
+ |
128 |
+S="${WORKDIR}/FreeCAD-${PV}" |
129 |
+ |
130 |
+DOCS=(README.md ChangeLog.txt) |
131 |
+ |
132 |
+pkg_setup() { |
133 |
+ fortran-2_pkg_setup |
134 |
+ python-single-r1_pkg_setup |
135 |
+ |
136 |
+ [ -z "${CASROOT}" ] && die "empty \$CASROOT, run eselect opencascade set or define otherwise" |
137 |
+} |
138 |
+ |
139 |
+src_prepare() { |
140 |
+ epatch \ |
141 |
+ "${FILESDIR}"/${PN}-0.14.3702-install-paths.patch |
142 |
+ |
143 |
+ #bug 518996 |
144 |
+ sed -e "/LibDir = /s:'lib':'"$(get_libdir)"':g" \ |
145 |
+ -i src/App/FreeCADInit.py || die |
146 |
+ |
147 |
+ # if we are building with netgen support, we have netgen v5 |
148 |
+ append-cppflags "-DNETGEN_V5" |
149 |
+} |
150 |
+ |
151 |
+src_configure() { |
152 |
+ local mycmakeargs=( |
153 |
+ -DOCC_INCLUDE_DIR="${CASROOT}"/inc |
154 |
+ -DOCC_INCLUDE_PATH="${CASROOT}"/inc |
155 |
+ -DOCC_LIBRARY="${CASROOT}"/lib/libTKernel.so |
156 |
+ -DOCC_LIBRARY_DIR="${CASROOT}"/lib |
157 |
+ -DOCC_LIB_PATH="${CASROOT}"/lib |
158 |
+ -DCOIN3D_INCLUDE_DIR="${EROOT}"usr/include/coin |
159 |
+ -DCOIN3D_LIBRARY="${EROOT}"usr/$(get_libdir)/libCoin.so |
160 |
+ -DSOQT_LIBRARY="${EROOT}"usr/$(get_libdir)/libSoQt.so |
161 |
+ -DSOQT_INCLUDE_PATH="${EROOT}"usr/include/coin |
162 |
+ -DCMAKE_INSTALL_PREFIX="${EROOT}"usr/$(get_libdir)/${P} |
163 |
+ -DCMAKE_INSTALL_DATADIR="${EROOT}"usr/share/${P}/ |
164 |
+ -DCMAKE_INSTALL_DOCDIR="${EROOT}"usr/share/doc/${P}/ |
165 |
+ -DCMAKE_INSTALL_INCLUDEDIR="${EROOT}"usr/include/${P}/ |
166 |
+ -DBUILD_FEM_NETGEN="$(usex netgen)" |
167 |
+ -DFREECAD_USE_PCL="$(usex pcl)" |
168 |
+ ) |
169 |
+ |
170 |
+ # TODO to remove embedded dependencies: |
171 |
+ # |
172 |
+ # -DFREECAD_USE_EXTERNAL_ZIPIOS="ON" -- this option needs zipios++ but it's not yet in portage so the embedded zipios++ |
173 |
+ # (under src/zipios++) will be used |
174 |
+ # salomesmesh is in 3rdparty but upstream's find_package function is not complete yet to compile against external version |
175 |
+ # (external salomesmesh is available in "science" overlay) |
176 |
+ |
177 |
+ cmake-utils_src_configure |
178 |
+ ewarn "${P} will be built against opencascade version ${CASROOT}" |
179 |
+} |
180 |
+ |
181 |
+src_install() { |
182 |
+ cmake-utils_src_install |
183 |
+ |
184 |
+ prune_libtool_files |
185 |
+ |
186 |
+ make_wrapper FreeCAD \ |
187 |
+ "${EROOT}"usr/$(get_libdir)/${P}/bin/FreeCAD \ |
188 |
+ "" "${EROOT}"usr/$(get_libdir)/${P}/lib |
189 |
+ make_wrapper FreeCADCmd \ |
190 |
+ "${EROOT}"usr/$(get_libdir)/${P}/bin/FreeCADCmd \ |
191 |
+ "" "${EROOT}"usr/$(get_libdir)/${P}/lib |
192 |
+ |
193 |
+ make_desktop_entry FreeCAD "FreeCAD" "" "" "MimeType=application/x-extension-fcstd;" |
194 |
+ |
195 |
+ # install mimetype for FreeCAD files |
196 |
+ insinto /usr/share/mime/packages |
197 |
+ newins "${FILESDIR}"/${PN}.sharedmimeinfo "${PN}.xml" |
198 |
+ |
199 |
+ # install icons to correct place rather than /usr/share/freecad |
200 |
+ pushd "${ED}/usr/share/${P}" |
201 |
+ for size in 16 32 48 64; do |
202 |
+ newicon -s ${size} freecad-icon-${size}.png freecad.png |
203 |
+ done |
204 |
+ doicon -s scalable freecad.svg |
205 |
+ newicon -s 64 -c mimetypes freecad-doc.png application-x-extension-fcstd.png |
206 |
+ popd |
207 |
+ |
208 |
+ # disable compression of QT assistant help files |
209 |
+ >> "${ED}"usr/share/doc/${P}/freecad.qhc.ecompress.skip |
210 |
+ >> "${ED}"usr/share/doc/${P}/freecad.qch.ecompress.skip |
211 |
+ |
212 |
+ python_optimize "${ED}"usr/{$(get_libdir),share}/${P}/Mod/ |
213 |
+} |
214 |
+ |
215 |
+pkg_postinst() { |
216 |
+ fdo-mime_mime_database_update |
217 |
+} |
218 |
+ |
219 |
+pkg_postrm() { |
220 |
+ fdo-mime_mime_database_update |
221 |
+} |
222 |
|
223 |
diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml |
224 |
new file mode 100644 |
225 |
index 0000000..a957e8b |
226 |
--- /dev/null |
227 |
+++ b/media-gfx/freecad/metadata.xml |
228 |
@@ -0,0 +1,11 @@ |
229 |
+<?xml version="1.0" encoding="UTF-8"?> |
230 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
231 |
+<pkgmetadata> |
232 |
+ <maintainer type="person"> |
233 |
+ <email>xmw@g.o</email> |
234 |
+ <name>Michael Weber</name> |
235 |
+ </maintainer> |
236 |
+ <upstream> |
237 |
+ <remote-id type="sourceforge">free-cad</remote-id> |
238 |
+ </upstream> |
239 |
+</pkgmetadata> |