aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Gankevich <i.gankevich@spbu.ru>2021-09-21 01:15:48 +0300
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2021-09-21 14:03:17 +0200
commitdfc0fedc2cd55394d20499d3f571b8f175019547 (patch)
tree4e441e93dc2f7694056a93529927460f802fea67
parent9057035d892266c1b90242d0652a642e13b09d79 (diff)
downloadguix-dfc0fedc2cd55394d20499d3f571b8f175019547.tar
guix-dfc0fedc2cd55394d20499d3f571b8f175019547.tar.gz
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>
-rw-r--r--gnu/packages/serialization.scm35
1 files changed, 11 insertions, 24 deletions
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 0e79b7c89c..196141ace8 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -142,32 +142,19 @@ implement RPC protocols.")
"0hc8wh9dwpc1w1zf5lfss4vg5hmgpblqxbrpp1rggicpx9ar831p"))))
(build-system cmake-build-system)
(arguments
- `(;; The only included tests are portability tests requiring
- ;; 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
+ `(#:configure-flags '("-DSKIP_PORTABILITY_TEST=ON")
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda _
- (substitute* "doc/doxygen.in"
- (("@CMAKE_CURRENT_BINARY_DIR@") ".")
- (("@CMAKE_CURRENT_SOURCE_DIR@") "."))
- (with-directory-excursion "doc"
- (invoke "doxygen" "doxygen.in"))))
- ;; There is no "install" target, so we have to provide our own
- ;; "install" phase.
- (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)))))))
+ (add-before 'configure 'skip-sandbox
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(sandbox\\)") ""))))
+ (add-after 'install 'install-doc
+ (lambda _
+ (let ((doc (string-append %output "/share/doc/html")))
+ (invoke "make" "doc")
+ (mkdir-p doc)
+ (copy-recursively "doc/html" doc)))))))
(native-inputs
`(("doxygen" ,doxygen)))
(home-page "https://uscilab.github.io/cereal/")