Subject: [PATCH 2/3] gnu: vlang: Use system tiny-bignum.

From: Ryan Prior <[email-masked]>
Date: Tue, 01 Dec 2020 04:15:21 +0000

* gnu/packages/vlang.scm (vlang): Update to use system tiny-bignum.
---
 gnu/packages/vlang.scm | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm
index 655a77fadc..83bacfc6c3 100644
--- a/gnu/packages/vlang.scm
+++ b/gnu/packages/vlang.scm
@@ -21,6 +21,7 @@
 (define-module (gnu packages vlang)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages maths)
   #:use-module (gnu packages node)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
@@ -56,7 +57,12 @@
            (commit version)))
      (file-name (git-file-name name version))
      (sha256
-      (base32 "0adpjmb8ak4hsbm7iqrx4b5s1a99sc9byg5ah6c1whhsxm781k9r"))))
+      (base32 "0adpjmb8ak4hsbm7iqrx4b5s1a99sc9byg5ah6c1whhsxm781k9r"))
+     (modules '((guix build utils)))
+     (snippet
+      '(begin
+         ;; Eventually remove the whole thirdparty directory.
+         (delete-file-recursively "thirdparty/bignum")))))
    (build-system gnu-build-system)
    (arguments
     `(#:make-flags
@@ -71,10 +77,13 @@
       #:phases
       (modify-phases %standard-phases
         (delete 'configure)
-        (add-before 'build 'patch-makefile
-          (lambda _
+        (add-before 'build 'patch-files
+          (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "Makefile"
-              (("rm -rf") "true"))))
+              (("rm -rf") "true"))
+            (substitute* "vlib/math/big/big.v"
+              (("@VROOT/thirdparty/bignum")
+               (string-append (assoc-ref inputs "tiny-bignum") "/share")))))
         (add-before 'build 'patch-cc
           (lambda _
             (let* ((bin "tmp/bin")
@@ -128,7 +137,8 @@
               (copy-recursively "vlib" vlib)
               (copy-file "v.mod" vmod)))))))
    (inputs
-    `(("glib" ,glib)))
+    `(("glib" ,glib)
+      ("tiny-bignum" ,tiny-bignum)))
    (native-inputs
     `(("vc"
        ;; Versions are not consistently tagged, but the matching commit will
-- 
2.29.2