> I think it was related with vtk being updated to 9.0.0.
>
> I'll package it back to 8.2.0 and see what happens.
>
> https://forum.freecadweb.org/viewtopic.php?style=4&f=4&t=46934&start=10
>
> I'll keep you all informed.
> Thanks for the help!
I think I have it working for the latest Guix version.
Please, try with this file.
WARNING: it's going to take ages to compile.
I had to re-package vtk for this case.
There was a problem with the latest version of Guix, because
it includes vtk9.0.0 and freecad is not compatible with that...
Hope this works as expected.
Please tell me if it works fine and if it does I'll submit a
patch
Cheers!
(define-module (freecad)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages engineering)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages geo)
#:use-module (gnu packages gl)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
;; itksnap needs an older variant of VTK.
(define-public vtk-8
(package (inherit vtk)
(version "8.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://vtk.org/files/release/"
(version-major+minor version)
"/VTK-" version ".tar.gz"))
(sha256
(base32
"1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))))
(inputs
`(("jsoncpp" ,jsoncpp-for-tensorflow)
,@(alist-delete "jsoncpp" (package-inputs vtk))))))
(package
(name "freecad-mine")
(version "0.19.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FreeCAD/FreeCAD")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0c53q2iawy4yfp11czyc7lbr9ivp3r7v24x4c20myh11wyplffc0"))))
(build-system qt-build-system)
(native-inputs
`(("doxygen" ,doxygen)
("graphviz" ,graphviz)
("qttools" ,qttools)
("pkg-config" ,pkg-config)
("python-pyside-2-tools" ,python-pyside-2-tools)
("swig" ,swig)))
(inputs
`(("boost" ,boost)
("coin3D" ,coin3D)
("double-conversion" ,double-conversion)
("eigen" ,eigen)
("freetype" ,freetype)
("gl2ps" ,gl2ps)
("glew" ,glew)
("hdf5" ,hdf5-1.10)
("jsoncpp" ,jsoncpp)
("libarea" ,libarea)
("libjpeg-turbo" ,libjpeg-turbo)
("libmedfile" ,libmedfile)
("libspnav" ,libspnav)
("libtheora" ,libtheora)
("libtiff" ,libtiff)
("libxi" ,libxi)
("libxmlplusplus" ,libxmlplusplus)
("libxmu" ,libxmu)
("lz4" ,lz4)
("netcdf" ,netcdf)
("opencascade-occt" ,opencascade-occt)
("openmpi" ,openmpi)
("proj" ,proj)
("python-gitpython" ,python-gitpython)
("python-matplotlib" ,python-matplotlib)
("python-pivy" ,python-pivy)
("python-pyside-2" ,python-pyside-2)
("python-pyyaml" ,python-pyyaml)
("python-shiboken-2" ,python-shiboken-2)
("python-wrapper" ,python-wrapper)
("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("qtwebkit" ,qtwebkit)
("qtx11extras" ,qtx11extras)
("qtxmlpatterns" ,qtxmlpatterns)
("sqlite" ,sqlite)
("tbb" ,tbb)
("vtk" ,vtk-8)
("xerces-c" ,xerces-c)
("zlib" ,zlib)))
(arguments
`(#:tests? #f
#: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"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'restore-pythonpath
(lambda _
(substitute* "src/Main/MainGui.cpp"
(("_?putenv\\(\"PYTHONPATH=\"\\);") ""))
#t))
(add-after 'install 'wrap-pythonpath
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/FreeCAD")
(list "PYTHONPATH"
'prefix (list (getenv "PYTHONPATH")))))
#t)))))
(home-page "https://www.freecadweb.org/")
(synopsis "Your Own 3D Parametric Modeler")
(description
"FreeCAD is a general purpose feature-based, parametric 3D modeler for
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and
product design but also fits a wider range of uses in engineering, such as
architecture or other engineering specialties. It is 100% Open Source (LGPL2+
license) and extremely modular, allowing for very advanced extension and
customization.")
(license
(list
license:lgpl2.1+
license:lgpl2.0+
license:gpl3+
license:bsd-3)))