GNU bug report logs -
#49713
[PATCH 1/3] gnu: cereal: Use cmake to build and install the library.
Previous Next
Reported by: Ivan Gankevich <i.gankevich <at> spbu.ru>
Date: Fri, 23 Jul 2021 21:07:01 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 49713 <at> debbugs.gnu.org (full text, mbox):
Hi,
Am Samstag, den 24.07.2021, 00:00 +0300 schrieb Ivan Gankevich:
> Hello,
>
> this series of patches adds Prusa Slicer. I had to change "cereal"
> package definition to use cmake, otherwise "prusa-slicer" failed
> to find the library. Also, I added "libigl" that is a dependency
> of "prusa-slicer".
>
> gnu/packages/serialization.scm (cereal): Use cmake.
>
> * Replace manual build and installation with standard cmake.
> The main reason to do that is to get "cereal-config.cmake"
> file that is used to find the library in other projects.
> ---
There are already two direct dependents of cereal. Do those still
build?
>
> gnu/packages/serialization.scm | 39 ++++++++++++------------------
> ----
> 1 file changed, 13 insertions(+), 26 deletions(-)
>
> diff --git a/gnu/packages/serialization.scm
> b/gnu/packages/serialization.scm
> index 8f292ae408..9c34da62af 100644
> --- a/gnu/packages/serialization.scm
> +++ b/gnu/packages/serialization.scm
> @@ -141,32 +141,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
> - #: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)))))))
> + `(#:configure-flags (list "-DSKIP_PORTABILITY_TEST=ON")
> + #:tests? #f
Never ever leave #:tests? #f uncommented.
> + #:phases (modify-phases %standard-phases
> + (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/")
This bug report was last modified 3 years and 301 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.