gnu: freecad: Fix build.

* gnu/packages/patches/freecad-boost-serialization.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/engineering.scm (freecad) [source]: Use it.
[arguments]{#:configure-flags}: Turn it into a GEXP and adapt it.
This commit is contained in:
Mathieu Othacehe 2021-11-29 15:40:11 +01:00
parent 2d0c5e2477
commit 6805ab3290
No known key found for this signature in database
GPG key ID: 8354763531769CA6
3 changed files with 55 additions and 23 deletions

View file

@ -1056,6 +1056,7 @@ dist_patch_DATA = \
%D%/packages/patches/fp16-system-libraries.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.patch \
%D%/packages/patches/freecad-boost-serialization.patch \
%D%/packages/patches/freecad-vtk9.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \

View file

@ -2381,7 +2381,8 @@ (define-public freecad
(file-name (git-file-name name version))
(sha256
(base32 "0fhjv0x3dix1c7jml91yx63z9xifjlbhjbcdb73lw80smpxrq7mm"))
(patches (search-patches "freecad-vtk9.patch"))))
(patches (search-patches "freecad-vtk9.patch"
"freecad-boost-serialization.patch"))))
(build-system qt-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -2434,28 +2435,31 @@ (define-public freecad
(arguments
`(#:tests? #f ; Project has no tests
#:configure-flags
(list
"-DBUILD_QT5=ON"
"-DBUILD_FLAT_MESH:BOOL=ON"
(string-append "-DCMAKE_INSTALL_LIBDIR=" (assoc-ref %outputs "out") "/lib")
(string-append "-DPYSIDE2UICBINARY="
(assoc-ref %build-inputs "python-pyside-2-tools")
"/bin/uic")
(string-append "-DPYSIDE2RCCBINARY="
(assoc-ref %build-inputs "python-pyside-2-tools")
"/bin/rcc")
"-DPYSIDE_LIBRARY=PySide2::pyside2"
(string-append
"-DPYSIDE_INCLUDE_DIR="
(assoc-ref %build-inputs "python-pyside-2") "/include;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtCore;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtWidgets;"
(assoc-ref %build-inputs "python-pyside-2") "/include/PySide2/QtGui;")
"-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
(string-append "-DSHIBOKEN_INCLUDE_DIR="
(assoc-ref %build-inputs "python-shiboken-2")
"/include/shiboken2"))
,#~(list
"-DBUILD_QT5=ON"
"-DBUILD_FLAT_MESH:BOOL=ON"
"-DBUILD_ENABLE_CXX_STD:STRING=C++17"
(string-append "-DCMAKE_INSTALL_LIBDIR=" #$output "/lib")
(string-append "-DPYSIDE2UICBINARY="
#$(this-package-native-input
"python-pyside-2-tools")
"/bin/uic")
(string-append "-DPYSIDE2RCCBINARY="
#$(this-package-native-input
"python-pyside-2-tools")
"/bin/rcc")
"-DPYSIDE_LIBRARY=PySide2::pyside2"
(string-append
"-DPYSIDE_INCLUDE_DIR="
#$(this-package-input "python-pyside-2") "/include;"
#$(this-package-input "python-pyside-2") "/include/PySide2;"
#$(this-package-input "python-pyside-2") "/include/PySide2/QtCore;"
#$(this-package-input "python-pyside-2") "/include/PySide2/QtWidgets;"
#$(this-package-input "python-pyside-2") "/include/PySide2/QtGui;")
"-DSHIBOKEN_LIBRARY=Shiboken2::libshiboken"
(string-append "-DSHIBOKEN_INCLUDE_DIR="
#$(this-package-input "python-shiboken-2")
"/include/shiboken2"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'restore-pythonpath

View file

@ -0,0 +1,27 @@
Taken from: https://github.com/archlinux/svntogit-community/blob/packages/freecad/trunk/freecad-boost.patch.
Index: FreeCAD-0.19.2/CMakeLists.txt
===================================================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -46,6 +46,7 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LI
SetupPCL()
SetupPybind11()
SetupBoost()
+ set(Boost_LIBRARIES_App ${Boost_LIBRARIES})
SetupXercesC()
find_package(ZLIB REQUIRED)
find_package(PyCXX REQUIRED)
Index: FreeCAD-0.19.2/src/App/CMakeLists.txt
===================================================================
--- a/src/App/CMakeLists.txt
+++ b/src/App/CMakeLists.txt
@@ -59,7 +59,7 @@ include_directories(
set(FreeCADApp_LIBS
FreeCADBase
- ${Boost_LIBRARIES}
+ ${Boost_LIBRARIES_App}
)
if (BUILD_QT5)