aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/qtbase-use-TZDIR.patch
blob: b6c377b133c899d228901499d226ae6514fd2087 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Use $TZDIR to search for time-zone data. Thus avoid depending on package
"tzdata", which often introduces changes with near-immediate effects, so it's
important to be able to update it fast.

Based on a patch fron NixOS.
===================================================================
--- qtbase-opensource-src-5.14.2.orig/src/corelib/time/qtimezoneprivate_tz.cpp
+++ qtbase-opensource-src-5.15.2/src/corelib/time/qtimezoneprivate_tz.cpp
@@ -70,7 +70,11 @@
 // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
 static QTzTimeZoneHash loadTzTimeZones()
 {
-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+    // Try TZDIR first, in case we're running on GuixSD.
+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
+    // Fallback to traditional paths in case we are not on GuixSD.
+    if (!QFile::exists(path))
+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
     if (!QFile::exists(path))
         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
 
@@ -645,6 +649,9 @@
         if (!tzif.open(QIODevice::ReadOnly))
             return;
     } else {
+      // Try TZDIR first, in case we're running on GuixSD.
+      tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
+      if (!tzif.open(QIODevice::ReadOnly)) {
         // Open named tz, try modern path first, if fails try legacy path
         tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
         if (!tzif.open(QIODevice::ReadOnly)) {
@@ -652,6 +659,7 @@
             if (!tzif.open(QIODevice::ReadOnly))
                 return;
         }
+      }
     }
 
     QDataStream ds(&tzif);
to-system-test) (run-upgrade-services-test, run-install-bootloader-test): Likewise. * gnu/tests/rsync.scm (run-rsync-test): Likewise. * gnu/tests/security-token.scm (run-pcscd-test): Likewise. * gnu/tests/singularity.scm (run-singularity-test): Likewise. * gnu/tests/ssh.scm (run-ssh-test): Likewise. * gnu/tests/telephony.scm (run-jami-test): Likewise. * gnu/tests/version-control.scm (run-cgit-test): Likewise. (run-git-http-test, run-gitolite-test, run-gitile-test): Likewise. * gnu/tests/virtualization.scm (run-libvirt-test, run-childhurd-test): Likewise. * gnu/tests/web.scm (run-webserver-test, run-php-fpm-test) (run-hpcguix-web-server-test, run-tailon-test, run-patchwork-test): Likewise. Ludovic Courtès 2021-08-29Migrate to the new 'targets' field of bootloader-configuration....The old 'target' field is deprecated; adjust the sources to use the new 'targets' one instead. * doc/guix-cookbook.texi<target>: Replace by 'targets'. * gnu/bootloader/grub.scm: Likewise. * gnu/installer/parted.scm: Likewise. * gnu/machine/digital-ocean.scm: Likewise. * gnu/system/examples/asus-c201.tmpl: Likewise * gnu/system/examples/bare-bones.tmpl: Likewise * gnu/system/examples/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise Maxim Cournoyer 2021-04-10tests: nfs: Fix typo in description....* gnu/tests/nfs.scm (%test-nfs-root-fs)[description]: Fix typo. Tobias Geerinckx-Rice 2020-11-07tests: nfs-root-fs: Use the right store file name....* gnu/tests/nfs.scm (run-nfs-root-fs-test): Pass "nfs-root-fs-test" as the first argument to 'gexp->derivation'. Ludovic Courtès 2020-09-10tests: nfs: Improve "nfs-root-fs"....Follow-up to a1a39ed5a46044161a71cbe6931c7e3006a82ecb. * gnu/tests/nfs.scm (run-nfs-root-fs-test): Improve tests. (%test-nfs-root-fs)[description]: Modify. Danny Milosavljevic 2020-09-07tests: nfs: Improve "nfs-root-fs"....Follow-up to a1a39ed5a46044161a71cbe6931c7e3006a82ecb. * gnu/tests/nfs.scm (run-nfs-root-fs-test): Improve tests. Danny Milosavljevic 2020-09-07tests: Add "nfs-root-fs" system test....* gnu/tests/nfs.scm (run-nfs-root-fs-test): New procedure. (%test-nfs-root-fs): New variable. Export it. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Stefan 2020-03-25tests/nfs: Fix use of WAIT-FOR-FILE....* gnu/tests/nfs.scm ("nfs services are running"): Pass marionette to WAIT-FOR-FILE. Ricardo Wurmus 2020-03-16tests: nfs-server: Use marionette helper procedures....* gnu/tests/nfs.scm (run-nfs-server-test)[test](wait-for-file): Remove. ("nscd is listening on its socket"): Use 'wait-for-unix-socket'. Ludovic Courtès 2020-03-16tests: nfs: Ensure 'rpcinfo' can be found....The test was failing since 8b9cad01e9619f53dc5a65892ca6a09ca5de3447. * gnu/tests/nfs.scm (run-nfs-test)[test]("RPC service running"): Add 'setenv' call for PATH. Ludovic Courtès 2020-01-08services: nfs: Add nfs-service-type....* gnu/services/nfs.scm (<nfs-configuration>): New record. (nfs-configuration, nfs-configuration?, nfs-configuration-nfs-utils, nfs-configuration-nfs-version, nfs-configuration-exports, nfs-configuration-rpcmountd-port, nfs-configuration-rpcstatd-port, nfs-configuration-rpcbind, nfs-configuration-idmap-domain, nfs-configuration-nfsd-port, nfs-configuration-nfsd-threads, nfs-configuration-pipefs-directory, nfs-configuration-debug, nfs-shepherd-services): New procedures. (nfs-service-type): New variable. * doc/guix.texi (Network File System): Document it. * gnu/tests/nfs.scm (%test-nfs-server): New variable. (%base-os): Use default value of rpcbind-service-type. Ricardo Wurmus