[arch-commits] Commit in freecad/repos/community-x86_64 (6 files)
Alexander Rødseth
arodseth at archlinux.org
Fri Nov 27 11:45:39 UTC 2020
Date: Friday, November 27, 2020 @ 11:45:39
Author: arodseth
Revision: 764074
archrelease: copy trunk to community-x86_64
Added:
freecad/repos/community-x86_64/FindPySide2Tools.cmake
(from rev 764073, freecad/trunk/FindPySide2Tools.cmake)
freecad/repos/community-x86_64/PKGBUILD
(from rev 764073, freecad/trunk/PKGBUILD)
freecad/repos/community-x86_64/freecad.xml
(from rev 764073, freecad/trunk/freecad.xml)
Deleted:
freecad/repos/community-x86_64/FindPySide2Tools.cmake
freecad/repos/community-x86_64/PKGBUILD
freecad/repos/community-x86_64/freecad.xml
------------------------+
FindPySide2Tools.cmake | 224 +++++++++++++++++++++----------------------
PKGBUILD | 240 +++++++++++++++++++++++------------------------
freecad.xml | 18 +--
3 files changed, 243 insertions(+), 239 deletions(-)
Deleted: FindPySide2Tools.cmake
===================================================================
--- FindPySide2Tools.cmake 2020-11-27 11:45:31 UTC (rev 764073)
+++ FindPySide2Tools.cmake 2020-11-27 11:45:39 UTC (rev 764074)
@@ -1,112 +0,0 @@
-# Try to find PySide2 utilities, PYSIDE2UIC and PYSIDE2RCC:
-# PYSIDE2UICBINARY - Location of PYSIDE2UIC executable
-# PYSIDE2RCCBINARY - Location of PYSIDE2RCC executable
-# PYSIDE2_TOOLS_FOUND - PySide2 utilities found.
-
-# Also provides macro similar to FindQt4.cmake's WRAP_UI and WRAP_RC,
-# for the automatic generation of Python code from Qt4's user interface
-# ('.ui') and resource ('.qrc') files. These macros are called:
-# - PYSIDE_WRAP_UI
-# - PYSIDE_WRAP_RC
-
-IF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
- # Already in cache, be silent
- set(PYSIDE2_TOOLS_FOUND_QUIETLY TRUE)
-ENDIF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
-
-if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- #pyside2 tools are often in same location as python interpreter
- get_filename_component(PYTHON_BIN_DIR ${PYTHON_EXECUTABLE} PATH)
- set(PYSIDE_BIN_DIR ${PYTHON_BIN_DIR})
-endif(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-
-# Since Qt v5.14, pyside2-uic and pyside2-rcc are directly provided by Qt5Core uic and rcc, with '-g python' option
-# We test Qt5Core version to act accordingly
-
-FIND_PACKAGE(Qt5Core)
-
-IF(Qt5Core_VERSION VERSION_LESS 5.14)
- # Legacy (< 5.14)
- FIND_PROGRAM(PYSIDE2UICBINARY NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyuic5 HINTS ${PYSIDE_BIN_DIR})
- FIND_PROGRAM(PYSIDE2RCCBINARY NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyrcc5 HINTS ${PYSIDE_BIN_DIR})
- set(UICOPTIONS "")
- set(RCCOPTIONS "")
-ELSE(Qt5Core_VERSION VERSION_LESS 5.14)
- # New (>= 5.14)
- FIND_PROGRAM(PYSIDE2UICBINARY NAMES uic-qt5 uic pyside2-uic)
- set(UICOPTIONS "--generator=python")
- FIND_PROGRAM(PYSIDE2RCCBINARY NAMES rcc-qt5 rcc pyside2-rcc)
- set(RCCOPTIONS "--generator=python" "--compress-algo=zlib" "--compress=1")
-ENDIF(Qt5Core_VERSION VERSION_LESS 5.14)
-
-MACRO(PYSIDE_WRAP_UI outfiles)
- FOREACH(it ${ARGN})
- GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
- GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
- SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
- #ADD_CUSTOM_TARGET(${it} ALL
- # DEPENDS ${outfile}
- #)
- if(WIN32 OR APPLE)
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
- COMMAND ${PYSIDE2UICBINARY} ${UICOPTIONS} ${infile} -o ${outfile}
- MAIN_DEPENDENCY ${infile}
- )
- else()
- # Especially on Open Build Service we don't want changing date like
- # pyside2-uic generates in comments at beginning., which is why
- # we follow the tool command with in-place sed.
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
- COMMAND "${PYSIDE2UICBINARY}" ${UICOPTIONS} "${infile}" -o "${outfile}"
- COMMAND sed -i "/^# /d" "${outfile}"
- MAIN_DEPENDENCY "${infile}"
- )
- endif()
- list(APPEND ${outfiles} ${outfile})
- ENDFOREACH(it)
-ENDMACRO (PYSIDE_WRAP_UI)
-
-MACRO(PYSIDE_WRAP_RC outfiles)
- FOREACH(it ${ARGN})
- GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
- GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
- SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}_rc.py")
- #ADD_CUSTOM_TARGET(${it} ALL
- # DEPENDS ${outfile}
- #)
- if(WIN32 OR APPLE)
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
- COMMAND ${PYSIDE2RCCBINARY} ${RCCOPTIONS} ${infile} -o ${outfile}
- MAIN_DEPENDENCY ${infile}
- )
- else()
- # Especially on Open Build Service we don't want changing date like
- # pyside-rcc generates in comments at beginning, which is why
- # we follow the tool command with in-place sed.
- ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
- COMMAND "${PYSIDE2RCCBINARY}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
- COMMAND sed -i "/^# /d" "${outfile}"
- MAIN_DEPENDENCY "${infile}"
- )
- endif()
- list(APPEND ${outfiles} ${outfile})
- ENDFOREACH(it)
-ENDMACRO (PYSIDE_WRAP_RC)
-
-IF(EXISTS ${PYSIDE2UICBINARY} AND EXISTS ${PYSIDE2RCCBINARY})
- set(PYSIDE2_TOOLS_FOUND TRUE)
-ENDIF(EXISTS ${PYSIDE2UICBINARY} AND EXISTS ${PYSIDE2RCCBINARY})
-
-if(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
- if (NOT PySide2Tools_FIND_QUIETLY)
- message(STATUS "Found PySide2 tools: ${PYSIDE2UICBINARY}, ${PYSIDE2RCCBINARY}")
- endif (NOT PySide2Tools_FIND_QUIETLY)
-else(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
- if(PySide2Tools_FIND_REQUIRED)
- message(FATAL_ERROR "PySide2 tools could not be found, but are required.")
- else(PySide2Tools_FIND_REQUIRED)
- if (NOT PySide2Tools_FIND_QUIETLY)
- message(STATUS "PySide2 tools: not found.")
- endif (NOT PySide2Tools_FIND_QUIETLY)
- endif(PySide2Tools_FIND_REQUIRED)
-endif(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
Copied: freecad/repos/community-x86_64/FindPySide2Tools.cmake (from rev 764073, freecad/trunk/FindPySide2Tools.cmake)
===================================================================
--- FindPySide2Tools.cmake (rev 0)
+++ FindPySide2Tools.cmake 2020-11-27 11:45:39 UTC (rev 764074)
@@ -0,0 +1,112 @@
+# Try to find PySide2 utilities, PYSIDE2UIC and PYSIDE2RCC:
+# PYSIDE2UICBINARY - Location of PYSIDE2UIC executable
+# PYSIDE2RCCBINARY - Location of PYSIDE2RCC executable
+# PYSIDE2_TOOLS_FOUND - PySide2 utilities found.
+
+# Also provides macro similar to FindQt4.cmake's WRAP_UI and WRAP_RC,
+# for the automatic generation of Python code from Qt4's user interface
+# ('.ui') and resource ('.qrc') files. These macros are called:
+# - PYSIDE_WRAP_UI
+# - PYSIDE_WRAP_RC
+
+IF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
+ # Already in cache, be silent
+ set(PYSIDE2_TOOLS_FOUND_QUIETLY TRUE)
+ENDIF(PYSIDE2UICBINARY AND PYSIDE2RCCBINARY)
+
+if(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ #pyside2 tools are often in same location as python interpreter
+ get_filename_component(PYTHON_BIN_DIR ${PYTHON_EXECUTABLE} PATH)
+ set(PYSIDE_BIN_DIR ${PYTHON_BIN_DIR})
+endif(WIN32 OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+
+# Since Qt v5.14, pyside2-uic and pyside2-rcc are directly provided by Qt5Core uic and rcc, with '-g python' option
+# We test Qt5Core version to act accordingly
+
+FIND_PACKAGE(Qt5Core)
+
+IF(Qt5Core_VERSION VERSION_LESS 5.14)
+ # Legacy (< 5.14)
+ FIND_PROGRAM(PYSIDE2UICBINARY NAMES python2-pyside2-uic pyside2-uic pyside2-uic-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyuic5 HINTS ${PYSIDE_BIN_DIR})
+ FIND_PROGRAM(PYSIDE2RCCBINARY NAMES pyside2-rcc pyside2-rcc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} pyrcc5 HINTS ${PYSIDE_BIN_DIR})
+ set(UICOPTIONS "")
+ set(RCCOPTIONS "")
+ELSE(Qt5Core_VERSION VERSION_LESS 5.14)
+ # New (>= 5.14)
+ FIND_PROGRAM(PYSIDE2UICBINARY NAMES uic-qt5 uic pyside2-uic)
+ set(UICOPTIONS "--generator=python")
+ FIND_PROGRAM(PYSIDE2RCCBINARY NAMES rcc-qt5 rcc pyside2-rcc)
+ set(RCCOPTIONS "--generator=python" "--compress-algo=zlib" "--compress=1")
+ENDIF(Qt5Core_VERSION VERSION_LESS 5.14)
+
+MACRO(PYSIDE_WRAP_UI outfiles)
+ FOREACH(it ${ARGN})
+ GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
+ GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
+ SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.py)
+ #ADD_CUSTOM_TARGET(${it} ALL
+ # DEPENDS ${outfile}
+ #)
+ if(WIN32 OR APPLE)
+ ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ COMMAND ${PYSIDE2UICBINARY} ${UICOPTIONS} ${infile} -o ${outfile}
+ MAIN_DEPENDENCY ${infile}
+ )
+ else()
+ # Especially on Open Build Service we don't want changing date like
+ # pyside2-uic generates in comments at beginning., which is why
+ # we follow the tool command with in-place sed.
+ ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ COMMAND "${PYSIDE2UICBINARY}" ${UICOPTIONS} "${infile}" -o "${outfile}"
+ COMMAND sed -i "/^# /d" "${outfile}"
+ MAIN_DEPENDENCY "${infile}"
+ )
+ endif()
+ list(APPEND ${outfiles} ${outfile})
+ ENDFOREACH(it)
+ENDMACRO (PYSIDE_WRAP_UI)
+
+MACRO(PYSIDE_WRAP_RC outfiles)
+ FOREACH(it ${ARGN})
+ GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
+ GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
+ SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}_rc.py")
+ #ADD_CUSTOM_TARGET(${it} ALL
+ # DEPENDS ${outfile}
+ #)
+ if(WIN32 OR APPLE)
+ ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ COMMAND ${PYSIDE2RCCBINARY} ${RCCOPTIONS} ${infile} -o ${outfile}
+ MAIN_DEPENDENCY ${infile}
+ )
+ else()
+ # Especially on Open Build Service we don't want changing date like
+ # pyside-rcc generates in comments at beginning, which is why
+ # we follow the tool command with in-place sed.
+ ADD_CUSTOM_COMMAND(OUTPUT "${outfile}"
+ COMMAND "${PYSIDE2RCCBINARY}" ${RCCOPTIONS} "${infile}" ${PY_ATTRIBUTE} -o "${outfile}"
+ COMMAND sed -i "/^# /d" "${outfile}"
+ MAIN_DEPENDENCY "${infile}"
+ )
+ endif()
+ list(APPEND ${outfiles} ${outfile})
+ ENDFOREACH(it)
+ENDMACRO (PYSIDE_WRAP_RC)
+
+IF(EXISTS ${PYSIDE2UICBINARY} AND EXISTS ${PYSIDE2RCCBINARY})
+ set(PYSIDE2_TOOLS_FOUND TRUE)
+ENDIF(EXISTS ${PYSIDE2UICBINARY} AND EXISTS ${PYSIDE2RCCBINARY})
+
+if(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
+ if (NOT PySide2Tools_FIND_QUIETLY)
+ message(STATUS "Found PySide2 tools: ${PYSIDE2UICBINARY}, ${PYSIDE2RCCBINARY}")
+ endif (NOT PySide2Tools_FIND_QUIETLY)
+else(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
+ if(PySide2Tools_FIND_REQUIRED)
+ message(FATAL_ERROR "PySide2 tools could not be found, but are required.")
+ else(PySide2Tools_FIND_REQUIRED)
+ if (NOT PySide2Tools_FIND_QUIETLY)
+ message(STATUS "PySide2 tools: not found.")
+ endif (NOT PySide2Tools_FIND_QUIETLY)
+ endif(PySide2Tools_FIND_REQUIRED)
+endif(PYSIDE2RCCBINARY AND PYSIDE2UICBINARY)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2020-11-27 11:45:31 UTC (rev 764073)
+++ PKGBUILD 2020-11-27 11:45:39 UTC (rev 764074)
@@ -1,118 +0,0 @@
-# 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.4
-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=980bf9060e28555fecd9e3462f68ca74007b70f8" # tag: 0.18.4
- 'https://raw.githubusercontent.com/FreeCAD/FreeCAD/d06d5687c1498354483aff95093d7f798c2985f2/cMake/FindPySide2Tools.cmake'
- freecad.xml)
-sha256sums=('SKIP'
- '421a364ad214a25be578d81edc9960daab87d7b26f341022aa22dd15b9df621b'
- '4ee1daf47c8371a3e17173d85a0dd4a106dacd7899d783ccd97a6f3e0dd1a21f')
-
-prepare() {
- cd FreeCAD
-
- # Use the fixed version of FindPySide2Tools.cmake
- cp -f "$srcdir/FindPySide2Tools.cmake" cMake/FindPySide2Tools.cmake
-
- # Fix Qt5 version detection
- sed -i 's/Qt5Core_VERSION LESS/Qt5Core_VERSION VERSION_LESS/g' \
- cMake/FindPySide2Tools.cmake
-
- cd src
-
- # Update swigpyrun.in for Python 3.8
- sed -i 's/interp->modules/PyImport_GetModuleDict()/g' Base/swigpyrun.inl
-
- # Fix for Qt 5.15
- sed -i 's/\(.*\)include <QPainter>$/&\n\1include <QPainterPath>/' \
- Mod/Image/Gui/OpenGLImageBox.cpp
-
- # Compensate for the unusual Shiboken versioning scheme
- sed -i 's/SHIBOKEN_MICRO_VERSION/0/g' Gui/WidgetFactory.cpp
-
- # 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
- mkdir -p build
- cd build
- cmake ../FreeCAD \
- -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-x86_64/PKGBUILD (from rev 764073, freecad/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2020-11-27 11:45:39 UTC (rev 764074)
@@ -0,0 +1,122 @@
+# 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
+pkgrel=1
+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=980bf9060e28555fecd9e3462f68ca74007b70f8" # tag: 0.18.4
+ 'https://raw.githubusercontent.com/FreeCAD/FreeCAD/d06d5687c1498354483aff95093d7f798c2985f2/cMake/FindPySide2Tools.cmake'
+ "$pkgname-py39.patch::https://github.com/FreeCAD/FreeCAD/commit/ae641dc5278e.patch"
+ freecad.xml)
+sha256sums=('SKIP'
+ '421a364ad214a25be578d81edc9960daab87d7b26f341022aa22dd15b9df621b'
+ 'de1d61c18d329e0903d5c1bc27b9c4e28c4911380bdd4b6c49da5b63740862f1'
+ '4ee1daf47c8371a3e17173d85a0dd4a106dacd7899d783ccd97a6f3e0dd1a21f')
+
+prepare() {
+ cd FreeCAD
+
+ patch -Np1 -i ../$pkgname-py39.patch
+
+ # Use the fixed version of FindPySide2Tools.cmake
+ cp -f "$srcdir/FindPySide2Tools.cmake" cMake/FindPySide2Tools.cmake
+
+ # Fix Qt5 version detection
+ sed -i 's/Qt5Core_VERSION LESS/Qt5Core_VERSION VERSION_LESS/g' \
+ cMake/FindPySide2Tools.cmake
+
+ cd src
+
+ # Update swigpyrun.in for Python 3.8
+ sed -i 's/interp->modules/PyImport_GetModuleDict()/g' Base/swigpyrun.inl
+
+ # Fix for Qt 5.15
+ sed -i 's/\(.*\)include <QPainter>$/&\n\1include <QPainterPath>/' \
+ Mod/Image/Gui/OpenGLImageBox.cpp
+
+ # Compensate for the unusual Shiboken versioning scheme
+ sed -i 's/SHIBOKEN_MICRO_VERSION/0/g' Gui/WidgetFactory.cpp
+
+ # 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
+ mkdir -p build
+ cd build
+ cmake ../FreeCAD \
+ -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"
+}
Deleted: freecad.xml
===================================================================
--- freecad.xml 2020-11-27 11:45:31 UTC (rev 764073)
+++ freecad.xml 2020-11-27 11:45:39 UTC (rev 764074)
@@ -1,9 +0,0 @@
-<?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>
Copied: freecad/repos/community-x86_64/freecad.xml (from rev 764073, freecad/trunk/freecad.xml)
===================================================================
--- freecad.xml (rev 0)
+++ freecad.xml 2020-11-27 11:45:39 UTC (rev 764074)
@@ -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