summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD83
1 files changed, 83 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..618fd6491524
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,83 @@
+# Maintainer: Michal Ulianko <michal (dot) ulianko (at) gmail (dot) com>
+
+_appname=freecad-python3
+pkgname=freecad-python3-git
+pkgver=r13344.404452d6e
+pkgrel=1
+pkgdesc='A general purpose 3D CAD modeler'
+arch=('x86_64')
+url='http://www.freecadweb.org/'
+license=('LGPL')
+depends=('netcdf' 'boost-libs' 'coin' 'med' 'python-pyside2-git' 'opencascade7'
+ 'xerces-c' 'qt5-svg' 'qt5-webkit' 'jsoncpp' 'hicolor-icon-theme')
+makedepends=('git' 'cmake' 'boost' 'eigen' 'desktop-file-utils' 'qt5-tools'
+ 'python-pyside2-tools-git')
+source=("${_appname}::git+https://github.com/FreeCAD/FreeCAD.git"
+ "python_version.patch"
+ "FreeCAD-Python3"
+ "FreeCADCmd-Python3"
+ "freecad-python3.desktop"
+ "freecad-python3.xml")
+md5sums=('SKIP'
+ 'c6fcaa9963687bcadf4df8afb44effc5'
+ '11de902a9afd6b1e4a6cde867e167bb0'
+ '6ef4c2f2e40d5185401819c8e76453e5'
+ 'bc7b8caca5f8e6b7812f47af2dfa79c6'
+ 'c2f4154c8e4678825411de8e7fa54c6b')
+
+pkgver() {
+ cd "$srcdir/${_appname}"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare() {
+ cd "$srcdir/${_appname}"
+ patch -p1 -i "$srcdir/python_version.patch"
+}
+
+build() {
+ cd "$srcdir/${_appname}"
+ cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX="/opt/${_appname}" \
+ -DBUILD_QT5=ON \
+ -DOCC_INCLUDE_DIR="/opt/opencascade7/include/opencascade" \
+ -DOCC_LIBRARY_DIR="/opt/opencascade7/lib" \
+ -DCMAKE_PREFIX_PATH="/opt/opencascade7" \
+ -DCMAKE_INCLUDE_PATH="/opt/opencascade7/include/opencascade" \
+ -DCMAKE_LIBRARY_PATH="/opt/opencascade7/lib" \
+ -DCMAKE_INSTALL_RPATH="/opt/opencascade7/lib;/usr/lib" \
+ -DPYSIDE2RCCBINARY="/usr/bin/pyside2-rcc" \
+ -DPYSIDE2UICBINARY="/usr/bin/pyside2-uic"
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${_appname}"
+ local bin="FreeCAD-Python3"
+ local bin_cmd="FreeCADCmd-Python3"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Scripts that execute /opt/freecad-qt5/bin/<name>
+ install -D -m755 "${srcdir}/${bin}" "${pkgdir}/usr/bin/${bin}"
+ install -D -m755 "${srcdir}/${bin_cmd}" "${pkgdir}/usr/bin/${bin_cmd}"
+
+ # Lowercase aliases like the official arch package.
+ ln -s "/usr/bin/${bin}" "${pkgdir}/usr/bin/${bin,,}"
+ ln -s "/usr/bin/${bin_cmd}" "${pkgdir}/usr/bin/${bin_cmd,,}"
+
+ # Install pixmaps and desktop shortcut.
+ install -Dm644 "src/Gui/Icons/freecad-doc.svg" \
+ "${pkgdir}/usr/share/icons/hicolor/scalable/mimetypes/application-x-extension-fcstd.svg"
+ for i in 16 32 48 64; do
+ install -Dm644 "src/Gui/Icons/freecad-icon-${i}.png" \
+ "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${_appname}.png"
+ done
+ desktop-file-install \
+ --dir="${pkgdir}/usr/share/applications" "${srcdir}/${_appname}.desktop"
+
+ # Install mime info.
+ install -D -m644 "${srcdir}/${_appname}.xml" \
+ "${pkgdir}/usr/share/mime/packages/${_appname}.xml"
+}