Subject: [PATCH core-updates 04/15] gnu: Use 'search-input-directory' when looking for tzdata.

From: Ludovic Courtès <[email-masked]>
Date: Fri, 16 Jul 2021 17:54:09 +0200

* gnu/packages/backup.scm (duplicity)[arguments]: Use
'search-input-directory' for "share/zoneinfo".
* gnu/packages/bioinformatics.scm (pigx-rnaseq): Likewise.
(pigx-bsseq): Likewise.
* gnu/packages/calcurse.scm (calcurse): Likewise.
* gnu/packages/calendar.scm (date): Likewise.
* gnu/packages/compression.scm (lhasa): Likewise.
* gnu/packages/cran.scm (r-rstan): Likewise.
* gnu/packages/django.scm (python-django): Likewise.
* gnu/packages/dlang.scm (ldc-bootstrap): Likewise.
* gnu/packages/finance.scm (ledger): Likewise.
* gnu/packages/glib.scm (glib): Likewise.
* gnu/packages/golang.scm (go-1.4): Likewise.
(go-1.14): Likewise.
* gnu/packages/kde-frameworks.scm (kcalendarcore): Likewise.
(kdelibs4support): Likewise.
* gnu/packages/kodi.scm (kodi): Likewise.
* gnu/packages/mail.scm (mu): Likewise.
* gnu/packages/perl.scm (perl-libtime-parsedate): Likewise.
* gnu/packages/python-xyz.scm (python-robotframework): Likewise.
(python-dparse): Likewise.
* gnu/packages/rrdtool.scm (rrdtool): Likewise.
* gnu/packages/statistics.scm (r-with-tests): Likewise.
* gnu/packages/vim.scm (vim): Likewise.
* gnu/packages/virtualization.scm (ganeti): Likewise.
* gnu/packages/vpn.scm (strongswan): Likewise.
* gnu/packages/xfce.scm (xfce4-panel): Likewise.
* gnu/packages/mate.scm (libmateweather): Use 'search-input-file' for
"share/zoneinfo/zone.tab".
---
 gnu/packages/backup.scm         | 3 +--
 gnu/packages/bioinformatics.scm | 8 ++++----
 gnu/packages/calcurse.scm       | 4 ++--
 gnu/packages/calendar.scm       | 4 ++--
 gnu/packages/compression.scm    | 6 +++---
 gnu/packages/cran.scm           | 5 ++---
 gnu/packages/django.scm         | 3 +--
 gnu/packages/dlang.scm          | 2 +-
 gnu/packages/finance.scm        | 4 ++--
 gnu/packages/glib.scm           | 4 ++--
 gnu/packages/golang.scm         | 4 ++--
 gnu/packages/kde-frameworks.scm | 9 ++++-----
 gnu/packages/kodi.scm           | 3 +--
 gnu/packages/mail.scm           | 4 +---
 gnu/packages/mate.scm           | 4 +---
 gnu/packages/perl.scm           | 5 ++---
 gnu/packages/python-xyz.scm     | 8 +++-----
 gnu/packages/rrdtool.scm        | 4 +---
 gnu/packages/statistics.scm     | 5 ++---
 gnu/packages/vim.scm            | 3 +--
 gnu/packages/virtualization.scm | 3 +--
 gnu/packages/vpn.scm            | 5 ++---
 gnu/packages/xfce.scm           | 3 +--
 23 files changed, 42 insertions(+), 61 deletions(-)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 7bfbffe48c..8deb6a3575 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -134,8 +134,7 @@
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "HOME" (getcwd))   ; gpg needs to write to $HOME
              (setenv "TZDIR"            ; some timestamp checks need TZDIR
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
+                     (search-input-directory inputs "share/zoneinfo"))
              ;; Some things respect TMPDIR, others hard-code /tmp, and the
              ;; defaults don't match up, breaking test_restart.  Fix it.
              (setenv "TMPDIR" "/tmp")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index ab698fc0e8..adc87ea4dd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -10324,8 +10324,8 @@ once.  This package provides tools to perform Drop-seq analyses.")
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZ" "UTC+1")
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo")))))))
+                     (search-input-directory inputs
+                                             "share/zoneinfo")))))))
     (inputs
      `(("coreutils" ,coreutils)
        ("sed" ,sed)
@@ -10475,8 +10475,8 @@ in an easily configurable manner.")
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZ" "UTC+1")
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo")))))))
+                     (search-input-directory inputs
+                                             "share/zoneinfo")))))))
     (native-inputs
      `(("tzdata" ,tzdata)))
     (inputs
diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm
index d807c15d68..b44f88fea9 100644
--- a/gnu/packages/calcurse.scm
+++ b/gnu/packages/calcurse.scm
@@ -64,8 +64,8 @@
                   (add-before 'check 'check-setup
                     (lambda* (#:key inputs #:allow-other-keys)
                       (setenv "TZDIR"   ; for test/ical-007.sh
-                              (string-append (assoc-ref inputs "tzdata")
-                                             "/share/zoneinfo")))))))
+                              (search-input-directory inputs
+                                                      "share/zoneinfo")))))))
     (home-page "https://www.calcurse.org")
     (synopsis "Text-based calendar and scheduling")
     (description
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 3c287fc856..d40dc5d6c2 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -96,8 +96,8 @@
              (lambda* (#:key inputs #:allow-other-keys)
                (substitute* "src/tz.cpp"
                  (("/usr/share/zoneinfo")
-                  (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
-               #t))
+                  (search-input-directory inputs
+                                          "share/zoneinfo")))))
            (replace 'check
              (lambda _
                ;; Disable test that requires checking timezone that
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 719cd36235..2487515428 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -543,9 +543,9 @@ than gzip and 15 % smaller output than bzip2.")
        (modify-phases %standard-phases
          (add-before 'check 'set-up-test-environment
            (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
-                                            "/share/zoneinfo"))
-             #t)))))
+             (setenv "TZDIR"
+                     (search-input-directory inputs
+                                             "share/zoneinfo")))))))
     (native-inputs
      `(("tzdata" ,tzdata-for-tests)))
     (home-page "https://fragglet.github.com/lhasa/")
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index f8c2258c34..4ac4f0895f 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -23885,9 +23885,8 @@ techniques to average Bayesian predictive distributions.")
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZ" "UTC+1")
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
-             #t)))))
+                     (search-input-directory inputs
+                                             "share/zoneinfo")))))))
     (native-inputs
      `(("tzdata" ,tzdata-for-tests)
        ("pandoc" ,pandoc)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index d53c06380a..914217a84e 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -64,8 +64,7 @@
              ;; The test-suite tests timezone-dependent functions, thus tzdata
              ;; needs to be available.
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
+                     (search-input-directory inputs "share/zoneinfo"))
 
              ;; Disable test for incorrect timezone: it only raises the
              ;; expected error when /usr/share/zoneinfo exists, even though
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 88a0887a0a..c782ef928a 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -125,7 +125,7 @@ and freshness without requiring additional information from the user.")
                  (("echo") (which "echo")))
                (substitute* "runtime/phobos/std/datetime.d"
                  (("/usr/share/zoneinfo/")
-                  (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
+                  (search-input-directory inputs "share/zoneinfo"))
                  (("tzName == \"[+]VERSION\"")
                   "(tzName == \"+VERSION\" || std.algorithm.endsWith(tzName, \"/leapseconds\"))"))
                (substitute* "tests/d2/dmd-testsuite/Makefile"
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index b3a8e2b732..efeee664d7 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -343,8 +343,8 @@ and dynamically with report tools based on filtering and graphical charts.")
            ;; One test fails if it can't set the timezone.
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
+                     (search-input-directory inputs
+                                             "share/zoneinfo"))
              ;; Skip failing test BaselineTest_cmd-org.
              ;; This is a known upstream issue. See
              ;; https://github.com/ledger/ledger/issues/550
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index f0be2ddaa4..0c0cfce40c 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -239,8 +239,8 @@ shared NFS home directories.")
            (lambda* (#:key inputs outputs #:allow-other-keys)
              ;; For tests/gdatetime.c.
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
+                     (search-input-directory inputs
+                                             "share/zoneinfo"))
              ;; Some tests want write access there.
              (setenv "HOME" (getcwd))
              (setenv "XDG_CACHE_HOME" (getcwd))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 1d17f02cdd..05b135b933 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -117,7 +117,7 @@
                     (loader (car (find-files ld "^ld-linux.+")))
                     (net-base (assoc-ref inputs "net-base"))
                     (tzdata-path
-                     (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
+                     (search-input-directory inputs "share/zoneinfo"))
                     (output (assoc-ref outputs "out")))
 
                ;; Removing net/ tests, which fail when attempting to access
@@ -265,7 +265,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                       (loader (car (find-files ld "^ld-linux.+")))
                       (net-base (assoc-ref inputs "net-base"))
                       (tzdata-path
-                       (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
+                       (search-input-directory inputs "share/zoneinfo"))
                       (output (assoc-ref outputs "out")))
 
                  ;; Having the patch in the 'patches' field of <origin> breaks
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 4fd0817753..b168c38b15 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -451,9 +451,8 @@ GZip format, via a subclass of QIODevice.")
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZ" "Europe/Prague")
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
-             #t)))))
+                     (search-input-directory inputs
+                                             "share/zoneinfo")))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Library for interfacing with calendars")
     (description "This library provides access to and handling of calendar
@@ -3689,8 +3688,8 @@ workspace.")
            (lambda* (#:key inputs tests? #:allow-other-keys)
              (setenv "HOME" (getcwd))
              (setenv "TZDIR"    ; KDateTimeTestsome needs TZDIR
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
+                     (search-input-directory inputs
+                                             "share/zoneinfo"))
              ;; Make Qt render "offscreen", required for tests
              (setenv "QT_QPA_PLATFORM" "offscreen")
              ;; enable debug output
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index b3dc96f925..0ed5d829fb 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -348,8 +348,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.")
 
              (substitute* "xbmc/platform/linux/LinuxTimezone.cpp"
                (("/usr/share/zoneinfo")
-                (string-append (assoc-ref inputs "tzdata")
-                               "/share/zoneinfo")))
+                (search-input-directory inputs "share/zoneinfo")))
 
              ;; Don't phone home to check for updates.
              (substitute* "system/addon-manifest.xml"
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index e983fb8b14..007a15ee06 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1204,9 +1204,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
            (lambda* (#:key inputs #:allow-other-keys)
              ;; For mu/test/test-mu-query.c
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
-             #t))
+                     (search-input-directory inputs "share/zoneinfo"))))
          (add-after 'install 'install-emacs-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 8d7c618eef..fae85222b1 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -277,9 +277,7 @@ desktop and the mate-about program.")
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "data/check-timezones.sh"
               (("/usr/share/zoneinfo/zone.tab")
-               (string-append (assoc-ref inputs "tzdata")
-                              "/share/zoneinfo/zone.tab")))
-            #t)))))
+               (search-input-file inputs "/share/zoneinfo/zone.tab"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 0d94566925..301ac92ad2 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -11645,9 +11645,8 @@ prop, vhea, vmtx and the reading and writing of all other table types.")
          ;; This is needed for tests
          (add-after 'unpack 'set-TZDIR
            (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
-                                            "/share/zoneinfo"))
-             #t)))))
+             (setenv "TZDIR"
+                     (search-input-directory inputs "share/zoneinfo")))))))
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("tzdata" ,tzdata-for-tests)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7504e9f205..9681dd81fd 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -4191,8 +4191,7 @@ ecosystem, but can naturally be used also by other projects.")
                       ;;
                       ;; OverflowError: mktime argument out of range
                       (setenv "TZDIR"
-                              (string-append (assoc-ref inputs "tzdata")
-                                             "/share/zoneinfo"))
+                              (search-input-directory inputs "share/zoneinfo"))
                       (setenv "TZ" "Europe/Paris")
 
                       (invoke "python" "utest/run.py"))))))
@@ -24735,9 +24734,8 @@ It adds a simple and readable way to print stuff during development.")
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZ" "UTC")
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
-             #t)))))
+                     (search-input-directory inputs
+                                             "share/zoneinfo")))))))
     (home-page "https://github.com/scrapinghub/dateparser")
     (synopsis
      "Date parsing library designed to parse dates from HTML pages")
diff --git a/gnu/packages/rrdtool.scm b/gnu/packages/rrdtool.scm
index 13419e4d37..b8b48e21d6 100644
--- a/gnu/packages/rrdtool.scm
+++ b/gnu/packages/rrdtool.scm
@@ -73,9 +73,7 @@
          (add-before 'check 'prepare-test-environment
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
-             #t))
+                     (search-input-directory inputs "share/zoneinfo"))))
          (add-after 'install 'remove-native-input-references
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 3f0706665b..2b4e1607f7 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -296,9 +296,8 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\
            (lambda* (#:key inputs #:allow-other-keys)
              (setenv "TZ" "UTC+1")
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
-             #t))
+                     (search-input-directory inputs
+                                             "share/zoneinfo"))))
          (add-after 'build 'make-info
           (lambda _ (invoke "make" "info")))
          (add-after 'build 'install-info
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 7a37162116..6145a77dc4 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -109,8 +109,7 @@
            (lambda* (#:key inputs #:allow-other-keys)
              ;; One of the tests tests timezone-dependent functions.
              (setenv "TZDIR"
-                     (string-append (assoc-ref inputs "tzdata")
-                                    "/share/zoneinfo"))
+                     (search-input-directory inputs "share/zoneinfo"))
 
              ;; Make sure the TERM environment variable is set for the tests
              (setenv "TERM" "xterm")
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index a969f1e769..225a7de868 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -597,8 +597,7 @@ server and embedded PowerPC, and S390 guests.")
          (add-before 'check 'pre-check
            (lambda* (#:key inputs #:allow-other-keys)
              ;; Set TZDIR so that time zones are found.
-             (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
-                                            "/share/zoneinfo"))
+             (setenv "TZDIR" (search-input-directory inputs "share/zoneinfo"))
 
              (substitute* "test/py/ganeti.utils.process_unittest.py"
                ;; This test attempts to run an executable with
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index ddde10977c..8e91f19ce4 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -125,9 +125,8 @@ endpoints.")
              #t))
          (add-before 'check 'set-up-test-environment
            (lambda* (#:key inputs #:allow-other-keys)
-             (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
-                                            "/share/zoneinfo"))
-             #t)))
+             (setenv "TZDIR"
+                     (search-input-directory inputs "share/zoneinfo")))))
        #:configure-flags
        (list
         "--disable-ldap"
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 814b567cce..b41c14f18f 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -434,8 +434,7 @@ management D-Bus specification.")
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* (string-append "plugins/clock/clock.c")
                (("/usr/share/zoneinfo")
-                (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
-             #t)))))
+                (search-input-directory inputs "share/zoneinfo"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
-- 
2.32.0