gnu: librecad: Fix build.

* gnu/packages/engineering.scm (librecad)[arguments]: Add phase
"patch-boost-error".
This commit is contained in:
Ricardo Wurmus 2017-11-08 16:20:42 +01:00
parent b72b42cf02
commit 7e3aca2b78
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 32 additions and 18 deletions

View File

@ -96,6 +96,19 @@
(arguments
'(#:phases
(modify-phases %standard-phases
;; Without this patch boost complains that "make_array" is not a
;; member of "boost::serialization".
(add-after 'unpack 'patch-boost-error
(lambda _
(substitute* "librecad/src/lib/math/lc_quadratic.h"
(("#include \"rs_vector.h\"" line)
(string-append line
"\n#include <boost/serialization/array_wrapper.hpp>")))
(substitute* "librecad/src/lib/math/rs_math.cpp"
(("#include <boost/numeric/ublas/matrix.hpp>" line)
(string-append "#include <boost/serialization/array_wrapper.hpp>\n"
line)))
#t))
(add-after 'unpack 'patch-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -113,7 +126,8 @@
(mkdir-p bin)
(install-file "unix/librecad" bin)
(mkdir-p share)
(copy-recursively "unix/resources" share)))))))
(copy-recursively "unix/resources" share))
#t)))))
(inputs
`(("boost" ,boost)
("muparser" ,muparser)