Subject: bug#31077: closed (Re: [bug#31077] [PATCH] gnu: libfive: Add snippet, enable tests and remove obsolete phase.)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 19 Apr 2018 09:43:02 +0000

Your bug report

#31077: [PATCH] gnu: libfive: Add snippet, enable tests and remove obsolete phase.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31077: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31077
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#31077] [PATCH] gnu: libfive: Add snippet, enable tests and remove obsolete phase.
From: [email-masked] (Ludovic Courtès)
To: Diego Nicola Barbato <[email-masked]>
Cc: [email-masked]
Date: Thu, 19 Apr 2018 11:42:26 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Diego,

Diego Nicola Barbato <[email-masked]> skribis:

>>>From 402b75db39ec6778862a5a301cd6a6f520608c60 Mon Sep 17 00:00:00 2001
> From: Diego Nicola Barbato <[email-masked]>
> Date: Fri, 6 Apr 2018 13:43:54 +0200
> Subject: [PATCH] gnu: libfive: Add snippet, enable tests and remove obsolete
>  phase.
>
> * gnu/packages/engineering.scm (libfive)[source]: Add snippet to
> remove bundled catch.
> [arguments]: Remove #:tests?.  Add #:test-target.  Remove phase
> 'add-eigen-to-search-path'.

It LGTM and it works for me here, so I went ahead and applied it.

Thank you!

Ludo’.

Subject: [PATCH] gnu: libfive: Add snippet, enable tests and remove obsolete phase.
From: Diego Nicola Barbato <[email-masked]>
To: [email-masked]
Date: Fri, 06 Apr 2018 15:36:41 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix

I have noticed that the package "ao-cad" has been updated and renamed to
"libfive" recently (commit: 28f4d56dd311a3b4c7102394120de05be6937494).

I have been working on the same thing for a while but I got stuck when
trying to figure out how to correctly install the Guile library so that
it could be used as described in the libfive documentation
(https://github.com/libfive/libfive/blob/9d857d1923abecb0e5935b9287d22661f6efaac5/doc/guide.md)
by running (load-extension "libfive-guile" "scm_init_libfive_modules")
in a Guile REPL.  I also thought about installing it in such a way that
it could be loaded with (use-modules (libfive)).

AFAICT this has not been addressed yet so I will continue working on it.

The updated package definition is very similar to what I have written so
far except for some minor differences.  Among these are a snippet which
removes the bundled catch.hpp file from the libfive/test directory and
the fact that I did not disable the tests.  Additionally I removed a
phase which does not seem to be necessary as the package is still built
and installed correctly without it.

This patch adds those changes.

Greetings

Diego

>From 402b75db39ec6778862a5a301cd6a6f520608c60 Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato <[email-masked]>
Date: Fri, 6 Apr 2018 13:43:54 +0200
Subject: [PATCH] gnu: libfive: Add snippet, enable tests and remove obsolete
 phase.

* gnu/packages/engineering.scm (libfive)[source]: Add snippet to
remove bundled catch.
[arguments]: Remove #:tests?.  Add #:test-target.  Remove phase
'add-eigen-to-search-path'.
---
 gnu/packages/engineering.scm | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 1113cafec..2f4e8cef5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -580,24 +580,19 @@ as well as pick-place files.")
                 (sha256
                  (base32
                   "1r40kyx30wz31cwwlfvfh7fgqkxq3n8dxhswpi9qpf4r5h3l8wsn"))
-                (file-name (git-file-name name version))))
+                (file-name (git-file-name name version))
+                (snippet
+                 ;; Remove bundled catch since we provide our own.
+                 '(delete-file "libfive/test/catch.hpp"))))
       (build-system cmake-build-system)
       (arguments
-       `(#:tests? #f ; no "test" target
+       `(#:test-target "libfive-test"
          #:phases
          (modify-phases %standard-phases
            (add-after 'unpack 'remove-native-compilation
              (lambda _
                (substitute* "CMakeLists.txt" (("-march=native") ""))
-               #t))
-           (add-before 'build 'add-eigen-to-search-path
-             (lambda* (#:key inputs #:allow-other-keys)
-               ;; Allow things to find our own Eigen and Catch.
-               (let ((eigen (assoc-ref inputs "eigen")))
-                 (setenv "CPLUS_INCLUDE_PATH"
-                         (string-append eigen "/include/eigen3:"
-                                        (getenv "CPLUS_INCLUDE_PATH")))
-                 #t))))))
+               #t)))))
       (native-inputs
        `(("pkg-config" ,pkg-config)))
       (inputs
-- 
2.17.0