[arch-commits] Commit in freecad/repos (3 files)
Felix Yan
felixonmars at archlinux.org
Sat Dec 12 15:57:03 UTC 2020
Date: Saturday, December 12, 2020 @ 15:57:02
Author: felixonmars
Revision: 773369
archrelease: copy trunk to community-staging-x86_64
Added:
freecad/repos/community-staging-x86_64/
freecad/repos/community-staging-x86_64/PKGBUILD
(from rev 773368, freecad/trunk/PKGBUILD)
freecad/repos/community-staging-x86_64/freecad.xml
(from rev 773368, freecad/trunk/freecad.xml)
-------------+
PKGBUILD | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
freecad.xml | 9 ++++
2 files changed, 130 insertions(+)
Copied: freecad/repos/community-staging-x86_64/PKGBUILD (from rev 773368, freecad/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2020-12-12 15:57:02 UTC (rev 773369)
@@ -0,0 +1,121 @@
+# Maintainer: Alexander F. Rødseth <xyproto at archlinux.org>
+# Contributor: Gabriel Souza Franco <Z2FicmllbGZyYW5jb3NvdXphQGdtYWlsLmNvbQ==>
+# Contributor: Florian Pritz
+# Contributor: Jonas Heinrich <onny at project-insanity.org>
+# Contributor: Jordi De Groof <jordi.degroof at gmail.com>
+# Contributor: mickele
+# Contributor: manwithgrenade
+# Contributor: bricem13
+# Contributor: gborzi
+
+pkgname=freecad
+pkgver=0.18.5
+_commit=734202bc810bf61bd6f66bdc060e6951bd0d134d # tag: 0.18.5
+pkgrel=5
+pkgdesc='General purpose 3D CAD modeler'
+arch=(x86_64)
+url='https://freecadweb.org/'
+license=(LGPL)
+depends=(boost-libs glew jsoncpp libspnav med netcdf opencascade74 openmpi
+ pyside2-tools python-matplotlib python-pivy python-pyside2 qt5-svg
+ qt5-tools qt5-webkit qt5-x11extras shared-mime-info xerces-c)
+makedepends=(boost cmake coin eigen gcc-fortran gendesk git ninja pyside2
+ python-shiboken2 shiboken2 swig)
+source=("git+https://github.com/FreeCAD/FreeCAD#commit=$_commit"
+ "$pkgname-qt-5.14.patch::https://github.com/FreeCAD/FreeCAD/commit/17ed2b196a58.patch"
+ "$pkgname-qt-5.14-version.patch::https://github.com/FreeCAD/FreeCAD/commit/1666b28836ba.patch"
+ "$pkgname-qt-5.15.patch::https://github.com/FreeCAD/FreeCAD/commit/b2882c699b14.patch"
+ "$pkgname-py38.patch::https://github.com/FreeCAD/FreeCAD/commit/6eacb17b3e03.patch"
+ "$pkgname-py39.patch::https://github.com/FreeCAD/FreeCAD/commit/ae641dc5278e.patch"
+ "$pkgname-boost-1.73.patch::https://github.com/FreeCAD/FreeCAD/commit/200c7c7e00d5.patch"
+ freecad.xml)
+sha256sums=('SKIP'
+ '9af1f0b85a58acad3035fd5abfaf60f57f6a5424101cb328f16468a9e4aebfa5'
+ 'a74b2f0a48056f73d4b5adaf37bb71750b140bb05a4e417b8c7ed35f294facde'
+ '820d863794a0dbf0ca1dbe5a419d1823202b2459fee1cc8751a61af67a735bb6'
+ '3d2570c143825acd01b8eeb645fc450566e9ac20d6333de9e17cbc10fb5a13e0'
+ 'de1d61c18d329e0903d5c1bc27b9c4e28c4911380bdd4b6c49da5b63740862f1'
+ '99a55f06e9d3be3385cb41d747b1a6c9515b010d867bdeeda000a45c0014a89e'
+ '4ee1daf47c8371a3e17173d85a0dd4a106dacd7899d783ccd97a6f3e0dd1a21f')
+
+prepare() {
+ cd FreeCAD
+
+ patch -Np1 -i ../$pkgname-qt-5.14.patch
+ patch -Np1 -i ../$pkgname-qt-5.14-version.patch
+ patch -Np1 -i ../$pkgname-qt-5.15.patch
+ patch -Np1 -i ../$pkgname-py38.patch
+ patch -Np1 -i ../$pkgname-py39.patch
+ patch -Np1 -i ../$pkgname-boost-1.73.patch
+
+ cd src
+
+ # Fix missing "std::" qualifiers, sledge hammer style
+ find . \
+ ! -wholename "*/Mod/Sketcher/*" \
+ ! -wholename "*/Mod/PartDesign/*" \
+ -name "*.cpp" -type f \
+ -exec sed -i '1i using namespace std;' {} \;
+
+ # Add missing include
+ sed -i '1i \#include <Inventor\/SbByteBuffer.h>' \
+ Gui/Quarter/QuarterWidget.cpp
+
+ # Create desktop shortcut
+ gendesk -f -n --pkgname "$pkgname" --pkgdesc "$pkgdesc" --name FreeCAD \
+ --mimetypes='application/x-extension-fcstd' --startupnotify=true
+}
+
+build() {
+ # OpenCascade requires that /bin comes before /usr/bin in $PATH
+ export PATH="/usr/bin:$PATH"
+
+ # Configure with CMake and build with Ninja
+ # C++14 mode required by Boost.Geometry 1.75
+ mkdir -p build
+ cd build
+ cmake ../FreeCAD \
+ -D BUILD_ENABLE_CXX_STD=C++14 \
+ -D BUILD_QT5=ON \
+ -D CMAKE_BUILD_TYPE=Release \
+ -D CMAKE_C_FLAGS="$CFLAGS -fPIC -w" \
+ -D CMAKE_CXX_FLAGS="$CXXFLAGS -fPIC -w" \
+ -D CMAKE_INSTALL_DATADIR="/usr/share/freecad" \
+ -D CMAKE_INSTALL_DOCDIR="/usr/share/freecad/doc" \
+ -D CMAKE_INSTALL_PREFIX="/usr/lib/freecad" \
+ -D FREECAD_USE_EXTERNAL_PIVY=ON \
+ -D FREECAD_USE_OCC_VARIANT="Official Version" \
+ -D FREECAD_USE_QT_FILEDIALOG=ON \
+ -D PYTHON_EXECUTABLE=/usr/bin/python \
+ -G Ninja
+ ninja
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C build install
+
+ # Package desktop shortcut
+ install -Dm644 FreeCAD/src/freecad.desktop \
+ "$pkgdir/usr/share/applications/freecad.desktop"
+
+ # Package MIME info
+ install -Dm644 freecad.xml "$pkgdir/usr/share/mime/packages/freecad.xml"
+
+ cd FreeCAD/src/Gui/Icons
+
+ # Package icons
+ for i in 16 32 48 64; do
+ install -Dm644 "freecad-icon-$i.png" \
+ "$pkgdir/usr/share/icons/hicolor/${i}x$i/apps/freecad.png"
+ done
+ install -Dm644 freecad.svg \
+ "$pkgdir/usr/share/icons/hicolor/scalable/apps/freecad.svg"
+
+
+ # Package symlinks in /usr/bin
+ install -d "$pkgdir/usr/bin"
+ ln -sf /usr/lib/freecad/bin/FreeCAD "$pkgdir/usr/bin/freecad"
+ ln -sf /usr/lib/freecad/bin/FreeCAD "$pkgdir/usr/bin/FreeCAD"
+ ln -sf /usr/lib/freecad/bin/FreeCADCmd "$pkgdir/usr/bin/freecadcmd"
+ ln -sf /usr/lib/freecad/bin/FreeCADCmd "$pkgdir/usr/bin/FreeCADCmd"
+}
Copied: freecad/repos/community-staging-x86_64/freecad.xml (from rev 773368, freecad/trunk/freecad.xml)
===================================================================
--- community-staging-x86_64/freecad.xml (rev 0)
+++ community-staging-x86_64/freecad.xml 2020-12-12 15:57:02 UTC (rev 773369)
@@ -0,0 +1,9 @@
+<?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</comment>
+ <glob pattern="*.fcstd"/>
+ <icon name="freecad"/>
+ </mime-type>
+</mime-info>
More information about the arch-commits
mailing list