sharlatan pushed a commit to branch go-team
in repository guix.

commit dea992e6a5d93cf1fa6f3978a4ef8acdd680e604
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Thu Feb 20 13:50:10 2025 +0000

    gnu: go-github-com-libp2p-go-libp2p-asn-util: Generate network list.
    
    * gnu/packages/golang-web.scm (go-github-com-libp2p-go-libp2p-asn-util)
    [source] <snippet>: Delete generated network list file.
    [arguments] <phases>: Add 'generate-sorted-network-list.
    
    Change-Id: Iab9e3c4329fd9a894bafab98d2f274d7f9bb0dad
---
 gnu/packages/golang-web.scm | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 1db0a344f8..d703497b0f 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -62,6 +62,7 @@
   #:use-module (guix build-system go)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
+  #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages crypto)
@@ -5030,11 +5031,35 @@ faster (and only does simple bandwidth metrics).")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1c94sq43bl1kp04lllcfrfyiy5z3zcfz0s65sm1vgb2s40zrwpr7"))))
+        (base32 "1c94sq43bl1kp04lllcfrfyiy5z3zcfz0s65sm1vgb2s40zrwpr7"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            ;; Delete generate binary file.
+            (delete-file "sorted-network-list.bin")))))
     (build-system go-build-system)
     (arguments
      (list
-      #:import-path "github.com/libp2p/go-libp2p-asn-util"))
+      #:import-path "github.com/libp2p/go-libp2p-asn-util"
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'generate-sorted-network-list
+            (lambda* (#:key import-path #:allow-other-keys)
+              (with-directory-excursion (string-append "src/" import-path)
+                ;; It's a TSV plain text file, distributed under Public Domain
+                ;; Dedication license
+                ;; <https://opendatacommons.org/licenses/pddl/1.0/>.
+                (copy-file
+                 #+(origin
+                     (method url-fetch)
+                     (uri "https://iptoasn.com/data/ip2asn-v6.tsv.gz";)
+                     (sha256
+                      (base32 
"1jl7k5ilzf3gn54bm422hzcwqgfk0v9m3blip2mwfqlkni779yw8")))
+                 "ip2asn-v6.tsv.gz")
+                (system* "gunzip" "ip2asn-v6.tsv.gz")
+                (setenv "ASN_IPV6_FILE" "ip2asn-v6.tsv")
+                (invoke "go" "run" "./generate/")
+                (delete-file "ip2asn-v6.tsv")))))))
     (native-inputs
      (list go-github-com-stretchr-testify))
     (propagated-inputs

Reply via email to