summaryrefslogtreecommitdiffstats
path: root/meta-gnome
diff options
context:
space:
mode:
Diffstat (limited to 'meta-gnome')
-rw-r--r--meta-gnome/recipes-gimp/babl/babl_0.1.126.bb (renamed from meta-gnome/recipes-gimp/babl/babl_0.1.124.bb)2
-rw-r--r--meta-gnome/recipes-gimp/gegl/gegl_0.4.70.bb (renamed from meta-gnome/recipes-gimp/gegl/gegl_0.4.68.bb)2
-rw-r--r--meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch47
-rw-r--r--meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch33
-rw-r--r--meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb (renamed from meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb)7
-rw-r--r--meta-gnome/recipes-gnome/cheese/cheese_44.1.bb5
-rw-r--r--meta-gnome/recipes-gnome/dconf/dconf-editor_49.0.bb (renamed from meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb)4
-rw-r--r--meta-gnome/recipes-gnome/eog/eog_50.1.bb (renamed from meta-gnome/recipes-gnome/eog/eog_49.1.bb)9
-rw-r--r--meta-gnome/recipes-gnome/evince/evince_48.4.bb (renamed from meta-gnome/recipes-gnome/evince/evince_48.1.bb)2
-rw-r--r--meta-gnome/recipes-gnome/file-roller/file-roller_44.5.bb1
-rw-r--r--meta-gnome/recipes-gnome/gdm/gdm_50.1.bb (renamed from meta-gnome/recipes-gnome/gdm/gdm_50.0.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gedit/gedit_50.0.bb (renamed from meta-gnome/recipes-gnome/gedit/gedit_49.0.bb)4
-rw-r--r--meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb (renamed from meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.3.1.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gjs/gjs_1.84.2.bb (renamed from meta-gnome/recipes-gnome/gjs/gjs_1.84.1.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb2
-rw-r--r--meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_48.0.bb11
-rw-r--r--meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_49.7.bb (renamed from meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_49.2.2.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb (renamed from meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.0.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb (renamed from meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.7.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb6
-rw-r--r--meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.1.bb (renamed from meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.0.bb)2
-rw-r--r--meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb (renamed from meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb)13
-rw-r--r--meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb2
-rw-r--r--meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch1134
-rw-r--r--meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb34
-rw-r--r--meta-gnome/recipes-gnome/libgsf/libgsf_1.14.58.bb (renamed from meta-gnome/recipes-gnome/libgsf/libgsf_1.14.56.bb)2
-rw-r--r--meta-gnome/recipes-gnome/libpeas/libpeas-1_1.38.1.bb (renamed from meta-gnome/recipes-gnome/libpeas/libpeas-1_1.36.0.bb)4
-rw-r--r--meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch95
-rw-r--r--meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb5
-rw-r--r--meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb4
-rw-r--r--meta-gnome/recipes-gnome/tracker/localsearch_3.11.1.bb (renamed from meta-gnome/recipes-gnome/tracker/localsearch_3.11.0.bb)2
-rw-r--r--meta-gnome/recipes-gnome/tracker/tinysparql_3.11.1.bb (renamed from meta-gnome/recipes-gnome/tracker/tinysparql_3.11.0.bb)2
-rw-r--r--meta-gnome/recipes-gnome/yelp/yelp_42.2.bb6
-rw-r--r--meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb2
-rw-r--r--meta-gnome/recipes-support/appstream-glib/appstream-glib_0.8.3.bb (renamed from meta-gnome/recipes-support/appstream-glib/appstream-glib_0.8.2.bb)2
-rw-r--r--meta-gnome/recipes-support/libdazzle/libdazzle_3.44.0.bb18
-rw-r--r--meta-gnome/recipes-support/libhandy/libhandy_1.8.3.bb25
-rw-r--r--meta-gnome/recipes-support/libwacom/libwacom_2.19.0.bb (renamed from meta-gnome/recipes-support/libwacom/libwacom_2.18.0.bb)2
-rw-r--r--meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch69
-rw-r--r--meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb (renamed from meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb)5
-rw-r--r--meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb4
41 files changed, 274 insertions, 1305 deletions
diff --git a/meta-gnome/recipes-gimp/babl/babl_0.1.124.bb b/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb
index b1e9d96b79..10e2c482a5 100644
--- a/meta-gnome/recipes-gimp/babl/babl_0.1.124.bb
+++ b/meta-gnome/recipes-gimp/babl/babl_0.1.126.bb
@@ -10,7 +10,7 @@ inherit setuptools3 gnomebase gobject-introspection vala
10DEPENDS += "lcms" 10DEPENDS += "lcms"
11 11
12SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz" 12SRC_URI = "https://download.gimp.org/pub/${BPN}/0.1/${BP}.tar.xz"
13SRC_URI[sha256sum] = "1b0d544ab6f409f2b1b5f677226272d1e8c6d373f2f453ee870bfc7e5dd4f1b1" 13SRC_URI[sha256sum] = "3f090f4b2a61fecf7c8dc60a5804bbc77cefd8d778af2ded059f0e367a52930e"
14 14
15FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}" 15FILES:${PN} += "${libdir}/${BPN}-${@gnome_verdir("${PV}")}"
16 16
diff --git a/meta-gnome/recipes-gimp/gegl/gegl_0.4.68.bb b/meta-gnome/recipes-gimp/gegl/gegl_0.4.70.bb
index 83612aa3f7..64ff475dc4 100644
--- a/meta-gnome/recipes-gimp/gegl/gegl_0.4.68.bb
+++ b/meta-gnome/recipes-gimp/gegl/gegl_0.4.70.bb
@@ -28,7 +28,7 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
28SHPV = "${@gnome_verdir("${PV}")}" 28SHPV = "${@gnome_verdir("${PV}")}"
29 29
30SRC_URI = "https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz" 30SRC_URI = "https://download.gimp.org/pub/${BPN}/${SHPV}/${BP}.tar.xz"
31SRC_URI[sha256sum] = "5002309b9a701260658e8b3a61540fd5673887cef998338e1992524a33b23ae3" 31SRC_URI[sha256sum] = "47f50d9c3aecd375deb48c11ebfead52d162e4fc162a4b3d44618277f1faec02"
32 32
33PACKAGECONFIG ??= "gexiv2 libraw librsvg pango poppler sdl2" 33PACKAGECONFIG ??= "gexiv2 libraw librsvg pango poppler sdl2"
34PACKAGECONFIG:class-native = "librsvg" 34PACKAGECONFIG:class-native = "librsvg"
diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch
new file mode 100644
index 0000000000..4eb6f9553d
--- /dev/null
+++ b/meta-gnome/recipes-gimp/gimp/gimp/0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch
@@ -0,0 +1,47 @@
1From d00c3c9fb8267f53cf730b8441a7d7f904af5215 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Mon, 20 Apr 2026 09:14:50 +0200
4Subject: [PATCH] meson.build: dont check for python3-pygobject gexiv2 support
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9We only provide support for gexiv2 in python3-pygobject for the target, but
10unfortunately this feature is being requested for the native version, which
11would require gexiv2-native to be compilable — something I consider quite
12hard to achieve and maybe also not desirable at all.
13
14Remove the test for this feature, since we know that our target provides it.
15
16Signed-off-by: Markus Volk <f_l_k@t-online.de>
17
18Upstream-Status: Inappropriate [oe-specific]
19---
20 meson.build | 4 ++--
21 1 file changed, 2 insertions(+), 2 deletions(-)
22
23diff --git a/meson.build b/meson.build
24index 4f6f8ce9a4..4509cd2c39 100644
25--- a/meson.build
26+++ b/meson.build
27@@ -1224,7 +1224,7 @@ foreach py : py_candidates
28 '''except (ImportError):''',
29 ''' sys.exit(1)''']),
30 check: false).returncode() == 0
31- if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver) and pygobject_gexiv2_found
32+ if pygobject_found.returncode() == 0 and pygobject_found.stdout().strip().version_compare(pygobject_minver)
33 break
34 endif
35 endif
36@@ -1235,7 +1235,7 @@ if not python.found() or not python.language_version().version_compare(python3_m
37 endif
38 message('Found Python @0@'.format(python.language_version()))
39
40-if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver) or not pygobject_gexiv2_found
41+if pygobject_found.returncode() != 0 or not pygobject_found.stdout().strip().version_compare(pygobject_minver)
42 error('No suitable PyGObject (with GExiv2 submodule) found. Minimum supported version: @0@'.format(pygobject_minver))
43 endif
44 message('Found PyGObject: @0@'.format(pygobject_found.stdout().strip()))
45--
462.53.0
47
diff --git a/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch
new file mode 100644
index 0000000000..91e7f92336
--- /dev/null
+++ b/meta-gnome/recipes-gimp/gimp/gimp/0005-docs-meson.build-disable-gimprc-man-build.patch
@@ -0,0 +1,33 @@
1From 47948d14777438ca5e8619a1f9293db28af88305 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Mon, 20 Apr 2026 09:24:38 +0200
4Subject: [PATCH] docs/meson.build: disable gimprc man build
5
6This would require a native variant of gimp-console
7
8Signed-off-by: Markus Volk <f_l_k@t-online.de>
9
10Upstream-Status: Inappropriate [oe-specific]
11---
12 docs/meson.build | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/docs/meson.build b/docs/meson.build
16index 70b57b52ef..d36e47dbb5 100644
17--- a/docs/meson.build
18+++ b/docs/meson.build
19@@ -16,9 +16,9 @@ gimprc_man = custom_target('gimprc-' + gimp_app_version + '.5',
20 command: [ gimp_exe, '--no-interface',
21 '--dump-gimprc-manpage' ],
22 capture: true,
23- build_by_default: true,
24+ build_by_default: false,
25 env: gimp_run_env,
26- install: true,
27+ install: false,
28 install_dir: get_option('mandir') / 'man5')
29
30 gimptool_man = configure_file(input : 'gimptool.1.in',
31--
322.53.0
33
diff --git a/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb b/meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb
index 1b092eb7e5..82c68346eb 100644
--- a/meta-gnome/recipes-gimp/gimp/gimp_3.2.0.bb
+++ b/meta-gnome/recipes-gimp/gimp/gimp_3.2.4.bb
@@ -37,6 +37,7 @@ DEPENDS = " \
37 poppler \ 37 poppler \
38 poppler-data \ 38 poppler-data \
39 python3-pygobject-native \ 39 python3-pygobject-native \
40 python3-pycairo-native \
40 tiff \ 41 tiff \
41 xz \ 42 xz \
42 zlib \ 43 zlib \
@@ -62,8 +63,10 @@ SRC_URI = "https://download.gimp.org/gimp/v3.2/${BP}.tar.xz \
62 file://0001-meson.build-dont-check-for-lgi.patch \ 63 file://0001-meson.build-dont-check-for-lgi.patch \
63 file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \ 64 file://0002-meson.build-use-relative-path-for-ISO_CODES_LOCATION.patch \
64 file://0003-meson.build-reproducibility-fix.patch \ 65 file://0003-meson.build-reproducibility-fix.patch \
66 file://0004-meson.build-dont-check-for-python3-pygobject-gexiv2-.patch \
67 file://0005-docs-meson.build-disable-gimprc-man-build.patch \
65" 68"
66SRC_URI[sha256sum] = "2618391416e51be3c693df9ef90e3860ed72ab3d36363ea1f196e30b75b2e083" 69SRC_URI[sha256sum] = "7312bc53e9c6d2d0056ca7b93f1c6b98707946dd934f714c21b8746ecb601588"
67 70
68PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib" 71PACKAGECONFIG[aa] = "-Daa=enabled,-Daa=disabled,aalib"
69PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" 72PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
@@ -132,7 +135,7 @@ do_install:prepend() {
132 135
133FILES:${PN} += "${datadir}/metainfo" 136FILES:${PN} += "${datadir}/metainfo"
134 137
135RDEPENDS:${PN} = "mypaint-brushes glib-networking python3-pygobject" 138RDEPENDS:${PN} = "mypaint-brushes glib-networking python3-pygobject python3-pycairo"
136 139
137CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux" 140CVE_STATUS[CVE-2007-3741] = "not-applicable-platform: This only applies for Mandriva Linux"
138CVE_STATUS[CVE-2025-8672] = "not-applicable-config: the vulnerability only affects MacOS" 141CVE_STATUS[CVE-2025-8672] = "not-applicable-config: the vulnerability only affects MacOS"
diff --git a/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb b/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb
index 8e78162991..62073ebd13 100644
--- a/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb
+++ b/meta-gnome/recipes-gnome/cheese/cheese_44.1.bb
@@ -5,7 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
5 5
6inherit gnomebase gobject-introspection vala itstool gtk-icon-cache gsettings gnome-help gtk-doc 6inherit gnomebase gobject-introspection vala itstool gtk-icon-cache gsettings gnome-help gtk-doc
7 7
8REQUIRED_DISTRO_FEATURES = "opengl" 8# x11 is needed due to libcanberra dependency which does not compile
9# gtk3 support with out it and cheese look for
10# | aarch64-yoe-linux-ld.lld: error: unable to find library -lcanberra-gtk3
11REQUIRED_DISTRO_FEATURES = "opengl x11"
9 12
10SRC_URI += "file://0001-libcheese-Add-GtkWidget-cast-to-avoid-an-incompatibl.patch" 13SRC_URI += "file://0001-libcheese-Add-GtkWidget-cast-to-avoid-an-incompatibl.patch"
11 14
diff --git a/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb b/meta-gnome/recipes-gnome/dconf/dconf-editor_49.0.bb
index 32a69a0707..5e40b4df25 100644
--- a/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb
+++ b/meta-gnome/recipes-gnome/dconf/dconf-editor_49.0.bb
@@ -13,8 +13,8 @@ DEPENDS = " \
13 13
14inherit gnomebase vala gsettings bash-completion pkgconfig gtk-icon-cache 14inherit gnomebase vala gsettings bash-completion pkgconfig gtk-icon-cache
15 15
16SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/45/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive" 16SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/49/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive"
17SRC_URI[archive.sha256sum] = "1180297678eedae6217cc514a2638c187d2f1d1ef2720cb9079b740c429941dd" 17SRC_URI[archive.sha256sum] = "90a8ccfadf51dff31e0028324fb9a358b2d26c5ae861a71c7dbf9f4dd9bdd399"
18 18
19FILES:${PN} += " \ 19FILES:${PN} += " \
20 ${datadir}/dbus-1 \ 20 ${datadir}/dbus-1 \
diff --git a/meta-gnome/recipes-gnome/eog/eog_49.1.bb b/meta-gnome/recipes-gnome/eog/eog_50.1.bb
index 202d68700a..5d454f6236 100644
--- a/meta-gnome/recipes-gnome/eog/eog_49.1.bb
+++ b/meta-gnome/recipes-gnome/eog/eog_50.1.bb
@@ -1,4 +1,6 @@
1SUMMARY = "This is the Eye of GNOME, an image viewer program." 1SUMMARY = "This is the Eye of GNOME, an image viewer program."
2HOMEPAGE = "https://gitlab.gnome.org/GNOME/eog"
3
2LICENSE = "GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
4 6
@@ -13,7 +15,6 @@ DEPENDS = " \
13 libpeas-1 \ 15 libpeas-1 \
14 libportal \ 16 libportal \
15 libexif \ 17 libexif \
16 lcms \
17" 18"
18 19
19 20
@@ -22,7 +23,11 @@ inherit gnomebase pkgconfig gsettings gobject-introspection gettext mime-xdg fea
22# FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used. 23# FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used.
23REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data" 24REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data"
24 25
25SRC_URI[archive.sha256sum] = "fadd12e14ba9cd2be6989dfbcef40001645b63440ceed8e04867b07587b066dc" 26SRC_URI[archive.sha256sum] = "6f5ee6d756548b88e25a987e0d06dabc3c6c32598fb7df49fb08945c1fe94a55"
27
28PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11','cms', '', d)}"
29
30PACKAGECONFIG[cms] = "-Dcms=true,-Dcms=false,lcms"
26 31
27GTKDOC_MESON_OPTION = "gtk_doc" 32GTKDOC_MESON_OPTION = "gtk_doc"
28 33
diff --git a/meta-gnome/recipes-gnome/evince/evince_48.1.bb b/meta-gnome/recipes-gnome/evince/evince_48.4.bb
index 9cf048f14b..5756fa5fcb 100644
--- a/meta-gnome/recipes-gnome/evince/evince_48.1.bb
+++ b/meta-gnome/recipes-gnome/evince/evince_48.4.bb
@@ -33,7 +33,7 @@ REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'open
33def gnome_verdir(v): 33def gnome_verdir(v):
34 return oe.utils.trim_version(v, 1) 34 return oe.utils.trim_version(v, 1)
35 35
36SRC_URI[archive.sha256sum] = "7d8b9a6fa3a05d3f5b9048859027688c73a788ff6e923bc3945126884943fa10" 36SRC_URI[archive.sha256sum] = "f296c5c662886635d4cd597e8ac0afcde7982be4486533c2b7f095b268be8668"
37 37
38GTKDOC_MESON_OPTION = "gtk_doc" 38GTKDOC_MESON_OPTION = "gtk_doc"
39 39
diff --git a/meta-gnome/recipes-gnome/file-roller/file-roller_44.5.bb b/meta-gnome/recipes-gnome/file-roller/file-roller_44.5.bb
index 050f6803c7..f0f74f5561 100644
--- a/meta-gnome/recipes-gnome/file-roller/file-roller_44.5.bb
+++ b/meta-gnome/recipes-gnome/file-roller/file-roller_44.5.bb
@@ -11,7 +11,6 @@ DEPENDS = " \
11 gtk4 \ 11 gtk4 \
12 libadwaita \ 12 libadwaita \
13 libarchive \ 13 libarchive \
14 libhandy \
15 libportal \ 14 libportal \
16" 15"
17 16
diff --git a/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb b/meta-gnome/recipes-gnome/gdm/gdm_50.1.bb
index 858933a4b3..9332c7836c 100644
--- a/meta-gnome/recipes-gnome/gdm/gdm_50.0.bb
+++ b/meta-gnome/recipes-gnome/gdm/gdm_50.1.bb
@@ -21,7 +21,7 @@ GIR_MESON_OPTION = ""
21 21
22inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check 22inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check
23 23
24SRC_URI[archive.sha256sum] = "646f53d68f2d2d147146ffaeb85047ded8b813dcb1c104d8f0ec36ca609eb5bf" 24SRC_URI[archive.sha256sum] = "770159373512192410f412b5d0c4678ec1573f1ae4b39c81fe75861fe8890174"
25 25
26PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" 26PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
27PACKAGECONFIG[plymouth] = "-Dplymouth=enabled,-Dplymouth=disabled,plymouth" 27PACKAGECONFIG[plymouth] = "-Dplymouth=enabled,-Dplymouth=disabled,plymouth"
diff --git a/meta-gnome/recipes-gnome/gedit/gedit_49.0.bb b/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb
index 15b14b2c90..d15ab8665d 100644
--- a/meta-gnome/recipes-gnome/gedit/gedit_49.0.bb
+++ b/meta-gnome/recipes-gnome/gedit/gedit_50.0.bb
@@ -23,8 +23,8 @@ inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc get
23def gnome_verdir(v): 23def gnome_verdir(v):
24 return oe.utils.trim_version(v, 1) 24 return oe.utils.trim_version(v, 1)
25 25
26SRC_URI = "git://gitlab.gnome.org/World/gedit/gedit.git;protocol=https;branch=master;tag=${PV}" 26SRC_URI = "gitsm://gitlab.gnome.org/World/gedit/gedit.git;protocol=https;branch=master;tag=${PV}"
27SRCREV = "684abd8299139e1a3b87446da501ad034e78c840" 27SRCREV = "25d0bf0c3c40b0866fc23ec875f0af6c67f728ef"
28 28
29# gobject-introspection is mandatory and cannot be configured 29# gobject-introspection is mandatory and cannot be configured
30REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" 30REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.3.1.bb b/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb
index 8d864daac0..87006cc564 100644
--- a/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.3.1.bb
+++ b/meta-gnome/recipes-gnome/gedit/libgedit-gfls_0.4.1.bb
@@ -8,7 +8,7 @@ DEPENDS = "glib-2.0 gtk+3"
8inherit gobject-introspection features_check gtk-doc gnomebase 8inherit gobject-introspection features_check gtk-doc gnomebase
9 9
10SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-gfls.git;branch=main;protocol=https;tag=${PV}" 10SRC_URI = "git://gitlab.gnome.org/World/gedit/libgedit-gfls.git;branch=main;protocol=https;tag=${PV}"
11SRCREV = "0a0c8dd29ae2f9f4a99cbaaf1628d2352953e0bc" 11SRCREV = "ce4b836dfda4ea3f594b9ded7b60c5cb51ccbc87"
12 12
13ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" 13ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
14 14
diff --git a/meta-gnome/recipes-gnome/gjs/gjs_1.84.1.bb b/meta-gnome/recipes-gnome/gjs/gjs_1.84.2.bb
index 55bd38c97c..c41fa6e93a 100644
--- a/meta-gnome/recipes-gnome/gjs/gjs_1.84.1.bb
+++ b/meta-gnome/recipes-gnome/gjs/gjs_1.84.2.bb
@@ -7,7 +7,7 @@ DEPENDS = "mozjs-128 cairo"
7 7
8inherit gnomebase gobject-introspection gettext features_check upstream-version-is-even pkgconfig multilib_script 8inherit gnomebase gobject-introspection gettext features_check upstream-version-is-even pkgconfig multilib_script
9 9
10SRC_URI[archive.sha256sum] = "44796b91318dbbe221a13909f00fd872ef92f38c68603e0e3574e46bc6bac32c" 10SRC_URI[archive.sha256sum] = "35142edf345705636300291ec3a7d583f14969ff3fae0ff30f4a95b1e6740166"
11SRC_URI += " \ 11SRC_URI += " \
12 file://0001-Support-cross-builds-a-bit-better.patch \ 12 file://0001-Support-cross-builds-a-bit-better.patch \
13 file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \ 13 file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \
diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
index 1ceff5ffcf..8490e3d161 100644
--- a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
+++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb
@@ -34,6 +34,6 @@ do_install:append() {
34FILES:${PN} += "${datadir}/gnome-bluetooth" 34FILES:${PN} += "${datadir}/gnome-bluetooth"
35 35
36# offer alternate bluetooth-sendto 36# offer alternate bluetooth-sendto
37RRECOMMENS:${PN} += "gnome-bluetooth" 37RRECOMMENDS:${PN} += "gnome-bluetooth"
38 38
39RDEPENDS:${PN} += "bluez5" 39RDEPENDS:${PN} += "bluez5"
diff --git a/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_48.0.bb b/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_48.0.bb
index 44bde3774d..3c282ab1f9 100644
--- a/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_48.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_48.0.bb
@@ -10,28 +10,21 @@ DEPENDS = " \
10 gsettings-desktop-schemas \ 10 gsettings-desktop-schemas \
11 evolution-data-server \ 11 evolution-data-server \
12 libsoup \ 12 libsoup \
13 libdazzle \
14 libadwaita \ 13 libadwaita \
15 libgweather4 \ 14 libgweather4 \
16 geoclue \ 15 geoclue \
17 geocode-glib \
18" 16"
19 17
20GTKIC_VERSION = '4' 18GTKIC_VERSION = '4'
21inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg 19inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg
22 20
23REQUIRED_DISTRO_FEATURES = "x11 opengl" 21REQUIRED_DISTRO_FEATURES = "opengl"
22ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
24 23
25SRC_URI[archive.sha256sum] = "e69a5a66be820105a4d823d4dba9b4e6ef9f6e7523978aaf33361ebbb993e604" 24SRC_URI[archive.sha256sum] = "e69a5a66be820105a4d823d4dba9b4e6ef9f6e7523978aaf33361ebbb993e604"
26 25
27do_install:prepend() {
28 sed -i -e 's|${S}/src|${TARGET_DBGSRC_DIR}/src|g' ${B}/src/gcal-enum-types.h
29 sed -i -e 's|${S}/src|${TARGET_DBGSRC_DIR}/src|g' ${B}/src/gcal-enum-types.c
30}
31
32FILES:${PN} += " \ 26FILES:${PN} += " \
33 ${datadir}/gnome-shell \ 27 ${datadir}/gnome-shell \
34 ${datadir}/metainfo \ 28 ${datadir}/metainfo \
35 ${datadir}/dbus-1 \ 29 ${datadir}/dbus-1 \
36" 30"
37
diff --git a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_49.2.2.bb b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_49.7.bb
index 38b2c53c82..137d82e92c 100644
--- a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_49.2.2.bb
+++ b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_49.7.bb
@@ -40,7 +40,7 @@ inherit gtk-icon-cache pkgconfig gnomebase gsettings gettext gi-docgen upstream-
40REQUIRED_DISTRO_FEATURES += "opengl polkit pulseaudio systemd" 40REQUIRED_DISTRO_FEATURES += "opengl polkit pulseaudio systemd"
41 41
42SRC_URI = "https://download.gnome.org/sources/gnome-control-center/${@oe.utils.trim_version('${PV}', 1)}/gnome-control-center-${PV}.tar.xz" 42SRC_URI = "https://download.gnome.org/sources/gnome-control-center/${@oe.utils.trim_version('${PV}', 1)}/gnome-control-center-${PV}.tar.xz"
43SRC_URI[sha256sum] = "c23ae220d6c1237d285925de7801e0e36338b9cc1a8bb51c2e37e715e6b503ad" 43SRC_URI[sha256sum] = "e4a1524af73c25f0ebc5badcf5d5bea79024d801850bb051baf25feff320ed00"
44 44
45SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch" 45SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch"
46 46
diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.0.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb
index 62f67460b0..6b80df7781 100644
--- a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.58.1.bb
@@ -8,7 +8,7 @@ REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goabackend',
8 8
9DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr keyutils" 9DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr keyutils"
10 10
11SRC_URI[archive.sha256sum] = "344d4dff9149a1adc4539417193e1eccc2f76ef40ac24e104ccf58072be55999" 11SRC_URI[archive.sha256sum] = "9ec1900cc51409c2067c07c828c10be06fe3bf68d2999bb72d7d5ed325ed9bbc"
12 12
13PACKAGECONFIG ?= "goabackend kerberos owncloud google" 13PACKAGECONFIG ?= "goabackend kerberos owncloud google"
14 14
diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.7.bb b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb
index 3f668fe410..e8b1bd6d0c 100644
--- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.7.bb
+++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_48.8.bb
@@ -34,7 +34,7 @@ GIR_MESON_OPTION = ""
34REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" 34REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
35 35
36SRC_URI += "file://0001-shell-app-usage.c-only-include-x11-headers-if-HAVE_X.patch" 36SRC_URI += "file://0001-shell-app-usage.c-only-include-x11-headers-if-HAVE_X.patch"
37SRC_URI[archive.sha256sum] = "2dff328d5f7e29f8c897bc21caac7d2d443be3c63ae84d7623dec800f23493c3" 37SRC_URI[archive.sha256sum] = "cb9b7d86cf362530e648e68caaf109a32af4e832874a26791ca8789773efd233"
38 38
39PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 39PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
40PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth" 40PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth"
diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb
index 1ae11dda3b..29918605ef 100644
--- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_50.0.bb
@@ -4,7 +4,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4 4
5DEPENDS = " \ 5DEPENDS = " \
6 catch2 \ 6 catch2 \
7 gnome-common-native \
8 libxml2-native \ 7 libxml2-native \
9 glib-2.0-native \ 8 glib-2.0-native \
10 glibmm-2.68 \ 9 glibmm-2.68 \
@@ -13,15 +12,12 @@ DEPENDS = " \
13 libadwaita \ 12 libadwaita \
14 libgtop \ 13 libgtop \
15 librsvg \ 14 librsvg \
16 polkit \
17 libhandy \
18" 15"
19 16
20
21inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext 17inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext
22 18
23ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" 19ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
24REQUIRED_DISTRO_FEATURES = "polkit" 20REQUIRED_DISTRO_FEATURES = "opengl"
25 21
26SRC_URI[archive.sha256sum] = "a4138aa754b4584c46de91fad1d685e27b12bc2457de761863b6be02d84c4862" 22SRC_URI[archive.sha256sum] = "a4138aa754b4584c46de91fad1d685e27b12bc2457de761863b6be02d84c4862"
27 23
diff --git a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.0.bb b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.1.bb
index 81224f7718..bd988f23fd 100644
--- a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_50.1.bb
@@ -18,7 +18,7 @@ inherit gnomebase gtk-icon-cache itstool gnome-help mime-xdg features_check
18 18
19REQUIRED_DISTRO_FEATURES = "opengl" 19REQUIRED_DISTRO_FEATURES = "opengl"
20 20
21SRC_URI[archive.sha256sum] = "9dc299da4daa085423b5d48db59f0021ad55e74143a5cb8ab2e5ffe17967f45b" 21SRC_URI[archive.sha256sum] = "f68036b09d378faa883bfe936e479c6ff37027c2ffed101daf912df70c51d0e6"
22 22
23FILES:${PN} += " \ 23FILES:${PN} += " \
24 ${datadir}/metainfo \ 24 ${datadir}/metainfo \
diff --git a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb
index 8e82b86285..58aefbff2e 100644
--- a/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.7.bb
+++ b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.10.bb
@@ -6,6 +6,8 @@ DEPENDS = " \
6 glib-2.0 \ 6 glib-2.0 \
7 glib-2.0-native \ 7 glib-2.0-native \
8 bison-native \ 8 bison-native \
9 desktop-file-utils-native \
10 exiv2 \
9 gtk+3 \ 11 gtk+3 \
10 gsettings-desktop-schemas \ 12 gsettings-desktop-schemas \
11 zlib \ 13 zlib \
@@ -13,21 +15,16 @@ DEPENDS = " \
13 json-glib \ 15 json-glib \
14" 16"
15 17
16PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'colord', '', d)} exiv2 gstreamer lcms libjxl libraw librsvg libwebp" 18PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'colord', '', d)} gstreamer lcms libjxl libraw librsvg libwebp"
17PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,gstreamer1.0 gstreamer1.0-plugins-base" 19PACKAGECONFIG[gstreamer] = "-Dgstreamer=true,-Dgstreamer=false,gstreamer1.0 gstreamer1.0-plugins-base"
18PACKAGECONFIG[libwebp] = "-Dlibwebp=true,-Dlibwebp=false,libwebp" 20PACKAGECONFIG[libwebp] = "-Dlibwebp=true,-Dlibwebp=false,libwebp"
19PACKAGECONFIG[libjxl] = "-Dlibjxl=true,-Dlibjxl=false,libjxl" 21PACKAGECONFIG[libjxl] = "-Dlibjxl=true,-Dlibjxl=false,libjxl"
20PACKAGECONFIG[lcms] = "-Dlcms2=true,-Dlcms2=false,lcms" 22PACKAGECONFIG[lcms] = "-Dlcms2=true,-Dlcms2=false,lcms"
21PACKAGECONFIG[colord] = "-Dcolord=true,-Dcolord=false,colord" 23PACKAGECONFIG[colord] = "-Dcolord=true,-Dcolord=false,colord"
22PACKAGECONFIG[exiv2] = "-Dexiv2=true,-Dexiv2=false,exiv2"
23PACKAGECONFIG[librsvg] = "-Dlibrsvg=true,-Dlibrsvg=false,librsvg" 24PACKAGECONFIG[librsvg] = "-Dlibrsvg=true,-Dlibrsvg=false,librsvg"
24PACKAGECONFIG[libraw] = "-Dlibraw=true,-Dlibraw=false,libraw" 25PACKAGECONFIG[libraw] = "-Dlibraw=true,-Dlibraw=false,libraw"
25 26
26# webservices would require libsecret and webkitgtk3 built with deprecated libsoup2 27inherit gnomebase gnome-help gsettings itstool gtk-icon-cache mime-xdg
27EXTRA_OEMESON += "-Dwebservices=false -Dlibsecret=false" 28SRC_URI[archive.sha256sum] = "3222344653cd6fb5d7981b73951ae3d90c414f74220a8b1c8665b25574284c75"
28
29inherit gnomebase gnome-help gsettings itstool mime-xdg
30
31SRC_URI[archive.sha256sum] = "ee12d24cf231010241f758d6c95b9d53a7381278fa76b6a518b3d09b371efaec"
32 29
33FILES:${PN} += "${datadir}/metainfo" 30FILES:${PN} += "${datadir}/metainfo"
diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb
index 434002e440..2fda7cff75 100644
--- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb
+++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.60.0.bb
@@ -24,6 +24,7 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
24 24
25EXTRA_OEMESON = " \ 25EXTRA_OEMESON = " \
26 -Dbluray=false \ 26 -Dbluray=false \
27 -Dgoogle=false \
27" 28"
28 29
29PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" 30PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
@@ -60,7 +61,6 @@ PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
60PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr" 61PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
61PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt" 62PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt"
62PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts" 63PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts"
63PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata"
64PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0" 64PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0"
65PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp" 65PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
66PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd" 66PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
diff --git a/meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch b/meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch
deleted file mode 100644
index 6fb52d6d52..0000000000
--- a/meta-gnome/recipes-gnome/libgdata/libgdata/0001-Drop-usage-of-deprecated-GTimeVal.patch
+++ /dev/null
@@ -1,1134 +0,0 @@
1From ef8722baa444958601bfddfee3a977ccf4f7c02c Mon Sep 17 00:00:00 2001
2From: Daniel Kolesa <dkolesa@igalia.com>
3Date: Tue, 16 Mar 2021 17:22:08 +0100
4Subject: [PATCH] drop usage of deprecated GTimeVal
5
6Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libgdata/-/commit/ef8722baa444958601bfddfee3a977ccf4f7c02c]
7Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
8
9---
10 demos/calendar/calendar-cli.c | 90 ++++++++++++-------
11 demos/tasks/tasks-cli.c | 31 ++++---
12 demos/youtube/youtube-cli.c | 9 +-
13 gdata/gdata-access-rule.c | 4 +-
14 gdata/gdata-batch-operation.c | 8 +-
15 gdata/gdata-oauth1-authorizer.c | 6 +-
16 gdata/gdata-parser.c | 48 +++++-----
17 gdata/gdata-service.c | 5 +-
18 .../services/calendar/gdata-calendar-event.c | 18 ++--
19 .../services/calendar/gdata-calendar-query.c | 6 +-
20 .../contacts/gdata-contacts-contact.c | 4 +-
21 .../services/contacts/gdata-contacts-group.c | 4 +-
22 .../documents/gdata-documents-query.c | 8 +-
23 .../picasaweb/gdata-picasaweb-album.c | 8 +-
24 .../services/picasaweb/gdata-picasaweb-file.c | 8 +-
25 gdata/services/youtube/gdata-youtube-query.c | 18 ++--
26 .../services/youtube/gdata-youtube-service.c | 10 ++-
27 gdata/tests/calendar.c | 60 +++++++------
28 gdata/tests/contacts.c | 22 +++--
29 gdata/tests/general.c | 7 +-
30 gdata/tests/perf.c | 15 ++--
31 gdata/tests/picasaweb.c | 14 +--
32 gdata/tests/youtube.c | 14 +--
33 23 files changed, 231 insertions(+), 186 deletions(-)
34
35diff --git a/demos/calendar/calendar-cli.c b/demos/calendar/calendar-cli.c
36index a1d84f67..4f601f48 100644
37--- a/demos/calendar/calendar-cli.c
38+++ b/demos/calendar/calendar-cli.c
39@@ -38,13 +38,13 @@ print_usage (char *argv[])
40 return -1;
41 }
42
43-/* Convert a GTimeVal to an ISO 8601 date string (without a time component). */
44+/* Convert a unix time to an ISO 8601 date string (without a time component). */
45 static gchar *
46-tv_to_iso8601_date (GTimeVal *tv)
47+tv_to_iso8601_date (gint64 tv)
48 {
49 struct tm *tm;
50
51- tm = gmtime (&tv->tv_sec);
52+ tm = gmtime (&tv);
53
54 return g_strdup_printf ("%04d-%02d-%02d",
55 tm->tm_year + 1900,
56@@ -81,8 +81,9 @@ print_event (GDataCalendarEvent *event)
57 {
58 const gchar *title, *id, *description, *status, *visibility;
59 const gchar *transparency, *uid;
60- GTimeVal date_published_tv = { 0, };
61- GTimeVal date_edited_tv = { 0, };
62+ GDateTime *tmp;
63+ gint64 date_published_tv;
64+ gint64 date_edited_tv;
65 gchar *date_published = NULL; /* owned */
66 gchar *date_edited = NULL; /* owned */
67 guint sequence;
68@@ -95,10 +96,14 @@ print_event (GDataCalendarEvent *event)
69 title = gdata_entry_get_title (GDATA_ENTRY (event));
70 id = gdata_entry_get_id (GDATA_ENTRY (event));
71 description = gdata_entry_get_content (GDATA_ENTRY (event));
72- date_published_tv.tv_sec = gdata_entry_get_published (GDATA_ENTRY (event));
73- date_published = g_time_val_to_iso8601 (&date_published_tv);
74- date_edited_tv.tv_sec = gdata_calendar_event_get_edited (event);
75- date_edited = g_time_val_to_iso8601 (&date_edited_tv);
76+ date_published_tv = gdata_entry_get_published (GDATA_ENTRY (event));
77+ tmp = g_date_time_new_from_unix_utc (date_published_tv);
78+ date_published = g_date_time_format_iso8601 (tmp);
79+ g_date_time_unref (tmp);
80+ date_edited_tv = gdata_calendar_event_get_edited (event);
81+ tmp = g_date_time_new_from_unix_utc (date_edited_tv);
82+ date_edited = g_date_time_format_iso8601 (tmp);
83+ g_date_time_unref (tmp);
84 status = gdata_calendar_event_get_status (event);
85 visibility = gdata_calendar_event_get_visibility (event);
86 transparency = gdata_calendar_event_get_transparency (event);
87@@ -155,20 +160,25 @@ print_event (GDataCalendarEvent *event)
88
89 for (; times != NULL; times = times->next) {
90 GDataGDWhen *when;
91- GTimeVal start_time = { 0, }, end_time = { 0, };
92+ gint64 start_time, end_time;
93 gchar *start = NULL, *end = NULL; /* owned */
94
95 when = GDATA_GD_WHEN (times->data);
96
97- start_time.tv_sec = gdata_gd_when_get_start_time (when);
98- end_time.tv_sec = gdata_gd_when_get_end_time (when);
99+ start_time = gdata_gd_when_get_start_time (when);
100+ end_time = gdata_gd_when_get_end_time (when);
101
102 if (gdata_gd_when_is_date (when)) {
103- start = tv_to_iso8601_date (&start_time);
104- end = tv_to_iso8601_date (&end_time);
105+ start = tv_to_iso8601_date (start_time);
106+ end = tv_to_iso8601_date (end_time);
107 } else {
108- start = g_time_val_to_iso8601 (&start_time);
109- end = g_time_val_to_iso8601 (&end_time);
110+ GDateTime *tmp;
111+ tmp = g_date_time_new_from_unix_utc (start_time);
112+ start = g_date_time_format_iso8601 (tmp);
113+ g_date_time_unref (tmp);
114+ tmp = g_date_time_new_from_unix_utc (end_time);
115+ end = g_date_time_format_iso8601 (tmp);
116+ g_date_time_unref (tmp);
117 }
118
119 g_print (" • %s to %s (%s)\n",
120@@ -416,8 +426,7 @@ command_insert_event (int argc, char *argv[])
121 GDataAuthorizer *authorizer = NULL;
122 GDataGDWhen *when = NULL;
123 gboolean is_date;
124- gchar *start_with_time = NULL, *end_with_time = NULL;
125- GTimeVal start_tv = { 0, }, end_tv = { 0, };
126+ GDateTime *start_tv = NULL, *end_tv = NULL;
127 gint i;
128
129 if (argc < 7) {
130@@ -454,25 +463,38 @@ command_insert_event (int argc, char *argv[])
131 event = gdata_calendar_event_new (NULL);
132 gdata_entry_set_title (GDATA_ENTRY (event), title);
133
134- start_with_time = g_strconcat (start, "T00:00:00Z", NULL);
135- end_with_time = g_strconcat (end, "T00:00:00Z", NULL);
136-
137- if (g_time_val_from_iso8601 (start, &start_tv) &&
138- g_time_val_from_iso8601 (end, &end_tv)) {
139+ start_tv = g_date_time_new_from_iso8601 (start, NULL);
140+ end_tv = g_date_time_new_from_iso8601 (end, NULL);
141+ if (start_tv && end_tv) {
142 /* Includes time. */
143 is_date = FALSE;
144- } else if (g_time_val_from_iso8601 (start_with_time, &start_tv) &&
145- g_time_val_from_iso8601 (end_with_time, &end_tv)) {
146- /* Does not include time. */
147- is_date = TRUE;
148 } else {
149- g_printerr ("%s: Could not parse start time ‘%s’ and end time "
150- "‘%s’ as ISO 8601.\n", argv[0], start, end);
151- retval = 1;
152- goto done;
153+ gchar *start_with_time, *end_with_time;
154+
155+ g_clear_pointer (&start_tv, g_date_time_unref);
156+ g_clear_pointer (&end_tv, g_date_time_unref);
157+
158+ start_with_time = g_strconcat (start, "T00:00:00Z", NULL);
159+ end_with_time = g_strconcat (end, "T00:00:00Z", NULL);
160+
161+ start_tv = g_date_time_new_from_iso8601 (start_with_time, NULL);
162+ end_tv = g_date_time_new_from_iso8601 (end_with_time, NULL);
163+
164+ g_free (start_with_time);
165+ g_free (end_with_time);
166+
167+ if (start_tv && end_tv) {
168+ /* Does not include time. */
169+ is_date = TRUE;
170+ } else {
171+ g_printerr ("%s: Could not parse start time ‘%s’ and end time "
172+ "‘%s’ as ISO 8601.\n", argv[0], start, end);
173+ retval = 1;
174+ goto done;
175+ }
176 }
177
178- when = gdata_gd_when_new (start_tv.tv_sec, end_tv.tv_sec, is_date);
179+ when = gdata_gd_when_new (g_date_time_to_unix (start_tv), g_date_time_to_unix (end_tv), is_date);
180 gdata_calendar_event_add_time (event, when);
181 g_object_unref (when);
182
183@@ -507,8 +529,8 @@ command_insert_event (int argc, char *argv[])
184 print_event (inserted_event);
185
186 done:
187- g_free (start_with_time);
188- g_free (end_with_time);
189+ g_clear_pointer (&start_tv, g_date_time_unref);
190+ g_clear_pointer (&end_tv, g_date_time_unref);
191 g_clear_object (&inserted_event);
192 g_clear_object (&event);
193 g_clear_object (&authorizer);
194diff --git a/demos/tasks/tasks-cli.c b/demos/tasks/tasks-cli.c
195index c795761a..ef4ae900 100644
196--- a/demos/tasks/tasks-cli.c
197+++ b/demos/tasks/tasks-cli.c
198@@ -67,35 +67,42 @@ print_task (GDataTasksTask *task)
199 {
200 const gchar *title, *id, *description, *parent_id, *position, *notes;
201 const gchar *status;
202- GTimeVal date_published_tv = { 0, };
203+ GDateTime *tmp;
204+ gint64 date_published_tv;
205 gchar *date_published = NULL; /* owned */
206- GTimeVal due_tv = { 0, };
207+ gint64 due_tv;
208 gchar *due = NULL; /* owned */
209- GTimeVal completed_tv = { 0, };
210+ gint64 completed_tv;
211 gchar *completed = NULL; /* owned */
212 gboolean is_deleted, is_hidden;
213
214 title = gdata_entry_get_title (GDATA_ENTRY (task));
215 id = gdata_entry_get_id (GDATA_ENTRY (task));
216 description = gdata_entry_get_content (GDATA_ENTRY (task));
217- date_published_tv.tv_sec = gdata_entry_get_published (GDATA_ENTRY (task));
218- date_published = g_time_val_to_iso8601 (&date_published_tv);
219+ date_published_tv = gdata_entry_get_published (GDATA_ENTRY (task));
220+ tmp = g_date_time_new_from_unix_utc (date_published_tv);
221+ date_published = g_date_time_format_iso8601 (tmp);
222+ g_date_time_unref (tmp);
223 parent_id = gdata_tasks_task_get_parent (task);
224 position = gdata_tasks_task_get_position (task);
225 notes = gdata_tasks_task_get_notes (task);
226 status = gdata_tasks_task_get_status (task);
227- due_tv.tv_sec = gdata_tasks_task_get_due (task);
228- due = g_time_val_to_iso8601 (&due_tv);
229- completed_tv.tv_sec = gdata_tasks_task_get_completed (task);
230- completed = g_time_val_to_iso8601 (&completed_tv);
231+ due_tv = gdata_tasks_task_get_due (task);
232+ tmp = g_date_time_new_from_unix_utc (due_tv);
233+ due = g_date_time_format_iso8601 (tmp);
234+ g_date_time_unref (tmp);
235+ completed_tv = gdata_tasks_task_get_completed (task);
236+ tmp = g_date_time_new_from_unix_utc (completed_tv);
237+ completed = g_date_time_format_iso8601 (tmp);
238+ g_date_time_unref (tmp);
239 is_deleted = gdata_tasks_task_is_deleted (task);
240 is_hidden = gdata_tasks_task_is_hidden (task);
241
242 g_print ("%s — %s\n", id, title);
243- g_print (" Published: %s\n", date_published_tv.tv_sec != 0 ? date_published : "unknown");
244+ g_print (" Published: %s\n", date_published_tv != 0 ? date_published : "unknown");
245 g_print (" Status: %s\n", format_status (status));
246- g_print (" Due: %s\n", due_tv.tv_sec != 0 ? due : "not set");
247- g_print (" Completed: %s\n", completed_tv.tv_sec != 0 ? completed : "not yet");
248+ g_print (" Due: %s\n", due_tv != 0 ? due : "not set");
249+ g_print (" Completed: %s\n", completed_tv != 0 ? completed : "not yet");
250 g_print (" Deleted? %s\n", is_deleted ? "Yes" : "No");
251 g_print (" Hidden? %s\n", is_hidden ? "Yes" : "No");
252 g_print (" Position: %s\n", position);
253diff --git a/demos/youtube/youtube-cli.c b/demos/youtube/youtube-cli.c
254index 37ff4afc..e3e0e3dc 100644
255--- a/demos/youtube/youtube-cli.c
256+++ b/demos/youtube/youtube-cli.c
257@@ -46,7 +46,8 @@ print_video (GDataYouTubeVideo *video)
258 {
259 const gchar *title, *player_uri, *id, *description;
260 GList/*<unowned GDataMediaThumbnail>*/ *thumbnails;
261- GTimeVal date_published_tv = { 0, };
262+ GDateTime *tmp;
263+ gint64 date_published_tv;
264 gchar *date_published = NULL; /* owned */
265 guint duration; /* seconds */
266 guint rating_min = 0, rating_max = 0, rating_count = 0;
267@@ -57,8 +58,10 @@ print_video (GDataYouTubeVideo *video)
268 id = gdata_entry_get_id (GDATA_ENTRY (video));
269 description = gdata_youtube_video_get_description (video);
270 thumbnails = gdata_youtube_video_get_thumbnails (video);
271- date_published_tv.tv_sec = gdata_entry_get_published (GDATA_ENTRY (video));
272- date_published = g_time_val_to_iso8601 (&date_published_tv);
273+ date_published_tv = gdata_entry_get_published (GDATA_ENTRY (video));
274+ tmp = g_date_time_new_from_unix_utc (date_published_tv);
275+ date_published = g_date_time_format_iso8601 (tmp);
276+ g_date_time_unref (tmp);
277 duration = gdata_youtube_video_get_duration (video);
278 gdata_youtube_video_get_rating (video, &rating_min, &rating_max,
279 &rating_count, &rating_average);
280diff --git a/gdata/gdata-access-rule.c b/gdata/gdata-access-rule.c
281index 9fd1ce95..0064623f 100644
282--- a/gdata/gdata-access-rule.c
283+++ b/gdata/gdata-access-rule.c
284@@ -257,12 +257,10 @@ gdata_access_rule_constructor (GType type, guint n_construct_params, GObjectCons
285 /* We can't create these in init, or they would collide with the group and control created when parsing the XML */
286 if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
287 GDataAccessRulePrivate *priv = GDATA_ACCESS_RULE (object)->priv;
288- GTimeVal time_val;
289
290 /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause
291 * setting it from parse_xml() to fail (duplicate element). */
292- g_get_current_time (&time_val);
293- priv->edited = time_val.tv_sec;
294+ priv->edited = g_get_real_time () / G_USEC_PER_SEC;
295
296 /* Set up the role and scope type */
297 priv->role = g_strdup (GDATA_ACCESS_ROLE_NONE);
298diff --git a/gdata/gdata-batch-operation.c b/gdata/gdata-batch-operation.c
299index f78801ed..212fcb0b 100644
300--- a/gdata/gdata-batch-operation.c
301+++ b/gdata/gdata-batch-operation.c
302@@ -598,7 +598,7 @@ gdata_batch_operation_run (GDataBatchOperation *self, GCancellable *cancellable,
303 GDataBatchOperationPrivate *priv = self->priv;
304 SoupMessage *message;
305 GDataFeed *feed;
306- GTimeVal updated;
307+ gint64 updated;
308 gchar *upload_data;
309 guint status;
310 GHashTableIter iter;
311@@ -638,9 +638,9 @@ gdata_batch_operation_run (GDataBatchOperation *self, GCancellable *cancellable,
312 message = _gdata_service_build_message (priv->service, priv->authorization_domain, SOUP_METHOD_POST, priv->feed_uri, NULL, TRUE);
313
314 /* Build the request */
315- g_get_current_time (&updated);
316+ updated = g_get_real_time () / G_USEC_PER_SEC;
317 feed = _gdata_feed_new (GDATA_TYPE_FEED, "Batch operation feed",
318- "batch1", updated.tv_sec);
319+ "batch1", updated);
320
321 g_hash_table_iter_init (&iter, priv->operations);
322 while (g_hash_table_iter_next (&iter, &op_id, (gpointer*) &op) == TRUE) {
323@@ -658,7 +658,7 @@ gdata_batch_operation_run (GDataBatchOperation *self, GCancellable *cancellable,
324 g_free (entry_uri);
325
326 gdata_entry_set_title (entry, "Batch operation query");
327- _gdata_entry_set_updated (entry, updated.tv_sec);
328+ _gdata_entry_set_updated (entry, updated);
329
330 _gdata_entry_set_batch_data (entry, op->id, op->type);
331 _gdata_feed_add_entry (feed, entry);
332diff --git a/gdata/gdata-oauth1-authorizer.c b/gdata/gdata-oauth1-authorizer.c
333index 7b857ac0..6d5fd5ec 100644
334--- a/gdata/gdata-oauth1-authorizer.c
335+++ b/gdata/gdata-oauth1-authorizer.c
336@@ -471,7 +471,7 @@ sign_message (GDataOAuth1Authorizer *self, SoupMessage *message, const gchar *to
337 gchar *uri, *signature, *timestamp;
338 char *nonce;
339 gboolean is_first = TRUE;
340- GTimeVal time_val;
341+ gint64 time_val;
342 guchar signature_buf[HMAC_SHA1_LEN];
343 gsize signature_buf_len;
344 GHmac *signature_hmac;
345@@ -494,8 +494,8 @@ sign_message (GDataOAuth1Authorizer *self, SoupMessage *message, const gchar *to
346
347 /* Add various standard parameters to the list (note: this modifies the hash table belonging to the caller) */
348 nonce = oauth_gen_nonce ();
349- g_get_current_time (&time_val);
350- timestamp = g_strdup_printf ("%li", time_val.tv_sec);
351+ time_val = g_get_real_time () / G_USEC_PER_SEC;
352+ timestamp = g_strdup_printf ("%li", time_val);
353
354 if (parameters == NULL) {
355 parameters = g_hash_table_new (g_str_hash, g_str_equal);
356diff --git a/gdata/gdata-parser.c b/gdata/gdata-parser.c
357index c1cfe00d..d6ab92e2 100644
358--- a/gdata/gdata-parser.c
359+++ b/gdata/gdata-parser.c
360@@ -207,21 +207,22 @@ gboolean
361 gdata_parser_int64_from_date (const gchar *date, gint64 *_time)
362 {
363 gchar *iso8601_date;
364- gboolean success;
365- GTimeVal time_val;
366+ g_autoptr(GDateTime) time_val = NULL;
367
368 if (strlen (date) != 10 && strlen (date) != 8)
369 return FALSE;
370
371 /* Note: This doesn't need translating, as it's outputting an ISO 8601 time string */
372 iso8601_date = g_strdup_printf ("%sT00:00:00Z", date);
373- success = g_time_val_from_iso8601 (iso8601_date, &time_val);
374+ time_val = g_date_time_new_from_iso8601 (iso8601_date, NULL);
375 g_free (iso8601_date);
376
377- if (success == TRUE)
378- *_time = time_val.tv_sec;
379+ if (time_val) {
380+ *_time = g_date_time_to_unix (time_val);
381+ return TRUE;
382+ }
383
384- return success;
385+ return FALSE;
386 }
387
388 gchar *
389@@ -240,21 +241,24 @@ gdata_parser_date_from_int64 (gint64 _time)
390 gchar *
391 gdata_parser_int64_to_iso8601 (gint64 _time)
392 {
393- GTimeVal time_val;
394+ g_autoptr(GDateTime) time_val = NULL;
395+
396+ time_val = g_date_time_new_from_unix_utc (_time);
397
398- time_val.tv_sec = _time;
399- time_val.tv_usec = 0;
400+ if (!time_val)
401+ return NULL;
402
403- return g_time_val_to_iso8601 (&time_val);
404+ return g_date_time_format_iso8601 (time_val);
405 }
406
407 gboolean
408 gdata_parser_int64_from_iso8601 (const gchar *date, gint64 *_time)
409 {
410- GTimeVal time_val;
411+ g_autoptr(GDateTime) time_val = NULL;
412
413- if (g_time_val_from_iso8601 (date, &time_val) == TRUE) {
414- *_time = time_val.tv_sec;
415+ time_val = g_date_time_new_from_iso8601 (date, NULL);
416+ if (time_val) {
417+ *_time = g_date_time_to_unix (time_val);
418 return TRUE;
419 }
420
421@@ -479,7 +483,7 @@ gdata_parser_int64_time_from_element (xmlNode *element, const gchar *element_nam
422 gint64 *output, gboolean *success, GError **error)
423 {
424 xmlChar *text;
425- GTimeVal time_val;
426+ g_autoptr(GDateTime) time_val = NULL;
427
428 /* Check it's the right element */
429 if (xmlStrcmp (element->name, (xmlChar*) element_name) != 0)
430@@ -499,14 +503,15 @@ gdata_parser_int64_time_from_element (xmlNode *element, const gchar *element_nam
431 return TRUE;
432 }
433
434- /* Attempt to parse the string as a GTimeVal */
435- if (g_time_val_from_iso8601 ((gchar*) text, &time_val) == FALSE) {
436+ /* Attempt to parse the string as a GDateTune */
437+ time_val = g_date_time_new_from_iso8601 ((gchar *) text, NULL);
438+ if (!time_val) {
439 *success = gdata_parser_error_not_iso8601_format (element, (gchar*) text, error);
440 xmlFree (text);
441 return TRUE;
442 }
443
444- *output = time_val.tv_sec;
445+ *output = g_date_time_to_unix (time_val);
446
447 /* Success! */
448 xmlFree (text);
449@@ -911,7 +916,7 @@ gdata_parser_int64_time_from_json_member (JsonReader *reader, const gchar *membe
450 gint64 *output, gboolean *success, GError **error)
451 {
452 const gchar *text;
453- GTimeVal time_val;
454+ g_autoptr(GDateTime) time_val = NULL;
455 const GError *child_error = NULL;
456
457 /* Check if there's such element */
458@@ -935,14 +940,15 @@ gdata_parser_int64_time_from_json_member (JsonReader *reader, const gchar *membe
459 return TRUE;
460 }
461
462- /* Attempt to parse the string as a GTimeVal */
463- if (g_time_val_from_iso8601 ((gchar*) text, &time_val) == FALSE) {
464+ /* Attempt to parse the string as a GDateTime */
465+ time_val = g_date_time_new_from_iso8601 (text, NULL);
466+ if (!time_val) {
467 *success = gdata_parser_error_not_iso8601_format_json (reader, text, error);
468 return TRUE;
469 }
470
471 /* Success! */
472- *output = time_val.tv_sec;
473+ *output = g_date_time_to_unix (time_val);
474 *success = TRUE;
475
476 return TRUE;
477diff --git a/gdata/gdata-service.c b/gdata/gdata-service.c
478index fce970ec..40fbaf84 100644
479--- a/gdata/gdata-service.c
480+++ b/gdata/gdata-service.c
481@@ -956,12 +956,9 @@ __gdata_service_query (GDataService *self, GDataAuthorizationDomain *domain, con
482
483 /* Are we off the end of the final page? */
484 if (query != NULL && _gdata_query_is_finished (query)) {
485- GTimeVal updated;
486-
487 /* Build an empty dummy feed to signify the end of the list. */
488- g_get_current_time (&updated);
489 return _gdata_feed_new (klass->feed_type, "Empty feed", "feed1",
490- updated.tv_sec);
491+ g_get_real_time () / G_USEC_PER_SEC);
492 }
493
494 /* Send the request. */
495diff --git a/gdata/services/calendar/gdata-calendar-event.c b/gdata/services/calendar/gdata-calendar-event.c
496index a3a4d713..4cdf2700 100644
497--- a/gdata/services/calendar/gdata-calendar-event.c
498+++ b/gdata/services/calendar/gdata-calendar-event.c
499@@ -37,7 +37,7 @@
500 * GDataGDWhere *where;
501 * GDataGDWho *who;
502 * GDataGDWhen *when;
503- * GTimeVal current_time;
504+ * gint64 current_time;
505 * GError *error = NULL;
506 *
507 * /<!-- -->* Create a service *<!-- -->/
508@@ -58,8 +58,8 @@
509 * gdata_calendar_event_add_person (event, who);
510 * g_object_unref (who);
511 *
512- * g_get_current_time (&current_time);
513- * when = gdata_gd_when_new (current_time.tv_sec, current_time.tv_sec + 3600, FALSE);
514+ * current_time = g_get_real_time () / G_USEC_PER_SEC;
515+ * when = gdata_gd_when_new (current_time, current_time + 3600, FALSE);
516 * gdata_calendar_event_add_time (event, when);
517 * g_object_unref (when);
518 *
519@@ -374,12 +374,10 @@ gdata_calendar_event_constructor (GType type, guint n_construct_params, GObjectC
520
521 if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
522 GDataCalendarEventPrivate *priv = GDATA_CALENDAR_EVENT (object)->priv;
523- GTimeVal time_val;
524
525 /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause
526 * setting it from parse_xml() to fail (duplicate element). */
527- g_get_current_time (&time_val);
528- priv->edited = time_val.tv_sec;
529+ priv->edited = g_get_real_time () / G_USEC_PER_SEC;
530 }
531
532 return object;
533@@ -554,7 +552,7 @@ date_object_from_json (JsonReader *reader,
534 if (json_reader_read_member (reader, "dateTime")) {
535 const gchar *date_string;
536 const GError *child_error;
537- GTimeVal time_val;
538+ GDateTime *time_val;
539
540 date_string = json_reader_get_string_value (reader);
541 child_error = json_reader_get_error (reader);
542@@ -567,13 +565,15 @@ date_object_from_json (JsonReader *reader,
543 return TRUE;
544 }
545
546- if (!g_time_val_from_iso8601 (date_string, &time_val)) {
547+ time_val = g_date_time_new_from_iso8601 (date_string, NULL);
548+ if (!time_val) {
549 *success = gdata_parser_error_not_iso8601_format_json (reader, date_string, error);
550 json_reader_end_member (reader);
551 return TRUE;
552 }
553
554- date_time = time_val.tv_sec;
555+ date_time = g_date_time_to_unix (time_val);
556+ g_date_time_unref (time_val);
557 is_date = FALSE;
558 found_member = TRUE;
559 }
560diff --git a/gdata/services/calendar/gdata-calendar-query.c b/gdata/services/calendar/gdata-calendar-query.c
561index 37779bbe..dd019529 100644
562--- a/gdata/services/calendar/gdata-calendar-query.c
563+++ b/gdata/services/calendar/gdata-calendar-query.c
564@@ -37,7 +37,7 @@
565 * GDataCalendarCalendar *calendar;
566 * GDataCalendarQuery *query;
567 * GDataFeed *feed;
568- * GTimeVal current_time;
569+ * gint64 current_time;
570 * GList *i;
571 * GError *error = NULL;
572 *
573@@ -47,8 +47,8 @@
574 *
575 * /<!-- -->* Create the query to use. We're going to query for events within the next week which match the search term "party",
576 * * ordered by last modification time (descending). *<!-- -->/
577- * g_get_current_time (&current_time);
578- * query = gdata_calendar_query_new_with_limits ("party", current_time.tv_sec, current_time.tv_sec + 7 * 24 * 60 * 60);
579+ * current_time = g_get_real_time () / G_USEC_PER_SEC;
580+ * query = gdata_calendar_query_new_with_limits ("party", current_time, current_time + 7 * 24 * 60 * 60);
581 * gdata_calendar_query_set_order_by (query, "lastmodified");
582 *
583 * /<!-- -->* Execute the query *<!-- -->/
584diff --git a/gdata/services/contacts/gdata-contacts-contact.c b/gdata/services/contacts/gdata-contacts-contact.c
585index 4f511315..eb4148d0 100644
586--- a/gdata/services/contacts/gdata-contacts-contact.c
587+++ b/gdata/services/contacts/gdata-contacts-contact.c
588@@ -582,12 +582,10 @@ gdata_contacts_contact_constructor (GType type, guint n_construct_params, GObjec
589
590 if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
591 GDataContactsContactPrivate *priv = GDATA_CONTACTS_CONTACT (object)->priv;
592- GTimeVal time_val;
593
594 /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause
595 * setting it from parse_xml() to fail (duplicate element). */
596- g_get_current_time (&time_val);
597- priv->edited = time_val.tv_sec;
598+ priv->edited = g_get_real_time () / G_USEC_PER_SEC;
599 }
600
601 return object;
602diff --git a/gdata/services/contacts/gdata-contacts-group.c b/gdata/services/contacts/gdata-contacts-group.c
603index 055f4255..2059369a 100644
604--- a/gdata/services/contacts/gdata-contacts-group.c
605+++ b/gdata/services/contacts/gdata-contacts-group.c
606@@ -266,12 +266,10 @@ gdata_contacts_group_constructor (GType type, guint n_construct_params, GObjectC
607
608 if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
609 GDataContactsGroupPrivate *priv = GDATA_CONTACTS_GROUP (object)->priv;
610- GTimeVal time_val;
611
612 /* Set the edited property to the current time (creation time). We don't do this in *_init() since that would cause setting it from
613 * parse_xml() to fail (duplicate element). */
614- g_get_current_time (&time_val);
615- priv->edited = time_val.tv_sec;
616+ priv->edited = g_get_real_time () / G_USEC_PER_SEC;
617 }
618
619 return object;
620diff --git a/gdata/services/documents/gdata-documents-query.c b/gdata/services/documents/gdata-documents-query.c
621index e589b524..4797718f 100644
622--- a/gdata/services/documents/gdata-documents-query.c
623+++ b/gdata/services/documents/gdata-documents-query.c
624@@ -37,7 +37,7 @@
625 * GDataDocumentsService *service;
626 * GDataDocumentsQuery *query;
627 * GDataFeed *feed;
628- * GTimeVal current_time;
629+ * gint64 current_time;
630 * GList *i;
631 * GError *error = NULL;
632 *
633@@ -51,9 +51,9 @@
634 * gdata_documents_query_add_collaborator (query, "example@gmail.com");
635 * gdata_documents_query_set_show_deleted (query, TRUE);
636 *
637- * g_get_current_time (&current_time);
638- * gdata_query_set_updated_min (GDATA_QUERY (query), current_time.tv_sec - 7 * 24 * 60 * 60);
639- * gdata_query_set_updated_max (GDATA_QUERY (query), current_time.tv_sec);
640+ * current_time = g_get_real_time () / G_USEC_PER_SEC;
641+ * gdata_query_set_updated_min (GDATA_QUERY (query), current_time - 7 * 24 * 60 * 60);
642+ * gdata_query_set_updated_max (GDATA_QUERY (query), current_time);
643 *
644 * /<!-- -->* Execute the query *<!-- -->/
645 * feed = gdata_documents_service_query_documents (service, query, NULL, NULL, NULL, &error);
646diff --git a/gdata/services/picasaweb/gdata-picasaweb-album.c b/gdata/services/picasaweb/gdata-picasaweb-album.c
647index 40fd8cfb..fd6d0abc 100644
648--- a/gdata/services/picasaweb/gdata-picasaweb-album.c
649+++ b/gdata/services/picasaweb/gdata-picasaweb-album.c
650@@ -507,13 +507,13 @@ gdata_picasaweb_album_constructor (GType type, guint n_construct_params, GObject
651
652 if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
653 GDataPicasaWebAlbumPrivate *priv = GDATA_PICASAWEB_ALBUM (object)->priv;
654- GTimeVal time_val;
655+ gint64 time_val;
656
657 /* Set the edited and timestamp properties to the current time (creation time). bgo#599140
658 * We don't do this in *_init() since that would cause setting it from parse_xml() to fail (duplicate element). */
659- g_get_current_time (&time_val);
660- priv->timestamp = (gint64) time_val.tv_sec * 1000;
661- priv->edited = time_val.tv_sec;
662+ time_val = g_get_real_time () / G_USEC_PER_SEC;
663+ priv->timestamp = time_val * 1000;
664+ priv->edited = time_val;
665 }
666
667 return object;
668diff --git a/gdata/services/picasaweb/gdata-picasaweb-file.c b/gdata/services/picasaweb/gdata-picasaweb-file.c
669index 53aab33b..96db23a6 100644
670--- a/gdata/services/picasaweb/gdata-picasaweb-file.c
671+++ b/gdata/services/picasaweb/gdata-picasaweb-file.c
672@@ -690,13 +690,13 @@ gdata_picasaweb_file_constructor (GType type, guint n_construct_params, GObjectC
673
674 if (_gdata_parsable_is_constructed_from_xml (GDATA_PARSABLE (object)) == FALSE) {
675 GDataPicasaWebFilePrivate *priv = GDATA_PICASAWEB_FILE (object)->priv;
676- GTimeVal time_val;
677+ gint64 time_val;
678
679 /* Set the edited and timestamp properties to the current time (creation time). bgo#599140
680 * We don't do this in *_init() since that would cause setting it from parse_xml() to fail (duplicate element). */
681- g_get_current_time (&time_val);
682- priv->timestamp = (gint64) time_val.tv_sec * 1000;
683- priv->edited = time_val.tv_sec;
684+ time_val = g_get_real_time () / G_USEC_PER_SEC;
685+ priv->timestamp = time_val * 1000;
686+ priv->edited = time_val;
687 }
688
689 return object;
690diff --git a/gdata/services/youtube/gdata-youtube-query.c b/gdata/services/youtube/gdata-youtube-query.c
691index 212a0d10..bb5cff15 100644
692--- a/gdata/services/youtube/gdata-youtube-query.c
693+++ b/gdata/services/youtube/gdata-youtube-query.c
694@@ -572,22 +572,20 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo
695
696 if (priv->age != GDATA_YOUTUBE_AGE_ALL_TIME) {
697 gchar *after;
698- GTimeVal tv = { 0, };
699+ GDateTime *tv, *tv2;
700
701- g_get_current_time (&tv);
702-
703- /* Squash the microseconds; they’re not useful. */
704- tv.tv_usec = 0;
705+ /* don't use g_date_time_new_now_utc (squash microseconds) */
706+ tv2 = g_date_time_new_from_unix_utc (g_get_real_time () / G_USEC_PER_SEC);
707
708 switch (priv->age) {
709 case GDATA_YOUTUBE_AGE_TODAY:
710- tv.tv_sec -= 24 * 60 * 60;
711+ tv = g_date_time_add_days (tv2, -1);
712 break;
713 case GDATA_YOUTUBE_AGE_THIS_WEEK:
714- tv.tv_sec -= 7 * 24 * 60 * 60;
715+ tv = g_date_time_add_weeks (tv2, -1);
716 break;
717 case GDATA_YOUTUBE_AGE_THIS_MONTH:
718- tv.tv_sec -= 31 * 24 * 60 * 60;
719+ tv = g_date_time_add_months (tv2, -1);
720 break;
721 case GDATA_YOUTUBE_AGE_ALL_TIME:
722 default:
723@@ -596,9 +594,11 @@ get_query_uri (GDataQuery *self, const gchar *feed_uri, GString *query_uri, gboo
724
725 APPEND_SEP
726
727- after = g_time_val_to_iso8601 (&tv);
728+ after = g_date_time_format_iso8601 (tv);
729 g_string_append_printf (query_uri, "publishedAfter=%s", after);
730 g_free (after);
731+ g_date_time_unref (tv);
732+ g_date_time_unref (tv2);
733 }
734
735 /* We don’t need to use APPEND_SEP below here, as this parameter is
736diff --git a/gdata/services/youtube/gdata-youtube-service.c b/gdata/services/youtube/gdata-youtube-service.c
737index 75134e57..35994c54 100644
738--- a/gdata/services/youtube/gdata-youtube-service.c
739+++ b/gdata/services/youtube/gdata-youtube-service.c
740@@ -684,14 +684,16 @@ standard_feed_type_to_feed_uri (GDataYouTubeStandardFeedType feed_type)
741 case GDATA_YOUTUBE_RECENTLY_FEATURED_FEED:
742 case GDATA_YOUTUBE_WATCH_ON_MOBILE_FEED: {
743 gchar *date, *out;
744- GTimeVal tv;
745+ GDateTime *tv, *tv2;
746
747 /* All feed types except MOST_POPULAR have been deprecated for
748 * a while, and fall back to MOST_POPULAR on the server anyway.
749 * See: https://developers.google.com/youtube/2.0/developers_guide_protocol_video_feeds#Standard_feeds */
750- g_get_current_time (&tv);
751- tv.tv_sec -= 24 * 60 * 60; /* 1 day ago */
752- date = g_time_val_to_iso8601 (&tv);
753+ tv = g_date_time_new_now_utc ();
754+ tv2 = g_date_time_add_days (tv, -1);
755+ g_date_time_unref (tv);
756+ date = g_date_time_format_iso8601 (tv2);
757+ g_date_time_unref (tv2);
758 out = _gdata_service_build_uri ("https://www.googleapis.com/youtube/v3/videos"
759 "?part=snippet"
760 "&chart=mostPopular"
761diff --git a/gdata/tests/calendar.c b/gdata/tests/calendar.c
762index 4d70d1b7..87fb0b81 100644
763--- a/gdata/tests/calendar.c
764+++ b/gdata/tests/calendar.c
765@@ -495,7 +495,7 @@ test_event_insert (InsertEventData *data, gconstpointer service)
766 GDataGDWhere *where;
767 GDataGDWho *who;
768 GDataGDWhen *when;
769- GTimeVal start_time, end_time;
770+ GDateTime *start_time, *end_time;
771 GError *error = NULL;
772
773 gdata_test_mock_server_start_trace (mock_server, "event-insert");
774@@ -512,11 +512,13 @@ test_event_insert (InsertEventData *data, gconstpointer service)
775 who = gdata_gd_who_new (GDATA_GD_WHO_EVENT_ORGANIZER, "John Smith‽", "john.smith@example.com");
776 gdata_calendar_event_add_person (event, who);
777 g_object_unref (who);
778- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &start_time);
779- g_time_val_from_iso8601 ("2009-04-17T17:00:00.000Z", &end_time);
780- when = gdata_gd_when_new (start_time.tv_sec, end_time.tv_sec, FALSE);
781+ start_time = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL);
782+ end_time = g_date_time_new_from_iso8601 ("2009-04-17T17:00:00.000Z", NULL);
783+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), g_date_time_to_unix (end_time), FALSE);
784 gdata_calendar_event_add_time (event, when);
785 g_object_unref (when);
786+ g_date_time_unref (start_time);
787+ g_date_time_unref (end_time);
788
789 /* Insert the event */
790 new_event = data->new_event = gdata_calendar_service_insert_calendar_event (GDATA_CALENDAR_SERVICE (service),
791@@ -540,8 +542,8 @@ G_STMT_START {
792 GDataGDWhere *where;
793 GDataGDWho *who;
794 GDataGDWhen *when;
795- GTimeVal start_time;
796- GTimeVal end_time;
797+ GDateTime *start_time;
798+ GDateTime *end_time;
799
800 event = gdata_calendar_event_new (NULL);
801
802@@ -555,11 +557,13 @@ G_STMT_START {
803 who = gdata_gd_who_new (GDATA_GD_WHO_EVENT_ORGANIZER, "John Smith‽", "john.smith@example.com");
804 gdata_calendar_event_add_person (event, who);
805 g_object_unref (who);
806- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &start_time);
807- g_time_val_from_iso8601 ("2009-04-17T17:00:00.000Z", &end_time);
808- when = gdata_gd_when_new (start_time.tv_sec, end_time.tv_sec, FALSE);
809+ start_time = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL);
810+ end_time = g_date_time_new_from_iso8601 ("2009-04-17T17:00:00.000Z", NULL);
811+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), g_date_time_to_unix (end_time), FALSE);
812 gdata_calendar_event_add_time (event, when);
813 g_object_unref (when);
814+ g_date_time_unref (start_time);
815+ g_date_time_unref (end_time);
816
817 /* Insert the event */
818 gdata_calendar_service_insert_calendar_event_async (GDATA_CALENDAR_SERVICE (service),
819@@ -587,7 +591,7 @@ test_event_json (void)
820 GDataGDWhere *where;
821 GDataGDWho *who;
822 GDataGDWhen *when;
823- GTimeVal start_time, end_time;
824+ GDateTime *start_time, *end_time;
825
826 event = gdata_calendar_event_new (NULL);
827
828@@ -601,11 +605,13 @@ test_event_json (void)
829 who = gdata_gd_who_new (GDATA_GD_WHO_EVENT_ORGANIZER, "John Smith‽", "john.smith@example.com");
830 gdata_calendar_event_add_person (event, who);
831 g_object_unref (who);
832- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &start_time);
833- g_time_val_from_iso8601 ("2009-04-17T17:00:00.000Z", &end_time);
834- when = gdata_gd_when_new (start_time.tv_sec, end_time.tv_sec, FALSE);
835+ start_time = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL);
836+ end_time = g_date_time_new_from_iso8601 ("2009-04-17T17:00:00.000Z", NULL);
837+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), g_date_time_to_unix (end_time), FALSE);
838 gdata_calendar_event_add_time (event, when);
839 g_object_unref (when);
840+ g_date_time_unref (start_time);
841+ g_date_time_unref (end_time);
842
843 /* Check the JSON */
844 gdata_test_assert_json (event, "{"
845@@ -1099,7 +1105,7 @@ static void
846 test_query_uri (void)
847 {
848 gint64 _time;
849- GTimeVal time_val;
850+ GDateTime *time_val;
851 gchar *query_uri;
852 GDataCalendarQuery *query = gdata_calendar_query_new ("q");
853
854@@ -1111,15 +1117,15 @@ test_query_uri (void)
855 g_assert_cmpstr (gdata_calendar_query_get_order_by (query), ==, "starttime");
856
857 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
858- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &time_val);
859- gdata_calendar_query_set_recurrence_expansion_start (query, time_val.tv_sec);
860+ time_val = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL);
861+ gdata_calendar_query_set_recurrence_expansion_start (query, g_date_time_to_unix (time_val));
862 _time = gdata_calendar_query_get_recurrence_expansion_start (query);
863- g_assert_cmpint (_time, ==, time_val.tv_sec);
864+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val));
865
866- g_time_val_from_iso8601 ("2010-04-17T15:00:00.000Z", &time_val);
867- gdata_calendar_query_set_recurrence_expansion_end (query, time_val.tv_sec);
868+ time_val = g_date_time_new_from_iso8601 ("2010-04-17T15:00:00.000Z", NULL);
869+ gdata_calendar_query_set_recurrence_expansion_end (query, g_date_time_to_unix (time_val));
870 _time = gdata_calendar_query_get_recurrence_expansion_end (query);
871- g_assert_cmpint (_time, ==, time_val.tv_sec);
872+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val));
873 G_GNUC_END_IGNORE_DEPRECATIONS
874
875 gdata_calendar_query_set_single_events (query, TRUE);
876@@ -1130,15 +1136,17 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
877 g_assert_cmpstr (gdata_calendar_query_get_sort_order (query), ==, "descending");
878 G_GNUC_END_IGNORE_DEPRECATIONS
879
880- g_time_val_from_iso8601 ("2009-04-17T15:00:00.000Z", &time_val);
881- gdata_calendar_query_set_start_min (query, time_val.tv_sec);
882+ time_val = g_date_time_new_from_iso8601 ("2009-04-17T15:00:00.000Z", NULL);
883+ gdata_calendar_query_set_start_min (query, g_date_time_to_unix (time_val));
884 _time = gdata_calendar_query_get_start_min (query);
885- g_assert_cmpint (_time, ==, time_val.tv_sec);
886+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val));
887+ g_date_time_unref (time_val);
888
889- g_time_val_from_iso8601 ("2010-04-17T15:00:00.000Z", &time_val);
890- gdata_calendar_query_set_start_max (query, time_val.tv_sec);
891+ time_val = g_date_time_new_from_iso8601 ("2010-04-17T15:00:00.000Z", NULL);
892+ gdata_calendar_query_set_start_max (query, g_date_time_to_unix (time_val));
893 _time = gdata_calendar_query_get_start_max (query);
894- g_assert_cmpint (_time, ==, time_val.tv_sec);
895+ g_assert_cmpint (_time, ==, g_date_time_to_unix (time_val));
896+ g_date_time_unref (time_val);
897
898 gdata_calendar_query_set_timezone (query, "America/Los Angeles");
899 g_assert_cmpstr (gdata_calendar_query_get_timezone (query), ==, "America/Los_Angeles");
900diff --git a/gdata/tests/contacts.c b/gdata/tests/contacts.c
901index e4f72deb..f70cee25 100644
902--- a/gdata/tests/contacts.c
903+++ b/gdata/tests/contacts.c
904@@ -304,14 +304,12 @@ test_contact_insert (InsertData *data, gconstpointer service)
905 GList *list;
906 GDate date;
907 GHashTable *properties;
908- GTimeVal current_time;
909 gint64 edited, creation_time;
910 GError *error = NULL;
911
912 gdata_test_mock_server_start_trace (mock_server, "contact-insert");
913
914 contact = gdata_contacts_contact_new (NULL);
915- g_get_current_time (&current_time);
916
917 /* Check the kind is present and correct */
918 g_assert (GDATA_IS_CONTACTS_CONTACT (contact));
919@@ -752,13 +750,13 @@ static void
920 test_group_insert (InsertGroupData *data, gconstpointer service)
921 {
922 GDataContactsGroup *group, *new_group;
923- GTimeVal time_val;
924+ gint64 time_val;
925 GHashTable *properties;
926 GError *error = NULL;
927
928 gdata_test_mock_server_start_trace (mock_server, "group-insert");
929
930- g_get_current_time (&time_val);
931+ time_val = g_get_real_time () / G_USEC_PER_SEC;
932
933 group = gdata_contacts_group_new (NULL);
934
935@@ -780,7 +778,7 @@ test_group_insert (InsertGroupData *data, gconstpointer service)
936 /* Check the properties. Time-based properties can't be checked when running against a mock server, since
937 * the trace files may be quite old. */
938 if (uhm_server_get_enable_online (mock_server) == TRUE) {
939- g_assert_cmpint (gdata_contacts_group_get_edited (new_group), >=, time_val.tv_sec);
940+ g_assert_cmpint (gdata_contacts_group_get_edited (new_group), >=, time_val);
941 }
942 g_assert (gdata_contacts_group_is_deleted (new_group) == FALSE);
943 g_assert (gdata_contacts_group_get_system_group_id (new_group) == NULL);
944@@ -850,12 +848,12 @@ test_contact_properties (void)
945 gchar *nickname, *file_as, *billing_information, *directory_server, *gender, *initials, *maiden_name, *mileage, *occupation;
946 gchar *priority, *sensitivity, *short_name, *subject, *photo_etag;
947 GDate date, *date2;
948- GTimeVal current_time;
949+ gint64 current_time;
950 gint64 edited;
951 gboolean deleted, birthday_has_year;
952
953 contact = gdata_contacts_contact_new (NULL);
954- g_get_current_time (&current_time);
955+ current_time = g_get_real_time () / G_USEC_PER_SEC;
956
957 /* Check the kind is present and correct */
958 g_assert (GDATA_IS_CONTACTS_CONTACT (contact));
959@@ -984,7 +982,7 @@ test_contact_properties (void)
960 "subject", &subject,
961 NULL);
962
963- g_assert_cmpint (edited, ==, current_time.tv_sec);
964+ g_assert_cmpint (edited, ==, current_time);
965 g_assert (deleted == FALSE);
966 g_assert (photo_etag == NULL);
967 g_assert (name2 == name);
968@@ -1751,7 +1749,7 @@ static void
969 test_group_properties (void)
970 {
971 GDataContactsGroup *group;
972- GTimeVal time_val;
973+ gint64 time_val;
974 GHashTable *properties;
975 gint64 edited;
976 gboolean deleted;
977@@ -1768,8 +1766,8 @@ test_group_properties (void)
978 g_assert (gdata_contacts_group_set_extended_property (group, "foobar", "barfoo") == TRUE);
979
980 /* Check various properties */
981- g_get_current_time (&time_val);
982- g_assert_cmpint (gdata_contacts_group_get_edited (group), ==, time_val.tv_sec);
983+ time_val = g_get_real_time () / G_USEC_PER_SEC;
984+ g_assert_cmpint (gdata_contacts_group_get_edited (group), ==, time_val);
985 g_assert (gdata_contacts_group_is_deleted (group) == FALSE);
986 g_assert (gdata_contacts_group_get_system_group_id (group) == NULL);
987
988@@ -1785,7 +1783,7 @@ test_group_properties (void)
989 "system-group-id", &system_group_id,
990 NULL);
991
992- g_assert_cmpint (edited, ==, time_val.tv_sec);
993+ g_assert_cmpint (edited, ==, time_val);
994 g_assert (deleted == FALSE);
995 g_assert (system_group_id == NULL);
996
997diff --git a/gdata/tests/general.c b/gdata/tests/general.c
998index 30604ba1..39478713 100644
999--- a/gdata/tests/general.c
1000+++ b/gdata/tests/general.c
1001@@ -3502,11 +3502,12 @@ static void
1002 test_gd_when_escaping (void)
1003 {
1004 GDataGDWhen *when;
1005- GTimeVal start_time;
1006+ GDateTime *start_time;
1007
1008- g_time_val_from_iso8601 ("2005-06-07T01:00:00Z", &start_time);
1009- when = gdata_gd_when_new (start_time.tv_sec, -1, FALSE);
1010+ start_time = g_date_time_new_from_iso8601 ("2005-06-07T01:00:00Z", NULL);
1011+ when = gdata_gd_when_new (g_date_time_to_unix (start_time), -1, FALSE);
1012 gdata_gd_when_set_value_string (when, "Value string & stuff!");
1013+ g_date_time_unref (start_time);
1014
1015 /* Check the outputted XML is escaped properly */
1016 gdata_test_assert_xml (when,
1017diff --git a/gdata/tests/perf.c b/gdata/tests/perf.c
1018index 2749d40d..60f3dcc1 100644
1019--- a/gdata/tests/perf.c
1020+++ b/gdata/tests/perf.c
1021@@ -78,23 +78,24 @@ test_parse_feed (void)
1022 static void
1023 test_perf_parsing (void)
1024 {
1025- GTimeVal start_time, end_time;
1026+ GDateTime *start_time, *end_time;
1027+ GTimeSpan total_time, per_iteration_time;
1028 guint i;
1029- guint64 total_time; /* microseconds */
1030- guint64 per_iteration_time; /* microseconds */
1031
1032 #define ITERATIONS 10000
1033
1034 /* Test feed parsing time */
1035- g_get_current_time (&start_time);
1036+ start_time = g_date_time_new_now_utc ();
1037 for (i = 0; i < ITERATIONS; i++)
1038 test_parse_feed ();
1039- g_get_current_time (&end_time);
1040+ end_time = g_date_time_new_now_utc ();
1041
1042- total_time = (end_time.tv_sec - start_time.tv_sec) * G_USEC_PER_SEC +
1043- (end_time.tv_usec - start_time.tv_usec);
1044+ total_time = g_date_time_difference (end_time, start_time);
1045 per_iteration_time = total_time / ITERATIONS;
1046
1047+ g_date_time_unref (start_time);
1048+ g_date_time_unref (end_time);
1049+
1050 /* Prefix with hashes to avoid the output being misinterpreted as TAP
1051 * commands. */
1052 printf ("# Parsing a feed %u times took:\n"
1053diff --git a/gdata/tests/picasaweb.c b/gdata/tests/picasaweb.c
1054index eecf1b78..19978e3c 100644
1055--- a/gdata/tests/picasaweb.c
1056+++ b/gdata/tests/picasaweb.c
1057@@ -782,7 +782,7 @@ typedef struct {
1058 static void
1059 set_up_insert_album (InsertAlbumData *data, gconstpointer service)
1060 {
1061- GTimeVal timestamp;
1062+ GDateTime *timestamp;
1063
1064 data->album = gdata_picasaweb_album_new (NULL);
1065 g_assert (GDATA_IS_PICASAWEB_ALBUM (data->album));
1066@@ -791,8 +791,9 @@ set_up_insert_album (InsertAlbumData *data, gconstpointer service)
1067 gdata_entry_set_summary (GDATA_ENTRY (data->album), "Family photos of the feast!");
1068 gdata_picasaweb_album_set_location (data->album, "Winnipeg, MN");
1069
1070- g_time_val_from_iso8601 ("2002-10-14T09:58:59.643554Z", &timestamp);
1071- gdata_picasaweb_album_set_timestamp (data->album, (gint64) timestamp.tv_sec * 1000);
1072+ timestamp = g_date_time_new_from_iso8601 ("2002-10-14T09:58:59.643554Z", NULL);
1073+ gdata_picasaweb_album_set_timestamp (data->album, g_date_time_to_unix (timestamp) * 1000);
1074+ g_date_time_unref (timestamp);
1075 }
1076
1077 static void
1078@@ -1757,12 +1758,12 @@ test_album_new (void)
1079 GRegex *regex;
1080 GMatchInfo *match_info;
1081 gint64 delta;
1082- GTimeVal timeval;
1083+ GDateTime *timeval;
1084
1085 g_test_bug ("598893");
1086
1087 /* Get the current time */
1088- g_get_current_time (&timeval);
1089+ timeval = g_date_time_new_now_utc ();
1090
1091 /* Build a regex to match the timestamp from the XML, since we can't definitely say what it'll be. Note that we also assign any order to the
1092 * namespace definitions, since due to a change in GLib's hashing algorithm, they could be in different orders with different GLib versions. */
1093@@ -1795,9 +1796,10 @@ test_album_new (void)
1094 xml = gdata_parsable_get_xml (GDATA_PARSABLE (album));
1095 g_assert (g_regex_match (regex, xml, 0, &match_info) == TRUE);
1096 parsed_time_str = g_match_info_fetch (match_info, 2);
1097- delta = g_ascii_strtoull (parsed_time_str, NULL, 10) - (((guint64) timeval.tv_sec) * 1000 + ((guint64) timeval.tv_usec) / 1000);
1098+ delta = g_ascii_strtoull (parsed_time_str, NULL, 10) - (g_date_time_to_unix (timeval) * 1000 + ((guint64) g_date_time_get_microsecond (timeval)) / 1000);
1099 g_assert_cmpuint (ABS (delta), <, 1000);
1100
1101+ g_date_time_unref (timeval);
1102 g_free (parsed_time_str);
1103 g_free (xml);
1104 g_regex_unref (regex);
1105diff --git a/gdata/tests/youtube.c b/gdata/tests/youtube.c
1106index 5fefbaf8..b2732680 100644
1107--- a/gdata/tests/youtube.c
1108+++ b/gdata/tests/youtube.c
1109@@ -1537,13 +1537,17 @@ test_comment_properties_parent_comment_uri (void)
1110 static gchar *
1111 build_this_week_date_str (void)
1112 {
1113- GTimeVal tv;
1114+ GDateTime *tv, *tv2;
1115+ gchar *ret;
1116
1117- g_get_current_time (&tv);
1118- tv.tv_sec -= 7 * 24 * 60 * 60; /* this week */
1119- tv.tv_usec = 0; /* pointless accuracy */
1120+ /* don't use g_date_time_new_now_utc (squash microseconds) */
1121+ tv = g_date_time_new_from_unix_utc (g_get_real_time () / G_USEC_PER_SEC);
1122+ tv2 = g_date_time_add_weeks (tv, -1);
1123+ g_date_time_unref (tv);
1124
1125- return g_time_val_to_iso8601 (&tv);
1126+ ret = g_date_time_format_iso8601 (tv2);
1127+ g_date_time_unref (tv2);
1128+ return ret;
1129 }
1130
1131 static void
1132--
1133GitLab
1134
diff --git a/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb b/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
deleted file mode 100644
index 5f5d5834a7..0000000000
--- a/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol"
2HOMEPAGE = "http://live.gnome.org/libgdata"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPL-2.1-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
7 file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \
8 file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef"
9
10DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr3 json-glib"
11
12GTKDOC_MESON_OPTION = "gtk_doc"
13
14inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check
15
16SRC_URI += "file://0001-Drop-usage-of-deprecated-GTimeVal.patch"
17
18ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
19REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goa', 'opengl', '', d)}"
20
21do_compile:prepend() {
22 export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
23}
24
25# goa is required for gnome-photos
26PACKAGECONFIG ??= "goa gtk vala"
27PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
28PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts"
29PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
30PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
31
32EXTRA_OEMESON = "-Dalways_build_tests=false"
33
34SRC_URI[archive.sha256sum] = "dd8592eeb6512ad0a8cf5c8be8c72e76f74bfe6b23e4dd93f0756ee0716804c7"
diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.56.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.58.bb
index e1e1578411..a23ca13608 100644
--- a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.56.bb
+++ b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.58.bb
@@ -9,7 +9,7 @@ DEPENDS = "libxml2 bzip2 glib-2.0 zlib"
9GNOMEBASEBUILDCLASS = "autotools" 9GNOMEBASEBUILDCLASS = "autotools"
10inherit gnomebase gobject-introspection gettext gtk-doc 10inherit gnomebase gobject-introspection gettext gtk-doc
11 11
12SRC_URI[archive.sha256sum] = "9d21d30df1d12feaf03e181afd6067f65e3048ab69cb6ad174a3c5b72b92d297" 12SRC_URI[archive.sha256sum] = "06e07ea12b7a52b9e316faddfecb640b1717a4875c59f0efb3b0cec1e2ccf35a"
13SRC_URI += " file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" 13SRC_URI += " file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
14 14
15PACKAGECONFIG ??= "" 15PACKAGECONFIG ??= ""
diff --git a/meta-gnome/recipes-gnome/libpeas/libpeas-1_1.36.0.bb b/meta-gnome/recipes-gnome/libpeas/libpeas-1_1.38.1.bb
index c0b785fee7..3a76ed91cb 100644
--- a/meta-gnome/recipes-gnome/libpeas/libpeas-1_1.36.0.bb
+++ b/meta-gnome/recipes-gnome/libpeas/libpeas-1_1.38.1.bb
@@ -13,9 +13,9 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
13# FIXME: When upgrading to libpeas 2, g-i is no longer needed. 13# FIXME: When upgrading to libpeas 2, g-i is no longer needed.
14REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" 14REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
15 15
16SRC_URI = "https://download.gnome.org/sources/libpeas/1.36/libpeas-${PV}.tar.xz;name=archive" 16SRC_URI = "https://download.gnome.org/sources/libpeas/1.38/libpeas-${PV}.tar.xz;name=archive"
17SRC_URI += "file://0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch" 17SRC_URI += "file://0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch"
18SRC_URI[archive.sha256sum] = "297cb9c2cccd8e8617623d1a3e8415b4530b8e5a893e3527bbfd1edd13237b4c" 18SRC_URI[archive.sha256sum] = "e82fd328adcac1aba34b64136bdfcbbacf2b3258a8bc4e5f480a72502a611ae9"
19S = "${UNPACKDIR}/libpeas-${PV}" 19S = "${UNPACKDIR}/libpeas-${PV}"
20 20
21PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject" 21PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject"
diff --git a/meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch b/meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch
new file mode 100644
index 0000000000..7039be1795
--- /dev/null
+++ b/meta-gnome/recipes-gnome/libtimezonemap/files/port-to-libsoup3.patch
@@ -0,0 +1,95 @@
1From: Joshua Peisach <itzswirlz2020@outlook.com>
2Date: Sat, 06 Aug 2022 11:37:51 +0200
3Subject: Port to libsoup3.
4
5Forwarded: not-yet
6Last-Update: 2022-08-06
7
8Upstream-Status: Backport [https://salsa.debian.org/cinnamon-team/libtimezonemap/-/commit/ed57d8331a7429487b9c8ea97cc7bd684ed5a2e1]
9Signed-off-by: Changqing Li <changqing.li@windriver.com>
10---
11Index: libtimezonemap/configure.ac
12===================================================================
13--- libtimezonemap.orig/configure.ac
14+++ libtimezonemap/configure.ac
15@@ -50,13 +50,13 @@
16 GLIB_REQUIRED_VERSION=2.26
17 GTK3_REQUIRED_VERSION=3.1.4
18 GIO_REQUIRED_VERSION=2.5.11
19-SOUP_REQUIRED_VERSION=2.42.0
20+SOUP_REQUIRED_VERSION=3.0.7
21
22 AC_CHECK_LIBM
23
24 PKG_CHECK_MODULES(LIBTIMEZONEMAP, gio-2.0 >= $GIO_REQUIRED_VERSION
25 gtk+-3.0 >= $GTK3_REQUIRED_VERSION
26- libsoup-2.4 >= $SOUP_REQUIRED_VERSION
27+ libsoup-3.0 >= $SOUP_REQUIRED_VERSION
28 json-glib-1.0)
29 LIBTIMEZONEMAP_LIBS="$LIBTIMEZONEMAP_LIBS $LIBM"
30
31Index: libtimezonemap/src/timezone-completion.c
32===================================================================
33--- libtimezonemap.orig/src/timezone-completion.c
34+++ libtimezonemap/src/timezone-completion.c
35@@ -270,9 +270,10 @@
36 CcTimezoneCompletionPrivate * priv = completion->priv;
37 GError * error = NULL;
38 GInputStream * stream;
39- SoupMessage *message;
40+ const gchar * reason_phrase;
41+ SoupStatus status_code;
42
43- stream = soup_request_send_finish (SOUP_REQUEST (object), res, &error);
44+ stream = soup_session_send_finish (priv->soup_session, res, &error);
45 if (stream == NULL)
46 {
47 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
48@@ -283,8 +284,9 @@
49 return;
50 }
51
52- message = soup_request_http_get_message (SOUP_REQUEST_HTTP (object));
53- if (message->status_code == SOUP_STATUS_OK)
54+ reason_phrase = soup_message_get_reason_phrase (SOUP_MESSAGE (object));
55+ status_code = soup_message_get_status (SOUP_MESSAGE (object));
56+ if (status_code == SOUP_STATUS_OK)
57 {
58 JsonParser *parser;
59
60@@ -296,10 +298,10 @@
61 else
62 {
63 g_warning ("Unable to fetch geonames (server responded with: %u %s)",
64- message->status_code, message->reason_phrase);
65+ status_code, reason_phrase);
66 }
67
68- g_object_unref (message);
69+ g_object_unref (object);
70 g_object_unref (stream);
71 }
72
73@@ -362,7 +364,7 @@
74 request_zones (CcTimezoneCompletion * completion)
75 {
76 CcTimezoneCompletionPrivate * priv = completion->priv;
77- SoupRequest *req;
78+ SoupMessage *req;
79 GError *error = NULL;
80
81 priv->queued_request = 0;
82@@ -391,10 +393,11 @@
83 g_free (locale);
84 g_free (escaped);
85
86- req = soup_session_request (priv->soup_session, url, &error);
87+ req = soup_message_new (NULL, url);
88 if (req)
89 {
90- soup_request_send_async (req, priv->cancel, geonames_data_ready, completion);
91+ soup_session_send_async (priv->soup_session, req, G_PRIORITY_DEFAULT,
92+ priv->cancel, geonames_data_ready, completion);
93 g_object_unref (req);
94 }
95 else
diff --git a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
index 7c8e410b09..cca9e632f8 100644
--- a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
+++ b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
@@ -5,13 +5,14 @@ LICENSE = "GPL-3.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6 6
7SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz \ 7SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz \
8 file://0001-configure.ac-correct-the-version.patch" 8 file://0001-configure.ac-correct-the-version.patch \
9 file://port-to-libsoup3.patch"
9SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195" 10SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195"
10 11
11UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/libt/libtimezonemap" 12UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/libt/libtimezonemap"
12UPSTREAM_CHECK_REGEX = "libtimezonemap_(?P<pver>\d+(\.\d+)+)" 13UPSTREAM_CHECK_REGEX = "libtimezonemap_(?P<pver>\d+(\.\d+)+)"
13 14
14DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native" 15DEPENDS = "gtk+3 gdk-pixbuf libsoup json-glib gnome-common-native"
15 16
16B = "${S}" 17B = "${S}"
17 18
diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb
index 45e0969d66..9597ce5136 100644
--- a/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb
+++ b/meta-gnome/recipes-gnome/nautilus/nautilus_49.5.bb
@@ -14,7 +14,6 @@ DEPENDS = " \
14 gtk4 \ 14 gtk4 \
15 libadwaita \ 15 libadwaita \
16 libcloudproviders \ 16 libcloudproviders \
17 libhandy \
18 libportal \ 17 libportal \
19 libxml2 \ 18 libxml2 \
20 tinysparql \ 19 tinysparql \
@@ -26,7 +25,8 @@ inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_che
26 25
27SRC_URI[archive.sha256sum] = "fa5655e73ee7953aecfe71fea67bfec0c67447e14e6df135aa3f80334386872c" 26SRC_URI[archive.sha256sum] = "fa5655e73ee7953aecfe71fea67bfec0c67447e14e6df135aa3f80334386872c"
28 27
29REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data" 28REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data"
29ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
30 30
31GIDOCGEN_MESON_OPTION = "docs" 31GIDOCGEN_MESON_OPTION = "docs"
32GIDOCGEN_MESON_ENABLE_FLAG = 'true' 32GIDOCGEN_MESON_ENABLE_FLAG = 'true'
diff --git a/meta-gnome/recipes-gnome/tracker/localsearch_3.11.0.bb b/meta-gnome/recipes-gnome/tracker/localsearch_3.11.1.bb
index d49482cfec..48d5e6b39f 100644
--- a/meta-gnome/recipes-gnome/tracker/localsearch_3.11.0.bb
+++ b/meta-gnome/recipes-gnome/tracker/localsearch_3.11.1.bb
@@ -18,7 +18,7 @@ SRC_URI:append = " \
18 file://0001-fix-reproducibility.patch \ 18 file://0001-fix-reproducibility.patch \
19 file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ 19 file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
20" 20"
21SRC_URI[archive.sha256sum] = "c6774761a8b9f4a06f6812f1c8078bee2e937d65e376c3d2338b78993e5f4666" 21SRC_URI[archive.sha256sum] = "7b39a6c28a8acf2b172f15b2fb5ee7c7a3764c447c2f4a14caa239b7ebe61942"
22 22
23# gobject-introspection is mandatory and cannot be configured 23# gobject-introspection is mandatory and cannot be configured
24REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" 24REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.0.bb b/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.1.bb
index 522cfb3d23..5ddc309293 100644
--- a/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.0.bb
+++ b/meta-gnome/recipes-gnome/tracker/tinysparql_3.11.1.bb
@@ -20,7 +20,7 @@ inherit gettext gnomebase gobject-introspection vala gi-docgen bash-completion
20 20
21SRC_URI += "file://0001-fix-reproducibility.patch" 21SRC_URI += "file://0001-fix-reproducibility.patch"
22SRC_URI += "file://0001-src-libtracker-sparql-meson.build-dont-create-compat.patch" 22SRC_URI += "file://0001-src-libtracker-sparql-meson.build-dont-create-compat.patch"
23SRC_URI[archive.sha256sum] = "011e758a53f31112a8c45700fd6039ae55617f0dac70119d9eddafc03cf68fe5" 23SRC_URI[archive.sha256sum] = "cfd46021ee1514ad435e714f7aa1ec7a787c7f516a94f4c7438897ee3d6eca1e"
24 24
25# text search is not an option anymore and requires sqlite3 build with 25# text search is not an option anymore and requires sqlite3 build with
26# PACKAGECONFIG[fts5] set (default) 26# PACKAGECONFIG[fts5] set (default)
diff --git a/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
index e1c9324940..4ebb5bb3b3 100644
--- a/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
+++ b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb
@@ -23,12 +23,6 @@ DEPENDS += " \
23 webkitgtk3 \ 23 webkitgtk3 \
24 yelp-xsl \ 24 yelp-xsl \
25" 25"
26PACKAGECONFIG_SOUP ?= "soup3"
27PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
28
29PACKAGECONFIG[soup2] = "--with-webkit2gtk-4-0,,"
30PACKAGECONFIG[soup3] = ",--with-webkit2gtk-4-0,"
31
32 26
33do_configure:prepend() { 27do_configure:prepend() {
34 export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool 28 export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool
diff --git a/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb b/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb
index c024ae3f92..f0c68ed62a 100644
--- a/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb
+++ b/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb
@@ -24,7 +24,7 @@ SRC_URI:append:libc-musl = " \
24 file://0002-musl-add-missing-fgetspent_r.patch \ 24 file://0002-musl-add-missing-fgetspent_r.patch \
25" 25"
26 26
27EXTRA_OEMESON:libc-musl += "-Dwtmpfile=/var/log/wtmp -Dtests=false" 27EXTRA_OEMESON:append:libc-musl = " -Dwtmpfile=/var/log/wtmp -Dtests=false"
28 28
29SRC_URI[sha256sum] = "adda4cdeae24fa0992e7df3ffff9effa7090be3ac233a3edfdf69d5a9c9b924f" 29SRC_URI[sha256sum] = "adda4cdeae24fa0992e7df3ffff9effa7090be3ac233a3edfdf69d5a9c9b924f"
30 30
diff --git a/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.8.2.bb b/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.8.3.bb
index efb85d77c5..399d9813af 100644
--- a/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.8.2.bb
+++ b/meta-gnome/recipes-support/appstream-glib/appstream-glib_0.8.3.bb
@@ -20,7 +20,7 @@ DEPENDS = " \
20inherit meson gobject-introspection gettext bash-completion pkgconfig manpages 20inherit meson gobject-introspection gettext bash-completion pkgconfig manpages
21 21
22SRC_URI = "https://people.freedesktop.org/~hughsient/${BPN}/releases/${BP}.tar.xz" 22SRC_URI = "https://people.freedesktop.org/~hughsient/${BPN}/releases/${BP}.tar.xz"
23SRC_URI[sha256sum] = "71256500add5048d6f08878904708b3d0c3875f402e0adcd358e91d47dcd8b96" 23SRC_URI[sha256sum] = "84754064c560fca6e1ab151dc64354fc235a5798f016b91b38c9617253a8cf11"
24 24
25EXTRA_OEMESON = " \ 25EXTRA_OEMESON = " \
26 -Drpm=false \ 26 -Drpm=false \
diff --git a/meta-gnome/recipes-support/libdazzle/libdazzle_3.44.0.bb b/meta-gnome/recipes-support/libdazzle/libdazzle_3.44.0.bb
new file mode 100644
index 0000000000..9bca7e9dce
--- /dev/null
+++ b/meta-gnome/recipes-support/libdazzle/libdazzle_3.44.0.bb
@@ -0,0 +1,18 @@
1SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
2DESCRIPTION = "A wide range of components from utilities for GIO, widgets for \
3GTK+, an animation framework, state machines, paneling and high-performance \
4counters are included."
5LICENSE = "GPL-3.0-or-later"
6HOMEPAGE = "https://gitlab.gnome.org/GNOME/libdazzle"
7BUGTRACKER = "https://gitlab.gnome.org/GNOME/libdazzle/issues"
8LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
9
10inherit gnomebase upstream-version-is-even vala features_check gobject-introspection
11
12DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
13
14SRC_URI[archive.sha256sum] = "3cd3e45eb6e2680cb05d52e1e80dd8f9d59d4765212f0e28f78e6c1783d18eae"
15
16GIR_MESON_OPTION = 'with_introspection'
17
18ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-gnome/recipes-support/libhandy/libhandy_1.8.3.bb b/meta-gnome/recipes-support/libhandy/libhandy_1.8.3.bb
new file mode 100644
index 0000000000..0c525bcae3
--- /dev/null
+++ b/meta-gnome/recipes-support/libhandy/libhandy_1.8.3.bb
@@ -0,0 +1,25 @@
1SUMMARY = "A library full of GTK+ widgets for mobile phones"
2DESCRIPTION = "Library with GTK widgets for mobile phones. Libhandy provides \
3GTK widgets and GObjects to ease developing applications for mobile phones. \
4It was developed by Purism (and used by several official GNOME projects) \
5to extend Gtk by providing mobile-friendly widgets and make the creation of \
6responsive apps easier."
7HOMEPAGE = "https://gitlab.gnome.org/GNOME/libhandy"
8BUGTRACKER = "https://gitlab.gnome.org/GNOME/libhandy/-/issues"
9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
11 file://src/handy.h;beginline=4;endline=4;md5=20a35c7a7509753627b8c372765d5f22"
12
13DEPENDS = "gtk+3"
14
15inherit gnomebase gobject-introspection vala gettext gi-docgen features_check
16
17SRC_URI[archive.sha256sum] = "05b497229073ff557f10b326e074c5066f8743a302d4820ab97bcb5cd2dab087"
18
19GIR_MESON_ENABLE_FLAG = 'enabled'
20GIR_MESON_DISABLE_FLAG = 'disabled'
21
22PACKAGES =+ "${PN}-examples"
23FILES:${PN}-examples = "${bindir}"
24
25ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/meta-gnome/recipes-support/libwacom/libwacom_2.18.0.bb b/meta-gnome/recipes-support/libwacom/libwacom_2.19.0.bb
index 7bbeb5583a..853b035805 100644
--- a/meta-gnome/recipes-support/libwacom/libwacom_2.18.0.bb
+++ b/meta-gnome/recipes-support/libwacom/libwacom_2.19.0.bb
@@ -8,7 +8,7 @@ LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e" 8LIC_FILES_CHKSUM = "file://COPYING;md5=40a21fffb367c82f39fd91a3b137c36e"
9 9
10SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https;tag=${BP}" 10SRC_URI = "git://github.com/linuxwacom/libwacom.git;branch=master;protocol=https;tag=${BP}"
11SRCREV = "44df53b14b008a8252427aa6b41128efada43b3a" 11SRCREV = "b697d5a70f0e4dd4c18512b38911eebba33a4558"
12 12
13DEPENDS = " \ 13DEPENDS = " \
14 libxml2-native \ 14 libxml2-native \
diff --git a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch b/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch
deleted file mode 100644
index 9fb2cd6814..0000000000
--- a/meta-gnome/recipes-support/onboard/onboard/0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch
+++ /dev/null
@@ -1,69 +0,0 @@
1From 71804c06c7179333f44b57e04ba268f37fe54f62 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 13 Jul 2017 09:01:04 -0700
4Subject: [PATCH] pypredict/lm: Define error API if platform does not have it
5
6error() API is not implemented across all libcs on linux
7e.g. musl does not provide it.
8
9Upstream-Status: Pending
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 Onboard/pypredict/lm/lm.cpp | 1 -
14 Onboard/pypredict/lm/lm.h | 13 +++++++++++++
15 Onboard/pypredict/lm/lm_dynamic.cpp | 2 --
16 3 files changed, 13 insertions(+), 3 deletions(-)
17
18diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp
19index 2e642965..37ae241e 100644
20--- a/Onboard/pypredict/lm/lm.cpp
21+++ b/Onboard/pypredict/lm/lm.cpp
22@@ -19,7 +19,6 @@
23
24 #include <stdlib.h>
25 #include <stdio.h>
26-#include <error.h>
27 #include <algorithm>
28 #include <cmath>
29 #include <string>
30diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h
31index ed4164a4..b8b63ee8 100644
32--- a/Onboard/pypredict/lm/lm.h
33+++ b/Onboard/pypredict/lm/lm.h
34@@ -32,6 +32,19 @@
35 #include <algorithm>
36 #include <string>
37
38+#if defined(HAVE_ERROR_H)
39+#include <error.h>
40+#else
41+#include <err.h>
42+#define _onboard_error(S, E, F, ...) do { \
43+ if (E) \
44+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
45+ else \
46+ err(S, F, ##__VA_ARGS__); \
47+} while(0)
48+
49+#define error _onboard_error
50+#endif
51
52 // break into debugger
53 // step twice to come back out of the raise() call into known code
54diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp
55index 7c628240..e7c7f40e 100644
56--- a/Onboard/pypredict/lm/lm_dynamic.cpp
57+++ b/Onboard/pypredict/lm/lm_dynamic.cpp
58@@ -17,8 +17,6 @@
59 * along with this program. If not, see <http://www.gnu.org/licenses/>.
60 */
61
62-#include <error.h>
63-
64 #include "lm_dynamic.h"
65
66 using namespace std;
67--
682.34.1
69
diff --git a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb b/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb
index d544f169f8..a069fb692e 100644
--- a/meta-gnome/recipes-support/onboard/onboard_1.4.3-9.bb
+++ b/meta-gnome/recipes-support/onboard/onboard_1.4.4-1.bb
@@ -10,11 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e \
10 file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \ 10 file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \
11 " 11 "
12 12
13SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main \ 13SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main;tag=${PV} \
14 file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \
15 file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \ 14 file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \
16 " 15 "
17SRCREV = "350f7643576bc8c5f2cff9c6ddce0e1e7cff995d" 16SRCREV = "02b19e2aee88e4bf2cdc7094813ddd4a6c05d1e7"
18 17
19inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg 18inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg
20 19
diff --git a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb
index 00ef8a5d97..f9d52a5bb2 100644
--- a/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb
+++ b/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_50.0.bb
@@ -23,9 +23,7 @@ REQUIRED_DISTRO_FEATURES = "polkit"
23 23
24SRC_URI[archive.sha256sum] = "ceeef2fb68b34b3f66a3def0a332a22a70af272641fb6c50065b7a2fde3d5759" 24SRC_URI[archive.sha256sum] = "ceeef2fb68b34b3f66a3def0a332a22a70af272641fb6c50065b7a2fde3d5759"
25 25
26PACKAGECONFIG ?= "screenshot screencast ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" 26PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}"
27PACKAGECONFIG[wayland] = ",,wayland-native" 27PACKAGECONFIG[wayland] = ",,wayland-native"
28PACKAGECONFIG[screenshot] = ",,,gnome-shell"
29PACKAGECONFIG[screencast] = ",,,mutter"
30 28
31FILES:${PN} += "${systemd_user_unitdir} ${datadir}" 29FILES:${PN} += "${systemd_user_unitdir} ${datadir}"