mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
core/glib2 to 2.66.2-1
This commit is contained in:
parent
415cf04563
commit
802e7b5e66
2 changed files with 3 additions and 110 deletions
|
@ -1,102 +0,0 @@
|
||||||
From b411f518b8dc7a99bad52884048436d991c89b77 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?=
|
|
||||||
=?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= <lrn1986@gmail.com>
|
|
||||||
Date: Mon, 5 Oct 2020 17:07:29 +0000
|
|
||||||
Subject: [PATCH 1/2] Add a test for the 6-days-until-EOM bug
|
|
||||||
|
|
||||||
---
|
|
||||||
glib/tests/gdatetime.c | 26 ++++++++++++++++++++++++++
|
|
||||||
1 file changed, 26 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
|
|
||||||
index 52eec1e46..0731f01f2 100644
|
|
||||||
--- a/glib/tests/gdatetime.c
|
|
||||||
+++ b/glib/tests/gdatetime.c
|
|
||||||
@@ -2192,6 +2192,31 @@ test_z (void)
|
|
||||||
g_time_zone_unref (tz);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+test_6_days_util_end_of_the_month (void)
|
|
||||||
+{
|
|
||||||
+ GTimeZone *tz;
|
|
||||||
+ GDateTime *dt;
|
|
||||||
+ gchar *p;
|
|
||||||
+
|
|
||||||
+ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/2215");
|
|
||||||
+
|
|
||||||
+#ifdef G_OS_UNIX
|
|
||||||
+ tz = g_time_zone_new ("Europe/Paris");
|
|
||||||
+#elif defined (G_OS_WIN32)
|
|
||||||
+ tz = g_time_zone_new ("Romance Standard Time");
|
|
||||||
+#endif
|
|
||||||
+ dt = g_date_time_new (tz, 2020, 10, 5, 1, 1, 1);
|
|
||||||
+
|
|
||||||
+ p = g_date_time_format (dt, "%Y-%m-%d %H:%M:%S%z");
|
|
||||||
+ /* Incorrect output is "2020-10-05 01:01:01+0100" */
|
|
||||||
+ g_assert_cmpstr (p, ==, "2020-10-05 01:01:01+0200");
|
|
||||||
+ g_free (p);
|
|
||||||
+
|
|
||||||
+ g_date_time_unref (dt);
|
|
||||||
+ g_time_zone_unref (tz);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
test_format_iso8601 (void)
|
|
||||||
{
|
|
||||||
@@ -2785,6 +2810,7 @@ main (gint argc,
|
|
||||||
g_test_add_func ("/GDateTime/new_from_iso8601/2", test_GDateTime_new_from_iso8601_2);
|
|
||||||
g_test_add_func ("/GDateTime/new_full", test_GDateTime_new_full);
|
|
||||||
g_test_add_func ("/GDateTime/now", test_GDateTime_now);
|
|
||||||
+ g_test_add_func ("/GDateTime/test-6-days-util-end-of-the-month", test_6_days_util_end_of_the_month);
|
|
||||||
g_test_add_func ("/GDateTime/printf", test_GDateTime_printf);
|
|
||||||
g_test_add_func ("/GDateTime/non_utf8_printf", test_non_utf8_printf);
|
|
||||||
g_test_add_func ("/GDateTime/format_unrepresentable", test_format_unrepresentable);
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
|
|
||||||
From 4a120c2e2e0a26e1cd5ce7cb4ebe906ef6d588d3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?=D0=A0=D1=83=D1=81=D0=BB=D0=B0=D0=BD=20=D0=98=D0=B6=D0=B1?=
|
|
||||||
=?UTF-8?q?=D1=83=D0=BB=D0=B0=D1=82=D0=BE=D0=B2?= <lrn1986@gmail.com>
|
|
||||||
Date: Mon, 5 Oct 2020 16:53:47 +0000
|
|
||||||
Subject: [PATCH 2/2] Fix the 6-days-until-the-end-of-the-month bug
|
|
||||||
|
|
||||||
The addition causes the date to shift
|
|
||||||
forward into 1st of the next month, because a 0-based offset
|
|
||||||
is compared to be "more than" the days in the month instead of "more than
|
|
||||||
or equal to".
|
|
||||||
|
|
||||||
This is triggered by corner-cases where transition date is 6 days
|
|
||||||
off the end of the month and our calculations put it at N+1th day of the
|
|
||||||
month (where N is the number of days in the month). The subtraction should
|
|
||||||
be triggered to move the date back a week, putting it 6 days off the end;
|
|
||||||
for example, October 25 for CET DST transition; but due to incorrect comparison
|
|
||||||
the date isn't shifted back, we add 31 days to October 1st and end up
|
|
||||||
at November 1st).
|
|
||||||
|
|
||||||
Fixes issue #2215.
|
|
||||||
---
|
|
||||||
glib/gtimezone.c | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/glib/gtimezone.c b/glib/gtimezone.c
|
|
||||||
index ef67ec50b..0de5c92a3 100644
|
|
||||||
--- a/glib/gtimezone.c
|
|
||||||
+++ b/glib/gtimezone.c
|
|
||||||
@@ -1041,7 +1041,11 @@ find_relative_date (TimeZoneDate *buffer)
|
|
||||||
/* week is 1 <= w <= 5, we need 0-based */
|
|
||||||
days = 7 * (buffer->week - 1) + wday - first_wday;
|
|
||||||
|
|
||||||
- while (days > days_in_month)
|
|
||||||
+ /* "days" is a 0-based offset from the 1st of the month.
|
|
||||||
+ * Adding days == days_in_month would bring us into the next month,
|
|
||||||
+ * hence the ">=" instead of just ">".
|
|
||||||
+ */
|
|
||||||
+ while (days >= days_in_month)
|
|
||||||
days -= 7;
|
|
||||||
|
|
||||||
g_date_add_days (&date, days);
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
|
|
||||||
pkgbase=glib2
|
pkgbase=glib2
|
||||||
pkgname=(glib2 glib2-docs)
|
pkgname=(glib2 glib2-docs)
|
||||||
pkgver=2.66.1
|
pkgver=2.66.2
|
||||||
pkgrel=2
|
pkgrel=1
|
||||||
pkgdesc="Low level core library"
|
pkgdesc="Low level core library"
|
||||||
url="https://wiki.gnome.org/Projects/GLib"
|
url="https://wiki.gnome.org/Projects/GLib"
|
||||||
license=(LGPL2.1)
|
license=(LGPL2.1)
|
||||||
|
@ -16,13 +16,11 @@ depends=(pcre libffi util-linux-libs zlib)
|
||||||
makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux
|
makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux
|
||||||
meson dbus sysprof)
|
meson dbus sysprof)
|
||||||
checkdepends=(desktop-file-utils)
|
checkdepends=(desktop-file-utils)
|
||||||
_commit=b2f8ba8a11482dc702a470e92552cbb97765dbc9 # tags/2.66.1^0
|
_commit=500db2e0b8643815cdd9cba4eb67d5daf1352338 # tags/2.66.2^0
|
||||||
source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
|
source=("git+https://gitlab.gnome.org/GNOME/glib.git#commit=$_commit"
|
||||||
1683.patch
|
|
||||||
noisy-glib-compile-schemas.diff
|
noisy-glib-compile-schemas.diff
|
||||||
glib-compile-schemas.hook gio-querymodules.hook)
|
glib-compile-schemas.hook gio-querymodules.hook)
|
||||||
sha256sums=('SKIP'
|
sha256sums=('SKIP'
|
||||||
'e1913090c7cdd4c7db12651858a8381be28ae61f19d5e5e02a33f4c7c74c926d'
|
|
||||||
'81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
|
'81a4df0b638730cffb7fa263c04841f7ca6b9c9578ee5045db6f30ff0c3fc531'
|
||||||
'64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25'
|
'64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25'
|
||||||
'557c88177f011ced17bdeac1af3f882b2ca33b386a866fdf900b35f927a2bbe8')
|
'557c88177f011ced17bdeac1af3f882b2ca33b386a866fdf900b35f927a2bbe8')
|
||||||
|
@ -35,9 +33,6 @@ pkgver() {
|
||||||
prepare() {
|
prepare() {
|
||||||
cd glib
|
cd glib
|
||||||
|
|
||||||
# https://gitlab.gnome.org/GNOME/glib/-/issues/2219
|
|
||||||
git apply -3 ../1683.patch
|
|
||||||
|
|
||||||
# Suppress noise from glib-compile-schemas.hook
|
# Suppress noise from glib-compile-schemas.hook
|
||||||
git apply -3 ../noisy-glib-compile-schemas.diff
|
git apply -3 ../noisy-glib-compile-schemas.diff
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue