gnu: perl-datetime-timezone: Fix missing timezone data.
authorChristopher Baines <mail@cbaines.net>
Fri, 19 Apr 2019 10:39:38 +0000 (11:39 +0100)
committerChristopher Baines <mail@cbaines.net>
Fri, 19 Apr 2019 10:42:30 +0000 (11:42 +0100)
I noticed this when using Sqitch, on systems without /usr/share/zoneinfo,
actions like deploy fail.

* gnu/packages/perl.scm (perl-datetime-timezone)[arguments]: Add 'patch-tzdata
phase to replace /usr/share/zoneinfo with a reference to the tzdata package.
[inputs]: Add the tzdata package.

gnu/packages/perl.scm

index 86d07c3..cde75bc 100644 (file)
@@ -2541,9 +2541,22 @@ the DateTime.pm class.")
         (base32
          "0kz5kz47awf2bhb85xx5rbajkr093ipm2d2vkhqs8lqq0f305r3a"))))
     (build-system perl-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-tzdata
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "lib/DateTime/TimeZone/Local/Unix.pm"
+               (("our \\$ZoneinfoDir = '\\/usr\\/share\\/zoneinfo';")
+                (string-append "our $ZoneinfoDir = '"
+                               (assoc-ref inputs "tzdata") "/share/zoneinfo"
+                               "';")))
+             #t)))))
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)
        ("perl-test-requires" ,perl-test-requires)))
+    (inputs
+     `(("tzdata" ,tzdata)))
     (propagated-inputs
      `(("perl-class-singleton" ,perl-class-singleton)
        ("perl-list-allutils" ,perl-list-allutils)