diff mbox series

[bug#65247] gnu: smartdns: Update to 43.

Message ID 928218e0956afa751b1dbf87ece58328d478cd96.1691846836.git.hako@ultrarare.space
State New
Headers show
Series [bug#65247] gnu: smartdns: Update to 43. | expand

Commit Message

Hilton Chain Aug. 12, 2023, 1:27 p.m. UTC
* gnu/packages/dns.scm (smartdns): Update to 43.
[arguments]<#:tests?>: Enable tests.
<#:test-target>: Set to "test".
<#:make-flags>: Set "VER".
<#:phases>: Add phase 'skip-unavailable-tests, 'prepare-test-dir,
'enter-test-dir, 'leave-test-dir.
[native-inputs]: Add googletest, isc-bind:utils.
---
 gnu/packages/dns.scm | 35 ++++++++++++++++++++++++++++++-----
 1 file changed, 30 insertions(+), 5 deletions(-)


base-commit: 19a7a824c35eae56ce56e2a460042fb7e2129234

Comments

Christopher Baines Aug. 29, 2023, 12:59 p.m. UTC | #1
Hilton Chain via Guix-patches via <guix-patches@gnu.org> writes:

> * gnu/packages/dns.scm (smartdns): Update to 43.
> [arguments]<#:tests?>: Enable tests.
> <#:test-target>: Set to "test".
> <#:make-flags>: Set "VER".
> <#:phases>: Add phase 'skip-unavailable-tests, 'prepare-test-dir,
> 'enter-test-dir, 'leave-test-dir.
> [native-inputs]: Add googletest, isc-bind:utils.
> ---
>  gnu/packages/dns.scm | 35 ++++++++++++++++++++++++++++++-----
>  1 file changed, 30 insertions(+), 5 deletions(-)

Looks good to me, I've pushed this to master as
5a20470800f3d73cc29b5d45e5e0b3f3e28c1c14.
diff mbox series

Patch

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index fdd10a6611..0fd8050286 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -1340,7 +1340,7 @@  (define-public openresolv
 (define-public smartdns
   (package
     (name "smartdns")
-    (version "42")
+    (version "43")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1352,18 +1352,43 @@  (define-public smartdns
                           ((".*SYSTEMDSYSTEMUNITDIR.*") "")))
               (sha256
                (base32
-                "17j0h5l7gig6rzk8b9180jwrx5khpnrylacjxvnnpgsi2725k8lq"))))
+                "0s789l6i4yirmarg80mknc1pp65rz01ky9f7gidgclkfcwzz41l3"))))
     (build-system gnu-build-system)
     (arguments
-     (list #:tests? #f                  ;no tests
+     (list #:test-target "test"
            #:make-flags
            #~(list (string-append "CC=" #$(cc-for-target))
                    (string-append "DESTDIR=" #$output)
-                   "PREFIX=''")
+                   "PREFIX=''"
+                   (string-append "VER=" #$version))
            #:phases
            #~(modify-phases %standard-phases
-               (delete 'configure))))
+               (delete 'configure)
+               (add-after 'unpack 'skip-unavailable-tests
+                 (lambda _
+                   (with-directory-excursion "test/cases"
+                     ;; Tests try to open /etc/resolv.conf
+                     (substitute* "test-bind.cc"
+                       ;; Bind.tls
+                       (("smartdns::Server server_wrap;" all)
+                        (string-append "GTEST_SKIP();" all)))
+                     ;; Tests use ICMP ping.
+                     (substitute* (find-files ".")
+                       ((".*PING_TYPE_ICMP.*" all)
+                        (string-append "GTEST_SKIP();" all)))
+                     (delete-file "test-speed-check.cc"))))
+               ;; Compiled .o files in build phase can't be used for tests.
+               (add-after 'skip-unavailable-tests 'prepare-test-dir
+                 (lambda _
+                   (copy-recursively "." "../test")))
+               (add-before 'check 'enter-test-dir
+                 (lambda _
+                   (chdir "../test/test")))
+               (add-after 'check 'leave-test-dir
+                 (lambda _
+                   (chdir "../../source"))))))
     (inputs (list openssl))
+    (native-inputs (list googletest `(,isc-bind "utils")))
     (home-page "https://github.com/pymumu/smartdns")
     (synopsis "Local DNS server")
     (description