summary refs log tree commit diff
path: root/gnu/packages/base.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/base.scm')
-rw-r--r--gnu/packages/base.scm55
1 files changed, 47 insertions, 8 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index c6b21e725d..f53dee73ec 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1087,7 +1087,7 @@ command.")
 (define-public tzdata
   (package
     (name "tzdata")
-    (version "2017c")
+    (version "2018c")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1095,7 +1095,7 @@ command.")
                    version ".tar.gz"))
              (sha256
               (base32
-               "02yrrfj0p7ar885ja41ylijzbr8wc6kz6kzlw8c670i9m693ym6n"))))
+               "1xik57rdi7kqa0wb5jbz7vyjyxpr88lw1g4kscj0ylpgnzjc6998"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f
@@ -1103,10 +1103,8 @@ command.")
                           (tmp (getenv "TMPDIR")))
                       (list (string-append "TOPDIR=" out)
                             (string-append "TZDIR=" out "/share/zoneinfo")
-
-                            ;; Discard zic, dump, and tzselect, already
-                            ;; provided by glibc.
-                            (string-append "ETCDIR=" tmp "/etc")
+                            (string-append "TZDEFAULT=" out
+                                           "/share/zoneinfo/localtime")
 
                             ;; Likewise for the C library routines.
                             (string-append "LIBDIR=" tmp "/lib")
@@ -1127,6 +1125,9 @@ command.")
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Move data in the right place.
              (let ((out (assoc-ref outputs "out")))
+               ;; Discard zic, dump, and tzselect, already
+               ;; provided by glibc.
+               (delete-file-recursively (string-append out "/usr"))
                (symlink (string-append out "/share/zoneinfo")
                         (string-append out "/share/zoneinfo/posix"))
                (delete-file-recursively
@@ -1144,7 +1145,7 @@ command.")
                                 version ".tar.gz"))
                           (sha256
                            (base32
-                            "1dvrq0b2hz7cjqdyd7x21wpy4qcng3rvysr61ij0c2g64fyb9s41"))))))
+                            "0rg6s1vlgwd8sjhla55hx2h5m2xbx0shm347pkbg4vsaz707zyii"))))))
     (home-page "https://www.iana.org/time-zones")
     (synopsis "Database of current and historical time zones")
     (description "The Time Zone Database (often called tz or zoneinfo)
@@ -1170,6 +1171,45 @@ and daylight-saving rules.")
         (sha256
          (base32
           "02yrrfj0p7ar885ja41ylijzbr8wc6kz6kzlw8c670i9m693ym6n"))))
+    (arguments
+     '(#:tests? #f
+       #:make-flags (let ((out (assoc-ref %outputs "out"))
+                          (tmp (getenv "TMPDIR")))
+                      (list (string-append "TOPDIR=" out)
+                            (string-append "TZDIR=" out "/share/zoneinfo")
+
+                            ;; Discard zic, dump, and tzselect, already
+                            ;; provided by glibc.
+                            (string-append "ETCDIR=" tmp "/etc")
+
+                            ;; Likewise for the C library routines.
+                            (string-append "LIBDIR=" tmp "/lib")
+                            (string-append "MANDIR=" tmp "/man")
+
+                            "AWK=awk"
+                            "CC=gcc"))
+       #:modules ((guix build utils)
+                  (guix build gnu-build-system)
+                  (srfi srfi-1))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'unpack
+           (lambda* (#:key source inputs #:allow-other-keys)
+             (and (zero? (system* "tar" "xvf" source))
+                  (zero? (system* "tar" "xvf" (assoc-ref inputs "tzcode"))))))
+         (add-after 'install 'post-install
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Move data in the right place.
+             (let ((out (assoc-ref outputs "out")))
+               (symlink (string-append out "/share/zoneinfo")
+                        (string-append out "/share/zoneinfo/posix"))
+               (delete-file-recursively
+                (string-append out "/share/zoneinfo-posix"))
+               (copy-recursively (string-append out "/share/zoneinfo-leaps")
+                                 (string-append out "/share/zoneinfo/right"))
+               (delete-file-recursively
+                (string-append out "/share/zoneinfo-leaps")))))
+         (delete 'configure))))
     (inputs `(("tzcode" ,(origin
                           (method url-fetch)
                           (uri (string-append
@@ -1179,7 +1219,6 @@ and daylight-saving rules.")
                            (base32
                             "1dvrq0b2hz7cjqdyd7x21wpy4qcng3rvysr61ij0c2g64fyb9s41")))))))))
 
-
 (define-public libiconv
   (package
     (name "libiconv")