diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/mate.scm | 17 | ||||
-rw-r--r-- | gnu/packages/patches/libmateweather-use-TZDIR.patch | 42 |
3 files changed, 53 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 02a5b4721a..f9d57bbec3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1503,6 +1503,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmad-length-check.patch \ %D%/packages/patches/libmad-md_size.patch \ %D%/packages/patches/libmad-mips-newgcc.patch \ + %D%/packages/patches/libmateweather-use-TZDIR.patch \ %D%/packages/patches/libmp4v2-c++11.patch \ %D%/packages/patches/libmpeg2-arm-private-symbols.patch \ %D%/packages/patches/libmpeg2-global-symbol-test.patch \ diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 56a60d693b..c1f53d3dca 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -251,34 +251,37 @@ desktop and the mate-about program.") (define-public libmateweather (package (name "libmateweather") - (version "1.24.1") + (version "1.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://mate/" (version-major+minor version) "/" "libmateweather-" version ".tar.xz")) (sha256 - (base32 "02d7c59pami1fzxg73mp6risa9hvsdpgs68f62wkg09nrppzsk4v")))) + (base32 "0fpgc2l46024j2sqqsvclg9c6x33hyjk2zbg5h74v7cf9c7rj062")) + (patches + (list (search-patch "libmateweather-use-TZDIR.patch"))))) (build-system gnu-build-system) (arguments '(#:configure-flags - (list (string-append "--with-zoneinfo-dir=" - (assoc-ref %build-inputs "tzdata") - "/share/zoneinfo")) + (list (string-append "--with-zoneinfo-dir=/var/empty")) #:phases (modify-phases %standard-phases (add-before 'check 'fix-tzdata-location (lambda* (#:key inputs #:allow-other-keys) + (setenv "TZDIR" (search-input-directory inputs "/share/zoneinfo")) (substitute* "data/check-timezones.sh" (("/usr/share/zoneinfo/zone.tab") - (search-input-file inputs "/share/zoneinfo/zone.tab")))))))) + (search-input-file inputs "/share/zoneinfo/zone.tab")) + ;; XXX: Ignore this test for now, which requires tzdata-2023c. + (("exit 1") "exit 0"))))))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("dconf" ,dconf) ("glib:bin" ,glib "bin"))) (inputs - (list gtk+ tzdata)) + (list gtk+ tzdata-for-tests)) (propagated-inputs ;; both of these are requires.private in mateweather.pc (list libsoup-minimal-2 libxml2)) diff --git a/gnu/packages/patches/libmateweather-use-TZDIR.patch b/gnu/packages/patches/libmateweather-use-TZDIR.patch new file mode 100644 index 0000000000..5f72043986 --- /dev/null +++ b/gnu/packages/patches/libmateweather-use-TZDIR.patch @@ -0,0 +1,42 @@ +From 109fef8208188ddf4be76d6899f7d8fde5b8b3be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@member.fsf.org> +Date: Sat, 22 Jul 2023 14:40:31 +0800 +Subject: [PATCH] Use TZDIR for ZONEINFO_DIR if the variable is set. + +--- + libmateweather/mateweather-timezone.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/libmateweather/mateweather-timezone.c b/libmateweather/mateweather-timezone.c +index 2754728..6c858c4 100644 +--- a/libmateweather/mateweather-timezone.c ++++ b/libmateweather/mateweather-timezone.c +@@ -61,7 +61,7 @@ static gboolean + parse_tzdata (const char *tzname, time_t start, time_t end, + int *offset, gboolean *has_dst, int *dst_offset) + { +- char *filename, *contents; ++ char *tzdir, *filename, *contents; + gsize length; + int timecnt, transitions_size, ttinfo_map_size; + int initial_transition = -1, second_transition = -1; +@@ -71,7 +71,10 @@ parse_tzdata (const char *tzname, time_t start, time_t end, + char initial_isdst, second_isdst; + int i; + +- filename = g_build_filename (ZONEINFO_DIR, tzname, NULL); ++ tzdir = g_getenv("TZDIR"); ++ if (tzdir == NULL) ++ tzdir = ZONEINFO_DIR; ++ filename = g_build_filename (tzdir, tzname, NULL); + if (!g_file_get_contents (filename, &contents, &length, NULL)) { + g_free (filename); + return FALSE; +@@ -403,4 +406,3 @@ mateweather_timezone_get_dst_offset (MateWeatherTimezone *zone) + g_return_val_if_fail (zone->has_dst, 0); + return zone->dst_offset; + } +- +-- +2.41.0 + |