GNU bug report logs - #49713
[PATCH 1/3] gnu: cereal: Use cmake to build and install the library.

Previous Next

Package: guix-patches;

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


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#49713: closed ([PATCH 1/3] gnu: cereal: Use cmake to build
 and install the library.)
Date: Tue, 21 Sep 2021 12:13:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 21 Sep 2021 14:12:31 +0200
with message-id <77b82891ee4dc0bf385e22be0503b793194cb67f.camel <at> gmail.com>
and subject line Re: [PATCH 3/3] gnu: Add prusa-slicer.
has caused the debbugs.gnu.org bug report #49713,
regarding [PATCH 1/3] gnu: cereal: Use cmake to build and install the library.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
49713: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49713
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ivan Gankevich <i.gankevich <at> spbu.ru>
To: guix-patches <at> gnu.org
Cc: Ivan Gankevich <i.gankevich <at> spbu.ru>
Subject: [PATCH 1/3] gnu: cereal: Use cmake to build and install the library.
Date: Sat, 24 Jul 2021 00:00:39 +0300
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.
---

 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
+        #: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/")
-- 
2.32.0



[Message part 3 (message/rfc822, inline)]
From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Ivan Gankevich <i.gankevich <at> spbu.ru>
Cc: 49713-done <at> debbugs.gnu.org
Subject: Re: [PATCH 3/3] gnu: Add prusa-slicer.
Date: Tue, 21 Sep 2021 14:12:31 +0200
Hi,

Am Dienstag, den 21.09.2021, 01:17 +0300 schrieb Ivan Gankevich:
> I hope I did it right :-)
I've pushed this now with some changes.  Apart from trivial indentation
changes and (list ...) -> '(...), I made all inputs to libigl regular
and fixed up the phases as follows:
- do-not-download-dependencies split into unpack-external and 
  patch-cmake
- install-all-subdirs dropped, instead patched cmake to install
  relevant headers.

Regards



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.