gnu: cereal: Use cmake to build and install the library.

* gnu/packages/serialization.scm (cereal): Use cmake to build and
  install the library.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
This commit is contained in:
Ivan Gankevich 2021-09-21 01:15:48 +03:00 committed by Liliana Marie Prikler
parent 9057035d89
commit dfc0fedc2c
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87

View file

@ -142,32 +142,19 @@ (define-public cereal
"0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p")))) "0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(;; The only included tests are portability tests requiring `(#:configure-flags '("-DSKIP_PORTABILITY_TEST=ON")
;; cross-compilation and boost. Since we are building cereal on more
;; platforms anyway, there is no compelling reason to build the tests.
#:tests? #f
#:out-of-source? #f
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (add-before 'configure 'skip-sandbox
(replace 'build (lambda _
(lambda _ (substitute* "CMakeLists.txt"
(substitute* "doc/doxygen.in" (("add_subdirectory\\(sandbox\\)") ""))))
(("@CMAKE_CURRENT_BINARY_DIR@") ".") (add-after 'install 'install-doc
(("@CMAKE_CURRENT_SOURCE_DIR@") ".")) (lambda _
(with-directory-excursion "doc" (let ((doc (string-append %output "/share/doc/html")))
(invoke "doxygen" "doxygen.in")))) (invoke "make" "doc")
;; There is no "install" target, so we have to provide our own (mkdir-p doc)
;; "install" phase. (copy-recursively "doc/html" doc)))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/cereal/docs"))
(include (string-append out "/include/cereal")))
(mkdir-p doc)
(mkdir-p include)
(copy-recursively "include/cereal" include)
(copy-recursively "doc/html" doc)))))))
(native-inputs (native-inputs
`(("doxygen" ,doxygen))) `(("doxygen" ,doxygen)))
(home-page "https://uscilab.github.io/cereal/") (home-page "https://uscilab.github.io/cereal/")