~ruther/guix-local

5e89d39601ab9c9370be68fc260659a82a62c4b0 — Hennadii Stepanov 8 months ago 6e12325
gnu: libsecp256k1: Fix cross-compiling.

* gnu/packages/crypto.scm (libsecp256k1)
[source]: Remove snippet deleting "src/precomputed_ecmult.c" and
"src/precomputed_ecmult_gen.c".
[arguments]: Add conditional phase 'delete-precomputed-files' that
deletes them only when not cross-compiling.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 18 insertions(+), 12 deletions(-)

M gnu/packages/crypto.scm
M gnu/packages/crypto.scm => gnu/packages/crypto.scm +18 -12
@@ 1136,20 1136,26 @@ trivial to build for local use.  Portability is emphasized over performance.")
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1d0cnd2s607j642h64821mpklfvvzy70mkyl2dlsm5s9lgvndn2p"))
              (modules '((guix build utils)))
              (snippet
               ;; These files are pre-generated, the build system is able to
               ;; re-generate those.
               #~(for-each delete-file '("src/precomputed_ecmult.c"
                                         "src/precomputed_ecmult_gen.c")))))
                "1d0cnd2s607j642h64821mpklfvvzy70mkyl2dlsm5s9lgvndn2p"))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags '("--enable-module-recovery"
                           "--enable-experimental"
                           "--enable-shared"
                           "--disable-static"
                           "--disable-benchmark")))
     (list #:configure-flags
           #~(list
              "--enable-module-recovery"
              "--enable-experimental"
              "--enable-shared"
              "--disable-static"
              "--disable-benchmark")
           #:phases
           (if (%current-target-system)
               #~%standard-phases
               #~(modify-phases %standard-phases
                   ;; These files are pre-generated, the build system is able to
                   ;; re-generate those if not cross-compiling,
                   (add-after 'unpack 'delete-precomputed-files
                     (lambda _
                       (for-each delete-file '("src/precomputed_ecmult.c"
                                               "src/precomputed_ecmult_gen.c"))))))))
    (native-inputs
     (list autoconf automake libtool))
    (synopsis "C library for EC operations on curve secp256k1")