guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: knot: Snip more pregenerated nonsource.


From: guix-commits
Subject: 01/02: gnu: knot: Snip more pregenerated nonsource.
Date: Mon, 5 Oct 2020 12:23:45 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit ca4143c730a41abb9cc1bbedc9cc9a039ed4f98c
Author: Tobias Geerinckx-Rice <me@tobias.gr>
AuthorDate: Mon Oct 5 17:48:11 2020 +0200

    gnu: knot: Snip more pregenerated nonsource.
    
    ypbody.c is generated from ypbody.rl by update-parser.sh, both of which
    are missing from the release tarball.  Rather than add another git file
    to native-inputs, we now build from git and remove the generated files.
    
    This follows up on commit 2b73e50c31a61b5dcef35a1e4b9484d9dbcb0fbc, now
    that everyone's finished building it.
    
    * gnu/packages/dns.scm (knot)[source]: Use GIT-FETCH and GIT-FILE-NAME.
    [arguments]: Add ‘--enable-fast-parser’ to #:configure-flags.
    Invoke the in-tree update-parser.sh.
    [native-inputs]: Remove separate update-parser.sh origin.
    Add autoconf, automake, and libtool.
---
 gnu/packages/dns.scm | 36 +++++++++++++++++-------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 1a6c51f..fb16355 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -804,19 +804,22 @@ Extensions} (DNSSEC).")
 (define-public knot
   (package
     (name "knot")
-    (version "3.0.0")                   ; also update update-parser.sh below
+    (version "3.0.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://secure.nic.cz/files/knot-dns/";
-                           "knot-" version ".tar.xz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.nic.cz/knot/knot-dns";)
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1i76zflc49jbsaj3idxx7a6x87c0lzal294c3fdjyfl7dvznmjgi"))
+        (base32 "0fkvip7n5ihjfwnnivdc3jf44y8p85ifglvq7b0anxvj9cg1m78f"))
        (modules '((guix build utils)))
        (snippet
         '(begin
            ;; Remove Ragel-generated C files.  We'll recreate them below.
            (for-each delete-file (find-files "." "\\.c\\.[gt]."))
+           (delete-file "src/libknot/yparser/ypbody.c")
            #t))))
     (build-system gnu-build-system)
     (arguments
@@ -824,16 +827,17 @@ Extensions} (DNSSEC).")
        (list "--sysconfdir=/etc"
              "--localstatedir=/var"
              "--enable-dnstap"          ; let tools read/write capture files
+             "--enable-fast-parser"     ; disabled by default when .git/ exists
              "--with-module-dnstap=yes" ; detailed query capturing & logging
              (string-append "--with-bash-completions="
                             (assoc-ref %outputs "out")
                             "/etc/bash_completion.d"))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'update-parser
-           (lambda* (#:key inputs #:allow-other-keys)
+         (add-before 'bootstrap 'update-parser
+           (lambda _
              (with-directory-excursion "src"
-               (invoke "sh" "-x" (assoc-ref inputs "update-parser.sh")))))
+               (invoke "sh" "../scripts/update-parser.sh"))))
          (add-before 'configure 'disable-directory-pre-creation
            (lambda _
              ;; Don't install empty directories like ‘/etc’ outside the store.
@@ -849,17 +853,11 @@ Extensions} (DNSSEC).")
                        (string-append "config_dir=" etc)
                        "install")))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("ragel" ,ragel)
-       ;; The release tarball doesn't include scripts/update-parser.sh.
-       ("update-parser.sh"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append "https://gitlab.nic.cz/knot/knot-dns/-/raw/v";
-                               version "/scripts/update-parser.sh"))
-           (file-name (string-append name "-" version "-update-parser.sh"))
-           (sha256
-            (base32 
"1a0s71lbnklpzkh97gm4g4lnxgg60zdf0hr8qr0732kqgsva1sjl"))))))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("ragel" ,ragel)))
     (inputs
      `(("fstrm" ,fstrm)
        ("gnutls" ,gnutls)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]