diff options
Diffstat (limited to 'meta-gnome/recipes-gnome')
147 files changed, 2439 insertions, 4616 deletions
diff --git a/meta-gnome/recipes-gnome/amtk/amtk_5.2.0.bb b/meta-gnome/recipes-gnome/amtk/amtk_5.2.0.bb deleted file mode 100644 index 41cda1ebc7..0000000000 --- a/meta-gnome/recipes-gnome/amtk/amtk_5.2.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "Actions, Menus and Toolbars Kit" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ -" - -inherit gnomebase gettext features_check gobject-introspection - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" - -SRC_URI[archive.sha256sum] = "820545bb4cf87ecebc2c3638d6b6e58b8dbd60a419a9b43cf020124e5dad7078" diff --git a/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb b/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb deleted file mode 100644 index 97e994c1fa..0000000000 --- a/meta-gnome/recipes-gnome/dconf/dconf-editor_3.38.3.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Configuration editor for dconf" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = "dconf gtk+3" - -inherit gnomebase vala gettext gsettings bash-completion - -SRC_URI[archive.sha256sum] = "571af4c7dad4f049b53e6cd728b79addf08c27ddab6bc57b396d211866ee79e3" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ -" diff --git a/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb b/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb new file mode 100644 index 0000000000..32a69a0707 --- /dev/null +++ b/meta-gnome/recipes-gnome/dconf/dconf-editor_45.0.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Configuration editor for dconf" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + + +DEPENDS = " \ + dconf \ + desktop-file-utils-native \ + gtk+3 \ + glib-2.0 \ + libhandy\ +" + +inherit gnomebase vala gsettings bash-completion pkgconfig gtk-icon-cache + +SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/45/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive" +SRC_URI[archive.sha256sum] = "1180297678eedae6217cc514a2638c187d2f1d1ef2720cb9079b740c429941dd" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ +" diff --git a/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb b/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb index 5613556aa7..c5c45a0264 100644 --- a/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb +++ b/meta-gnome/recipes-gnome/dconf/dconf_0.40.0.bb @@ -1,5 +1,5 @@ SUMMARY = "configuation database system" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" SECTION = "x11/gnome" @@ -7,7 +7,6 @@ SRC_URI[archive.sha256sum] = "cf7f22a4c9200421d8d3325c5c1b8b93a36843650c9f95d645 DEPENDS = "dbus glib-2.0 intltool-native" -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase bash-completion vala diff --git a/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb b/meta-gnome/recipes-gnome/devilspie/devilspie2_0.44.bb index 8372448432..90c12efadf 100644 --- a/meta-gnome/recipes-gnome/devilspie/devilspie2_0.43.bb +++ b/meta-gnome/recipes-gnome/devilspie/devilspie2_0.44.bb @@ -1,14 +1,14 @@ DESCRIPTION = "Devilspie2 is a window matching utility, allowing the user to perform scripted actions on windows as they are created" HOMEPAGE = "http://www.gusnan.se/devilspie2" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=00aefaa50aad75c21367df66102d542c \ file://GPL3.txt;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "gtk+ glib-2.0 libwnck libxinerama lua virtual/libx11" -PV .= "+git${SRCPV}" +PV .= "+git" -SRCREV = "a3ee65b815a0247a0dbdaa39353444cef6f93499" +SRCREV = "b9d7ad9c09a5fb17a1562ee1d892798c646e9ec9" SRC_URI = "git://github.com/dsalt/devilspie2;branch=master;protocol=https \ file://default.lua \ diff --git a/meta-gnome/recipes-gnome/eog/eog_45.3.bb b/meta-gnome/recipes-gnome/eog/eog_45.3.bb new file mode 100644 index 0000000000..00fe266698 --- /dev/null +++ b/meta-gnome/recipes-gnome/eog/eog_45.3.bb @@ -0,0 +1,30 @@ +SUMMARY = "This is the Eye of GNOME, an image viewer program." +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + librsvg \ + gnome-desktop \ + gsettings-desktop-schemas \ + gdk-pixbuf \ + gtk+3 \ + libhandy \ + libpeas \ + libportal \ + libexif \ + lcms \ +" + + +inherit gnomebase pkgconfig gsettings gobject-introspection gettext mime-xdg features_check gtk-icon-cache + +# FIXME: whilst eog uses libpeas <2, g-i is needed. This can be removed when libpeas2 is used. +REQUIRED_DISTRO_FEATURES = "opengl gobject-introspection-data" + +SRC_URI[archive.sha256sum] = "8650f662d4921d83a7904f6bb9ca245baf735f717b47fac5b37f0d90e5e891a8" + +GTKDOC_MESON_OPTION = "gtk_doc" + +EXTRA_OEMESON = "-Dxmp=false" + +FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/evince/evince_40.4.bb b/meta-gnome/recipes-gnome/evince/evince_46.0.bb index ed4fb63720..57eb994e13 100644 --- a/meta-gnome/recipes-gnome/evince/evince_40.4.bb +++ b/meta-gnome/recipes-gnome/evince/evince_46.0.bb @@ -1,54 +1,58 @@ SUMMARY = "Evince is a document viewer for document formats like pdf, ps, djvu" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b" SECTION = "x11/office" DEPENDS = " \ - gnome-common-native \ - yelp-tools-native \ + adwaita-icon-theme \ appstream-glib \ - gtk+3 \ + cairo \ + desktop-file-utils-native \ + dbus \ + gdk-pixbuf \ + glib-2.0 \ + gnome-common-native \ + gnome-desktop \ + gsettings-desktop-schemas \ gspell \ - libsecret \ - poppler \ gstreamer1.0-plugins-base \ - orc \ - adwaita-icon-theme \ + gtk+3 \ + libarchive \ libhandy \ - ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} \ + libsecret \ + libxml2 \ + poppler \ + yelp-tools-native \ + zlib \ " -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gtk-doc +inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gi-docgen features_check gtk-icon-cache + +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}" def gnome_verdir(v): return oe.utils.trim_version(v, 1) -SRC_URI[archive.sha256sum] = "33420500e0e060f178a435063197d42dae7b67e39cc437a96510a33ddf7e95fb" +SRC_URI[archive.sha256sum] = "aff6af69392c04956bfad976dec5d1583b41d5a334e937995f7c3ca0740de221" GTKDOC_MESON_OPTION = "gtk_doc" -EXTRA_OEMESON = " \ - -Dsystemduserunitdir=no \ -" - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/libdocument/.libs" -} - PACKAGECONFIG ??= "" PACKAGECONFIG[nautilus] = "-Dnautilus=true,-Dnautilus=false,nautilus" -PACKAGECONFIG[browser-plugin] = "-Dbrowser_plugin=true,-Dbrowser_plugin=false" RDEPENDS:${PN} += "glib-2.0-utils" -RRECOMMMENDS_${PN} = "adwaita-icon-theme" +RRECOMMENDS:${PN} = "adwaita-icon-theme" PACKAGES =+ "${PN}-nautilus-extension" -PACKAGES =+ "${PN}-browser-plugin" + +do_install:prepend() { + sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/libview/ev-view-type-builtins.c + sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/libdocument/ev-document-type-builtins.c +} FILES:${PN} += "${datadir}/dbus-1 \ ${datadir}/metainfo \ ${datadir}/thumbnailers \ + ${systemd_user_unitdir} \ " FILES:${PN}-nautilus-extension = "${libdir}/nautilus/*/*so" -FILES:${PN}-browser-plugin = "${libdir}/mozilla/*/*so" diff --git a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb index 681a61c33a..f2f41276a6 100644 --- a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb +++ b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server-native.bb @@ -1,10 +1,12 @@ require ${BPN}.inc -inherit native +inherit_defer native DEPENDS = "glib-2.0-native" # build native helpers +do_configure[noexec] = "1" + do_compile() { cd ${S}/src/camel sed -i 's:#include "evolution-data-server-config.h"::g' camel-gen-tables.c @@ -21,3 +23,4 @@ do_install() { install -d ${D}${bindir} install -m 755 ${B}/* ${D}${bindir} } + diff --git a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb index 571d4301ec..103bad1b68 100644 --- a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb +++ b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.bb @@ -1,16 +1,18 @@ require ${BPN}.inc DEPENDS = " \ - ${BPN}-native intltool-native gperf-native \ - glib-2.0 gtk+3 libgdata \ - dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \ + ${BPN}-native gperf-native \ + glib-2.0 json-glib gtk4 libxml2 icu \ + dbus db virtual/libiconv zlib libsoup-3.0 libical nss libsecret \ " -inherit gsettings gobject-introspection features_check cmake gtk-doc gettext perlnative +inherit pkgconfig gsettings gobject-introspection features_check gtk-doc gettext perlnative vala -REQUIRED_DISTRO_FEATURES = "x11" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" SRC_URI += " \ + file://0001-cmake-Do-not-export-CC-into-gir-compiler.patch \ file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \ file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \ file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \ @@ -21,44 +23,44 @@ SRC_URI += " \ LKSTRFTIME = "HAVE_LKSTRFTIME=ON" LKSTRFTIME:libc-musl = "HAVE_LKSTRFTIME=OFF" -# For arm qemu-arm runs at 100% CPU load and never returns - so disable introspection for now -GI_DATA_ENABLED="False" - EXTRA_OECMAKE = " \ -DSYSCONF_INSTALL_DIR=${sysconfdir} \ - -DWITH_KRB5=OFF \ - -DENABLE_GOA=OFF \ - -DENABLE_UOA=OFF \ - -DENABLE_GOOGLE_AUTH=OFF \ - -DENABLE_WEATHER=OFF \ - -DENABLE_INTROSPECTION=${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'ON', 'OFF', d)} \ + -DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON -DENABLE_VALA_BINDINGS=ON', '-DENABLE_INTROSPECTION=OFF', d)} \ -D${LKSTRFTIME} \ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ + -DENABLE_GTK=OFF \ + -DENABLE_GTK4=ON \ + -DENABLE_INSTALLED_TESTS=OFF \ + -DENABLE_EXAMPLES=OFF \ + -DENABLE_MAINTAINER_MODE=OFF \ " -PACKAGECONFIG[canberra] = "-DENABLE_CANBERRA=ON,-DENABLE_CANBERRA=OFF,libcanberra" -PACKAGECONFIG[oauth] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,webkitgtk json-glib" +EXTRA_OECMAKE:append:class-target = " -DG_IR_COMPILER=${STAGING_BINDIR}/g-ir-compiler-wrapper" +EXTRA_OECMAKE:append:class-target = " -DG_IR_SCANNER=${STAGING_BINDIR}/g-ir-scanner-wrapper" + +PACKAGECONFIG ?= "goa oauth" +PACKAGECONFIG[canberra] = "-DENABLE_CANBERRA=ON,-DENABLE_CANBERRA=OFF,libcanberra" +PACKAGECONFIG[oauth] = "-DENABLE_OAUTH2_WEBKITGTK4=ON -DENABLE_OAUTH2_WEBKITGTK=OFF,-DENABLE_OAUTH2_WEBKITGTK4=OFF -DENABLE_OAUTH2_WEBKITGTK=OFF,webkitgtk json-glib" +PACKAGECONFIG[goa] = "-DENABLE_GOA=ON,-DENABLE_GOA=OFF,gnome-online-accounts" +PACKAGECONFIG[kerberos] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5" # BROKEN: due missing pkg-config in openldap eds' cmake finds host-libs when # searching for openldap-libs PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap" +PACKAGECONFIG[weather] = "-DENABLE_WEATHER=ON,-DENABLE_WEATHER=OFF,libgweather4" + # -ldb needs this on some platforms LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0" +# invokes libraries from build host +GI_DATA_ENABLED:libc-musl="False" + do_configure:append () { cp ${WORKDIR}/iconv-detect.h ${S}/src - - # fix native perl shebang - sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard - - # fix abs path for g-ir-scanner-wrapper - sed -i ${B}/build.ninja \ - -e 's: ${bindir}/g-ir-scanner-wrapper: ${STAGING_BINDIR}/g-ir-scanner-wrapper:g' -} - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs" + # avoid writing perl-native path into csv2vcard shebang + sed -i "s|@PERL@|${bindir}/perl|" ${S}/src/tools/addressbook-export/csv2vcard.in } FILES:${PN} =+ " \ diff --git a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc index 86c7dea443..33190c461c 100644 --- a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc +++ b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server.inc @@ -2,12 +2,13 @@ SUMMARY = "Evolution database backend server" HOMEPAGE = "http://www.gnome.org/projects/evolution/" BUGTRACKER = "https://bugzilla.gnome.org/" -LICENSE = "LGPLv2 & LGPLv2+" +LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \ file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \ file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543" +GNOMEBASEBUILDCLASS = "cmake" inherit gnomebase upstream-version-is-even -SRC_URI[archive.sha256sum] = "ec82951639f32a5cece80a8b0b9aa3f66b7d318e3ee2c1c35234f2e2bde8a418" -PV = "3.40.2" +SRC_URI[archive.sha256sum] = "91f4ffc38a1b8d2fe8939834449ac541c0bff4a39b444edc2a9529344a28e98a" +PV = "3.50.1" diff --git a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-cmake-Do-not-export-CC-into-gir-compiler.patch b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-cmake-Do-not-export-CC-into-gir-compiler.patch new file mode 100644 index 0000000000..118d93a72a --- /dev/null +++ b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0001-cmake-Do-not-export-CC-into-gir-compiler.patch @@ -0,0 +1,25 @@ +Use G_IR_SCANNER without passing additional environment + +Upstream-Status: Inappropriate [OE-specific] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/cmake/modules/GObjectIntrospection.cmake ++++ b/cmake/modules/GObjectIntrospection.cmake +@@ -122,9 +122,7 @@ macro(gir_add_introspection gir) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_gir_name}_files "${_gir_files}") + + add_custom_command( +- COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS= +- ${INTROSPECTION_SCANNER_ENV} +- ${G_IR_SCANNER} ++ COMMAND ${G_IR_SCANNER} + ${INTROSPECTION_SCANNER_ARGS} + --namespace=${_gir_namespace} + --nsversion=${_gir_version} +@@ -240,7 +238,6 @@ macro(gir_add_introspection_simple gir_l + ${_gir_identifies_prefixes} + ${_gir_deps} + --add-include-path=${SHARE_INSTALL_PREFIX}/gir-1.0 +- --library-path=${LIB_INSTALL_DIR} + ${_extra_library_path} + --pkg-export ${pkg_export_prefix}-${gir_library_version} + --c-include=${c_include} diff --git a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch index 23c3a96d43..51eaf7cfef 100644 --- a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch +++ b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch @@ -9,6 +9,7 @@ Content-Transfer-Encoding: 8bit * TRY_RUN: does not work for OE * HAVE_LKSTRFTIME is set by recipe as configure option +Upstream-Status: Inappropriate [Cross-compile specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- CMakeLists.txt | 23 ----------------------- diff --git a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch index e320f6342d..82f6972501 100644 --- a/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch +++ b/meta-gnome/recipes-gnome/evolution-data-server/evolution-data-server/0004-call-native-helpers.patch @@ -6,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Upstream-Status: Inappropriate[oe-specific] +Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- diff --git a/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb index 55fdba5e38..12d344bff5 100644 --- a/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb +++ b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb @@ -1,6 +1,6 @@ DESCRIPTION = "An icon theme for Gnome" SECTION = "x11/wm" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" HOMEPAGE = "http://code.google.com/p/faenza-icon-theme/" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" @@ -8,8 +8,7 @@ inherit allarch gtk-icon-cache S = "${WORKDIR}" -SRC_URI = "http://faenza-icon-theme.googlecode.com/files/${BPN}_${PV}.zip" -SRC_URI[md5sum] = "e9bd6106d13017ce06d24b586259ae9c" +SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${BPN}/${BPN}_${PV}.zip" SRC_URI[sha256sum] = "d4486fda0413f8a81a87e0dd2329f50f2a8a7cb4147b48cf147f0160add8174a" do_install() { diff --git a/meta-gnome/recipes-gnome/file-roller/file-roller_3.40.0.bb b/meta-gnome/recipes-gnome/file-roller/file-roller_3.40.0.bb deleted file mode 100644 index ccc82aec45..0000000000 --- a/meta-gnome/recipes-gnome/file-roller/file-roller_3.40.0.bb +++ /dev/null @@ -1,27 +0,0 @@ -SUMMARY = "An archive manager utility for the GNOME Environment" -LICENSE="GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ - libarchive \ - libnotify \ -" - -inherit gnomebase gsettings itstool gnome-help gettext upstream-version-is-even mime-xdg - -SRC_URI[archive.sha256sum] = "4a2886a3966200fb0a9cbba4e2b79f8dad9d26556498aacdaed71775590b3c0d" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'packagekit', '', d)}" - -PACKAGECONFIG[nautilus] = "-Dnautilus-actions=enabled,-Dnautilus-actions=disabled,nautilus" -PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false," - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${libdir}/nautilus \ -" diff --git a/meta-gnome/recipes-gnome/file-roller/file-roller_44.1.bb b/meta-gnome/recipes-gnome/file-roller/file-roller_44.1.bb new file mode 100644 index 0000000000..30760387f4 --- /dev/null +++ b/meta-gnome/recipes-gnome/file-roller/file-roller_44.1.bb @@ -0,0 +1,46 @@ +SUMMARY = "An archive manager utility for the GNOME Environment" +LICENSE="GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + + +DEPENDS = " \ + desktop-file-utils-native \ + glib-2.0-native \ + glib-2.0 \ + json-glib \ + gtk4 \ + libadwaita \ + libarchive \ + libhandy \ + libportal \ +" + +inherit gnomebase gsettings itstool gobject-introspection gnome-help gettext upstream-version-is-even mime-xdg gtk-icon-cache features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +EXTRA_OEMESON += "-Dintrospection=enabled" + +SRC_URI = "git://gitlab.gnome.org/GNOME/file-roller.git;protocol=https;branch=master" +SRCREV = "299e86c77d8fe600ee6658357e209b15c674397e" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[nautilus] = "-Dnautilus-actions=enabled,-Dnautilus-actions=disabled,nautilus" +PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,,packagekit" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${libdir}/nautilus \ +" + +EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross" + +do_write_config:append() { + cat >${WORKDIR}/meson-${PN}.cross <<EOF +[binaries] +cpio = '${bindir}/cpio' +EOF +} diff --git a/meta-gnome/recipes-gnome/gdm/gdm_41.0.bb b/meta-gnome/recipes-gnome/gdm/gdm_46.0.bb index e31ca13f0f..469281624c 100644 --- a/meta-gnome/recipes-gnome/gdm/gdm_41.0.bb +++ b/meta-gnome/recipes-gnome/gdm/gdm_46.0.bb @@ -1,23 +1,26 @@ SUMMARY = "GNOME Display Manager" -LICENSE="GPLv2" +LICENSE="GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = " \ + accountsservice \ + audit \ dconf-native \ gtk+3 \ - accountsservice \ + keyutils \ libcanberra \ + libgudev \ libpam \ + xserver-xorg \ " REQUIRED_DISTRO_FEATURES = "x11 systemd pam polkit gobject-introspection-data" GIR_MESON_OPTION = "" -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings gobject-introspection gettext systemd useradd itstool gnome-help features_check +inherit gnomebase gsettings pkgconfig gobject-introspection gettext systemd useradd itstool gnome-help features_check -SRC_URI[archive.sha256sum] = "5738c4293a9f5a80d4a6e9e06f4d0df3e9f313ca7b61bfb4d8afaba983e200dc" +SRC_URI[archive.sha256sum] = "8d6cb52176eca48b6bbf1cfe2fdae08d9677b5a0f2bca600dee4604de0dd1efc" EXTRA_OEMESON = " \ -Dplymouth=disabled \ @@ -25,6 +28,13 @@ EXTRA_OEMESON = " \ -Dpam-mod-dir=${base_libdir}/security \ " +do_install:prepend() { + sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.c + sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-worker-enum-types.h + sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.c + sed -i -e 's|${B}/||g' ${B}/daemon/gdm-session-enum-types.h +} + do_install:append() { rm -rf ${D}/run ${D}${localstatedir}/run } @@ -54,4 +64,3 @@ FILES:${PN} += " \ " RDEPENDS:${PN} += "${PN}-base" - diff --git a/meta-gnome/recipes-gnome/gedit/gedit/0001-fix-for-clang-18.patch b/meta-gnome/recipes-gnome/gedit/gedit/0001-fix-for-clang-18.patch new file mode 100644 index 0000000000..40fd93b984 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/gedit/0001-fix-for-clang-18.patch @@ -0,0 +1,32 @@ +Signed-off-by: Markus Volk <f_l_k@t-online.de> +Upstream-Status: Inappropriate [https://gitlab.gnome.org/GNOME/gedit/-/issues/588] + +Temporary workaround to fix build: +../plugins/quickhighlight/gedit-quick-highlight-plugin.c: In function ‘gedit_quick_highlight_plugin_load_style’: +../plugins/quickhighlight/gedit-quick-highlight-plugin.c:96:47: error: implicit declaration of function ‘gtk_source_style_copy’; did you mean ‘gtk_source_style_apply’? [-Wimplicit-function-declaration] + + 96 | plugin->priv->style = gtk_source_style_copy (style); + | ^~~~~~~~~~~~~~~~~~~~~ + | gtk_source_style_apply +../plugins/quickhighlight/gedit-quick-highlight-plugin.c:96:47: warning: nested extern declaration of ‘gtk_source_style_copy’ [-Wnested-externs] +../plugins/quickhighlight/gedit-quick-highlight-plugin.c:96:45: error: assignment to ‘GtkSourceStyle *’ {aka ‘struct _GtkSourceStyle *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion] + 96 | plugin->priv->style = gtk_source_style_copy (style); + | ^ + +--- a/plugins/quickhighlight/gedit-quick-highlight-plugin.c 2024-02-20 08:11:47.925749255 +0100 ++++ b/plugins/quickhighlight/gedit-quick-highlight-plugin.c 2024-02-20 08:12:16.218594067 +0100 +@@ -90,11 +90,12 @@ + if (style_scheme != NULL) + { + style = gtk_source_style_scheme_get_style (style_scheme, "quick-highlight-match"); +- ++#if 0 + if (style != NULL) + { + plugin->priv->style = gtk_source_style_copy (style); + } ++#endif + } + } + + diff --git a/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb b/meta-gnome/recipes-gnome/gedit/gedit_46.2.bb index 5a9c499764..6cdc33c1cc 100644 --- a/meta-gnome/recipes-gnome/gedit/gedit_40.1.bb +++ b/meta-gnome/recipes-gnome/gedit/gedit_46.2.bb @@ -1,32 +1,39 @@ SUMMARY = "GNOME editor" SECTION = "x11/gnome" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" -GNOMEBASEBUILDCLASS = "meson" DEPENDS = " \ + appstream-glib-native \ + desktop-file-utils-native \ + libgedit-amtk \ + libgedit-gtksourceview \ gdk-pixbuf-native \ gtk+3 \ gsettings-desktop-schemas \ libpeas \ - libsoup-2.4 \ + libsoup \ gspell \ - gtksourceview4 \ tepl \ " -inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc vala gettext features_check mime-xdg python3targetconfig +inherit gnomebase gsettings itstool gnome-help gobject-introspection gtk-doc gettext features_check mime-xdg gtk-icon-cache python3targetconfig def gnome_verdir(v): return oe.utils.trim_version(v, 1) -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "55e394a82cb65678b1ab49526cf5bd43f00d8fba21476a4849051a8e137d3691" +SRC_URI += "file://0001-fix-for-clang-18.patch" +SRC_URI[archive.sha256sum] = "c0866412bad147ebace2d282ffcbb5a0e9a304b20fd55640bee21c81e6d501ef" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +do_install:prepend() { + sed -i -e 's|${B}||g' ${B}/plugins/filebrowser/gedit-file-browser-enum-types.c +} + GIR_MESON_OPTION = "" GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-amtk_5.8.0.bb b/meta-gnome/recipes-gnome/gedit/libgedit-amtk_5.8.0.bb new file mode 100644 index 0000000000..11da836ff4 --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/libgedit-amtk_5.8.0.bb @@ -0,0 +1,17 @@ +SUMMARY = "libgedit-amtk - Actions, Menus and Toolbars Kit for GTK applications" +SECTION = "gnome" +LICENSE = "LGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" + +DEPENDS = "glib-2.0 gtk+3" + +inherit meson pkgconfig gobject-introspection features_check gtk-doc + +SRC_URI = "git://github.com/gedit-technology/libgedit-amtk.git;protocol=https;branch=main" +S = "${WORKDIR}/git" +SRCREV = "f6fbfd1c57de3d97cab2056a5c3088b0da49e8a4" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +GIR_MESON_OPTION = "gobject_introspection" +GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.1.0.bb b/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.1.0.bb new file mode 100644 index 0000000000..0ebc22acbd --- /dev/null +++ b/meta-gnome/recipes-gnome/gedit/libgedit-gtksourceview_299.1.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "Gedit Technology - Source code editing widget" +SECTION = "gnome" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = "glib-2.0 gtk+3 libxml2" + +inherit meson pkgconfig gobject-introspection features_check gtk-doc + +SRC_URI = "git://github.com/gedit-technology/libgedit-gtksourceview.git;protocol=https;branch=main" +S = "${WORKDIR}/git" +SRCREV = "b271a625ca057cc3fa7d5ac83285c5d4e038202e" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +GIR_MESON_OPTION = "gobject_introspection" +GTKDOC_MESON_OPTION = "gtk_doc" + +do_install:prepend() { + sed -i -e 's|${B}||g' ${B}/gtksourceview/gtksource-enumtypes.c + sed -i -e 's|${B}||g' ${B}/gtksourceview/gtksource-enumtypes.h +} + +FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb b/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb index c0f3c27af4..a1495d6153 100644 --- a/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.2.bb +++ b/meta-gnome/recipes-gnome/geocode-glib/geocode-glib_3.26.4.bb @@ -1,9 +1,8 @@ SUMMARY = "A convenience library for the geocoding" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" -GNOMEBASEBUILDCLASS = "meson" GIR_MESON_OPTION = "enable-introspection" GTKDOC_MESON_OPTION = "enable-gtk-doc" @@ -11,10 +10,9 @@ inherit gnomebase gobject-introspection gettext gtk-doc upstream-version-is-even DEPENDS = " \ json-glib \ - libsoup-2.4 \ + libsoup-3.0 \ " -SRC_URI[archive.md5sum] = "e1ef140a11a543643d170dc701009e39" -SRC_URI[archive.sha256sum] = "01fe84cfa0be50c6e401147a2bc5e2f1574326e2293b55c69879be3e82030fd1" +SRC_URI[archive.sha256sum] = "2d9a6826d158470449a173871221596da0f83ebdcff98b90c7049089056a37aa" -EXTRA_OEMESON = "-Denable-installed-tests=false" +EXTRA_OEMESON = "-Denable-installed-tests=false -Dsoup2=false" diff --git a/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb b/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb deleted file mode 100644 index b2fd4b0316..0000000000 --- a/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "A GObject-based Exiv2 wrapper" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" - -DEPENDS = "exiv2 python3-pygobject-native" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" - -inherit gnomebase gobject-introspection gtk-doc python3native - -SRC_URI[archive.sha256sum] = "e58279a6ff20b6f64fa499615da5e9b57cf65ba7850b72fafdf17221a9d6d69e" - -EXTRA_OEMESON = " \ - -Dvapi=false \ - -Dpython3_girdir=${PYTHON_SITEPACKAGES_DIR}/gi/overrides \ -" - -PACKAGES =+ "${PN}-python3" -FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" -RDEPENDS:${PN}-python3 = "${PN}" diff --git a/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb b/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb new file mode 100644 index 0000000000..8fd6583104 --- /dev/null +++ b/meta-gnome/recipes-gnome/gexiv2/gexiv2_0.14.2.bb @@ -0,0 +1,34 @@ +SUMMARY = "A GObject-based Exiv2 wrapper" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2" + +DEPENDS = "exiv2 python3-pygobject-native" + +GTKDOC_MESON_OPTION = "gtk_doc" + +inherit gnomebase gobject-introspection gtk-doc python3native vala + +SRC_URI[archive.sha256sum] = "2a0c9cf48fbe8b3435008866ffd40b8eddb0667d2212b42396fdf688e93ce0be" + +EXTRA_OEMESON = " \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)} \ +" + +PACKAGES =+ "${PN}-python3" +FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" +RDEPENDS:${PN}-python3 = "${PN}" + +PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" +src_package_preprocess () { + # Trim build paths from comments in generated sources to ensure reproducibility + sed -i -e "s,${B}/../${BPN}-${PV}/${BPN}/,,g" \ + ${B}/gexiv2/gexiv2-enums.cpp +} + +do_install:append() { + # gexiv2 harcodes usr/lib as install path, so this corrects it to actual libdir + if [ "${prefix}/lib" != "${libdir}" ]; then + mv ${D}/${prefix}/lib/* ${D}/${libdir}/ + rm -rf ${D}/${prefix}/lib + fi +} diff --git a/meta-gnome/recipes-gnome/gfbgraph/gfbgraph/0001-Update-rest-requirement-to-rest-1.0.patch b/meta-gnome/recipes-gnome/gfbgraph/gfbgraph/0001-Update-rest-requirement-to-rest-1.0.patch deleted file mode 100644 index c24a9e569f..0000000000 --- a/meta-gnome/recipes-gnome/gfbgraph/gfbgraph/0001-Update-rest-requirement-to-rest-1.0.patch +++ /dev/null @@ -1,72 +0,0 @@ -From d058e6eb6c9ebf5f4fff89ec0ac93323fc64c1ba Mon Sep 17 00:00:00 2001 -From: Tim Orling <ticotimo@gmail.com> -Date: Mon, 18 Oct 2021 08:42:35 -0700 -Subject: [PATCH] Update rest requirement to rest-1.0 - -librest 0.8.1 declares rest-1.0 and was released four years ago. - -https://gitlab.gnome.org/GNOME/librest/-/commit/2971b3b92701f70fc368ad64bd25cefaea043f87 - -Upstream-Status: Submitted -[https://gitlab.gnome.org/GNOME/libgfbgraph/-/merge_requests/6] - -Signed-off-by: Tim Orling <ticotimo@gmail.com> - ---- - .dir-locals.el | 2 +- - configure.ac | 2 +- - gfbgraph/Makefile.am | 2 +- - libgfbgraph.pc.in | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/.dir-locals.el b/.dir-locals.el -index 77abbf0..d39cdf2 100644 ---- a/.dir-locals.el -+++ b/.dir-locals.el -@@ -3,7 +3,7 @@ - "/usr/include/json-glib-1.0" - "/usr/include/goa-1.0" - "/usr/lib64/goa-1.0/include" -- "/usr/include/rest-0.7" -+ "/usr/include/rest-1.0" - "/usr/include/dbus-1.0" - "/usr/lib64/dbus-1.0/include" - "/usr/include/gio-unix-2.0/" -diff --git a/configure.ac b/configure.ac -index fd1231f..9b49f3f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,7 +40,7 @@ AM_CONDITIONAL([ENABLE_GTK_DOC], false) - - GOBJECT_INTROSPECTION_CHECK([1.30.0]) - --PKG_CHECK_MODULES(LIBGFBGRAPH, [glib-2.0 gio-2.0 gobject-2.0 rest-0.7 json-glib-1.0]) -+PKG_CHECK_MODULES(LIBGFBGRAPH, [glib-2.0 gio-2.0 gobject-2.0 rest-1.0 json-glib-1.0]) - - PKG_CHECK_MODULES(SOUP, [libsoup-2.4]) - SOUP_UNSTABLE_CPPFLAGS=-DLIBSOUP_USE_UNSTABLE_REQUEST_API -diff --git a/gfbgraph/Makefile.am b/gfbgraph/Makefile.am -index d07b90d..b993ab7 100644 ---- a/gfbgraph/Makefile.am -+++ b/gfbgraph/Makefile.am -@@ -60,7 +60,7 @@ GFBGraph_@API_MAJOR@_@API_MINOR@_gir_INCLUDES = \ - GLib-2.0 \ - Gio-2.0 \ - GObject-2.0 \ -- Rest-0.7 \ -+ Rest-1.0 \ - Json-1.0 \ - Soup-2.4 - -diff --git a/libgfbgraph.pc.in b/libgfbgraph.pc.in -index f87073e..d4f4e3a 100644 ---- a/libgfbgraph.pc.in -+++ b/libgfbgraph.pc.in -@@ -9,6 +9,6 @@ apiversion=@API_VERSION@ - Name: libgfbgraph - Description: GObject library for Facebook Graph API - Version: @VERSION@ --Requires: gio-2.0 glib-2.0 goa-1.0 json-glib-1.0 libsoup-2.4 rest-0.7 -+Requires: gio-2.0 glib-2.0 goa-1.0 json-glib-1.0 libsoup-2.4 rest-1.0 - Libs: -L${libdir} -lgfbgraph-${apiversion} - Cflags: -I${includedir}/gfbgraph-@API_VERSION@ diff --git a/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.4.bb b/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.4.bb deleted file mode 100644 index 23b3bf63a5..0000000000 --- a/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.4.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A GObject library for Facebook Graph API" -SECTION = "x11/gnome" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=5804fe91d3294da4ac47c02b454bbc8a" - -DEPENDS = " \ - glib-2.0 \ - json-glib \ - rest \ - gnome-online-accounts \ -" - -inherit gnomebase gtk-doc gobject-introspection pkgconfig - -SRC_URI += " file://0001-Update-rest-requirement-to-rest-1.0.patch" -SRC_URI[archive.md5sum] = "c38af63e49f8fe8baad99537956b69ba" -SRC_URI[archive.sha256sum] = "6065391f35e7335588cc6b0cc4c1abbce7341488573a654551264cb9793b9379" - -do_install:append() { - # they install all the autotools files (NEWS AUTHORS..) to /usr/doc which - # is not a standard path exactly - rm -rf ${D}${prefix}/doc -} diff --git a/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb b/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb new file mode 100644 index 0000000000..9b1a02bb09 --- /dev/null +++ b/meta-gnome/recipes-gnome/gfbgraph/gfbgraph_0.2.5.bb @@ -0,0 +1,26 @@ +SUMMARY = "A GObject library for Facebook Graph API" +SECTION = "x11/gnome" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5804fe91d3294da4ac47c02b454bbc8a" + +DEPENDS = " \ + glib-2.0 \ + json-glib \ + librest \ + libsoup-2.4 \ + gnome-online-accounts \ +" +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gtk-doc gobject-introspection pkgconfig features_check + +# for gnome-online-accounts +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +#SRC_URI += " file://0001-Update-rest-requirement-to-rest-1.0.patch" +SRC_URI[archive.sha256sum] = "9cb381b3f78ba1136df97af3f06e3b11dcc2ab339ac08f74eda0f8057d6603e3" + +do_install:append() { + # they install all the autotools files (NEWS AUTHORS..) to /usr/doc which + # is not a standard path exactly + rm -rf ${D}${prefix}/doc +} diff --git a/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb b/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb deleted file mode 100644 index 438f8113a6..0000000000 --- a/meta-gnome/recipes-gnome/ghex/ghex_3.18.4.bb +++ /dev/null @@ -1,17 +0,0 @@ -SUMMARY = "GHex - a hex editor for GNOME" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ -" - -inherit gnomebase gsettings gtk-icon-cache gnome-help gettext upstream-version-is-even - -SRC_URI[archive.md5sum] = "7e6ed808766bc18285bdc6999bdf0f15" -SRC_URI[archive.sha256sum] = "c2d9c191ff5bce836618779865bee4059db81a3a0dff38bda3cc7a9e729637c0" - -FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/ghex/ghex_46.0.bb b/meta-gnome/recipes-gnome/ghex/ghex_46.0.bb new file mode 100644 index 0000000000..41d8391636 --- /dev/null +++ b/meta-gnome/recipes-gnome/ghex/ghex_46.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "GHex - a hex editor for GNOME" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + + +DEPENDS = " \ + desktop-file-utils-native \ + glib-2.0-native \ + gtk4 \ + libadwaita \ +" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +inherit gnomebase gsettings gtk-icon-cache gnome-help gettext gobject-introspection vala gi-docgen + +SRC_URI[archive.sha256sum] = "a1c46f3020cb358b8323025db3a539c97d994a4c46f701f48edc6357f7fbcbd1" + +REQUIRED_DISTRO_FEATURES = "opengl" + +FILES:${PN} += "${libdir} ${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch b/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch index 55af681af0..12b4b08c7e 100644 --- a/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch +++ b/meta-gnome/recipes-gnome/gjs/gjs/0001-Support-cross-builds-a-bit-better.patch @@ -1,4 +1,4 @@ -From 550e98013b0e003c1a6771d8e811375913adf16b Mon Sep 17 00:00:00 2001 +From 8a78a7996b01aba21377ceb7547da673fd30a391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Wed, 27 Oct 2021 20:18:47 +0200 Subject: [PATCH] Support cross builds a bit better @@ -9,7 +9,7 @@ Content-Transfer-Encoding: 8bit * Do not build/run mozjs-linked program * Do not try to run test applications -Upstream-Status: Submitted[https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690] +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- @@ -17,10 +17,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index dfcc2c3..192b1b5 100644 +index c9b26d6..3058e8c 100644 --- a/meson.build +++ b/meson.build -@@ -234,6 +234,7 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with +@@ -262,6 +262,7 @@ release builds of SpiderMonkey. Try configuring SpiderMonkey with --disable-debug.''') endif @@ -28,15 +28,15 @@ index dfcc2c3..192b1b5 100644 # Check if a minimal SpiderMonkey program compiles, links, and runs. If not, # it's most likely the case that SpiderMonkey was configured incorrectly, for # example by building mozglue as a shared library. -@@ -254,6 +255,7 @@ could not be compiled, linked, or run. Most likely you should build it with a - different configuration. Check the recommended configuration: - https://github.com/spidermonkey-embedders/spidermonkey-embedding-examples/blob/esr78/docs/Building%20SpiderMonkey.md''') +@@ -292,6 +293,7 @@ elif minimal_program.returncode() != 0 + failed to execute. Most likely you should build it with a different + configuration.''' + recommended_configuration) endif +endif # not meson.is_cross_build() have_printf_alternative_int = cc.compiles(''' #include <stdio.h> -@@ -662,7 +664,7 @@ endif +@@ -690,7 +692,7 @@ subdir('installed-tests') # Note: The test program in test/ needs to be ported # to Windows before we can build it on Windows. @@ -45,6 +45,3 @@ index dfcc2c3..192b1b5 100644 subdir('test') endif --- -2.31.1 - diff --git a/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch b/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch index 8777d14f53..e932f06d27 100644 --- a/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch +++ b/meta-gnome/recipes-gnome/gjs/gjs/0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch @@ -1,13 +1,17 @@ -From 6a29818204e647d5fad68ed7ca8cac53d301cae6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +From 29221ae42e424c6100b8c313d2b61801430c872d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller=20installed=5Ftests=20is=20false?= + <schnitzeltony@gmail.com> Date: Wed, 27 Oct 2021 20:04:02 +0200 Subject: [PATCH] meson.build: Do not add dir installed-tests when - installed_tests is false MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Upstream-Status: Submitted[https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690] +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/690] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- @@ -15,12 +19,12 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 6878e2e..edbbf79 100644 +index 3058e8c..06cf8da 100644 --- a/meson.build +++ b/meson.build -@@ -635,7 +635,9 @@ if not get_option('skip_gtk_tests') - have_gtk4 = dependency('gtk4', required: false).found() - endif +@@ -688,7 +688,9 @@ endif + + ### Tests and test setups ###################################################### -subdir('installed-tests') +if get_option('installed_tests') @@ -29,6 +33,3 @@ index 6878e2e..edbbf79 100644 # Note: The test program in test/ needs to be ported # to Windows before we can build it on Windows. --- -2.31.1 - diff --git a/meta-gnome/recipes-gnome/gjs/gjs_1.70.0.bb b/meta-gnome/recipes-gnome/gjs/gjs_1.80.2.bb index af4d7f6cac..1d781d078c 100644 --- a/meta-gnome/recipes-gnome/gjs/gjs_1.70.0.bb +++ b/meta-gnome/recipes-gnome/gjs/gjs_1.80.2.bb @@ -2,13 +2,12 @@ SUMMARY = "Javascript bindings for GNOME" LICENSE = "MIT & LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=8dcea832f6acf45d856abfeb2d51ec48" -GNOMEBASEBUILDCLASS = "meson" -DEPENDS = "mozjs-78 gtk4" +DEPENDS = "mozjs-115 cairo" -inherit gnomebase gsettings gobject-introspection vala gettext features_check upstream-version-is-even pkgconfig +inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even pkgconfig -SRC_URI[archive.sha256sum] = "4b0629341a318a02374e113ab97f9a9f3325423269fc1e0b043a5ffb01861c5f" +SRC_URI[archive.sha256sum] = "135e39c5ac591096233e557cfe577d64093f5054411d47cb2e214bad7d4199bd" SRC_URI += " \ file://0001-Support-cross-builds-a-bit-better.patch \ file://0002-meson.build-Do-not-add-dir-installed-tests-when-inst.patch \ @@ -21,6 +20,7 @@ GIR_MESON_OPTION = "" EXTRA_OEMESON = " \ -Dinstalled_tests=false \ -Dskip_dbus_tests=true \ + -Dskip_gtk_tests=true \ " LDFLAGS:append:mipsarch = " -latomic" diff --git a/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.3.bb b/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.4.bb index 3e7b254a8f..8d602eee44 100644 --- a/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.3.3.bb +++ b/meta-gnome/recipes-gnome/gnome-autoar/gnome-autoar_0.4.4.bb @@ -1,5 +1,5 @@ SUMMARY = "GNOME archive library" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS = " \ @@ -7,9 +7,13 @@ DEPENDS = " \ libarchive \ " +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GTKDOC_MESON_OPTION = "gtk_doc" + inherit gnomebase gobject-introspection gtk-doc vala -SRC_URI[archive.sha256sum] = "272400f73a375a7e88fdf1e12591bfb8f3f03edf01780cadcd74f70b613e5c04" +SRC_URI[archive.sha256sum] = "c0afbe333bcf3cb1441a1f574cc8ec7b1b8197779145d4edeee2896fdacfc3c2" do_compile:prepend() { export GIR_EXTRA_LIBS_PATH="${B}/gnome-autoar/.libs" diff --git a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb deleted file mode 100644 index 289cc9ed5e..0000000000 --- a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_41.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "GNOME wallpapers" -LICENSE = "GPL-2.0-only & CC-BY-2.0 & CC-BY-SA-2.0 & CC-BY-SA-3.0" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=75859989545e37968a99b631ef42722e \ - file://COPYING_CCBY2;md5=effd72660912b727dfa9722cb295d7be \ - file://COPYING_CCBYSA2;md5=4737b7833b3212fdf30257f056ef3e64 \ - file://COPYING_CCBYSA3;md5=b52fb0a6df395efb7047cb6fc56bfd7e \ -" - -SECTION = "x11/gnome" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gettext allarch - -SRC_URI[archive.sha256sum] = "1da1ac0d261bedf0fcd2c85b480bc65505e23cf51f1143126c0d37717e693145" - -FILES:${PN} += " \ - ${datadir}/backgrounds \ - ${datadir}/gnome-background-properties \ -" diff --git a/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_46.0.bb b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_46.0.bb new file mode 100644 index 0000000000..d938ae94cb --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-backgrounds/gnome-backgrounds_46.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "GNOME wallpapers" +LICENSE = "CC-BY-SA-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=b52fb0a6df395efb7047cb6fc56bfd7e" + +SECTION = "x11/gnome" + +inherit gnomebase gettext allarch + +SRC_URI[archive.sha256sum] = "4ddd3ac439a4a067876805921bb75f4d3c8b85a218d47c276dddde8928443c2e" + +FILES:${PN} += " \ + ${datadir}/backgrounds \ + ${datadir}/gnome-background-properties \ +" + +RDEPENDS:${PN} += "libjxl" diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3/0001-build-Fix-build-for-newer-versions-of-meson.patch b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3/0001-build-Fix-build-for-newer-versions-of-meson.patch new file mode 100644 index 0000000000..16c87b6a63 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3/0001-build-Fix-build-for-newer-versions-of-meson.patch @@ -0,0 +1,25 @@ +From 7355664f671bec7852e3c4523d75c27fc77a2eb2 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Fri, 7 Jan 2022 12:51:22 +0100 +Subject: [PATCH] build: Fix build for newer versions of meson + +sendto/meson.build:24:5: ERROR: Function does not take positional arguments. + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + sendto/meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/sendto/meson.build b/sendto/meson.build +index 24a4e39..3e233a0 100644 +--- a/sendto/meson.build ++++ b/sendto/meson.build +@@ -22,7 +22,6 @@ desktop_in = configure_file( + ) + + i18n.merge_file ( +- desktop, + type: 'desktop', + input: desktop_in, + output: desktop, diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb index e3806f64fa..2a97263125 100644 --- a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.34.5.bb +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth3_3.34.5.bb @@ -1,5 +1,5 @@ SUMMARY = "GNOME bluetooth manager" -LICENSE = "GPLv2 & LGPLv2.1" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ " @@ -8,7 +8,9 @@ SECTION = "x11/gnome" DEPENDS = "udev gtk+3 libnotify libcanberra bluez5" -GNOMEBASEBUILDCLASS = "meson" +GNOMEBN = "gnome-bluetooth" +S = "${WORKDIR}/${GNOMEBN}-${PV}" + GTKDOC_MESON_OPTION = "gtk_doc" inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection upstream-version-is-even @@ -18,7 +20,20 @@ REQUIRED_DISTRO_FEATURES = "x11" # gtk-icon-cache bbclass will take care of this for us. EXTRA_OEMESON = "-Dicon_update=false" +SRC_URI += " file://0001-build-Fix-build-for-newer-versions-of-meson.patch" SRC_URI[archive.md5sum] = "d83faa54abaf64bb40b5313bc233e74e" SRC_URI[archive.sha256sum] = "6c949e52c8becc2054daacd604901f66ce5cf709a5fa91c4bb7cacc939b53ea9" +# avoid clashes with gnome-bluetooth +do_install:append() { + # just bluetooth-sendto / bluetooth-sendto.desktop only + rm -rf ${D}${bindir} + rm -rf ${D}${datadir}/applications +} + +FILES:${PN} += "${datadir}/gnome-bluetooth" + +# offer alternate bluetooth-sendto +RRECOMMENS:${PN} += "gnome-bluetooth" + RDEPENDS:${PN} += "bluez5" diff --git a/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_46.0.bb b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_46.0.bb new file mode 100644 index 0000000000..1b29e52c75 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_46.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "GNOME bluetooth manager" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ +" + +SECTION = "x11/gnome" + +DEPENDS = " \ + udev \ + libnotify \ + libcanberra \ + bluez5 \ + upower \ + gtk4 \ + gsound \ + libadwaita \ +" + +GTKDOC_MESON_OPTION = "gtk_doc" +GTKIC_VERSION = "4" + +inherit features_check gnomebase gtk-icon-cache gtk-doc gobject-introspection + +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI[archive.sha256sum] = "13fe1e75f317acdbdf5e80c9029d2e0632d60a9ccf72a43ae36eb7545021fbef" + +BT_PULSE_PACKS = " \ + pulseaudio-lib-bluez5-util \ + pulseaudio-module-bluetooth-discover \ + pulseaudio-module-bluetooth-policy \ + pulseaudio-module-bluez5-device \ + pulseaudio-module-bluez5-discover \ +" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" +PACKAGECONFIG[pulseaudio] = ",,,${BT_PULSE_PACKS}" + +FILES:${PN} += "${datadir}/gnome-bluetooth-3.0" + +RDEPENDS:${PN} += "bluez5" diff --git a/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb b/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_46.0.bb index 8c0183cf10..5c7e27378c 100644 --- a/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_40.1.bb +++ b/meta-gnome/recipes-gnome/gnome-calculator/gnome-calculator_46.0.bb @@ -1,33 +1,35 @@ SUMMARY = "GNOME calculator" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SECTION = "x11/gnome" DEPENDS = " \ yelp-tools-native \ - gtk+3 \ - libsoup-2.4 \ + gtk4 \ + libsoup-3.0 \ libgee \ + libxml2 \ libmpc \ - gtksourceview4 \ - libhandy \ + gtksourceview5 \ + libadwaita \ " GIR_MESON_OPTION = 'disable-introspection' GIR_MESON_ENABLE_FLAG = 'false' GIR_MESON_DISABLE_FLAG = 'true' +VALA_MESON_OPTION = '' -GNOMEBASEBUILDCLASS = "meson" +GTKIC_VERSION = '4' inherit gnomebase gobject-introspection gnome-help vala gtk-icon-cache gettext features_check def gnome_verdir(v): return oe.utils.trim_version(v, 1) -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" -SRC_URI[archive.sha256sum] = "7fe6c561f7b1f485ac106219772e45cc135c983bfa4278dd2d3fd83b57ff6af6" +SRC_URI[archive.sha256sum] = "44694fda6b6233923f5c10a48d02d2cf5724e011a8a85789074c953101f33bf1" FILES:${PN} += " \ ${datadir}/dbus-1 \ diff --git a/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.0.bb b/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_46.0.bb index 4b9b14a480..707c4b583f 100644 --- a/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_41.0.bb +++ b/meta-gnome/recipes-gnome/gnome-calendar/gnome-calendar_46.0.bb @@ -1,28 +1,33 @@ SUMMARY = "GNOME calendar" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" SECTION = "x11/gnome" DEPENDS = " \ - gtk+3 \ + gtk4 \ libical \ gsettings-desktop-schemas \ evolution-data-server \ - libsoup-2.4 \ + libsoup \ libdazzle \ - libhandy \ - libgweather \ + libadwaita \ + libgweather4 \ geoclue \ + geocode-glib \ " -GNOMEBASEBUILDCLASS = "meson" - +GTKIC_VERSION = '4' inherit gnomebase gsettings gtk-icon-cache gettext features_check upstream-version-is-even mime-xdg -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" + +SRC_URI[archive.sha256sum] = "5e21960c174bd8606d9089bf79c70f31070ab4837919878b00db2f14af9fe718" -SRC_URI[archive.sha256sum] = "73ac923c6618bd0957d6b7c012a00a47bff67ee934249358817433772ceb193f" +do_install:prepend() { + sed -i -e 's|${S}/src|${TARGET_DBGSRC_DIR}/src|g' ${B}/src/gcal-enum-types.h + sed -i -e 's|${S}/src|${TARGET_DBGSRC_DIR}/src|g' ${B}/src/gcal-enum-types.c +} FILES:${PN} += " \ ${datadir}/gnome-shell \ diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_46.0.bb b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_46.0.bb new file mode 100644 index 0000000000..bb53b58df7 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_46.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "GNOME Chess is a 2D chess game, where games can be played between a combination of human and computer players." +HOMEPAGE = "https://wiki.gnome.org/Apps/Chess" +LICENSE = "GPL-3.0-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl" + +GTKIC_VERSION = "4" + +DEPENDS = " \ + appstream-glib-native \ + cairo \ + desktop-file-utils-native \ + glib-2.0 \ + glib-2.0 \ + gtk4 \ + libadwaita \ + librsvg \ + pango \ +" + +RRECOMMENDS:${PN} = "gnuchess" + +SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;branch=master" + +inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings + +GIR_MESON_OPTION = "" + +S = "${WORKDIR}/git" +SRCREV = "c3625ee59ab3acfd7566ef04300b15ddbadaaac3" + +FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnuchess/0001-Remove-register-storage-class-classifier.patch b/meta-gnome/recipes-gnome/gnome-chess/gnuchess/0001-Remove-register-storage-class-classifier.patch new file mode 100644 index 0000000000..69237fd57a --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-chess/gnuchess/0001-Remove-register-storage-class-classifier.patch @@ -0,0 +1,149 @@ +From 321eb9b1ca1b230063259dc43be8a2ab2f3bfee9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 17 Jan 2023 22:16:36 -0800 +Subject: [PATCH] Remove 'register' storage class classifier + +This is gone with c++17 + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/frontend/atak.cc | 4 ++-- + src/frontend/lexpgn.cc | 34 +++++++++++++++++----------------- + src/frontend/util.cc | 2 +- + 3 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/src/frontend/atak.cc b/src/frontend/atak.cc +index ef19d87..640e150 100644 +--- a/src/frontend/atak.cc ++++ b/src/frontend/atak.cc +@@ -37,7 +37,7 @@ short SqAtakd (short sq, short side) + * + **************************************************************************/ + { +- register BitBoard *a, b, *c, d, blocker; ++ BitBoard *a, b, *c, d, blocker; + int t; + + a = board.b[side]; +@@ -89,7 +89,7 @@ BitBoard AttackTo (int sq, int side) + * + ***************************************************************************/ + { +- register BitBoard *a, b, *c, e, blocker; ++ BitBoard *a, b, *c, e, blocker; + int t; + + a = board.b[side]; +diff --git a/src/frontend/lexpgn.cc b/src/frontend/lexpgn.cc +index 475899d..971aa13 100644 +--- a/src/frontend/lexpgn.cc ++++ b/src/frontend/lexpgn.cc +@@ -2431,9 +2431,9 @@ extern int yylex (void); + */ + YY_DECL + { +- register yy_state_type yy_current_state; +- register char *yy_cp, *yy_bp; +- register int yy_act; ++ yy_state_type yy_current_state; ++ char *yy_cp, *yy_bp; ++ int yy_act; + + #line 153 "lexpgn.ll" + +@@ -3118,9 +3118,9 @@ case YY_STATE_EOF(RAV): + */ + static int yy_get_next_buffer (void) + { +- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; +- register char *source = (yytext_ptr); +- register int number_to_move, i; ++ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; ++ char *source = (yytext_ptr); ++ int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) +@@ -3252,8 +3252,8 @@ static int yy_get_next_buffer (void) + + static yy_state_type yy_get_previous_state (void) + { +- register yy_state_type yy_current_state; +- register char *yy_cp; ++ yy_state_type yy_current_state; ++ char *yy_cp; + + yy_current_state = (yy_start); + yy_current_state += YY_AT_BOL(); +@@ -3278,8 +3278,8 @@ static int yy_get_next_buffer (void) + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) + { +- register int yy_is_jam; +- register char *yy_cp = (yy_c_buf_p); ++ int yy_is_jam; ++ char *yy_cp = (yy_c_buf_p); + + yy_current_state = yy_nxt[yy_current_state][1]; + yy_is_jam = (yy_current_state <= 0); +@@ -3296,9 +3296,9 @@ static int yy_get_next_buffer (void) + return yy_is_jam ? 0 : yy_current_state; + } + +- static void yyunput (int c, register char * yy_bp ) ++ static void yyunput (int c, char * yy_bp ) + { +- register char *yy_cp; ++ char *yy_cp; + + yy_cp = (yy_c_buf_p); + +@@ -3308,10 +3308,10 @@ static int yy_get_next_buffer (void) + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ +- register yy_size_t number_to_move = (yy_n_chars) + 2; +- register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ ++ yy_size_t number_to_move = (yy_n_chars) + 2; ++ char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; +- register char *source = ++ char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) +@@ -3925,7 +3925,7 @@ int yylex_destroy (void) + #ifndef yytext_ptr + static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) + { +- register int i; ++ int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; + } +@@ -3934,7 +3934,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) + #ifdef YY_NEED_STRLEN + static int yy_flex_strlen (yyconst char * s ) + { +- register int n; ++ int n; + for ( n = 0; s[n]; ++n ) + ; + +diff --git a/src/frontend/util.cc b/src/frontend/util.cc +index 5d3efe2..f7f7f1d 100644 +--- a/src/frontend/util.cc ++++ b/src/frontend/util.cc +@@ -75,7 +75,7 @@ void UpdateFriends (void) + * + ***************************************************************************/ + { +- register BitBoard *w, *b; ++ BitBoard *w, *b; + + w = board.b[white]; + b = board.b[black]; +-- +2.39.1 + diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnuchess_6.2.9.bb b/meta-gnome/recipes-gnome/gnome-chess/gnuchess_6.2.9.bb new file mode 100644 index 0000000000..78606b8a2a --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-chess/gnuchess_6.2.9.bb @@ -0,0 +1,20 @@ +SUMMARY = "GNU Chess is a chess-playing program." +HOMEPAGE = "http://www.gnu.org/software/chess/" +LICENSE = "GPL-3.0-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "https://git.savannah.gnu.org/cgit/chess.git/snapshot/chess-${PV}.tar.gz \ + file://0001-Remove-register-storage-class-classifier.patch" +SRC_URI[sha256sum] = "03f9e844ccdd48d20ee49314174404f8b643d83bb8ce9ec9d2e6a21f1b6fb9f5" + +S = "${WORKDIR}/chess-${PV}" + +inherit autotools gettext + +do_configure:prepend() { + touch ${S}/ABOUT-NLS + touch ${S}/man/gnuchess.1 +} + +FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/gnome-commander/gnome-commander/0001-Build-fix-needed-with-taglib-2.0.patch b/meta-gnome/recipes-gnome/gnome-commander/gnome-commander/0001-Build-fix-needed-with-taglib-2.0.patch new file mode 100644 index 0000000000..8f6920c2cc --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-commander/gnome-commander/0001-Build-fix-needed-with-taglib-2.0.patch @@ -0,0 +1,37 @@ +From dc3aa0ff5a41114b17816f1f36f6bb5631c6ab5c Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 7 Mar 2024 17:17:29 -0800 +Subject: [PATCH] Build fix needed with taglib 2.0 + +Fixes +| ../gnome-commander-1.16.1/src/tags/gnome-cmd-tags-taglib.cc:153:29: error: no member named 'sampleWidth' in 'TagLib::FLAC::Properties' +| 153 | if (flacProperties->sampleWidth()) +| | ~~~~~~~~~~~~~~ ^ +| ../gnome-commander-1.16.1/src/tags/gnome-cmd-tags-taglib.cc:154:67: error: no member named 'sampleWidth' in 'TagLib::FLAC::Properties' +| 154 | cout << "Audio.FLAC.SampleWidth " << flacProperties->sampleWidth()<< endl; +| | ~~~~~~~~~~~~~~ ^ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/tags/gnome-cmd-tags-taglib.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tags/gnome-cmd-tags-taglib.cc b/src/tags/gnome-cmd-tags-taglib.cc +index 9e65836..573f5eb 100644 +--- a/src/tags/gnome-cmd-tags-taglib.cc ++++ b/src/tags/gnome-cmd-tags-taglib.cc +@@ -150,8 +150,8 @@ bool getAudioProperties(GnomeCmdFileMetadata &metadata, const TagLib::AudioPrope + if (flacProperties) + { + metadata.add(TAG_AUDIO_CODEC,"FLAC"); +- if (flacProperties->sampleWidth()) +- cout << "Audio.FLAC.SampleWidth " << flacProperties->sampleWidth()<< endl; ++ if (flacProperties->bitsPerSample()) ++ cout << "Audio.FLAC.BitsPerSample " << flacProperties->bitsPerSample()<< endl; + + return true; + } +-- +2.44.0 + diff --git a/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb b/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb new file mode 100644 index 0000000000..bb36d59e56 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-commander/gnome-commander_1.16.1.bb @@ -0,0 +1,31 @@ +SUMMARY = "A light and fast file manager" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS += " \ + desktop-file-utils-native \ + glib-2.0-native \ + gtk+ \ +" + +CXXFLAGS += "-D_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR" + +inherit gnomebase itstool gettext gnome-help features_check meson gtk-icon-cache mime-xdg +ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +SRC_URI += "file://0001-Build-fix-needed-with-taglib-2.0.patch" +SRC_URI[archive.sha256sum] = "3f1d00c4a650fe7902167648286b32c9ca4ef86e31a5d8ccca0139f12d10d0b3" + +PACKAGECONFIG ??= "exiv2 taglib libgsf poppler" +PACKAGECONFIG[exiv2] = "-Dexiv2=enabled,-Dexiv2=disabled,exiv2" +PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" +PACKAGECONFIG[libgsf] = "-Dlibgsf=enabled,-Dlibgsf=disabled,libgsf" +PACKAGECONFIG[poppler] = "-Dpoppler=enabled,-Dpoppler=disabled,poppler" +PACKAGECONFIG[samba] = "-Dsamba=enabled,-Dsamba=disabled,samba" +PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled," + +FILES:${PN} += "${datadir}/metainfo" +FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV}" diff --git a/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb b/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb new file mode 100644 index 0000000000..d03b5fe04d --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-console/gnome-console_45.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "GNOME Console" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + +GTKIC_VERSION = "4" +inherit gnomebase gsettings pkgconfig gtk-icon-cache +REQUIRED_DISTRO_FEATURES = "opengl" + +DEPENDS = " \ + desktop-file-utils-native \ + gtk4-native \ + glib-2.0 \ + gsettings-desktop-schemas \ + hicolor-icon-theme \ + libadwaita \ + libgtop \ + pcre2 \ + vte \ +" + +SRC_URI[archive.sha256sum] = "e7462128d2df2324a1d748062c40429cd0504af09e407067b33f3a9d0c59c8e1" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" +PACKAGECONFIG[devel] = "-Ddevel=true,-Ddevel=false" + +FILES:${PN} += "${datadir}" diff --git a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch index 8170f514ed..4ae923f876 100644 --- a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch +++ b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center/0001-Add-meson-option-to-pass-sysroot.patch @@ -1,45 +1,52 @@ -From ba8aebe1259ae3f7f5a4827e5a47bb95c568b218 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Tue, 21 May 2019 16:07:46 +0200 +From 1a48df2a8da44410bbd767c2420d363f6180c79a Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Mon, 18 Mar 2024 05:50:21 +0100 Subject: [PATCH] Add meson option to pass sysroot -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -We need to pass this to meson to help it finding gdesktop-enums.h: - -| panels/background/meson.build:38:0: ERROR: File /usr/include/gsettings-desktop-schemas/gdesktop-enums.h does not exist. +Signed-off-by: Markus Volk <f_l_k@t-online.de> Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- meson_options.txt | 1 + panels/background/meson.build | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) + panels/system/meson.build | 2 +- + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/meson_options.txt b/meson_options.txt -index a347168..2cd8121 100644 +index e53d6e3f3..8fae4c824 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,4 @@ +option('oe_sysroot', type: 'string', value: '', description: 'Directory for OE-sysroot') - option('cheese', type: 'boolean', value: true, description: 'build with cheese webcam support') + option('deprecated-declarations', type: 'feature', value: 'disabled', description: 'build with deprecated declaration warnings') option('documentation', type: 'boolean', value: false, description: 'build documentation') option('ibus', type: 'boolean', value: true, description: 'build with IBus support') diff --git a/panels/background/meson.build b/panels/background/meson.build -index bb34b69..f22722e 100644 +index 6ced050f9..df1f80896 100644 --- a/panels/background/meson.build +++ b/panels/background/meson.build -@@ -36,7 +36,7 @@ common_sources = [] +@@ -24,7 +24,7 @@ common_sources += gnome.mkenums_simple( enums = 'gdesktop-enums-types' enums_header = files( -- gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', -+ get_option('oe_sysroot') + gsettings_desktop_dep.get_pkgconfig_variable('prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', - 'cc-background-item.h' +- gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h' ++ get_option('oe_sysroot') + gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h' + ) + + common_sources += gnome.mkenums( +diff --git a/panels/system/meson.build b/panels/system/meson.build +index 4fee82210..979332a0e 100644 +--- a/panels/system/meson.build ++++ b/panels/system/meson.build +@@ -73,7 +73,7 @@ sources += gnome.compile_resources( + ) + + enums_header = files( +- gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', ++ get_option('oe_sysroot') + gsettings_desktop_dep.get_variable(pkgconfig: 'prefix') + '/include/gsettings-desktop-schemas/gdesktop-enums.h', + 'datetime/cc-datetime-page.h' ) -- -2.20.1 +2.44.0 diff --git a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.1.bb b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_46.0.1.bb index 79fa20e41e..de11239ed5 100644 --- a/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_41.1.bb +++ b/meta-gnome/recipes-gnome/gnome-control-center/gnome-control-center_46.0.1.bb @@ -1,57 +1,69 @@ SUMMARY = "GNOME Settings" DESCRIPTION = "GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e" -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gettext vala upstream-version-is-even bash-completion features_check +GTKIC_VERSION = "4" DEPENDS = " \ - gdk-pixbuf-native \ - colord-gtk \ - udisks2 \ - upower \ - polkit \ - pulseaudio \ accountsservice \ - samba \ - gsettings-desktop-schemas \ - gnome-settings-daemon \ + colord-gtk \ + gcr \ + gdk-pixbuf \ + glib-2.0 \ + gnome-bluetooth \ gnome-desktop \ gnome-online-accounts \ - libnma \ - gnome-bluetooth \ - grilo \ + gnome-settings-daemon \ + gsettings-desktop-schemas \ + gtk4 \ + libadwaita \ + libepoxy \ libgtop \ - gsound \ + libgudev \ + libnma \ libpwquality \ - libhandy \ + libxml2 \ + polkit \ + pulseaudio \ + samba \ + setxkbmap-native \ + tecla \ + udisks2 \ + upower \ " -REQUIRED_DISTRO_FEATURES += "polkit pulseaudio systemd x11" +inherit gtk-icon-cache pkgconfig gnomebase gsettings gettext upstream-version-is-even bash-completion features_check useradd -SRC_URI[archive.sha256sum] = "ea0c71484c65ce2cc11376f9b01e6211fa4a7ffd334f4307fc52c93f0fddd4c7" +REQUIRED_DISTRO_FEATURES += "opengl polkit pulseaudio systemd x11" + +SRC_URI = "gitsm://gitlab.gnome.org/GNOME/gnome-control-center.git;protocol=https;nobranch=1" SRC_URI += "file://0001-Add-meson-option-to-pass-sysroot.patch" +S = "${WORKDIR}/git" +SRCREV = "005f40dcfa464f113a1c95f97673bc5505fc15ad" + PACKAGECONFIG ??= "ibus ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" +PACKAGECONFIG[cups] = ",,cups,cups" PACKAGECONFIG[ibus] = "-Dibus=true, -Dibus=false, ibus" PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false, wayland" -# Once we have (lib)cheese we can make cheese a PACKAGECONFIG -EXTRA_OEMESON = " \ - -Doe_sysroot=${STAGING_DIR_HOST} \ - -Dcheese=false \ -" +EXTRA_OEMESON += "-Doe_sysroot=${STAGING_DIR_HOST}" + +export XDG_DATA_DIRS = "${STAGING_DATADIR}" + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd" do_install:append() { - # If polkit is setup fixup permissions and ownership if [ -d ${D}${datadir}/polkit-1/rules.d ]; then chmod 700 ${D}${datadir}/polkit-1/rules.d chown polkitd:root ${D}${datadir}/polkit-1/rules.d fi } +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" + FILES:${PN} += " \ ${datadir}/dbus-1 \ ${datadir}/gnome-shell \ @@ -60,4 +72,4 @@ FILES:${PN} += " \ FILES:${PN}-dev += "${datadir}/gettext" -RDEPENDS:${PN} += "gsettings-desktop-schemas" +RDEPENDS:${PN} += "gsettings-desktop-schemas tecla system-config-printer cups-pk-helper ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'gnome-user-share', '' , d)}" diff --git a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson-Add-riscv32-to-seccomp-unsupported-list.patch b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson-Add-riscv32-to-seccomp-unsupported-list.patch new file mode 100644 index 0000000000..65e06dafcb --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson-Add-riscv32-to-seccomp-unsupported-list.patch @@ -0,0 +1,29 @@ +From 6937685426aff8059b68b2941a0fe549eca21ce5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 3 Mar 2023 23:04:56 -0800 +Subject: [PATCH] meson: Add riscv32 to seccomp unsupported list + +rv32 needs to upstream the libseccomp support + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 6a888b8..a87c419 100644 +--- a/meson.build ++++ b/meson.build +@@ -65,7 +65,7 @@ udev_dep = dependency('libudev', required: get_option('udev')) + host_os = host_machine.system() + host_cpu = host_machine.cpu() + supported_os = ['linux'] +-unsupported_cpus = ['alpha', 'ia64', 'm68k', 'sh4', 'sparc', 'sparc64'] ++unsupported_cpus = ['alpha', 'ia64', 'm68k', 'riscv32', 'sh4', 'sparc', 'sparc64'] + if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu) + seccomp_dep = dependency('libseccomp') + else +-- +2.39.2 + diff --git a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch deleted file mode 100644 index 99cf45830e..0000000000 --- a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop/0001-meson.build-Disable-libseccomp-for-all-archs.patch +++ /dev/null @@ -1,40 +0,0 @@ -From de0d33b068a5d8e61cc0c82d88d15b9a8aa97977 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Sat, 6 Apr 2019 18:07:17 +0200 -Subject: [PATCH] meson.build: Disable libseccomp for all archs -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It does not seem mandatory and can cause unsatisfied dependency [1]. - -[1] https://errors.yoctoproject.org/Errors/Details/235565/ - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - meson.build | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/meson.build b/meson.build -index cceefe0..df3fdd9 100644 ---- a/meson.build -+++ b/meson.build -@@ -59,12 +59,7 @@ udev_dep = dependency('libudev', required: get_option('udev')) - host_os = host_machine.system() - host_cpu = host_machine.cpu() - supported_os = ['linux'] --unsupported_cpus = ['alpha', 'ia64', 'm68k', 'sh4', 'sparc', 'sparc64'] --if supported_os.contains(host_os) and not unsupported_cpus.contains(host_cpu) -- seccomp_dep = dependency('libseccomp') --else -- seccomp_dep = dependency('', required: false) --endif -+seccomp_dep = dependency('', required: false) - fontconfig_cache_path = fontconfig_dep.get_pkgconfig_variable('cachedir') - - xkb_base = xkb_config_dep.get_pkgconfig_variable('xkb_base') --- -2.31.1 - diff --git a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_41.0.bb b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_44.0.bb index 36dab453b1..19bae74ce2 100644 --- a/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_41.0.bb +++ b/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop_44.0.bb @@ -1,28 +1,38 @@ SUMMARY = "GNOME library for reading .desktop files" SECTION = "x11/gnome" -LICENSE = "GPLv2 & LGPLv2" +LICENSE = "GPL-2.0-only & LGPL-2.0-only" LIC_FILES_CHKSUM = " \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase itstool pkgconfig upstream-version-is-even gobject-introspection features_check gtk-doc -REQUIRED_DISTRO_FEATURES = "x11" -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" +REQUIRED_DISTRO_FEATURES = "x11 opengl" GIR_MESON_OPTION = "" -SRC_URI[archive.sha256sum] = "69cb1d3d9a10700eb66348ef1c0e66a855fc5a97ae62902df97a499da11562d2" -SRC_URI += " \ - file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \ - file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \ +SRC_URI += "file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \ + file://0001-meson-Add-riscv32-to-seccomp-unsupported-list.patch" +SRC_URI[archive.sha256sum] = "42c773745d84ba14bc1cf1c4c6f4606148803a5cd337941c63964795f3c59d42" + +DEPENDS += " \ + fontconfig \ + gdk-pixbuf \ + glib-2.0 \ + gsettings-desktop-schemas \ + gtk+3 \ + gtk4 \ + iso-codes \ + xext \ + libseccomp \ + libxkbcommon \ + xkeyboard-config \ + xrandr \ " -DEPENDS += "gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev" +DEPENDS:remove:riscv32 = "libseccomp" GTKDOC_MESON_OPTION = "gtk_doc" EXTRA_OEMESON = "-Ddesktop_docs=false" @@ -36,7 +46,3 @@ FILES:libgnome-desktop = " \ " RRECOMMENDS:libgnome-desktop += "gsettings-desktop-schemas" - -PROVIDES += "gnome-desktop3" -RPROVIDES:${PN} += "gnome-desktop3" -RPROVIDES:libgnome-desktop += "gnome-desktop3" diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch new file mode 100644 index 0000000000..675f4635ba --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch @@ -0,0 +1,135 @@ +From 36cbdd82f21e4ef37da9f05c1c5e770b6cd66df2 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Sun, 29 May 2022 06:35:26 +0200 +Subject: [PATCH] gnome-disk-utility: remove libcanberra dependency + +libcanberra-gtk3 module isn't buildable for wayland. +Remove its dpendency. + +Signed-off-by: Markus Volk <f_l_k@t-online.de> + +Upstream-Status: Inappropriate +--- + meson.build | 1 - + src/disks/gducreatediskimagedialog.c | 27 ++------------------------- + src/disks/gdurestorediskimagedialog.c | 20 +------------------- + src/disks/meson.build | 1 - + 4 files changed, 3 insertions(+), 46 deletions(-) + +diff --git a/meson.build b/meson.build +index 0daf7f82..cba6c74b 100644 +--- a/meson.build ++++ b/meson.build +@@ -72,7 +72,6 @@ dvdread_dep = dependency('dvdread', version: '>= 4.2.0') + gio_unix_dep = dependency('gio-unix-2.0', version: '>= 2.31.0') + gmodule_dep = dependency('gmodule-2.0') + gtk_dep = dependency('gtk+-3.0', version: '>= 3.16.0') +-libcanberra_dep = dependency('libcanberra-gtk3', version: '>= 0.1') + # Keep the version here synchronised with subprojects/libhandy.wrap + libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0', fallback: ['libhandy', 'libhandy_dep']) + liblzma_dep = dependency('liblzma', version: '>= 5.0.5') +diff --git a/src/disks/gducreatediskimagedialog.c b/src/disks/gducreatediskimagedialog.c +index 181b2892..a22004cf 100644 +--- a/src/disks/gducreatediskimagedialog.c ++++ b/src/disks/gducreatediskimagedialog.c +@@ -21,8 +21,6 @@ + #include <sys/ioctl.h> + #include <linux/fs.h> + +-#include <canberra-gtk.h> +- + #include "gduapplication.h" + #include "gduwindow.h" + #include "gducreatediskimagedialog.h" +@@ -297,19 +295,7 @@ create_disk_image_populate (DialogData *data) + + static void + play_read_error_sound (DialogData *data) +-{ +- const gchar *sound_message; +- +- /* Translators: A descriptive string for the sound played when +- * there's a read error that's being ignored, see +- * CA_PROP_EVENT_DESCRIPTION +- */ +- sound_message = _("Disk image read error"); +- ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0, +- CA_PROP_EVENT_ID, "dialog-warning", +- CA_PROP_EVENT_DESCRIPTION, sound_message, +- NULL); +-} ++{} + + /* ---------------------------------------------------------------------------------------------------- */ + +@@ -403,16 +389,7 @@ update_job (DialogData *data, + + static void + play_complete_sound (DialogData *data) +-{ +- const gchar *sound_message; +- +- /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */ +- sound_message = _("Disk image copying complete"); +- ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0, +- CA_PROP_EVENT_ID, "complete", +- CA_PROP_EVENT_DESCRIPTION, sound_message, +- NULL); +-} ++{} + + /* ---------------------------------------------------------------------------------------------------- */ + +diff --git a/src/disks/gdurestorediskimagedialog.c b/src/disks/gdurestorediskimagedialog.c +index bccf97e9..e7ec81cb 100644 +--- a/src/disks/gdurestorediskimagedialog.c ++++ b/src/disks/gdurestorediskimagedialog.c +@@ -17,8 +17,6 @@ + #include <sys/ioctl.h> + #include <linux/fs.h> + +-#include <canberra-gtk.h> +- + #include "gduapplication.h" + #include "gduwindow.h" + #include "gdurestorediskimagedialog.h" +@@ -606,23 +604,7 @@ update_job (DialogData *data, + + static void + play_complete_sound (DialogData *data) +-{ +- const gchar *sound_message; +- +- /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */ +- sound_message = _("Disk image copying complete"); +- ca_gtk_play_for_widget (GTK_WIDGET (data->dialog), 0, +- CA_PROP_EVENT_ID, "complete", +- CA_PROP_EVENT_DESCRIPTION, sound_message, +- NULL); +- +- if (data->inhibit_cookie > 0) +- { +- gtk_application_uninhibit (GTK_APPLICATION (gdu_window_get_application (data->window)), +- data->inhibit_cookie); +- data->inhibit_cookie = 0; +- } +-} ++{} + + /* ---------------------------------------------------------------------------------------------------- */ + +diff --git a/src/disks/meson.build b/src/disks/meson.build +index 35b2f103..6fc367b4 100644 +--- a/src/disks/meson.build ++++ b/src/disks/meson.build +@@ -85,7 +85,6 @@ deps = [ + dvdread_dep, + gio_unix_dep, + gmodule_dep, +- libcanberra_dep, + libgdu_dep, + libhandy_dep, + liblzma_dep, +-- +2.25.1 + diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_40.1.bb b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_46.0.bb index 883e1c1782..e4998f6276 100644 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_40.1.bb +++ b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_46.0.bb @@ -1,32 +1,39 @@ SUMMARY = "GNOME disk utility" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SECTION = "x11/gnome" DEPENDS = " \ + desktop-file-utils-native \ gtk+3 \ libdvdread \ - libcanberra \ libnotify \ libsecret \ libpwquality \ udisks2 \ libhandy \ + xz \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg -REQUIRED_DISTRO_FEATURES = "x11 polkit" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "polkit" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}" # As soon as elogind is of interest this needs rework: meson option is combo PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd" +PACKAGECONFIG[x11] = ",,libcanberra" -SRC_URI[archive.sha256sum] = "2a4b99ac11ca23394b28c5584b9e96284e8c5a4da65cf06207de54f42b1ff141" +SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-gnome-disk-utility-remove-libcanberra-dependency.patch', '', d)}" +SRC_URI[archive.sha256sum] = "464649148c6d6771f1ac2ebfe43a4e519205b11c2d914a09f2a001821d06957d" + +EXTRA_OEMESON = "-Dman=false" + +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" FILES:${PN} += " \ ${datadir}/metainfo \ diff --git a/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.40.0.bb b/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.46.0.bb index 9c599bbd8f..cf1122714f 100644 --- a/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.40.0.bb +++ b/meta-gnome/recipes-gnome/gnome-flashback/gnome-flashback_3.46.0.bb @@ -1,7 +1,8 @@ SUMMARY = "GNOME Flashback (GNOME 2) session" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase gsettings gtk-icon-cache gettext upstream-version-is-even features_check REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" @@ -13,12 +14,12 @@ DEPENDS += " \ polkit \ metacity \ gdm \ - gnome-desktop3 \ + gnome-desktop \ gnome-bluetooth \ gnome-panel \ " -SRC_URI[archive.sha256sum] = "e03f33100f1982019c2e59bbdcd664549ec5caa0ef2d99e2c0e1272cea08bb3b" +SRC_URI[archive.sha256sum] = "7a8d5c03310e4dfadd18a65e00a37741032afeea5418dd6804a975c4b0980045" do_install:append() { # no oe-layer has compiz -> remove dead session @@ -27,6 +28,7 @@ do_install:append() { FILES:${PN} += " \ ${datadir}/desktop-directories \ + ${datadir}/gnome-control-center \ ${datadir}/gnome-panel \ ${datadir}/gnome-session \ ${datadir}/xsessions \ diff --git a/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_40.0.bb b/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_46.0.bb index d8e61950ca..dbce71d121 100644 --- a/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_40.0.bb +++ b/meta-gnome/recipes-gnome/gnome-font-viewer/gnome-font-viewer_46.0.bb @@ -1,22 +1,21 @@ SUMMARY = "GNOME font viewer" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" SECTION = "x11/gnome" DEPENDS = " \ - gtk+3 \ - gnome-desktop3 \ - libhandy \ + gtk4 \ + gnome-desktop \ + libadwaita \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gtk-icon-cache gettext features_check mime-xdg -REQUIRED_DISTRO_FEATURES = "x11" +REQUIRED_DISTRO_FEATURES = "x11 opengl" -SRC_URI[archive.sha256sum] = "d2cc7686946690dc274a5d0c72841d358d0ccd42d3f34993c698bdf13588fe42" +SRC_URI[archive.sha256sum] = "592f401e485d02cc044d487bb5c8e04c961da6856216768a59f1ff98bd2d537c" FILES:${PN} += " \ ${datadir}/dbus-1 \ diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch index 32eecf8fb7..c3c3050924 100644 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch +++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring/0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch @@ -1,4 +1,4 @@ -From e6464e01bc1cdf5496be2942d1bac41aa609f47e Mon Sep 17 00:00:00 2001 +From 647f3d946ec3fe4800b2bec89371f85a1a4b15cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Thu, 23 May 2019 23:44:06 +0200 Subject: [PATCH] Set paths to ssh-agent and ssh-add by configure options @@ -11,15 +11,16 @@ We have no executables in our sysroot so configuration won't find them. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + --- configure.ac | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 4b83664..eda0c96 100644 +index f4f793c..5194e5d 100644 --- a/configure.ac +++ b/configure.ac -@@ -351,8 +351,15 @@ if test "$enable_ssh_agent" = "no"; then +@@ -356,8 +356,15 @@ if test "$enable_ssh_agent" = "no"; then SSH_AGENT=false SSH_ADD=false else @@ -37,6 +38,3 @@ index 4b83664..eda0c96 100644 if test "$SSH_AGENT" = "no" -o "$SSH_ADD" = "no"; then AC_MSG_ERROR([the ssh-agent and ssh-add commands were not found]) else --- -2.20.1 - diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_46.1.bb index 5bc5f2e0fb..8df3710e6a 100644 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_40.0.bb +++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_46.1.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnome.org/" BUGTRACKER = "https://bugzilla.gnome.org/" SECTION = "x11/gnome" -LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later" LIC_FILES_CHKSUM = " \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ @@ -12,16 +12,17 @@ LIC_FILES_CHKSUM = " \ DEPENDS = " \ glib-2.0-native \ gtk+3 \ - gcr \ + gcr3 \ libgcrypt \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \ " -inherit gnomebase gsettings features_check remove-libtool gettext +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gsettings features_check gettext -REQUIRED_DISTRO_FEATURES = "x11" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -SRC_URI[archive.sha256sum] = "a3d24db08ee2fdf240fbbf0971a98c8ee295aa0e1a774537f4ea938038a3b931" +SRC_URI[archive.sha256sum] = "b1d3ae9132ff2f8b3f25a190790892968e3d0acf952a487e40f644a8550ce3f6" SRC_URI += " \ file://0001-Set-paths-to-ssh-agent-and-ssh-add-by-configure-opti.patch \ file://musl.patch \ @@ -41,6 +42,7 @@ FILES:${PN} += " \ ${datadir}/xdg-desktop-portal \ ${base_libdir}/security/*${SOLIBSDEV} \ ${libdir}/pkcs11/gnome-keyring-pkcs11.so \ + ${systemd_user_unitdir} \ " # fix | gnome-keyring-daemon: insufficient process capabilities, unsecure memory might get used pkg_postinst:${PN} () { diff --git a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.36.0.bb b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb index 2255ff00db..47b6733e48 100644 --- a/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.36.0.bb +++ b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus_3.36.0.bb @@ -1,16 +1,13 @@ SUMMARY = "GNOME menus" SECTION = "x11/gnome" -LICENSE = "GPLv2 & LGPLv2" +LICENSE = "GPL-2.0-only & LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2" -DEPENDS = "python3 libxml2 popt gtk+3 gnome-common-native" +DEPENDS = "glib-2.0" -inherit features_check gnomebase gettext pkgconfig gobject-introspection upstream-version-is-even - -REQUIRED_DISTRO_FEATURES = "x11" - -BPN = "gnome-menus" +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gettext pkgconfig gobject-introspection upstream-version-is-even SRC_URI[archive.md5sum] = "a8fd71fcf31a87fc799d80396a526829" SRC_URI[archive.sha256sum] = "d9348f38bde956fc32753b28c1cde19c175bfdbf1f4d5b06003b3aa09153bb1f" diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Use-GUri-instead-of-SoupURI.patch b/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Use-GUri-instead-of-SoupURI.patch deleted file mode 100644 index 11fc96bc28..0000000000 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/files/0001-Use-GUri-instead-of-SoupURI.patch +++ /dev/null @@ -1,351 +0,0 @@ -From 5a5abbedb171986dbf6f5a37577ec6afa892b66b Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <cgarcia@igalia.com> -Date: Mon, 7 Jun 2021 16:31:18 +0200 -Subject: [PATCH 1/2] Use GUri instead of SoupURI - -In preparation for libsoup3 where SoupURI has been removed in favor of -GUri. - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/merge_requests/73] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure.ac | 2 +- - src/goabackend/goaoauth2provider.c | 11 +-- - src/goabackend/goaoauthprovider.c | 8 +- - src/goabackend/goaowncloudprovider.c | 107 ++++++++++++++++----------- - src/goabackend/goawebview.c | 9 +-- - 5 files changed, 80 insertions(+), 57 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 1f88bbd..7c0b39d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -90,7 +90,7 @@ GTK_DOC_CHECK([1.3]) - # Libraries - # - --PKG_CHECK_MODULES(GLIB, [glib-2.0 gio-2.0 gio-unix-2.0 >= 2.52]) -+PKG_CHECK_MODULES(GLIB, [glib-2.0 gio-2.0 gio-unix-2.0 >= 2.67.4]) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - -diff --git a/src/goabackend/goaoauth2provider.c b/src/goabackend/goaoauth2provider.c -index 3715431..2757838 100644 ---- a/src/goabackend/goaoauth2provider.c -+++ b/src/goabackend/goaoauth2provider.c -@@ -763,7 +763,7 @@ on_web_view_decide_policy (WebKitWebView *web_view, - GHashTable *key_value_pairs; - WebKitNavigationAction *action; - WebKitURIRequest *request; -- SoupURI *uri; -+ GUri *uri; - const gchar *fragment; - const gchar *oauth2_error; - const gchar *query; -@@ -793,9 +793,9 @@ on_web_view_decide_policy (WebKitWebView *web_view, - if (!g_str_has_prefix (requested_uri, redirect_uri)) - goto default_behaviour; - -- uri = soup_uri_new (requested_uri); -- fragment = soup_uri_get_fragment (uri); -- query = soup_uri_get_query (uri); -+ uri = g_uri_parse (requested_uri, G_URI_FLAGS_ENCODED, NULL); -+ fragment = g_uri_get_fragment (uri); -+ query = g_uri_get_query (uri); - - /* Three cases: - * 1) we can either have the backend handle the URI for us, or -@@ -808,7 +808,7 @@ on_web_view_decide_policy (WebKitWebView *web_view, - { - gchar *url; - -- url = soup_uri_to_string (uri, FALSE); -+ url = g_uri_to_string (uri); - if (!goa_oauth2_provider_process_redirect_url (self, url, &priv->access_token, &priv->error)) - { - g_prefix_error (&priv->error, _("Authorization response: ")); -@@ -889,6 +889,7 @@ on_web_view_decide_policy (WebKitWebView *web_view, - goto ignore_request; - - ignore_request: -+ g_uri_unref (uri); - g_assert (response_id != GTK_RESPONSE_NONE); - if (response_id < 0) - gtk_dialog_response (priv->dialog, response_id); -diff --git a/src/goabackend/goaoauthprovider.c b/src/goabackend/goaoauthprovider.c -index 0bfab6b..ff0927e 100644 ---- a/src/goabackend/goaoauthprovider.c -+++ b/src/goabackend/goaoauthprovider.c -@@ -643,7 +643,7 @@ on_web_view_decide_policy (WebKitWebView *web_view, - { - GHashTable *key_value_pairs; - IdentifyData *data = user_data; -- SoupURI *uri; -+ GUri *uri; - WebKitNavigationAction *action; - WebKitURIRequest *request; - const gchar *query; -@@ -664,8 +664,8 @@ on_web_view_decide_policy (WebKitWebView *web_view, - if (!g_str_has_prefix (requested_uri, redirect_uri)) - goto default_behaviour; - -- uri = soup_uri_new (requested_uri); -- query = soup_uri_get_query (uri); -+ uri = g_uri_parse (requested_uri, G_URI_FLAGS_ENCODED, NULL); -+ query = g_uri_get_query (uri); - - if (query != NULL) - { -@@ -678,6 +678,8 @@ on_web_view_decide_policy (WebKitWebView *web_view, - g_hash_table_unref (key_value_pairs); - } - -+ g_uri_unref (uri); -+ - if (data->oauth_verifier != NULL) - goto ignore_request; - -diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c -index d142966..10734be 100644 ---- a/src/goabackend/goaowncloudprovider.c -+++ b/src/goabackend/goaowncloudprovider.c -@@ -22,8 +22,6 @@ - - #include <glib/gi18n-lib.h> - --#include <libsoup/soup.h> -- - #include "goahttpclient.h" - #include "goaprovider.h" - #include "goaowncloudprovider.h" -@@ -78,45 +76,42 @@ get_provider_features (GoaProvider *provider) - /* ---------------------------------------------------------------------------------------------------- */ - - static char * --uri_to_string_with_path (SoupURI *soup_uri, const gchar *path) -+uri_to_string_with_path (GUri *uri, const gchar *path) - { - gchar *uri_string; - gchar *uri_tmp; - -- if (soup_uri == NULL) -+ if (uri == NULL) - return NULL; - -- uri_tmp = soup_uri_to_string (soup_uri, FALSE); -+ uri_tmp = g_uri_to_string (uri); - uri_string = g_strconcat (uri_tmp, path, NULL); - g_free (uri_tmp); - - return uri_string; - } - --static char *get_webdav_uri (SoupURI *soup_uri) -+static char *get_webdav_uri (GUri *uri) - { -- SoupURI *uri_tmp; -+ GUri *uri_tmp; - gchar *uri_webdav; - const gchar *scheme; -- guint port; - -- if (soup_uri == NULL) -+ if (uri == NULL) - return NULL; - -- scheme = soup_uri_get_scheme (soup_uri); -- port = soup_uri_get_port (soup_uri); -- uri_tmp = soup_uri_copy (soup_uri); -- -- if (g_strcmp0 (scheme, SOUP_URI_SCHEME_HTTPS) == 0) -- soup_uri_set_scheme (uri_tmp, "davs"); -- else -- soup_uri_set_scheme (uri_tmp, "dav"); -- -- if (!soup_uri_uses_default_port (soup_uri)) -- soup_uri_set_port (uri_tmp, port); -+ scheme = g_uri_get_scheme (uri); -+ uri_tmp = g_uri_build (g_uri_get_flags (uri), -+ g_strcmp0 (scheme, "https") == 0 ? "davs" : "dav", -+ g_uri_get_userinfo (uri), -+ g_uri_get_host (uri), -+ g_uri_get_port (uri), -+ g_uri_get_path (uri), -+ g_uri_get_query (uri), -+ g_uri_get_fragment (uri)); - - uri_webdav = uri_to_string_with_path (uri_tmp, WEBDAV_ENDPOINT); -- soup_uri_free (uri_tmp); -+ g_uri_unref (uri_tmp); - - return uri_webdav; - } -@@ -140,7 +135,7 @@ build_object (GoaProvider *provider, - gchar *uri_carddav; - gchar *uri_webdav; - GoaPasswordBased *password_based = NULL; -- SoupURI *uri = NULL; -+ GUri *uri = NULL; - gboolean accept_ssl_errors; - gboolean calendar_enabled; - gboolean contacts_enabled; -@@ -176,9 +171,24 @@ build_object (GoaProvider *provider, - account = goa_object_get_account (GOA_OBJECT (object)); - identity = goa_account_get_identity (account); - uri_string = g_key_file_get_string (key_file, group, "Uri", NULL); -- uri = soup_uri_new (uri_string); -+ uri = g_uri_parse (uri_string, G_URI_FLAGS_ENCODED, NULL); - if (uri != NULL) -- soup_uri_set_user (uri, identity); -+ { -+ GUri *tmp_uri; -+ -+ tmp_uri = g_uri_build_with_user (g_uri_get_flags (uri), -+ g_uri_get_scheme (uri), -+ identity, -+ g_uri_get_password (uri), -+ g_uri_get_auth_params (uri), -+ g_uri_get_host (uri), -+ g_uri_get_port (uri), -+ g_uri_get_path (uri), -+ g_uri_get_query (uri), -+ g_uri_get_fragment (uri)); -+ g_uri_unref (uri); -+ uri = tmp_uri; -+ } - - accept_ssl_errors = g_key_file_get_boolean (key_file, group, "AcceptSslErrors", NULL); - -@@ -224,7 +234,7 @@ build_object (GoaProvider *provider, - - out: - g_clear_object (&password_based); -- g_clear_pointer (&uri, soup_uri_free); -+ g_clear_pointer (&uri, g_uri_unref); - g_free (uri_string); - return ret; - } -@@ -354,8 +364,11 @@ add_entry (GtkWidget *grid, - static gchar * - normalize_uri (const gchar *address, gchar **server) - { -- SoupURI *uri = NULL; -+ GUri *uri = NULL; -+ GUri *uri_tmp = NULL; - const gchar *path; -+ const gchar *new_scheme; -+ gchar *new_path = NULL; - gchar *ret = NULL; - gchar *scheme = NULL; - gchar *uri_string = NULL; -@@ -384,48 +397,56 @@ normalize_uri (const gchar *address, gchar **server) - else - goto out; - -- uri = soup_uri_new (uri_string); -+ uri = g_uri_parse (uri_string, G_URI_FLAGS_ENCODED, NULL); - if (uri == NULL) - goto out; - - if (g_strcmp0 (scheme, "dav") == 0) -- soup_uri_set_scheme (uri, SOUP_URI_SCHEME_HTTP); -+ new_scheme = "http"; - else if (g_strcmp0 (scheme, "davs") == 0) -- soup_uri_set_scheme (uri, SOUP_URI_SCHEME_HTTPS); -+ new_scheme = "https"; -+ else -+ new_scheme = g_uri_get_scheme (uri); - -- path = soup_uri_get_path (uri); -+ path = g_uri_get_path (uri); - if (!g_str_has_suffix (path, "/")) -- { -- gchar *new_path; -- - new_path = g_strconcat (path, "/", NULL); -- soup_uri_set_path (uri, new_path); -- path = soup_uri_get_path (uri); -- g_free (new_path); -- } -+ -+ uri_tmp = g_uri_build (g_uri_get_flags (uri), -+ new_scheme, -+ g_uri_get_userinfo (uri), -+ g_uri_get_host (uri), -+ g_uri_get_port (uri), -+ new_path ? new_path : path, -+ g_uri_get_query (uri), -+ g_uri_get_fragment (uri)); -+ g_free (new_path); -+ g_uri_unref (uri); -+ uri = uri_tmp; -+ path = g_uri_get_path (uri); - - if (server != NULL) - { - gchar *port_string; - gchar *pretty_path; -- guint port; -+ gint port; - -- port = soup_uri_get_port (uri); -- port_string = g_strdup_printf (":%u", port); -+ port = g_uri_get_port (uri); -+ port_string = g_strdup_printf (":%d", port); - - pretty_path = g_strdup (path); - pretty_path[strlen(pretty_path) - 1] = '\0'; - -- *server = g_strconcat (soup_uri_get_host (uri), (port == std_port) ? "" : port_string, pretty_path, NULL); -+ *server = g_strconcat (g_uri_get_host (uri), (port == std_port || port == -1) ? "" : port_string, pretty_path, NULL); - - g_free (port_string); - g_free (pretty_path); - } - -- ret = soup_uri_to_string (uri, FALSE); -+ ret = g_uri_to_string (uri); - - out: -- g_clear_pointer (&uri, soup_uri_free); -+ g_clear_pointer (&uri, g_uri_unref); - g_free (scheme); - g_free (uri_string); - return ret; -diff --git a/src/goabackend/goawebview.c b/src/goabackend/goawebview.c -index 2438e0c..3df600e 100644 ---- a/src/goabackend/goawebview.c -+++ b/src/goabackend/goawebview.c -@@ -25,7 +25,6 @@ - #include <glib.h> - #include <glib/gi18n-lib.h> - #include <jsc/jsc.h> --#include <libsoup/soup.h> - #include <webkit2/webkit2.h> - - #include "goawebview.h" -@@ -77,17 +76,17 @@ web_view_clear_notify_progress_cb (gpointer user_data) - static char * - web_view_create_loading_title (const gchar *url) - { -- SoupURI *uri; -+ GUri *uri; - const gchar *hostname; - gchar *title; - - g_return_val_if_fail (url != NULL && url[0] != '\0', NULL); - -- uri = soup_uri_new (url); -- hostname = soup_uri_get_host (uri); -+ uri = g_uri_parse (url, G_URI_FLAGS_NONE, NULL); -+ hostname = g_uri_get_host (uri); - /* translators: %s here is the address of the web page */ - title = g_strdup_printf (_("Loading “%s”…"), hostname); -- soup_uri_free (uri); -+ g_uri_unref (uri); - - return title; - } --- -2.33.1 - diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/files/0002-Port-to-libsoup3.patch b/meta-gnome/recipes-gnome/gnome-online-accounts/files/0002-Port-to-libsoup3.patch deleted file mode 100644 index 0f959084a2..0000000000 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/files/0002-Port-to-libsoup3.patch +++ /dev/null @@ -1,841 +0,0 @@ -From 7d8c5208d095ce8e7123935263ef7a02f0381ae5 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <cgarcia@igalia.com> -Date: Mon, 7 Jun 2021 18:28:42 +0200 -Subject: [PATCH 2/2] Port to libsoup3 - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/merge_requests/73] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - configure.ac | 8 +- - src/daemon/goadaemon.c | 2 +- - src/goabackend/goaewsclient.c | 178 +++++++++++++++-------------- - src/goabackend/goahttpclient.c | 72 +++++++----- - src/goabackend/goalastfmprovider.c | 24 ++-- - src/goabackend/goaoauth2provider.c | 6 +- - src/goabackend/goaoauthprovider.c | 23 ++-- - src/goabackend/goarestproxy.h | 2 - - src/goabackend/goasouplogger.c | 33 ++---- - src/goabackend/goasouplogger.h | 3 - - src/goabackend/goautils.c | 27 ++--- - 11 files changed, 199 insertions(+), 179 deletions(-) - ---- a/configure.ac -+++ b/configure.ac -@@ -113,15 +113,15 @@ if test "$enable_backend" != "no"; then - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - -- PKG_CHECK_MODULES(JAVASCRIPT_CORE_GTK, [javascriptcoregtk-4.0 >= 2.12.0]) -+ PKG_CHECK_MODULES(JAVASCRIPT_CORE_GTK, [javascriptcoregtk-4.1 >= 2.33.1]) - AC_SUBST(JAVASCRIPT_CORE_GTK_CFLAGS) - AC_SUBST(JAVASCRIPT_CORE_GTK_LIBS) - -- PKG_CHECK_MODULES(WEBKIT_GTK, [webkit2gtk-4.0 >= 2.26.0]) -+ PKG_CHECK_MODULES(WEBKIT_GTK, [webkit2gtk-4.1 >= 2.33.1]) - AC_SUBST(WEBKIT_GTK_CFLAGS) - AC_SUBST(WEBKIT_GTK_LIBS) - -- PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= 2.42]) -+ PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= 2.99.8]) - AC_SUBST(LIBSOUP_CFLAGS) - AC_SUBST(LIBSOUP_LIBS) - -@@ -129,7 +129,7 @@ if test "$enable_backend" != "no"; then - AC_SUBST(JSON_GLIB_CFLAGS) - AC_SUBST(JSON_GLIB_LIBS) - -- PKG_CHECK_MODULES(REST, [rest-0.7]) -+ PKG_CHECK_MODULES(REST, [rest-1.0]) - AC_SUBST(REST_CFLAGS) - AC_SUBST(REST_LIBS) - ---- a/src/daemon/goadaemon.c -+++ b/src/daemon/goadaemon.c -@@ -1496,7 +1496,7 @@ is_authorization_error (GError *error) - g_return_val_if_fail (error != NULL, FALSE); - - ret = FALSE; -- if (error->domain == REST_PROXY_ERROR || error->domain == SOUP_HTTP_ERROR) -+ if (error->domain == REST_PROXY_ERROR) - { - if (SOUP_STATUS_IS_CLIENT_ERROR (error->code)) - ret = TRUE; ---- a/src/goabackend/goaewsclient.c -+++ b/src/goabackend/goaewsclient.c -@@ -63,6 +63,12 @@ goa_ews_client_new (void) - - typedef struct - { -+ gchar *password; -+ gchar *username; -+} AutodiscoverAuthData; -+ -+typedef struct -+{ - GCancellable *cancellable; - GError *error; - SoupMessage *msgs[2]; -@@ -71,13 +77,16 @@ typedef struct - guint pending; - gulong cancellable_id; - xmlOutputBuffer *buf; -+ AutodiscoverAuthData *auth; - } AutodiscoverData; - --typedef struct -+static void -+ews_client_autodiscover_auth_data_free (AutodiscoverAuthData *auth) - { -- gchar *password; -- gchar *username; --} AutodiscoverAuthData; -+ g_free (auth->password); -+ g_free (auth->username); -+ g_slice_free (AutodiscoverAuthData, auth); -+} - - static void - ews_client_autodiscover_data_free (gpointer user_data) -@@ -92,22 +101,12 @@ ews_client_autodiscover_data_free (gpoin - - g_clear_error (&data->error); - -- /* soup_session_queue_message stole the references to data->msgs */ - xmlOutputBufferClose (data->buf); -+ g_clear_pointer (&data->auth, ews_client_autodiscover_auth_data_free); - g_object_unref (data->session); - g_slice_free (AutodiscoverData, data); - } - --static void --ews_client_autodiscover_auth_data_free (gpointer data, GClosure *closure) --{ -- AutodiscoverAuthData *auth = data; -- -- g_free (auth->password); -- g_free (auth->username); -- g_slice_free (AutodiscoverAuthData, auth); --} -- - static gboolean - ews_client_check_node (const xmlNode *node, const gchar *name) - { -@@ -115,9 +114,8 @@ ews_client_check_node (const xmlNode *no - return node->type == XML_ELEMENT_NODE && !g_strcmp0 ((gchar *) node->name, name); - } - --static void --ews_client_authenticate (SoupSession *session, -- SoupMessage *msg, -+static gboolean -+ews_client_authenticate (SoupMessage *msg, - SoupAuth *auth, - gboolean retrying, - gpointer user_data) -@@ -125,26 +123,26 @@ ews_client_authenticate (SoupSession *se - AutodiscoverAuthData *data = user_data; - - if (retrying) -- return; -+ return FALSE; - - soup_auth_authenticate (auth, data->username, data->password); -+ return TRUE; - } - --static void --ews_client_request_started (SoupSession *session, SoupMessage *msg, SoupSocket *socket, gpointer user_data) -+static gboolean -+ews_client_accept_certificate (SoupMessage *msg, GTlsCertificate *cert, GTlsCertificateFlags cert_flags, gpointer user_data) - { - AutodiscoverData *data; - GTask *task = G_TASK (user_data); -- GTlsCertificateFlags cert_flags; - -- g_debug ("goa_ews_client_autodiscover(): request started (%p)", msg); -+ g_debug ("goa_ews_client_autodiscover(): accept certificate for request (%p)", msg); - - data = (AutodiscoverData *) g_task_get_task_data (task); - -- if (!data->accept_ssl_errors -- && soup_message_get_https_status (msg, NULL, &cert_flags) -- && cert_flags != 0 -- && data->error == NULL) -+ if (data->accept_ssl_errors || cert_flags == 0) -+ return TRUE; -+ -+ if (data->error == NULL) - { - goa_utils_set_error_ssl (&data->error, cert_flags); - -@@ -153,6 +151,8 @@ ews_client_request_started (SoupSession - */ - soup_session_abort (data->session); - } -+ -+ return FALSE; - } - - static void -@@ -192,8 +192,10 @@ ews_client_autodiscover_parse_protocol ( - } - - static void --ews_client_autodiscover_response_cb (SoupSession *session, SoupMessage *msg, gpointer user_data) -+ews_client_autodiscover_response_cb (SoupSession *session, GAsyncResult *result, gpointer user_data) - { -+ SoupMessage *msg; -+ GBytes *body; - GError *error = NULL; - AutodiscoverData *data; - GTask *task = G_TASK (user_data); -@@ -204,7 +206,11 @@ ews_client_autodiscover_response_cb (Sou - xmlDoc *doc; - xmlNode *node; - -- g_debug ("goa_ews_client_autodiscover(): response (%p, %u)", msg, msg->status_code); -+ msg = soup_session_get_async_result_message (session, result); -+ -+ g_debug ("goa_ews_client_autodiscover(): response (%p, %u)", msg, soup_message_get_status (msg)); -+ -+ body = soup_session_send_and_read_finish (session, result, &error); - - data = (AutodiscoverData *) g_task_get_task_data (task); - size = sizeof (data->msgs) / sizeof (data->msgs[0]); -@@ -215,16 +221,19 @@ ews_client_autodiscover_response_cb (Sou - break; - } - if (idx == size || data->pending == 0) -- return; -+ { -+ g_bytes_unref (body); -+ g_clear_object (&error); -+ g_object_unref (msg); -+ return; -+ } - - data->msgs[idx] = NULL; -- status = msg->status_code; -- -- /* status == SOUP_STATUS_CANCELLED, if we are being aborted by the -+ /* G_IO_ERROR_CANCELLED, if we are being aborted by the - * GCancellable, an SSL error or another message that was - * successful. - */ -- if (status == SOUP_STATUS_CANCELLED) -+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) - { - /* If we are being aborted by the GCancellable, then the - * GTask is responsible for setting the GError automatically. -@@ -235,21 +244,23 @@ ews_client_autodiscover_response_cb (Sou - */ - goto out; - } -- else if (status != SOUP_STATUS_OK) -+ -+ status = soup_message_get_status (msg); -+ if (status != SOUP_STATUS_OK || error) - { -- g_warning ("goa_ews_client_autodiscover() failed: %u — %s", msg->status_code, msg->reason_phrase); -+ g_warning ("goa_ews_client_autodiscover() failed: %u — %s", status, soup_message_get_reason_phrase (msg)); - g_return_if_fail (data->error == NULL); - -- goa_utils_set_error_soup (&error, msg); -+ if (!error) -+ goa_utils_set_error_soup (&error, msg); - goto out; - } - -- soup_buffer_free (soup_message_body_flatten (SOUP_MESSAGE (msg)->response_body)); - g_debug ("The response headers"); - g_debug ("==================="); -- g_debug ("%s", SOUP_MESSAGE (msg)->response_body->data); -+ g_debug ("%s", (char *)g_bytes_get_data (body, NULL)); - -- doc = xmlReadMemory (msg->response_body->data, msg->response_body->length, "autodiscover.xml", NULL, 0); -+ doc = xmlReadMemory (g_bytes_get_data (body, NULL), g_bytes_get_size (body), "autodiscover.xml", NULL, 0); - if (doc == NULL) - { - g_set_error (&error, -@@ -333,7 +344,7 @@ ews_client_autodiscover_response_cb (Sou - /* The callback (ie. this function) will be invoked after we - * have returned to the main loop. - */ -- soup_session_cancel_message (data->session, data->msgs[idx], SOUP_STATUS_CANCELLED); -+ g_cancellable_cancel (data->cancellable); - } - } - -@@ -368,6 +379,7 @@ ews_client_autodiscover_response_cb (Sou - - g_clear_error (&error); - g_object_unref (task); -+ g_object_unref (msg); - } - - static xmlDoc * -@@ -399,52 +411,54 @@ static void - ews_client_post_restarted_cb (SoupMessage *msg, gpointer data) - { - xmlOutputBuffer *buf = data; -+ GBytes *body; - - /* In violation of RFC2616, libsoup will change a POST request to - * a GET on receiving a 302 redirect. - */ - g_debug ("Working around libsoup bug with redirect"); -- g_object_set (msg, SOUP_MESSAGE_METHOD, "POST", NULL); -+ g_object_set (msg, "method", "POST", NULL); - -- soup_message_set_request(msg, -- "text/xml; charset=utf-8", -- SOUP_MEMORY_COPY, - #ifdef LIBXML2_NEW_BUFFER -- (gchar *) xmlOutputBufferGetContent(buf), -- xmlOutputBufferGetSize(buf)); -+ body = g_bytes_new (xmlOutputBufferGetContent (buf), xmlOutputBufferGetSize (buf)); - #else -- (gchar *) buf->buffer->content, -- buf->buffer->use); -+ body = g_bytes_new (buf->buffer->content, buf->buffer->use); - #endif -+ soup_message_set_request_body_from_bytes (msg, "text/xml; charset=utf-8", body); -+ g_bytes_unref (body); - } - - static SoupMessage * --ews_client_create_msg_for_url (const gchar *url, xmlOutputBuffer *buf) -+ews_client_create_msg_for_url (const gchar *url, xmlOutputBuffer *buf, AutodiscoverAuthData *auth, GTask *task) - { - SoupMessage *msg; -+ GBytes *body = NULL; - - msg = soup_message_new (buf != NULL ? "POST" : "GET", url); -- soup_message_headers_append (msg->request_headers, "User-Agent", "libews/0.1"); -+ soup_message_headers_append (soup_message_get_request_headers (msg), -+ "User-Agent", "libews/0.1"); -+ -+ g_signal_connect (msg, "authenticate", -+ G_CALLBACK (ews_client_authenticate), -+ auth); -+ g_signal_connect (msg, "accept-certificate", -+ G_CALLBACK (ews_client_accept_certificate), -+ task); - - if (buf != NULL) - { -- soup_message_set_request (msg, -- "text/xml; charset=utf-8", -- SOUP_MEMORY_COPY, - #ifdef LIBXML2_NEW_BUFFER -- (gchar *) xmlOutputBufferGetContent(buf), -- xmlOutputBufferGetSize(buf)); -+ body = g_bytes_new (xmlOutputBufferGetContent (buf), xmlOutputBufferGetSize (buf)); - #else -- (gchar *) buf->buffer->content, -- buf->buffer->use); -+ body = g_bytes_new (buf->buffer->content, buf->buffer->use); - #endif -+ soup_message_set_request_body_from_bytes (msg, "text/xml; charset=utf-8", body); - g_signal_connect (msg, "restarted", G_CALLBACK (ews_client_post_restarted_cb), buf); - } - -- soup_buffer_free (soup_message_body_flatten (SOUP_MESSAGE (msg)->request_body)); - g_debug ("The request headers"); - g_debug ("==================="); -- g_debug ("%s", SOUP_MESSAGE (msg)->request_body->data); -+ g_debug ("%s", body ? (char *)g_bytes_get_data (body, NULL) : ""); - - return msg; - } -@@ -497,12 +511,15 @@ goa_ews_client_autodiscover (GoaEwsClien - * (successful) one win. - */ - -+ auth = g_slice_new0 (AutodiscoverAuthData); -+ auth->username = g_strdup (username); -+ auth->password = g_strdup (password); -+ data->auth = auth; - data->buf = buf; -- data->msgs[0] = ews_client_create_msg_for_url (url1, buf); -- data->msgs[1] = ews_client_create_msg_for_url (url2, buf); -+ data->msgs[0] = ews_client_create_msg_for_url (url1, buf, auth, task); -+ data->msgs[1] = ews_client_create_msg_for_url (url2, buf, auth, task); - data->pending = sizeof (data->msgs) / sizeof (data->msgs[0]); -- data->session = soup_session_new_with_options (SOUP_SESSION_SSL_STRICT, FALSE, -- NULL); -+ data->session = soup_session_new (); - soup_session_add_feature_by_type (data->session, SOUP_TYPE_AUTH_NTLM); - data->accept_ssl_errors = accept_ssl_errors; - -@@ -515,26 +532,19 @@ goa_ews_client_autodiscover (GoaEwsClien - NULL); - } - -- auth = g_slice_new0 (AutodiscoverAuthData); -- auth->username = g_strdup (username); -- auth->password = g_strdup (password); -- g_signal_connect_data (data->session, -- "authenticate", -- G_CALLBACK (ews_client_authenticate), -- auth, -- ews_client_autodiscover_auth_data_free, -- 0); -- -- g_signal_connect (data->session, "request-started", G_CALLBACK (ews_client_request_started), task); -- -- soup_session_queue_message (data->session, -- data->msgs[0], -- ews_client_autodiscover_response_cb, -- g_object_ref (task)); -- soup_session_queue_message (data->session, -- data->msgs[1], -- ews_client_autodiscover_response_cb, -- g_object_ref (task)); -+ -+ soup_session_send_and_read_async (data->session, -+ data->msgs[0], -+ G_PRIORITY_DEFAULT, -+ data->cancellable, -+ (GAsyncReadyCallback)ews_client_autodiscover_response_cb, -+ g_object_ref (task)); -+ soup_session_send_and_read_async (data->session, -+ data->msgs[1], -+ G_PRIORITY_DEFAULT, -+ data->cancellable, -+ (GAsyncReadyCallback)ews_client_autodiscover_response_cb, -+ g_object_ref (task)); - - g_free (url2); - g_free (url1); ---- a/src/goabackend/goahttpclient.c -+++ b/src/goabackend/goahttpclient.c -@@ -82,7 +82,7 @@ http_client_check_data_free (gpointer us - - g_clear_error (&data->error); - -- /* soup_session_queue_message stole the references to data->msg */ -+ g_object_unref (data->msg); - g_object_unref (data->session); - g_slice_free (CheckData, data); - } -@@ -97,9 +97,8 @@ http_client_check_auth_data_free (gpoint - g_slice_free (CheckAuthData, auth); - } - --static void --http_client_authenticate (SoupSession *session, -- SoupMessage *msg, -+static gboolean -+http_client_authenticate (SoupMessage *msg, - SoupAuth *auth, - gboolean retrying, - gpointer user_data) -@@ -107,26 +106,26 @@ http_client_authenticate (SoupSession *s - CheckAuthData *data = user_data; - - if (retrying) -- return; -+ return FALSE; - - soup_auth_authenticate (auth, data->username, data->password); -+ return TRUE; - } - --static void --http_client_request_started (SoupSession *session, SoupMessage *msg, SoupSocket *socket, gpointer user_data) -+static gboolean -+http_client_accept_certificate (SoupMessage *msg, GTlsCertificate *cert, GTlsCertificateFlags cert_flags, gpointer user_data) - { - CheckData *data; - GTask *task = G_TASK (user_data); -- GTlsCertificateFlags cert_flags; - - g_debug ("goa_http_client_check(): request started (%p)", msg); - - data = (CheckData *) g_task_get_task_data (task); - -- if (!data->accept_ssl_errors -- && soup_message_get_https_status (msg, NULL, &cert_flags) -- && cert_flags != 0 -- && data->error == NULL) -+ if (data->accept_ssl_errors || cert_flags == 0) -+ return TRUE; -+ -+ if (data->error == NULL) - { - goa_utils_set_error_ssl (&data->error, cert_flags); - -@@ -135,6 +134,8 @@ http_client_request_started (SoupSession - */ - soup_session_abort (data->session); - } -+ -+ return FALSE; - } - - static void -@@ -154,21 +155,27 @@ http_client_check_cancelled_cb (GCancell - } - - static void --http_client_check_response_cb (SoupSession *session, SoupMessage *msg, gpointer user_data) -+http_client_check_response_cb (SoupSession *session, GAsyncResult *result, gpointer user_data) - { -+ SoupMessage *msg; - CheckData *data; -- GCancellable *cancellable; - GTask *task = G_TASK (user_data); -+ guint status; -+ GBytes *body; -+ GError *error = NULL; - -- g_debug ("goa_http_client_check(): response (%p, %u)", msg, msg->status_code); -+ msg = soup_session_get_async_result_message (session, result); -+ -+ g_debug ("goa_http_client_check(): response (%p, %u)", msg, soup_message_get_status (msg)); -+ -+ body = soup_session_send_and_read_finish (session, result, &error); - - data = (CheckData *) g_task_get_task_data (task); -- cancellable = g_task_get_cancellable (task); - -- /* status == SOUP_STATUS_CANCELLED, if we are being aborted by the -+ /* G_IO_ERROR_CANCELLED, if we are being aborted by the - * GCancellable or due to an SSL error. - */ -- if (msg->status_code == SOUP_STATUS_CANCELLED) -+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) - { - /* If we are being aborted by the GCancellable then there might - * or might not be an error. The GCancellable can be triggered -@@ -176,20 +183,27 @@ http_client_check_response_cb (SoupSessi - * of events across threads. - */ - if (data->error == NULL) -- g_cancellable_set_error_if_cancelled (cancellable, &data->error); -+ g_propagate_error (&data->error, g_steal_pointer (&error)); - - goto out; - } -- else if (msg->status_code != SOUP_STATUS_OK) -+ -+ status = soup_message_get_status (msg); -+ if (status != SOUP_STATUS_OK || error) - { -- g_warning ("goa_http_client_check() failed: %u — %s", msg->status_code, msg->reason_phrase); -+ g_warning ("goa_http_client_check() failed: %u — %s", status, soup_message_get_reason_phrase (msg)); - g_return_if_fail (data->error == NULL); - -- goa_utils_set_error_soup (&data->error, msg); -+ if (error) -+ g_propagate_error (&data->error, g_steal_pointer (&error)); -+ else -+ goa_utils_set_error_soup (&data->error, msg); - goto out; - } - - out: -+ g_clear_error (&error); -+ g_clear_pointer (&body, g_bytes_unref); - if (data->error != NULL) - g_task_return_error (task, g_steal_pointer (&data->error)); - else -@@ -225,7 +239,7 @@ goa_http_client_check (GoaHttpClient - data = g_slice_new0 (CheckData); - g_task_set_task_data (task, data, http_client_check_data_free); - -- data->session = soup_session_new_with_options (SOUP_SESSION_SSL_STRICT, FALSE, NULL); -+ data->session = soup_session_new (); - - logger = goa_soup_logger_new (SOUP_LOGGER_LOG_BODY, -1); - soup_session_add_feature (data->session, SOUP_SESSION_FEATURE (logger)); -@@ -246,15 +260,21 @@ goa_http_client_check (GoaHttpClient - auth = g_slice_new0 (CheckAuthData); - auth->username = g_strdup (username); - auth->password = g_strdup (password); -- g_signal_connect_data (data->session, -+ g_signal_connect_data (data->msg, - "authenticate", - G_CALLBACK (http_client_authenticate), - auth, - http_client_check_auth_data_free, - 0); - -- g_signal_connect (data->session, "request-started", G_CALLBACK (http_client_request_started), task); -- soup_session_queue_message (data->session, data->msg, http_client_check_response_cb, g_object_ref (task)); -+ g_signal_connect (data->msg, "accept-certificate", G_CALLBACK (http_client_accept_certificate), task); -+ -+ soup_session_send_and_read_async (data->session, -+ data->msg, -+ G_PRIORITY_DEFAULT, -+ data->cancellable, -+ (GAsyncReadyCallback)http_client_check_response_cb, -+ g_object_ref (task)); - - g_object_unref (task); - } ---- a/src/goabackend/goalastfmprovider.c -+++ b/src/goabackend/goalastfmprovider.c -@@ -483,8 +483,7 @@ add_account_cb (GoaManager *manager, GAs - - static void - check_cb (RestProxyCall *call, -- const GError *error, -- GObject *weak_object, -+ GAsyncResult *result, - gpointer user_data) - { - AddAccountData *data = user_data; -@@ -494,6 +493,9 @@ check_cb (RestProxyCall *call, - JsonObject *session_obj; - const gchar *payload; - -+ if (!rest_proxy_call_invoke_finish (call, result, &data->error)) -+ goto out; -+ - parser = NULL; - - parser = json_parser_new (); -@@ -562,12 +564,12 @@ on_rest_proxy_call_cancelled_cb (GCancel - } - - static void --lastfm_login (GoaProvider *provider, -- const gchar *username, -- const gchar *password, -- GCancellable *cancellable, -- RestProxyCallAsyncCallback callback, -- gpointer user_data) -+lastfm_login (GoaProvider *provider, -+ const gchar *username, -+ const gchar *password, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data) - { - AddAccountData *data = user_data; - RestProxyCall *call; -@@ -598,7 +600,7 @@ lastfm_login (GoaProvider - rest_proxy_call_add_param (call, "api_sig", sig_md5); - rest_proxy_call_add_param (call, "format", "json"); - -- rest_proxy_call_async (call, callback, NULL, data, &data->error); -+ rest_proxy_call_invoke_async (call, NULL, callback, data); - - g_signal_connect (cancellable, "cancelled", G_CALLBACK (on_rest_proxy_call_cancelled_cb), call); - -@@ -665,7 +667,7 @@ add_account (GoaProvider *provider, - username, - password, - data.cancellable, -- (RestProxyCallAsyncCallback) check_cb, -+ (GAsyncReadyCallback) check_cb, - &data); - - gtk_widget_set_sensitive (data.connect_button, FALSE); -@@ -819,7 +821,7 @@ refresh_account (GoaProvider *provide - username, - password, - data.cancellable, -- (RestProxyCallAsyncCallback) check_cb, -+ (GAsyncReadyCallback) check_cb, - &data); - gtk_widget_set_sensitive (data.connect_button, FALSE); - gtk_widget_show (data.progress_grid); ---- a/src/goabackend/goaoauth2provider.c -+++ b/src/goabackend/goaoauth2provider.c -@@ -95,11 +95,15 @@ is_authorization_error (GError *error) - g_return_val_if_fail (error != NULL, FALSE); - - ret = FALSE; -- if (error->domain == REST_PROXY_ERROR || error->domain == SOUP_HTTP_ERROR) -+ if (error->domain == REST_PROXY_ERROR) - { - if (SOUP_STATUS_IS_CLIENT_ERROR (error->code)) - ret = TRUE; - } -+ else if (g_error_matches (error, GOA_ERROR, GOA_ERROR_NOT_AUTHORIZED)) -+ { -+ ret = TRUE; -+ } - return ret; - } - ---- a/src/goabackend/goaoauthprovider.c -+++ b/src/goabackend/goaoauthprovider.c -@@ -77,11 +77,15 @@ is_authorization_error (GError *error) - g_return_val_if_fail (error != NULL, FALSE); - - ret = FALSE; -- if (error->domain == REST_PROXY_ERROR || error->domain == SOUP_HTTP_ERROR) -+ if (error->domain == REST_PROXY_ERROR) - { - if (SOUP_STATUS_IS_CLIENT_ERROR (error->code)) - ret = TRUE; - } -+ else if (g_error_matches (error, GOA_ERROR, GOA_ERROR_NOT_AUTHORIZED)) -+ { -+ ret = TRUE; -+ } - return ret; - } - -@@ -701,9 +705,15 @@ on_web_view_decide_policy (WebKitWebView - } - - static void --rest_proxy_call_cb (RestProxyCall *call, const GError *error, GObject *weak_object, gpointer user_data) -+rest_proxy_call_cb (GObject *source, GAsyncResult *result, gpointer user_data) - { -+ RestProxyCall *call = REST_PROXY_CALL (source); - IdentifyData *data = user_data; -+ -+ if (!rest_proxy_call_invoke_finish (call, result, &data->error)) -+ { -+ g_prefix_error (&data->error, _("Error getting a Request Token: ")); -+ } - g_main_loop_quit (data->loop); - } - -@@ -770,11 +780,7 @@ get_tokens_and_identity (GoaOAuthProvide - for (n = 0; request_params[n] != NULL; n += 2) - rest_proxy_call_add_param (call, request_params[n], request_params[n+1]); - } -- if (!rest_proxy_call_async (call, rest_proxy_call_cb, NULL, &data, &data.error)) -- { -- g_prefix_error (&data.error, _("Error getting a Request Token: ")); -- goto out; -- } -+ rest_proxy_call_invoke_async (call, NULL, rest_proxy_call_cb, &data); - - goa_utils_set_dialog_title (GOA_PROVIDER (provider), dialog, add_account); - -@@ -796,6 +802,9 @@ get_tokens_and_identity (GoaOAuthProvide - g_main_loop_run (data.loop); - gtk_container_remove (GTK_CONTAINER (grid), spinner); - -+ if (data.error) -+ goto out; -+ - if (rest_proxy_call_get_status_code (call) != 200) - { - gchar *msg; ---- a/src/goabackend/goarestproxy.h -+++ b/src/goabackend/goarestproxy.h -@@ -27,8 +27,6 @@ - - G_BEGIN_DECLS - --G_DEFINE_AUTOPTR_CLEANUP_FUNC (RestProxy, g_object_unref); -- - #define GOA_TYPE_REST_PROXY (goa_rest_proxy_get_type ()) - G_DECLARE_FINAL_TYPE (GoaRestProxy, goa_rest_proxy, GOA, REST_PROXY, RestProxy); - ---- a/src/goabackend/goasouplogger.c -+++ b/src/goabackend/goasouplogger.c -@@ -22,15 +22,6 @@ - - #include "goasouplogger.h" - --struct _GoaSoupLogger --{ -- SoupLogger parent_instance; --}; -- --G_DEFINE_TYPE (GoaSoupLogger, goa_soup_logger, SOUP_TYPE_LOGGER); -- --/* ---------------------------------------------------------------------------------------------------- */ -- - static void - goa_soup_logger_printer (SoupLogger *logger, - SoupLoggerLogLevel level, -@@ -45,24 +36,16 @@ goa_soup_logger_printer (SoupLogger - g_free (message); - } - --/* ---------------------------------------------------------------------------------------------------- */ -- --static void --goa_soup_logger_init (GoaSoupLogger *self) --{ -- soup_logger_set_printer (SOUP_LOGGER (self), goa_soup_logger_printer, NULL, NULL); --} -- --static void --goa_soup_logger_class_init (GoaSoupLoggerClass *klass) --{ --} -- --/* ---------------------------------------------------------------------------------------------------- */ -- - SoupLogger * - goa_soup_logger_new (SoupLoggerLogLevel level, - gint max_body_size) - { -- return g_object_new (GOA_TYPE_SOUP_LOGGER, "level", level, "max-body-size", max_body_size, NULL); -+ SoupLogger *logger; -+ -+ logger = soup_logger_new (level); -+ if (max_body_size != -1) -+ soup_logger_set_max_body_size (logger, max_body_size); -+ soup_logger_set_printer (logger, goa_soup_logger_printer, NULL, NULL); -+ -+ return logger; - } ---- a/src/goabackend/goasouplogger.h -+++ b/src/goabackend/goasouplogger.h -@@ -27,9 +27,6 @@ - - G_BEGIN_DECLS - --#define GOA_TYPE_SOUP_LOGGER (goa_soup_logger_get_type ()) --G_DECLARE_FINAL_TYPE (GoaSoupLogger, goa_soup_logger, GOA, SOUP_LOGGER, SoupLogger); -- - SoupLogger *goa_soup_logger_new (SoupLoggerLogLevel level, - gint max_body_size); - ---- a/src/goabackend/goautils.c -+++ b/src/goabackend/goautils.c -@@ -841,29 +841,26 @@ goa_utils_set_error_soup (GError **err, - { - gchar *error_msg = NULL; - gint error_code = GOA_ERROR_FAILED; /* TODO: more specific */ -+ guint status_code; - -- switch (msg->status_code) -+ status_code = soup_message_get_status (msg); -+ switch (status_code) - { -- case SOUP_STATUS_CANT_RESOLVE: -- error_msg = g_strdup (_("Cannot resolve hostname")); -- break; -- -- case SOUP_STATUS_CANT_RESOLVE_PROXY: -- error_msg = g_strdup (_("Cannot resolve proxy hostname")); -- break; -- - case SOUP_STATUS_INTERNAL_SERVER_ERROR: - case SOUP_STATUS_NOT_FOUND: - error_msg = g_strdup (_("Cannot find WebDAV endpoint")); - break; - -- case SOUP_STATUS_UNAUTHORIZED: -- error_msg = g_strdup (_("Authentication failed")); -- error_code = GOA_ERROR_NOT_AUTHORIZED; -- break; -- - default: -- error_msg = g_strdup_printf (_("Code: %u — Unexpected response from server"), msg->status_code); -+ if (SOUP_STATUS_IS_CLIENT_ERROR (status_code)) -+ { -+ error_msg = g_strdup (_("Authentication failed")); -+ error_code = GOA_ERROR_NOT_AUTHORIZED; -+ } -+ else -+ { -+ error_msg = g_strdup_printf (_("Code: %u — Unexpected response from server"), status_code); -+ } - break; - } - diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb deleted file mode 100644 index 8580d293ee..0000000000 --- a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.43.1.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" -LICENSE = "LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" - -GNOMEBASEBUILDCLASS = "autotools" - -inherit gnomebase gsettings gobject-introspection gsettings gtk-doc vala gettext features_check - -# for webkitgtk -REQUIRED_DISTRO_FEATURES = "x11" - -DEPENDS = "glib-2.0" - -SRC_URI += "\ - file://0001-Use-GUri-instead-of-SoupURI.patch \ - file://0002-Port-to-libsoup3.patch \ -" -SRC_URI[archive.sha256sum] = "3bcb3663a12efd4482d9fdda3e171676267fc739eb6440a2b7109a0e87afb7e8" - -# backend is required for gnome-control-center -PACKAGECONFIG = "backend other" - -PACKAGECONFIG[backend] = "--enable-backend,--disable-backend,gtk+3 webkitgtk libsoup json-glib libsecret rest libxml2" -PACKAGECONFIG[krb5] = "--enable-kerberos, --disable-kerberos , krb5 gcr" - -# no extra dependencies! -PACKAGECONFIG[other] = " \ - --enable-facebook --enable-foursquare --enable-exchange --enable-flickr --enable-google --enable-imap-smtp --enable-owncloud --enable-windows-live,\ - --disable-facebook --disable-foursquare --disable-exchange --disable-flickr --disable-google --disable-imap-smtp --disable-owncloud --disable-windows-live, \ -" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${libdir}/goa-1.0/web-extensions/*.so \ -" - -# looked into pkg-config file: it is not a bug - they mean it -FILES:${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.50.1.bb b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.50.1.bb new file mode 100644 index 0000000000..66df8902fa --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-online-accounts/gnome-online-accounts_3.50.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "GNOME Online Accounts - Single sign-on framework for GNOME" +LICENSE = "LGPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36" + +GTKIC_VERSION = "4" +inherit gnomebase gsettings gobject-introspection gtk-icon-cache mime-xdg vala features_check +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goabackend', 'opengl', '', d)}" + +DEPENDS += "gdk-pixbuf dbus glib-2.0 gcr" + +SRC_URI[archive.sha256sum] = "42ee43fd1e2942b9ff6106252ccdc834602815508bf7a3a52c0bdfffa56eaf40" + +PACKAGECONFIG ?= "goabackend kerberos owncloud google windows_live" + +PACKAGECONFIG[goabackend] = "-Dgoabackend=true,-Dgoabackend=false,gtk4 libadwaita json-glib libxml2 libsoup rest libsecret webkitgtk" +PACKAGECONFIG[kerberos] = "-Dkerberos=true, -Dkerberos=false,krb5" +PACKAGECONFIG[exchange] = "-Dexchange=true, -Dexchange=false" +PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false" +PACKAGECONFIG[owncloud] = "-Downcloud=true, -Downcloud=false" +PACKAGECONFIG[windows_live] = "-Dwindows_live=true, -Dwindows_live=false" + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${libdir}/goa-1.0/web-extensions/*.so \ +" + +# looked into pkg-config file: it is not a bug - they mean it +FILES:${PN}-dev += "${libdir}/goa-1.0/include" diff --git a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.38.0.bb b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.47.1.bb index 0e2a5395f9..02a8b01b26 100644 --- a/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.38.0.bb +++ b/meta-gnome/recipes-gnome/gnome-panel/gnome-panel_3.47.1.bb @@ -1,8 +1,9 @@ SUMMARY = "GNOME flashback panel" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc gettext upstream-version-is-even features_check +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gettext upstream-version-is-even features_check REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" @@ -11,13 +12,13 @@ DEPENDS += " \ libwnck3 \ polkit \ dconf \ - libgweather \ - gnome-menus3 \ - gnome-desktop3 \ + libgweather4 \ + gnome-menus \ + gnome-desktop \ gdm \ " -SRC_URI[archive.sha256sum] = "1a8b15aef0a02a6caa9b9209c8d3fb43e7b987a380076691c23f0314ec302f15" +SRC_URI[archive.sha256sum] = "d8f6e2c659668c77df82c3dd95ba04fcef8c40c228e2c22605f9a17a9161ec83" PACKAGECONFIG[eds] = "--enable-eds,--disable-eds,evolution-data-server" diff --git a/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb b/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb deleted file mode 100644 index fb1b7d30ba..0000000000 --- a/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_40.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -SUMMARY = "Access, organize and share your photos on GNOME" -SECTION = "x11/gnome" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" - -DEPENDS = " \ - glib-2.0-native \ - gdk-pixbuf-native \ - librsvg-native \ - gtk+3 \ - babl \ - gegl \ - geocode-glib \ - gnome-online-accounts \ - grilo \ - gsettings-desktop-schemas \ - libdazzle \ - libgdata \ - gfbgraph \ - tracker \ - libhandy \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gettext gnome-help features_check - -def gnome_verdir(v): - return oe.utils.trim_version(v, 1) - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.sha256sum] = "e02d73e138af8b2868b5cad7faa1bdd278aeade3b6c3c92836511a4e6f3af1af" - -do_install:append() { - # make gnome-photos available on all desktops - sed -i 's:OnlyShowIn=:#OnlyShowIn=:g' ${D}${datadir}/applications/org.gnome.Photos.desktop -} - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ -" - -RRECOMMENDS:${PN} = "grilo-plugins" diff --git a/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb b/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb new file mode 100644 index 0000000000..4b05e52ca0 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-photos/gnome-photos_44.0.bb @@ -0,0 +1,59 @@ +SUMMARY = "Access, organize and share your photos on GNOME" +SECTION = "x11/gnome" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464" + +DEPENDS = " \ + cairo \ + glib-2.0-native \ + gdk-pixbuf-native \ + librsvg-native \ + gtk+3 \ + babl \ + dbus \ + gegl \ + geocode-glib \ + gexiv2 \ + gnome-online-accounts \ + gsettings-desktop-schemas \ + libdazzle \ + tracker \ + libhandy \ + libportal \ +" + +RDEPENDS:${PN} = "tracker-miners" + + +inherit gnomebase gettext gnome-help features_check + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[doc] = "-Dmanuals=true,-Dmanuals=false,libxslt-native docbook-xsl-stylesheets-native" + +SRC_URI[archive.sha256sum] = "e78e210397d3c62809c6cd5521da6eccb4a11ddea5bf2af8632a47f4da5c829e" + +do_install:append() { + # make gnome-photos available on all desktops + sed -i 's:OnlyShowIn=:#OnlyShowIn=:g' ${D}${datadir}/applications/org.gnome.Photos.desktop +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ +" + +do_compile:append() { + # glib-mkenums is embedding full paths into this file. There's no + # option to it to use a sysroot style variable. So to avoid QA + # errors, we sed WORKDIR out and make its includes relative + sed -i "s|${B}||" src/photos-enums.h + sed -i "s|${B}||" src/photos-enums.c + sed -i "s|${B}||" src/photos-enums-gegl.c + sed -i "s|${B}||" src/photos-enums-gegl.h +} diff --git a/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot/0001-meson-remove-extraneous-positional-argument.patch b/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot/0001-meson-remove-extraneous-positional-argument.patch new file mode 100644 index 0000000000..c80fda63a3 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot/0001-meson-remove-extraneous-positional-argument.patch @@ -0,0 +1,36 @@ +From c38c604b06a63f690d67318d4ef97ac556264876 Mon Sep 17 00:00:00 2001 +From: Jack Hill <jackhill@jackhill.us> +Date: Thu, 18 Nov 2021 00:46:58 -0500 +Subject: [PATCH] meson: remove extraneous positional argument + +* data/meson.build (desktop_file) + (metainfo_file): Remove extraneous positional argument. + +Closes #186 + +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + data/meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index fd570b3..4e2e2e8 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -1,7 +1,6 @@ + gnome = import('gnome') + + desktop_file = i18n.merge_file( +- 'desktop', + type: 'desktop', + input: 'org.gnome.Screenshot.desktop.in', + output: 'org.gnome.Screenshot.desktop', +@@ -23,7 +22,6 @@ if desktop_file_validate.found() + endif + + metainfo_file = i18n.merge_file( +- 'appdata', + input: 'org.gnome.Screenshot.metainfo.xml.in', + output: 'org.gnome.Screenshot.metainfo.xml', + po_dir: join_paths(meson.current_source_dir(), '../po'), diff --git a/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_40.0.bb b/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb index 72272f993c..4f82492e61 100644 --- a/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_40.0.bb +++ b/meta-gnome/recipes-gnome/gnome-screenshot/gnome-screenshot_41.0.bb @@ -1,16 +1,15 @@ SUMMARY = "GNOME Screenshot" DESCRIPTION = "GNOME Screenshot is a small utility that takes a screenshot \ of the whole desktop, the currently focused window, or an area of the screen." -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" SECTION = "x11/gnome" -GNOMEBASEBUILDCLASS = "meson" - inherit features_check gnomebase gettext upstream-version-is-even pkgconfig -SRC_URI[archive.sha256sum] = "368ca95a39e39dc2406c849e8c4205e3f574acdd874c30741873455e3d21a5e2" +SRC_URI += " file://0001-meson-remove-extraneous-positional-argument.patch" +SRC_URI[archive.sha256sum] = "4adb7dec926428f74263d5796673cf142e4720b6e768f5468a8d0933f98c9597" DEPENDS += "glib-2.0 glib-2.0-native gtk+3 libhandy xext" diff --git a/meta-gnome/recipes-gnome/gnome-session/gnome-session_40.1.1.bb b/meta-gnome/recipes-gnome/gnome-session/gnome-session_40.1.1.bb deleted file mode 100644 index c2513e9282..0000000000 --- a/meta-gnome/recipes-gnome/gnome-session/gnome-session_40.1.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "GNOME session" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = " \ - glib-2.0-native \ - libxslt-native \ - xmlto-native \ - xtrans \ - libice \ - libsm \ - virtual/libx11 \ - gtk+3 \ - gnome-desktop \ - gsettings-desktop-schemas \ - json-glib \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gettext gsettings upstream-version-is-even features_check - -REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data" -# This can go when they come back to a one-dot version -def gnome_verdir(v): - return '40' - -SRC_URI[archive.sha256sum] = "9c787829ee32e13e1508b9aee2b1d9ba42a02c48e6c8094e34f3e7f92af4df82" - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit',d)}" - -PACKAGECONFIG[consolekit] = "-Dconsolekit=true, -Dconsolekit=false, consolekit" -PACKAGECONFIG[systemd] = "-Dsystemd=true -Dsystemd_journal=true, -Dsystemd=false -Dsystemd_journal=false, systemd" - -FILES:${PN} += " \ - ${datadir}/xsessions \ - ${datadir}/wayland-sessions \ - ${systemd_user_unitdir} \ -" - -RDEPENDS:${PN} += "gnome-shell gnome-settings-daemon gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/gnome-session/gnome-session_46.0.bb b/meta-gnome/recipes-gnome/gnome-session/gnome-session_46.0.bb new file mode 100644 index 0000000000..94e639456f --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-session/gnome-session_46.0.bb @@ -0,0 +1,34 @@ +SUMMARY = "GNOME session" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = " \ + glib-2.0-native \ + xtrans \ + libice \ + libsm \ + virtual/libx11 \ + gtk+3 \ + gnome-desktop \ + json-glib \ + systemd \ +" + + +inherit gnomebase gettext gsettings upstream-version-is-even features_check + +REQUIRED_DISTRO_FEATURES = "polkit systemd pam gobject-introspection-data" + +SRC_URI[archive.sha256sum] = "c6e1624af6090bc4e1a191fe2268abfa7a8de07831ca7a57f217e679bf7b9a54" + +PACKAGECONFIG ??= "" + +PACKAGECONFIG[docbook] = "-Ddocbook=true, -Ddocbook=false" +PACKAGECONFIG[man] = "-Dman=true, -Dman=false,xmlto-native libxslt-native" + +FILES:${PN} += " \ + ${datadir}/xdg-desktop-portal \ + ${datadir}/xsessions \ + ${datadir}/wayland-sessions \ + ${systemd_user_unitdir} \ +" diff --git a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_46.0.bb index 82504a4068..d409e77eae 100644 --- a/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_41.0.bb +++ b/meta-gnome/recipes-gnome/gnome-settings-daemon/gnome-settings-daemon_46.0.bb @@ -1,8 +1,7 @@ SUMMARY = "Window navigation construction toolkit" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gobject-introspection gettext features_check upstream-version-is-even @@ -10,8 +9,8 @@ DEPENDS = " \ colord \ geocode-glib \ gcr \ - gnome-desktop3 \ - libgweather \ + gnome-desktop \ + libgweather4 \ lcms \ libcanberra \ geoclue \ @@ -25,7 +24,7 @@ DEPENDS = " \ REQUIRED_DISTRO_FEATURES = "x11 polkit pulseaudio systemd gobject-introspection-data" GIR_MESON_OPTION = "" -SRC_URI[archive.sha256sum] = "e6ca6361fbd1deab2de1a1e390d4f14167cf47b1c547dbb8b65a5d89e9663884" +SRC_URI[archive.sha256sum] = "0b9a0f64fa18a8e7e09b4c95a3f754fa033c2cdbd2dc35701f0618572c1cb3d7" PACKAGECONFIG ??= " \ cups nm \ @@ -40,7 +39,12 @@ PACKAGECONFIG[nm] = "-Dnetwork_manager=true,-Dnetwork_manager=false,networkmanag PACKAGECONFIG[smartcard] = "-Dsmartcard=true,-Dsmartcard=false,nss" PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland" +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" + FILES:${PN} += " \ ${systemd_user_unitdir} \ - ${libdir}/gnome-settings-daemon-41/libgsd.so \ + ${libdir}/gnome-settings-daemon-${@gnome_verdir("${PV}")}/libgsd.so \ " diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.0.bb b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_46.0.bb index dc9502dc5f..eff5fecffe 100644 --- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_41.0.bb +++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell-extensions_46.0.bb @@ -1,18 +1,12 @@ SUMMARY = "GNOME Shell Extensions" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=4cb3a392cbf81a9e685ec13b88c4c101" -GNOMEBASEBUILDCLASS = "meson" - inherit gnomebase gettext gsettings features_check REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam gobject-introspection-data" -SRC_URI[archive.sha256sum] = "d84faac1448b38f975d9c19490c5928afc5c5a2c49dd7e7f81af690f9466fc68" - -DEPENDS += " \ - sassc-native \ -" +SRC_URI[archive.sha256sum] = "d8138f88cd92df9f932309149c236fbdd77c1bc095445036ab7eb0ecda53c01a" EXTRA_OEMESON += " \ -Dextension_set=all \ @@ -24,5 +18,6 @@ RDEPENDS:${PN} += "gnome-shell" FILES:${PN} += " \ ${datadir}/gnome-shell \ ${datadir}/gnome-session \ + ${datadir}/wayland-sessions \ ${datadir}/xsessions \ " diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch index 15e3c8c647..8ef0da16fe 100644 --- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch +++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell/0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch @@ -1,4 +1,4 @@ -From 3bf597b16e23cd2ce0ee3b05c23b46add5e26cd4 Mon Sep 17 00:00:00 2001 +From e9835f650d70bf22ad0e5d8c2179aa01b2d18955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Thu, 28 Oct 2021 18:57:24 +0200 Subject: [PATCH] Introduce options 'gjs_path' to optionally set path to gjs @@ -6,6 +6,21 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + Upstream-Status: Pending Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> @@ -19,25 +34,25 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> 6 files changed, 25 insertions(+), 4 deletions(-) diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build -index 68e8bd12d..16efaebe5 100644 +index 48b7f89..700b590 100644 --- a/js/dbusServices/meson.build +++ b/js/dbusServices/meson.build -@@ -27,7 +27,7 @@ foreach service, dir : dbus_services +@@ -22,7 +22,7 @@ foreach service, dir : dbus_services serviceconf = configuration_data() serviceconf.set('service', service) -- serviceconf.set('gjs', gjs.path()) +- serviceconf.set('gjs', gjs.full_path()) + serviceconf.set('gjs', gjs) serviceconf.set('pkgdatadir', pkgdatadir) configure_file( diff --git a/meson.build b/meson.build -index d4583ecf2..3448c6312 100644 +index a6d83b1..2c612a8 100644 --- a/meson.build +++ b/meson.build -@@ -138,7 +138,11 @@ endif +@@ -134,7 +134,11 @@ endif - mutter_typelibdir = mutter_dep.get_pkgconfig_variable('typelibdir') + mutter_typelibdir = mutter_dep.get_variable('typelibdir') python = find_program('python3') -gjs = find_program('gjs') +if get_option('gjs_path') == '' @@ -49,12 +64,12 @@ index d4583ecf2..3448c6312 100644 cc = meson.get_compiler('c') diff --git a/meson_options.txt b/meson_options.txt -index f0f2ecf6c..a45f2e453 100644 +index 6e83d92..1bf0ecb 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -45,3 +45,9 @@ option('soup2', +@@ -45,3 +45,9 @@ option('systemd', value: true, - description: 'Use Soup 2.4 instead of Soup 3. Must be in sync with libgweather' + description: 'Enable systemd integration' ) + +option('gjs_path', @@ -63,24 +78,24 @@ index f0f2ecf6c..a45f2e453 100644 + description: 'Instead of searching gjs executable, configure path' +) diff --git a/subprojects/extensions-app/js/meson.build b/subprojects/extensions-app/js/meson.build -index f311db6e0..8f7bba4e4 100644 +index c9a67f8..91ae887 100644 --- a/subprojects/extensions-app/js/meson.build +++ b/subprojects/extensions-app/js/meson.build @@ -9,7 +9,7 @@ endif launcherconf.set('prefix', prefix) launcherconf.set('libdir', libdir) launcherconf.set('pkgdatadir', pkgdatadir) --launcherconf.set('gjs', gjs.path()) +-launcherconf.set('gjs', gjs.full_path()) +launcherconf.set('gjs', gjs) configure_file( input: prgname + '.in', diff --git a/subprojects/extensions-app/meson.build b/subprojects/extensions-app/meson.build -index f9ccfc24d..bdf118975 100644 +index 45f391b..d581408 100644 --- a/subprojects/extensions-app/meson.build +++ b/subprojects/extensions-app/meson.build -@@ -44,7 +44,12 @@ localedir = join_paths(datadir, 'locale') - metainfodir = join_paths(datadir, 'metainfo') +@@ -47,7 +47,12 @@ metainfodir = join_paths(datadir, 'metainfo') + schemadir = join_paths(datadir, 'glib-2.0', 'schemas') servicedir = join_paths(datadir, 'dbus-1', 'services') -gjs = find_program('gjs') @@ -91,10 +106,10 @@ index f9ccfc24d..bdf118975 100644 +endif + appstream_util = find_program('appstream-util', required: false) + appstreamcli = find_program('appstreamcli', required: false) desktop_file_validate = find_program('desktop-file-validate', required: false) - diff --git a/subprojects/extensions-app/meson_options.txt b/subprojects/extensions-app/meson_options.txt -index ca2eb4115..2787785bf 100644 +index ca2eb41..2787785 100644 --- a/subprojects/extensions-app/meson_options.txt +++ b/subprojects/extensions-app/meson_options.txt @@ -10,3 +10,9 @@ option('profile', @@ -107,6 +122,3 @@ index ca2eb4115..2787785bf 100644 + value: '', + description: 'Instead of searching gjs executable, configure path' +) --- -2.31.1 - diff --git a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_41.0.bb b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_46.0.bb index 8378e94782..907cfdf678 100644 --- a/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_41.0.bb +++ b/meta-gnome/recipes-gnome/gnome-shell/gnome-shell_46.0.bb @@ -1,41 +1,43 @@ SUMMARY = "GNOME Shell is the graphical shell of the GNOME desktop environment" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gettext gobject-introspection features_check bash-completion - -REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" DEPENDS = " \ libxml2-native \ - sassc-native \ gtk4 \ mutter \ evolution-data-server \ gcr \ + geocode-glib \ gjs \ gnome-autoar \ + gnome-desktop \ polkit \ - libcroco \ - startup-notification \ + pipewire \ + libsoup-3.0 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'startup-notification', d)} \ ibus \ gsettings-desktop-schemas \ " +inherit gnomebase gsettings gettext gobject-introspection gtk-icon-cache features_check bash-completion + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" + +GTKIC_VERSION = "4" GTKDOC_MESON_OPTION = "gtk_doc" GIR_MESON_OPTION = "" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" -SRC_URI[archive.sha256sum] = "52f971e85140e5de74b9369ef6656e49ce95af1f232fc1e0df1f046129ab4f65" +SRC_URI[archive.sha256sum] = "6bc41340b6de05774e97cfe20feba86e2b3cc9c8139118f24bd84ac63e82b53e" SRC_URI += "file://0001-Introduce-options-gjs_path-to-optionally-set-path-to.patch" PACKAGECONFIG ??= "bluetooth nm ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[bluetooth] = ",,gnome-bluetooth" -PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false, networkmanager" +PACKAGECONFIG[nm] = "-Dnetworkmanager=true, -Dnetworkmanager=false,networkmanager libsecret,networkmanager" PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" EXTRA_OEMESON = " \ @@ -48,7 +50,7 @@ EXTRA_OEMESON = " \ do_install:append() { # fix shebangs for tool in `find ${D}${bindir} -name '*-tool'`; do - sed -i 's:#!${PYTHON}:#!${bindir}/${PYTHON_PN}:' $tool + sed -i 's:#!${PYTHON}:#!${bindir}/python3:' $tool done } @@ -62,7 +64,21 @@ FILES:${PN} += " \ ${systemd_user_unitdir} \ " -RDEPENDS:${PN} += "gsettings-desktop-schemas gdm-base librsvg-gtk ${PN}-gsettings" +RDEPENDS:${PN} += " \ + accountsservice \ + adwaita-icon-theme \ + adwaita-icon-theme-cursors \ + gdm-base \ + gnome-control-center \ + gnome-backgrounds \ + gnome-bluetooth \ + gnome-desktop \ + gnome-session \ + gnome-settings-daemon \ + gnome-shell-gsettings \ + gsettings-desktop-schemas \ + librsvg-gtk \ +" PACKAGES =+ "${PN}-tools ${PN}-gsettings" FILES:${PN}-tools = "${bindir}/*-tool" diff --git a/meta-gnome/recipes-gnome/gnome-software/gnome-software_46.0.bb b/meta-gnome/recipes-gnome/gnome-software/gnome-software_46.0.bb new file mode 100644 index 0000000000..40a7141fca --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-software/gnome-software_46.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "GNOME Software allows users to easily find, discover and install apps." +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +GTKDOC_MESON_OPTION ?= "gtk_doc" + +inherit gnomebase gsettings itstool gnome-help gtk-icon-cache gtk-doc mime mime-xdg gettext upstream-version-is-even features_check + +REQUIRED_DISTRO_FEATURES = "x11 polkit systemd pam" + +DEPENDS += " \ + appstream \ + gdk-pixbuf \ + glib-2.0 \ + glib-2.0-native \ + gsettings-desktop-schemas \ + gtk4 \ + iso-codes \ + json-glib \ + libadwaita \ + libgudev \ + libsoup-3.0 \ + libxmlb-native \ + polkit \ +" + +RDEPENDS:${PN} = "iso-codes" + +EXTRA_OEMESON += "-Dtests=false -Dsoup2=false" + +SRC_URI[archive.sha256sum] = "11893002bbb54082896683707bc3991ae55a2f3040811a760e3a92c96544f86e" + +PACKAGECONFIG ?= "flatpak" +PACKAGECONFIG[flatpak] = "-Dflatpak=true,-Dflatpak=false,flatpak ostree" +PACKAGECONFIG[snap] = "-Dsnap=true,-Dsnap=false,snapd-glib" +PACKAGECONFIG[gtk_doc] = "-Dgtk_doc=true,-Dgtk_doc=false,libxslt-native docbook-xsl-stylesheets" +PACKAGECONFIG[man] = "-Dman=true,-Dman=false,libxslt-native docbook-xsl-stylesheets" +PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,gnome-packagekit,gnome-packagekit" +PACKAGECONFIG[fwupd] = "-Dfwupd=true,-Dfwupd=false,fwupd,fwupd" +PACKAGECONFIG[malcontent] = "-Dmalcontent=true,-Dmalcontent=false,malcontent" + +FILES:${PN} += "${datadir}" +FILES:${PN}-dev += "${libdir}/gnome-software/libgnomesoftware.so" diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_46.0.bb index 01f0619732..eaeaa2cb0f 100644 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_40.1.bb +++ b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_46.0.bb @@ -1,28 +1,31 @@ SUMMARY = "Gnome system monitor" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = " \ gnome-common-native \ libxml2-native \ glib-2.0-native \ - gtkmm3 \ + glibmm-2.68 \ + gtkmm4 \ + gtk4 \ + libadwaita \ libgtop \ librsvg \ polkit \ libhandy \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gnome-help itstool gtk-icon-cache features_check gettext -REQUIRED_DISTRO_FEATURES = "x11 polkit" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "polkit" def gnome_verdir(v): return oe.utils.trim_version(v, 1) -SRC_URI[archive.sha256sum] = "fdb30f4367907aab86d7c2bb76a7b773ba850b765c9666a39f42abfe22691d1a" +SRC_URI[archive.sha256sum] = "5376248158c686c308255472e8c2a9e4c17255642c149fc7198c6d034e547599" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd" diff --git a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch new file mode 100644 index 0000000000..9f8475bdd2 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal/0001-meson-add-option-to-set-dbus_interfacedir.patch @@ -0,0 +1,63 @@ +From 61668e1eb86a316d4ad9a6b9cacf8c8cc74a0c33 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Sun, 7 Jan 2024 10:40:31 +0100 +Subject: [PATCH] meson: add an option to set dbus_interface_dir + +Add an option that allows to set the dbus_interface_dir path manually. +This will help to cross-compile gnome-terminal on host systems that +don't have gnome-shell installed. + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/8046] + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +--- + meson_options.txt | 7 +++++++ + src/meson.build | 7 ++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/meson_options.txt b/meson_options.txt +index b555ab66..8fece058 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -13,6 +13,13 @@ + # You should have received a copy of the GNU General Public License + # along with this programme. If not, see <https://www.gnu.org/licenses/>. + ++option( ++ 'dbus_interface_dir', ++ type: 'string', ++ value: '', ++ description: 'directory for D-Bus session interface files [$datadir/dbus-1/interfaces]', ++) ++ + option( + 'dbg', + type: 'boolean', +diff --git a/src/meson.build b/src/meson.build +index 27ecd893..420ad45c 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -185,6 +185,11 @@ server_sources = app_sources + client_util_sources + debug_sources + dbus_source + + if get_option('search_provider') + ++ dbus_interface_dir = get_option('dbus_interface_dir') ++ if dbus_interface_dir == '' ++ dbus_interface_dir = gt_prefix / gt_dbusinterfacedir ++ endif ++ + server_sources += files( + 'terminal-search-provider.cc', + 'terminal-search-provider.hh', +@@ -192,7 +197,7 @@ if get_option('search_provider') + + server_sources += gnome.gdbus_codegen( + 'terminal-search-provider-gdbus-generated', +- gt_prefix / gt_dbusinterfacedir / 'org.gnome.ShellSearchProvider2.xml', ++ dbus_interface_dir / 'org.gnome.ShellSearchProvider2.xml', + autocleanup: 'none', + install_header: false, + interface_prefix: 'org.gnome.Shell', +-- +2.43.0 + diff --git a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.42.0.bb b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.42.0.bb deleted file mode 100644 index 905887187d..0000000000 --- a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.42.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -SUMMARY = "GNOME terminal" -LICENSE = "GPLv3 & GFDL-1.3" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ - file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gnome-help gettext itstool upstream-version-is-even - -DEPENDS = " \ - glib-2.0-native \ - intltool-native \ - yelp-tools-native \ - docbook-xsl-stylesheets-native libxslt-native \ - desktop-file-utils-native \ - gtk+3 \ - gsettings-desktop-schemas \ - vte \ - dconf \ - libpcre2 \ -" - -SRC_URI[archive.sha256sum] = "b50e9e5664230e6ca290bcf38812a5b65e0baac66a486ee210894cf675f72e0b" -SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch" - -EXTRA_OEMESON += " \ - -Dsearch_provider=false \ - -Dnautilus_extension=false \ -" - -FILES:${PN} += " \ - ${datadir}/metainfo \ - ${datadir}/dbus-1 \ - ${systemd_user_unitdir} \ -" - -RRECOMMENDS:${PN} += "vte-prompt gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb new file mode 100644 index 0000000000..3bbfe9ece0 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-terminal/gnome-terminal_3.50.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "GNOME terminal" +LICENSE = "GPL-3.0-only & GFDL-1.3" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \ + file://COPYING.GFDL;md5=a22d0be1ce2284b67950a4d1673dd1b0 \ +" + +inherit gnomebase pkgconfig gsettings gnome-help gettext itstool upstream-version-is-even + +DEPENDS = " \ + glib-2.0 \ + docbook-xsl-stylesheets-native libxslt-native \ + desktop-file-utils-native \ + gtk+3 \ + gsettings-desktop-schemas \ + vte \ + dconf \ + libhandy \ + libpcre2 \ +" + +SRC_URI = " \ + git://gitlab.gnome.org/GNOME/gnome-terminal.git;protocol=https;nobranch=1 \ + file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \ + file://0001-meson-add-option-to-set-dbus_interfacedir.patch \ +" +SRCREV = "5ac3b8e4bd6fa02651b3c23cedb0a7e1cd769655" +S = "${WORKDIR}/git" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[nautilus] = "-Dnautilus_extension=true,-Dnautilus_extension=false,nautilus,nautilus" +PACKAGECONFIG[search_provider] = "-Dsearch_provider=true -Ddbus_interface_dir=${STAGING_DATADIR}/dbus-1/interfaces,-Dsearch_provider=false,gnome-shell" + +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" + +FILES:${PN} += " \ + ${datadir} \ + ${libdir}/nautilus/extensions-4 \ + ${systemd_user_unitdir} \ +" + +RRECOMMENDS:${PN} += "vte-prompt gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_46.1.bb b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_46.1.bb new file mode 100644 index 0000000000..f37eb71952 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-text-editor/gnome-text-editor_46.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "A simple text editor" +LICENSE = "GPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" + + +DEPENDS = " \ + desktop-file-utils-native \ + libadwaita \ + gtk4 \ + gtksourceview5 \ + editorconfig-core-c \ + enchant2 \ +" + +GTKIC_VERSION = "4" + +inherit gnomebase gtk-icon-cache itstool gnome-help mime-xdg features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI[archive.sha256sum] = "8ebfa0bea12e75f5efeacc721be3b8ae65027b024aa81db9ecab8c312257a2eb" + +FILES:${PN} += " \ + ${datadir}/metainfo \ + ${datadir}/dbus-1 \ +" diff --git a/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0002-meson-fix-invalid-positional-argument.patch b/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0002-meson-fix-invalid-positional-argument.patch new file mode 100644 index 0000000000..d921ff3308 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks/0002-meson-fix-invalid-positional-argument.patch @@ -0,0 +1,33 @@ +From dc9701e18775c01d0b69fabaa350147f70096da8 Mon Sep 17 00:00:00 2001 +From: Mae Dartmann <hello@maedartmann.name> +Date: Wed, 16 Feb 2022 06:08:41 +0000 +Subject: [PATCH] meson: fix invalid positional argument + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gnome-tweaks/-/commit/dc9701e18775c01d0b69fabaa350147f70096da8] +--- + data/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/data/meson.build b/data/meson.build +index fd6d5da..74f7e82 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -1,5 +1,5 @@ + appdata_file = 'org.gnome.tweaks.appdata.xml' +-i18n.merge_file(appdata_file, ++i18n.merge_file( + input: appdata_file + '.in', + output: appdata_file, + po_dir: '../po', +@@ -8,7 +8,7 @@ i18n.merge_file(appdata_file, + ) + + desktop_file = 'org.gnome.tweaks.desktop' +-i18n.merge_file(desktop_file, ++i18n.merge_file( + input: desktop_file + '.in', + output: desktop_file, + po_dir: '../po', +-- +GitLab + diff --git a/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb b/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb index 30275c97e3..a8d6a2ad69 100644 --- a/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb +++ b/meta-gnome/recipes-gnome/gnome-tweaks/gnome-tweaks_40.0.bb @@ -1,5 +1,5 @@ SUMMARY = "GNOME tweaks: Advanced options for GNOME 3 session" -LICENSE = "GPLv3 & CC0-1.0" +LICENSE = "GPL-3.0-only & CC0-1.0" LIC_FILES_CHKSUM = " \ file://LICENSES/CC0-1.0;md5=65d3616852dbf7b1a6d4b53b00626032 \ file://LICENSES/GPL-3.0;md5=9eef91148a9b14ec7f9df333daebc746 \ @@ -7,7 +7,6 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "libhandy" -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gtk-icon-cache gobject-introspection features_check @@ -19,7 +18,10 @@ REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" GIR_MESON_OPTION = "" SRC_URI[archive.sha256sum] = "f95f3fe031b0b01c02f79a1659f889152d3772ae3e44df8403d1460ba5eec36a" -SRC_URI += "file://0001-Make-python-path-configurable.patch" +SRC_URI += " \ + file://0001-Make-python-path-configurable.patch \ + file://0002-meson-fix-invalid-positional-argument.patch \ +" EXTRA_OEMESON = "-Dpython_site_dir=${PYTHON_SITEPACKAGES_DIR}" diff --git a/meta-gnome/recipes-gnome/gnome-user-share/gnome-user-share_43.0.bb b/meta-gnome/recipes-gnome/gnome-user-share/gnome-user-share_43.0.bb new file mode 100644 index 0000000000..6fc78dd296 --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-user-share/gnome-user-share_43.0.bb @@ -0,0 +1,24 @@ +SUMMARY = "This is gnome-user-share 43.0, a system for easy sharing of user files." +LICENSE="GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + + +DEPENDS = " \ + glib-2.0-native \ + glib-2.0 \ + systemd \ +" + +inherit gnomebase gsettings features_check + +REQUIRED_DISTRO_FEATURES = "systemd" + +SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-user-share.git;protocol=https;branch=master" +SRCREV = "a0e790aa9494db9d1b1f48b4fc0d2f78e112044d" +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "modules" +PACKAGECONFIG[httpd] = "-Dhttpd=${sbindir}/httpd,,,apache2 mod-dnssd" +PACKAGECONFIG[modules] = "-Dmodules_path=${libexecdir}/apache2/modules" + +FILES:${PN} += "${systemd_user_unitdir}" diff --git a/meta-gnome/recipes-gnome/graphene/graphene_1.10.6.bb b/meta-gnome/recipes-gnome/graphene/graphene_1.10.6.bb deleted file mode 100644 index 0c05c60eee..0000000000 --- a/meta-gnome/recipes-gnome/graphene/graphene_1.10.6.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "A thin layer of graphic data types" -HOMEPAGE = "http://ebassi.github.io/graphene/" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7d871d9e23c450c421a85bb2819f648" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gobject-introspection gtk-doc - -SRC_URI[archive.sha256sum] = "80ae57723e4608e6875626a88aaa6f56dd25df75024bd16e9d77e718c3560b25" - -# gtk4 & mutter 41.0 requires graphene build with introspection -PACKAGECONFIG ?= "introspection" -PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled," - -GTKDOC_MESON_OPTION = "gtk_doc" - -EXTRA_OEMESON = "-Dinstalled_tests=false" - -FILES:${PN} += "${libdir}/graphene-1.0" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch b/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch index a07cd49fdf..6e565e60d5 100644 --- a/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch +++ b/meta-gnome/recipes-gnome/grilo/grilo-plugins/0001-Avoid-running-trackertestutils.patch @@ -1,4 +1,4 @@ -From 9deaed70221a12e26f968be26233b75fa5669476 Mon Sep 17 00:00:00 2001 +From a76c5c40f95b2961bed8f6427080f0fcf6ec00d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> Date: Sat, 15 May 2021 23:25:09 +0200 Subject: [PATCH] Avoid running trackertestutils @@ -12,23 +12,21 @@ It breaks configuration: Upstream-Status: Inappropriate [OE-Specific] Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 6a03778..17ef1e1 100644 +index fca5f98..3c1aa06 100644 --- a/meson.build +++ b/meson.build -@@ -78,7 +78,7 @@ totem_plparser_dep = dependency('totem-plparser', version: '>= 3.4.1', required: +@@ -98,7 +98,7 @@ totem_plparser_dep = dependency('totem-plparser', version: '>= 3.4.1', required: totem_plparser_mini_dep = dependency('totem-plparser-mini', version: '>= 3.4.1', required: false) tracker_sparql_dep = dependency('tracker-sparql-2.0', version: '>= 2.3.0', required: false) tracker3_dep = dependency('tracker-sparql-3.0', required: false) -tracker3_testutils_dep = dependency('tracker-testutils-3.0', required: false) +tracker3_testutils_dep = dependency('tracker-testutils-3.0-avoid-find', required: false) - lua_dep = dependency('lua', version: '>= 5.3.0', required: false) - if not lua_dep.found() --- -2.31.1 - + lua_pkg = [ + 'lua', diff --git a/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb b/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.16.bb index 028e1d22b7..40603993f3 100644 --- a/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.14.bb +++ b/meta-gnome/recipes-gnome/grilo/grilo-plugins_0.3.16.bb @@ -1,5 +1,5 @@ SUMMARY = "Grilo is a framework forsearching media content from various sources" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = " \ @@ -7,16 +7,17 @@ DEPENDS = " \ gperf-native \ itstool-native \ grilo \ - tracker \ lua \ liboauth \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gnome-help vala SRC_URI += "file://0001-Avoid-running-trackertestutils.patch" -SRC_URI[archive.sha256sum] = "686844b34ec73b24931ff6cc4f6033f0072947a6db60acdc7fb3eaf157a581c8" +SRC_URI[archive.sha256sum] = "fe6f4dbe586c6b8ba2406394e202f22d009d642a96eb3a54f32f6a21d084cdcb" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'gobject-introspection-data', 'tracker', '', d)}" +PACKAGECONFIG[tracker] = "-Denable-tracker3=yes,-Denable-tracker3=no,tracker" FILES:${PN} += "${libdir}/grilo-0.3" diff --git a/meta-gnome/recipes-gnome/grilo/grilo_0.3.14.bb b/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb index 53d80c5cbe..14e1ca9fe1 100644 --- a/meta-gnome/recipes-gnome/grilo/grilo_0.3.14.bb +++ b/meta-gnome/recipes-gnome/grilo/grilo_0.3.16.bb @@ -1,5 +1,5 @@ SUMMARY = "Grilo is a framework forsearching media content from various sources" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" DEPENDS = " \ @@ -7,11 +7,10 @@ DEPENDS = " \ glib-2.0 \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gobject-introspection gtk-doc gettext vala -SRC_URI[archive.sha256sum] = "0369d0b00bb0f59ba5f7aea8cfc665f38df14a5b4182d28c7c1e2cd15b518743" +SRC_URI[archive.sha256sum] = "884580e8c5ece280df23aa63ff5234b7d48988a404df7d6bfccd1e77b473bd96" GIR_MESON_OPTION = "enable-introspection" GTKDOC_MESON_OPTION = "enable-gtk-doc" @@ -20,9 +19,12 @@ GTKDOC_MESON_OPTION = "enable-gtk-doc" # | bindings/vala/meson.build:15:0: ERROR: Unknown variable "grlnet_gir". PACKAGECONFIG ??= "net" -PACKAGECONFIG[net] = "-Denable-grl-net=true, -Denable-grl-net=false, libsoup-2.4" +PACKAGECONFIG[net] = "-Denable-grl-net=true, -Denable-grl-net=false, libsoup-3.0" PACKAGECONFIG[test-ui] = "-Denable-test-ui=true, -Denable-test-ui=false, gtk+3 liboauth" # Once we have a recipe for 'totem-plparser' this can turn into a PACKAGECONFIG EXTRA_OEMESON = "-Denable-grl-pls=false" +do_compile:append() { + sed -i -e 's,${B}/../,,' ${B}/src/grl-type-builtins.h +} diff --git a/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch b/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch deleted file mode 100644 index ffccfd56f2..0000000000 --- a/meta-gnome/recipes-gnome/gsound/gsound/0001-Set-vapidir.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0a790273aca3ba07dfa6d2f61e3aaa7157c1a3bb Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 20 Mar 2021 09:22:18 -0700 -Subject: [PATCH] Set vapidir - -Use parentheses instead of braces, it makes automake and perl happy -newer perl does not like ${} for VALAFLAGS - -Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^${ <-- HERE abs_top_builddir}/gsound$/ at TOPDIR/build/tmp/work/mips32r2-yoe-linux/gsound/1.0.2-r0/recipe-sysroot-native/usr/bin/automake line 5759. -autoreconf: error: automake failed with exit status: 255 - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - tools/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -8,7 +8,7 @@ bin_PROGRAMS = gsound-play - gsound_play_SOURCES = gsound-play.vala - - gsound_play_VALAFLAGS = \ -- --vapidir ${abs_top_builddir}/gsound \ -+ --vapidir $(abs_top_builddir)/gsound \ - --pkg gsound \ - ${NULL} - diff --git a/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb b/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb index 65ee1e1c12..6a50c22c73 100644 --- a/meta-gnome/recipes-gnome/gsound/gsound_1.0.2.bb +++ b/meta-gnome/recipes-gnome/gsound/gsound_1.0.3.bb @@ -1,5 +1,5 @@ SUMMARY = "Small gobject library for playing system sounds" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=447b837ae57f08b7060593ac6256163f" DEPENDS = " \ @@ -7,9 +7,9 @@ DEPENDS = " \ libcanberra \ " -inherit gnomebase gettext gobject-introspection vala -SRC_URI += "file://0001-Set-vapidir.patch" +VALA_MESON_OPTION = "enable_vala" + +inherit gnomebase gettext gobject-introspection vala -SRC_URI[archive.md5sum] = "c26fd21c21b9ef6533a202a73fab21db" -SRC_URI[archive.sha256sum] = "bba8ff30eea815037e53bee727bbd5f0b6a2e74d452a7711b819a7c444e78e53" +SRC_URI[archive.sha256sum] = "ca2d039e1ebd148647017a7f548862350bc9af01986d39f10cfdc8e95f07881a" diff --git a/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb b/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb new file mode 100644 index 0000000000..2668fc009f --- /dev/null +++ b/meta-gnome/recipes-gnome/gspell/gspell_1.12.2.bb @@ -0,0 +1,11 @@ +SUMMARY = "gspell adds spell-checking to a GTK+ applications" +HOMEPAGE = "https://wiki.gnome.org/Projects/gspell" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=8c2e1ec1540fb3e0beb68361344cba7e" + +DEPENDS = "gtk+3 icu enchant2" + +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gettext gobject-introspection vala gtk-doc + +SRC_URI[archive.sha256sum] = "b4e993bd827e4ceb6a770b1b5e8950fce3be9c8b2b0cbeb22fdf992808dd2139" diff --git a/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb b/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb deleted file mode 100644 index d6de146b16..0000000000 --- a/meta-gnome/recipes-gnome/gspell/gspell_1.9.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -SUMMARY = "gspell adds spell-checking to a GTK+ applications" -HOMEPAGE = "https://wiki.gnome.org/Projects/gspell" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=8c2e1ec1540fb3e0beb68361344cba7e" - -DEPENDS = "gtk+3 iso-codes enchant2" - -inherit gnomebase gettext gobject-introspection - -SRC_URI[archive.sha256sum] = "dcbb769dfdde8e3c0a8ed3102ce7e661abbf7ddf85df08b29915e92cd723abdd" diff --git a/meta-gnome/recipes-gnome/gthumb/gthumb_3.10.3.bb b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.4.bb index bae13e1a0d..79db8b7d75 100644 --- a/meta-gnome/recipes-gnome/gthumb/gthumb_3.10.3.bb +++ b/meta-gnome/recipes-gnome/gthumb/gthumb_3.12.4.bb @@ -1,8 +1,7 @@ SUMMARY = "Image viewer and browser" -LICENSE="GPLv2" +LICENSE="GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -GNOMEBASEBUILDCLASS = "meson" REQUIRED_DISTRO_FEATURES = "polkit gobject-introspection-data" @@ -19,13 +18,13 @@ DEPENDS = " \ lcms \ libraw \ librsvg \ - libsoup-2.4 \ + libsoup \ json-glib \ libsecret \ " inherit features_check gnomebase gnome-help gsettings itstool mime-xdg -SRC_URI[archive.sha256sum] = "dab73f77cc2963ebe90112972c301441d228af3003cfef3f8b7300a6d5d3c212" +SRC_URI[archive.sha256sum] = "add693ac0aeb9a30d829ba03a06208289d3f6868dc3b02573549e88190c794e8" FILES:${PN} += "${datadir}/metainfo" diff --git a/meta-gnome/recipes-gnome/gtk4/gtk4_4.4.0.bb b/meta-gnome/recipes-gnome/gtk4/gtk4_4.4.0.bb deleted file mode 100644 index f15e2d58ea..0000000000 --- a/meta-gnome/recipes-gnome/gtk4/gtk4_4.4.0.bb +++ /dev/null @@ -1,139 +0,0 @@ -SUMMARY = "Multi-platform toolkit for creating GUIs" -DESCRIPTION = "GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \ -set of widgets, GTK is suitable for projects ranging from small one-off projects to complete application suites." -HOMEPAGE = "http://www.gtk.org" -BUGTRACKER = "https://bugzilla.gnome.org/" -SECTION = "libs" - -DEPENDS = " \ - sassc-native \ - glib-2.0 \ - libepoxy \ - graphene \ - cairo \ - pango \ - atk \ - jpeg \ - libpng \ - gdk-pixbuf-native gdk-pixbuf \ -" - -LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \ - file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ - file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \ -" - -MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" - -SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" -SRC_URI[sha256sum] = "e0a1508f441686c3a20dfec48af533b19a4b2e017c18eaee31dccdb7d292505b" - -S = "${WORKDIR}/gtk-${PV}" - -inherit meson gettext pkgconfig gtk-doc update-alternatives gsettings features_check gobject-introspection - -# TBD: nativesdk -# gobject-introspection.bbclass pins introspection off for nativesk. As long as -# we do not remove this wisdom or hack gtk4, it is not possible to build -# nativesdk-gtk4 -BBCLASSEXTEND = "native" - -GSETTINGS_PACKAGE:class-native = "" - -ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" -REQUIRED_DISTRO_FEATURES = "opengl" - -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' -GTKDOC_MESON_OPTION = 'gtk_doc' - -# ../gtk-4.4.0/testsuite/reftests/gtk-reftest.c:28:10: fatal error: execinfo.h: No such file or directory -EXTRA_OEMESON:append:libc-musl = " -Dbuild-tests=false" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" -PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" -PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -PACKAGECONFIG[x11] = "-Dx11-backend=true,-Dx11-backend=false,at-spi2-atk fontconfig libx11 libxext libxcursor libxi libxdamage libxrandr libxrender libxcomposite libxfixes xinerama" -PACKAGECONFIG[wayland] = "-Dwayland-backend=true,-Dwayland-backend=false,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native" -PACKAGECONFIG[cups] = "-Dprint-cups=enabled,-Dprint-cups=disabled,cups" -PACKAGECONFIG[colord] = "-Dcolord=enabled,-Dcolord=disabled,colord" -# gtk4 wants gstreamer-player-1.0 -> gstreamer1.0-plugins-bad -PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled,gstreamer1.0-plugins-bad" -PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker" - - -do_compile:prepend() { - export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs" -} - - -PACKAGES =+ "${PN}-demo" -LIBV = "4.0.0" - -FILES:${PN}-demo = " \ - ${datadir}/applications/org.gtk.Demo4.desktop \ - ${datadir}/applications/org.gtk.IconBrowser4.desktop \ - ${datadir}/applications/org.gtk.WidgetFactory4.desktop \ - ${datadir}/icons/hicolor/*/apps/org.gtk.Demo4*.* \ - ${datadir}/icons/hicolor/*/apps/org.gtk.IconBrowser4*.* \ - ${datadir}/icons/hicolor/*/apps/org.gtk.WidgetFactory4*.* \ - ${bindir}/gtk4-demo \ - ${bindir}/gtk4-demo-application \ - ${bindir}/gtk4-icon-browser \ - ${bindir}/gtk4-widget-factory \ -" - -FILES:${PN}:append = " \ - ${datadir}/glib-2.0/schemas/ \ - ${datadir}/gtk-4.0/emoji/ \ - ${datadir}/metainfo/ \ - ${datadir}/icons/hicolor/*/apps/org.gtk.PrintEditor4*.* \ - ${libdir}/gtk-4.0/${LIBV}/printbackends \ - ${bindir}/gtk4-update-icon-cache \ - ${bindir}/gtk4-launch \ -" - -FILES:${PN}-dev += " \ - ${datadir}/gtk-4.0/gtk4builder.rng \ - ${datadir}/gtk-4.0/include \ - ${datadir}/gtk-4.0/valgrind \ - ${datadir}/gettext/its \ - ${bindir}/gtk4-builder-tool \ - ${bindir}/gtk4-encode-symbolic-svg \ - ${bindir}/gtk4-query-settings \ -" - -GTKBASE_RRECOMMENDS ?= " \ - liberation-fonts \ - gdk-pixbuf-loader-png \ - gdk-pixbuf-loader-jpeg \ - gdk-pixbuf-loader-gif \ - gdk-pixbuf-loader-xpm \ - shared-mime-info \ - adwaita-icon-theme-symbolic \ -" - -GTKBASE_RRECOMMENDS:class-native ?= "" - -GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1" - -RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}" -RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}" -RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG", "wayland", "wayland-protocols", "", d)}" - -PACKAGES_DYNAMIC += "^gtk4-printbackend-.*" -python populate_packages:prepend () { - import os.path - - gtk_libdir = d.expand('${libdir}/gtk-3.0/${LIBV}') - printmodules_root = os.path.join(gtk_libdir, 'printbackends'); - - do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk4-printbackend-%s', 'GTK printbackend module for %s') - - if (d.getVar('DEBIAN_NAMES')): - d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-4.0') -} diff --git a/meta-gnome/recipes-gnome/gtksourceview/files/0001-remove-pointless-check.patch b/meta-gnome/recipes-gnome/gtksourceview/files/0001-remove-pointless-check.patch new file mode 100644 index 0000000000..8230bbbd16 --- /dev/null +++ b/meta-gnome/recipes-gnome/gtksourceview/files/0001-remove-pointless-check.patch @@ -0,0 +1,38 @@ +From 397751846130f79d5fbe8d617b788f3bcbb36816 Mon Sep 17 00:00:00 2001 +From: Ross Burton <ross.burton@arm.com> +Date: Tue, 9 Jan 2024 22:20:03 +0000 +Subject: [PATCH] meson: remove pointless gtk-doc check + +There's no point explicitly checking for gtk-doc, for two reasons: + +1) In cross-compiled environments this looks for a target gtk-doc, not a + native gtk-doc, so it should set native:true. + +2) The gnome.gtkdoc() function checks for gtk-doc itself. + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gtksourceview/-/merge_requests/351] +Signed-off-by: Ross Burton <ross.burton@arm.com> +--- + meson.build | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/meson.build b/meson.build +index ba07da70..1109daea 100644 +--- a/meson.build ++++ b/meson.build +@@ -107,12 +107,6 @@ else + vapigen_dep = [] + endif + +-if build_gtk_doc +- gtk_doc_dep = dependency('gtk-doc', version: gtk_doc_req) +-else +- gtk_doc_dep = [] +-endif +- + # Look for the libxml2 library manually on Visual Studio if + # its pkg-config file could not be found, as the NMake + # Makefiles of libxml2 do not generate the pkg-config files +-- +2.34.1 + diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb index 64d5b868f7..4e1e434314 100644 --- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview-classic-light_1.0.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Gtksourceview Classic-Light theme" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://classic-light.xml;beginline=6;endline=23;md5=2b4f75364fad00a4d752214dcbd7d7c3" inherit allarch diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb index 9f88513f7d..e504186b82 100644 --- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb @@ -1,15 +1,16 @@ SUMMARY = "Portable C library for multiline text editing" HOMEPAGE = "http://projects.gnome.org/gtksourceview/" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" -DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native" +DEPENDS = "gtk+3 libxml2 glib-2.0-native" PNAME = "gtksourceview" S = "${WORKDIR}/${PNAME}-${PV}" +GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection upstream-version-is-even REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.1.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.1.bb deleted file mode 100644 index 10b60be598..0000000000 --- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.1.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Portable C library for multiline text editing" -HOMEPAGE = "http://projects.gnome.org/gtksourceview/" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" - -DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native" - -PNAME = "gtksourceview" - -S = "${WORKDIR}/${PNAME}-${PV}" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz" -SRC_URI[sha256sum] = "d163d71b5fcafbc5b1eec6dd841edbdbcddd3a7511cd5fdcffd86b8bbfe69ac1" - -GIR_MESON_OPTION = 'gir' -GTKDOC_MESON_OPTION = "gtk_doc" - -# Override the definition in meson.bbclass. The dependencies in mason.build are incomplete -# and the recipe will not build with "-j 1". This fix is benign but should be reviewed when -# updating versions. -# -meson_do_compile() { - bbnote "========== generating gtksourceview-gresources.h ========" - bbnote "PARALLEL_MAKE is ${PARALLEL_MAKE}" - ninja ${PARALLEL_MAKE} gtksourceview/gtksourceview-gresources.h - bbnote "========== compiling target all ========" - ninja ${PARALLEL_MAKE} -} - -FILES:${PN} += "${datadir}/gtksourceview-4" diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb new file mode 100644 index 0000000000..38ca4a39e6 --- /dev/null +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview4_4.8.4.bb @@ -0,0 +1,24 @@ +SUMMARY = "Portable C library for multiline text editing" +HOMEPAGE = "http://projects.gnome.org/gtksourceview/" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = "gtk+3 libxml2 glib-2.0-native" + +PNAME = "gtksourceview" + +S = "${WORKDIR}/${PNAME}-${PV}" + +inherit gnomebase lib_package gettext features_check gtk-doc gobject-introspection vala + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI = "https://download.gnome.org/sources/gtksourceview/4.8/${PNAME}-${PV}.tar.xz \ + file://0001-remove-pointless-check.patch" +SRC_URI[sha256sum] = "7ec9d18fb283d1f84a3a3eff3b7a72b09a10c9c006597b3fbabbb5958420a87d" + +GIR_MESON_OPTION = 'gir' +GTKDOC_MESON_OPTION = "gtk_doc" + +FILES:${PN} += "${datadir}/gtksourceview-4" diff --git a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.12.0.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.12.0.bb new file mode 100644 index 0000000000..f3267acbeb --- /dev/null +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.12.0.bb @@ -0,0 +1,36 @@ +SUMMARY = "Portable C library for multiline text editing" +HOMEPAGE = "http://projects.gnome.org/gtksourceview/" + +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" + +DEPENDS = " \ + fribidi \ + glib-2.0-native \ + fontconfig \ + gtk4 \ + libxml2 \ + libpcre2 \ + pango \ +" + +PNAME = "gtksourceview" + +S = "${WORKDIR}/${PNAME}-${PV}" + + +inherit gnomebase lib_package gettext features_check gi-docgen gtk-icon-cache gobject-introspection vala + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI = "https://download.gnome.org/sources/gtksourceview/5.12/${PNAME}-${PV}.tar.xz" +SRC_URI[sha256sum] = "daf32ff5d3150d6385917d3503a85b9e047ba158b2b03079314c9c00813fa01f" + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' +GIDOCGEN_MESON_OPTION = "documentation" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'vulkan', d)}" +PACKAGECONFIG[vulkan] = ",,vulkan-loader vulkan-headers" + +FILES:${PN} += "${datadir}/gtksourceview-5" diff --git a/meta-gnome/recipes-gnome/gvfs/gvfs_1.48.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.54.0.bb index 18abac29cc..01cdb4eef5 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.48.1.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.54.0.bb @@ -1,26 +1,30 @@ DESCRIPTION = "gvfs is a userspace virtual filesystem" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e" -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings bash-completion gettext upstream-version-is-even features_check useradd -DEPENDS += "libsecret glib-2.0 glib-2.0-native libgudev shadow-native \ - gsettings-desktop-schemas dbus" +DEPENDS += "\ + dbus \ + glib-2.0 \ + glib-2.0-native \ + gsettings-desktop-schemas \ + libgudev \ + libsecret \ + libxml2 \ + shadow-native \ +" RDEPENDS:${PN} += "gsettings-desktop-schemas" SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive" -SRC_URI[archive.sha256sum] = "b2ea4f271aad2711f16b43c03151e2ec5a9874ff1a21142ef6d6406486a19dc2" -# depends on gsettings-desktop-schemas->gcr->gtk+3-> x11 -REQUIRED_DISTRO_FEATURES = "x11" +SRC_URI[archive.sha256sum] = "f53d81df86c2e86cdd25182c2d8a669a22371e83623ded1b9d5416dcfc6de366" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" EXTRA_OEMESON = " \ -Dbluray=false \ - -Dgoa=false \ - -Dgoogle=false \ - -Dnfs=false \ " PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" @@ -55,10 +59,15 @@ PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist" PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive" PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi" PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr" -PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4" +PACKAGECONFIG[gcrypt] = "-Dgcrypt=true, -Dgcrypt=false, libgcrypt" +PACKAGECONFIG[goa] = "-Dgoa=true, -Dgoa=false, gnome-online-accounts" +PACKAGECONFIG[google] = "-Dgoogle=true, -Dgoogle=false, libgdata" +PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-3.0" PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp" PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd" PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2" +PACKAGECONFIG[nfs] = "-Dnfs=true, -Dnfs=false,libnfs" +PACKAGECONFIG[onedrive] = "-Donedrive=true, -Donedrive=false, msgraph" PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba" PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd" @@ -69,13 +78,13 @@ PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse3" PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia" USERADD_PACKAGES = "${PN}" -USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd" +USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd" do_install:append() { if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then # Fix up permissions on polkit rules.d to work with rpm4 constraints - chmod 700 ${D}/${datadir}/polkit-1/rules.d - chown polkitd:root ${D}/${datadir}/polkit-1/rules.d + chmod 700 ${D}${datadir}/polkit-1/rules.d + chown polkitd:root ${D}${datadir}/polkit-1/rules.d fi # After rebuilds (not from scracth) it can happen that the executables in diff --git a/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb b/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb index 51ca63e1fb..a89ab8cc74 100644 --- a/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.20.bb +++ b/meta-gnome/recipes-gnome/libchamplain/libchamplain_0.12.21.bb @@ -1,13 +1,13 @@ SUMMARY = "libchamplain is a Gtk widget displaying zoomable and pannable maps" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" -DEPENDS = "glib-2.0 gtk+3 gdk-pixbuf clutter-1.0 clutter-gtk-1.0 libsoup-2.4" +DEPENDS = "glib-2.0 gtk+3 clutter-1.0 clutter-gtk-1.0 libsoup-3.0 cairo sqlite3" -inherit features_check gobject-introspection meson pkgconfig +inherit features_check gobject-introspection meson pkgconfig vala REQUIRED_DISTRO_FEATURES = "opengl" -SRCREV = "145e417f32e507b63c21ad4e915b808a6174099e" +SRCREV = "941560af497148588783db991e8135f52a82574d" SRC_URI = "git://github.com/gnome/libchamplain.git;branch=master;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb b/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb index aaefcecb7b..a65fc61feb 100644 --- a/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb +++ b/meta-gnome/recipes-gnome/libgdata/libgdata_0.18.1.bb @@ -2,27 +2,26 @@ SUMMARY = "GLib-based library for accessing online service APIs using the GData HOMEPAGE = "http://live.gnome.org/libgdata" BUGTRACKER = "https://bugzilla.gnome.org/" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \ file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef" -DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib" +DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr3 json-glib" GTKDOC_MESON_OPTION = "gtk_doc" -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages features_check -# gcr -REQUIRED_DISTRO_FEATURES = "x11" +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'goa', 'opengl', '', d)}" do_compile:prepend() { export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs" } # goa is required for gnome-photos -PACKAGECONFIG ??= "goa gtk" +PACKAGECONFIG ??= "goa gtk vala" PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false" PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts" PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb deleted file mode 100644 index 8748a027c6..0000000000 --- a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.47.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "GNOME Structured File Library" -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=dc7371b50816c96e145fa0f8ade8e24d \ - file://COPYING.LIB;md5=61464cfe342798eeced82efe9ae55f63" - -SECTION = "libs" - -DEPENDS= "libxml2 bzip2 glib-2.0 zlib gnome-common-native" - -inherit gnomebase gobject-introspection gettext gtk-doc - -SRC_URI[archive.md5sum] = "20bf9933128210d7a9f920a34198d22f" -SRC_URI[archive.sha256sum] = "d188ebd3787b5375a8fd38ee6f761a2007de5e98fa0cf5623f271daa67ba774d" -SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" - -EXTRA_OECONF = "\ - --with-bz2 \ -" - -FILES:${PN} += "${datadir}/thumbnailers" diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.52.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.52.bb new file mode 100644 index 0000000000..7e1842b1ac --- /dev/null +++ b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.52.bb @@ -0,0 +1,22 @@ +SUMMARY = "GNOME Structured File Library" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=61464cfe342798eeced82efe9ae55f63" + +SECTION = "libs" + +DEPENDS= "libxml2 bzip2 glib-2.0 zlib" + +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gobject-introspection gettext gtk-doc + +SRC_URI[archive.sha256sum] = "9181c914b9fac0e05d6bcaa34c7b552fe5fc0961d3c9f8c01ccc381fb084bcf0" +SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" + +EXTRA_OECONF = "\ + --with-bz2 \ +" + +FILES:${PN} += "${datadir}/thumbnailers" diff --git a/meta-gnome/recipes-gnome/libgtkstylus/files/gtkstylus.sh b/meta-gnome/recipes-gnome/libgtkstylus/files/gtkstylus.sh deleted file mode 100644 index b1302ede0e..0000000000 --- a/meta-gnome/recipes-gnome/libgtkstylus/files/gtkstylus.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -GTK_MODULES=libgtkstylus.so - -export GTK_MODULES diff --git a/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb deleted file mode 100644 index 2a6e185111..0000000000 --- a/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "GTK plugin for stylus based systems" -SECTION = "libs" -DEPENDS = "gtk+" -LICENSE = "LGPL-2.0+" -LIC_FILES_CHKSUM = "file://tap.c;beginline=1;endline=20;md5=71756eeb144e9eeb177c69aa672b1635" -PR = "r4" - -inherit features_check autotools pkgconfig - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI = "http://burtonini.com/temp/${BP}.tar.gz \ - file://gtkstylus.sh" -SRC_URI[md5sum] = "fa1c82cd9fd2fafd7ff10d78eb5781c5" -SRC_URI[sha256sum] = "383e0a22a537f653b8d41688277560f95678a042967198085ec7caa1a5cc2f4c" - -do_install:append() { - install -d ${D}/${sysconfdir}/X11/Xsession.d - install -m 755 ${WORKDIR}/gtkstylus.sh ${D}/${sysconfdir}/X11/Xsession.d/45gtkstylus -} - -# Horrible but rpm falls over if you use '*' -GTKVER = "2.10.0" - -FILES:${PN} = "${sysconfdir} \ - ${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.so.*" -FILES:${PN}-dbg += "${libdir}/gtk-2.0/${GTKVER}/modules/.debug" -FILES:${PN}-dev += "${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.so" -FILES:${PN}-staticdev += "${libdir}/gtk-2.0/${GTKVER}/modules/libgtkstylus.*a" diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch deleted file mode 100644 index 1bd6e101b5..0000000000 --- a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-fix-compile-error-for-cross-compile.patch +++ /dev/null @@ -1,37 +0,0 @@ -From e865a93000913b4597607289356114cd159f4e28 Mon Sep 17 00:00:00 2001 -From: Your Name <you@example.com> -Date: Fri, 21 May 2021 03:02:29 +0000 -Subject: [PATCH] fix compile error for cross compile - -On some distros, such as fedora32, cross compile failed with following -error since host library is used. undefined reference to -`stat64@GLIBC_2.33' - -According doc of ld, set searchdir begins with "=", but not hardcoded -locations. - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgtop/-/merge_requests/26] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 472f44b..ed6a4d7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -270,8 +270,8 @@ AC_ARG_ENABLE(fatal-warnings, - [Define to enable fatal warnings])) - - dnl These definitions are expanded in make. --LIBGTOP_LIBS='-L$(libdir)' --LIBGTOP_INCS='-I$(includedir)/libgtop-2.0' -+LIBGTOP_LIBS='-L=$(libdir)' -+LIBGTOP_INCS='-I=$(includedir)/libgtop-2.0' - - if test x$libgtop_have_sysinfo = xyes ; then - LIBGTOP_INCS="$LIBGTOP_INCS -DHAVE_LIBGTOP_SYSINFO" --- -2.26.2 - diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch b/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch deleted file mode 100644 index c4f7da4bf6..0000000000 --- a/meta-gnome/recipes-gnome/libgtop/libgtop/0001-netload-Include-libc-net-headers-unconditionally.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3c6f70e50cb586ac4add4dea627c316242691040 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 13 Jul 2017 09:17:29 -0700 -Subject: [PATCH] netload: Include libc net headers unconditionally - -This fixes compile with musl, and this conditional -is not needed now a days if we are still using glibc < 1.0 -we have other bigger problems - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - sysdeps/linux/netload.c | 11 ----------- - 1 file changed, 11 deletions(-) - -diff --git a/sysdeps/linux/netload.c b/sysdeps/linux/netload.c -index c275db2..446bddd 100644 ---- a/sysdeps/linux/netload.c -+++ b/sysdeps/linux/netload.c -@@ -34,8 +34,6 @@ - #include <sys/socket.h> - #include <sys/ioctl.h> - --#if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 --/* GNU LibC */ - #include <net/if.h> - #include <netinet/ip_icmp.h> - #include <netinet/in.h> -@@ -43,15 +41,6 @@ - #include <netinet/tcp.h> - #include <netinet/udp.h> - #include <net/if.h> --#else /* Libc 5 */ --#include <linux/if.h> --#include <linux/in.h> --#include <linux/ip.h> --#include <linux/icmp.h> --#include <linux/tcp.h> --#include <linux/udp.h> --#endif -- - - #ifdef HAVE_IFADDRS_H - /* needed for IPV6 support */ --- -2.13.2 - diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb deleted file mode 100644 index 6d9398f4e4..0000000000 --- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.40.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "A library for collecting system monitoring data" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" - -inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even - -# depends on libxau -inherit features_check -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI += "file://0001-fix-compile-error-for-cross-compile.patch" - -SRC_URI[archive.sha256sum] = "78f3274c0c79c434c03655c1b35edf7b95ec0421430897fb1345a98a265ed2d4" - -DEPENDS = "glib-2.0 libxau" diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.3.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.3.bb new file mode 100644 index 0000000000..5587baa0f7 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.41.3.bb @@ -0,0 +1,12 @@ +SUMMARY = "A library for collecting system monitoring data" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase lib_package gtk-doc gobject-introspection gettext upstream-version-is-even features_check + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" + +SRC_URI[archive.sha256sum] = "775676df958e2ea2452f7568f28b2ea581063d312773dd5c0b7624c1b9b2da8c" + +DEPENDS = "glib-2.0 libxau" diff --git a/meta-gnome/recipes-gnome/libgweather/libgweather4/0001-Allow-building-gir-in-cross-environments.patch b/meta-gnome/recipes-gnome/libgweather/libgweather4/0001-Allow-building-gir-in-cross-environments.patch new file mode 100644 index 0000000000..3a075de651 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgweather/libgweather4/0001-Allow-building-gir-in-cross-environments.patch @@ -0,0 +1,26 @@ +From 179102310e9a3729fb5b00f2a7bf24b12f4a7a83 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Sat, 16 Apr 2022 20:04:14 +0200 +Subject: [PATCH] Allow building gir in cross environments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +For us this works perfectly fine + +Upstream-Status: Inappropriate [OE-specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +Signed-off-by: Markus Volk <f_l_k@t-online.de> + +--- a/meson.build 2022-09-18 14:48:53.000000000 +0200 ++++ b/meson.build 2022-11-26 14:05:13.302487232 +0100 +@@ -51,7 +51,7 @@ + gen_locations_variant = find_program('build-aux/meson/gen_locations_variant.py') + + g_ir_scanner = find_program('g-ir-scanner', required: get_option('introspection')) +-build_gir = get_option('introspection') and g_ir_scanner.found() and not meson.is_cross_build() ++build_gir = get_option('introspection') and g_ir_scanner.found() + build_docs = get_option('gtk_doc') and build_gir + + schemas_srcdir = meson.project_source_root() / 'schemas' diff --git a/meta-gnome/recipes-gnome/libgweather/libgweather4_4.4.2.bb b/meta-gnome/recipes-gnome/libgweather/libgweather4_4.4.2.bb new file mode 100644 index 0000000000..acf2885281 --- /dev/null +++ b/meta-gnome/recipes-gnome/libgweather/libgweather4_4.4.2.bb @@ -0,0 +1,30 @@ +SUMMARY = "A library to access weather information from online services" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +GNOMEBN = "libgweather" +S = "${WORKDIR}/${GNOMEBN}-${PV}" + +inherit gnomebase gsettings gobject-introspection gettext gi-docgen vala features_check + +REQUIRED_DISTRO_FEATURES = "opengl" + +SRC_URI += "file://0001-Allow-building-gir-in-cross-environments.patch" +SRC_URI[archive.sha256sum] = "a6e427b4770ada48945f3aa906af710fc833cff0d42df91f1828302740d794ec" + +GTKDOC_MESON_OPTION = "gtk_doc" +VALA_MESON_OPTION = "enable_vala" + +DEPENDS = " \ + geocode-glib \ + gtk4 \ + json-glib \ + libsoup-3.0 \ + python3-pygobject-native \ +" + +FILES:${PN} += " \ + ${datadir}/libgweather-4 \ + ${libdir}/libgweather-4 \ +" diff --git a/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb b/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb deleted file mode 100644 index 49493b17b2..0000000000 --- a/meta-gnome/recipes-gnome/libgweather/libgweather_40.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "A library to access weather information from online services" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala features_check upstream-version-is-even - -SRC_URI[archive.sha256sum] = "ca4e8f2a4baaa9fc6d75d8856adb57056ef1cd6e55c775ba878ae141b6276ee6" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" - -GTKDOC_MESON_OPTION = "gtk_doc" - -DEPENDS = " \ - geocode-glib \ - gtk+3 \ - json-glib \ - libsoup-2.4 \ - python3-pygobject-native \ -" 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 c74e1d4388..bafe7af040 100644 --- a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb +++ b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb @@ -1,11 +1,10 @@ DESCRIPTION = "Time zone map widget for Gtk+" HOMEPAGE = "https://launchpad.net/timezonemap" SECTION = "devel/lib" -LICENSE = "GPLv3" +LICENSE = "GPL-3.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/libt/${BPN}/${BPN}_${PV}.tar.gz" -SRC_URI[md5sum] = "f85a21994a397fb1ff2d3ec404bdd592" +SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz" SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195" DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native" diff --git a/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb b/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb deleted file mode 100644 index bfb52e5bbf..0000000000 --- a/meta-gnome/recipes-gnome/libwnck/libwnck3_40.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Window navigation construction toolkit" -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" - -BPN = "libwnck" - -SECTION = "x11/libs" -DEPENDS = "intltool-native gnome-common-native gtk+3 gdk-pixbuf-native libxres" - -PACKAGECONFIG ??= "startup-notification" -PACKAGECONFIG[startup-notification] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification" - -GNOMEBASEBUILDCLASS = "meson" -GTKDOC_MESON_OPTION = "gtk_doc" -GIR_MESON_ENABLE_FLAG = 'enabled' -GIR_MESON_DISABLE_FLAG = 'disabled' - -inherit gnomebase gobject-introspection gtk-doc gettext features_check - -def gnome_verdir(v): - return oe.utils.trim_version(v, 1) - -SRC_URI[archive.sha256sum] = "30cb79a839f90cd66f3e202f3f98cb5166fa0cd9b92eb571ad9c470a43021d83" - -# libxres means x11 only -REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb b/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb new file mode 100644 index 0000000000..c7f7989115 --- /dev/null +++ b/meta-gnome/recipes-gnome/libwnck/libwnck3_43.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "Window navigation construction toolkit" +LICENSE = "LGPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +BPN = "libwnck" + +SECTION = "x11/libs" +DEPENDS = "cairo glib-2.0 gtk+3" + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" +PACKAGECONFIG[x11] = "-Dstartup_notification=enabled,-Dstartup_notification=disabled,startup-notification libxres" + +GTKDOC_MESON_OPTION = "gtk_doc" +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + +inherit gnomebase gobject-introspection gtk-doc gettext features_check + +def gnome_verdir(v): + return oe.utils.trim_version(v, 1) + +SRC_URI[archive.sha256sum] = "905bcdb85847d6b8f8861e56b30cd6dc61eae67ecef4cd994a9f925a26a2c1fe" + +# gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG. +# cairo would at least needed to be built with xlib. +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" diff --git a/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb index d1f36a94d2..d7f47002f8 100644 --- a/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb +++ b/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb @@ -1,5 +1,5 @@ SUMMARY = "Window navigation construction toolkit" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" SECTION = "x11/libs" @@ -8,7 +8,8 @@ DEPENDS = "intltool-native gnome-common-native gtk+ gdk-pixbuf-native libxres" PACKAGECONFIG ??= "startup-notification" PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification" -inherit gnomebase gobject-introspection features_check +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gobject-introspection features_check gtk-doc REQUIRED_DISTRO_FEATURES = "x11" SRC_URI[archive.md5sum] = "f03e1139296e2a3a92e3b65a3080cd32" diff --git a/meta-gnome/recipes-gnome/libxklavier/libxklavier/fix-do_installe-failure.patch b/meta-gnome/recipes-gnome/libxklavier/libxklavier/fix-do_installe-failure.patch index 29eeef3d50..6c32bfa14f 100644 --- a/meta-gnome/recipes-gnome/libxklavier/libxklavier/fix-do_installe-failure.patch +++ b/meta-gnome/recipes-gnome/libxklavier/libxklavier/fix-do_installe-failure.patch @@ -12,7 +12,7 @@ libxklavier.vapi': No such file or directory | 21 make[3]: *** [install-vapiDATA] Error 1 | 22 make[3]: *** Waiting for unfinished jobs.... -Upstream-Stauts: Pending +Upstream-Status: Pending Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- diff --git a/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb b/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb index e47d74b7b8..f52c210ed4 100644 --- a/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb +++ b/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.4.bb @@ -1,10 +1,10 @@ SUMMARY = "Helper lib for keyboard management" -LICENSE = "LGPLv2" +LICENSE = "LGPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2" -inherit autotools pkgconfig gettext gobject-introspection features_check +inherit autotools pkgconfig gettext gobject-introspection features_check gtk-doc REQUIRED_DISTRO_FEATURES = "x11" diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch index 3493e511be..cd46824c39 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch +++ b/meta-gnome/recipes-gnome/metacity/metacity/0001-drop-zenity-detection.patch @@ -1,11 +1,11 @@ -From ec0e52b49c9b6869413c9544c2ed44710ab91141 Mon Sep 17 00:00:00 2001 +From d36e65f3e31c882f62d5cfeb7b0e1441d5fdc821 Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> Date: Sat, 14 Apr 2018 16:15:59 +0800 Subject: [PATCH] drop zenity detection OE does not support zenity -Upstream-Status: inappropriate [OE specific] +Upstream-Status: Inappropriate [OE specific] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- @@ -13,10 +13,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 1 file changed, 5 deletions(-) diff --git a/configure.ac b/configure.ac -index 5f9e7e9..80b32c7 100644 +index bbb4db8..2010d78 100644 --- a/configure.ac +++ b/configure.ac -@@ -359,11 +359,6 @@ fi +@@ -336,11 +336,6 @@ fi AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes") @@ -25,9 +25,6 @@ index 5f9e7e9..80b32c7 100644 - AC_MSG_ERROR([zenity not found in your path - needed for dialogs]) -fi - - dnl ************************************************************************** - dnl Check for Vulkan support - dnl ************************************************************************** --- -1.8.3.1 - + AC_SEARCH_LIBS([dlsym], [dl], [], [ + AC_MSG_ERROR([unable to find the dlsym() function]) + ]) diff --git a/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch b/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch deleted file mode 100644 index 864d0baa2a..0000000000 --- a/meta-gnome/recipes-gnome/metacity/metacity/0001-fix-build-with-disable-dependency-tracking.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 632670273cc880917e78a152a3ae39e209b57864 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?= - <zboszor@gmail.com> -Date: Sat, 28 Aug 2021 05:58:25 +0200 -Subject: [PATCH] fix build with --disable-dependency-tracking -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -With split build and source directories AND --disable-dependency-tracking -(like the way Yocto builds are done) there's a reproducible make -failure on my Fedora 33 build host: - -| Making all in src -| make[2]: Entering directory '.../metacity/1_3.40.0-r0/build/src' -| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.c.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h > \ -| meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c -| .../metacity/1_3.40.0-r0/recipe-sysroot-native/usr/bin/glib-mkenums --template ../../metacity-3.40.0/src/core/meta-enum-types.h.in ../../metacity-3.40.0/src/core/window-private.h ../../metacity-3.40.0/src/include/meta-compositor.h > \ -| meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h -| mv: cannot move 'meta-enum-types.c.tmp' to 'core/meta-enum-types.c'mv: cannot move 'meta-enum-types.h.tmp' to 'core/meta-enum-types.h': No such file or directory -| : No such file or directory -| make[2]: *** [Makefile:2240: core/meta-enum-types.c] Error 1 - -https://gitlab.gnome.org/GNOME/metacity/-/merge_requests/24 - -Upstream-Status: Pending - -Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> ---- - configure.ac | 1 + - src/Makefile.am | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index ebb00b85..04aafb94 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -139,6 +139,7 @@ dnl ************************************************************************** - AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}") - - AC_PROG_CC -+AC_PROG_MKDIR_P - AC_ISC_POSIX - AC_HEADER_STDC - -diff --git a/src/Makefile.am b/src/Makefile.am -index f86af600..4aa3fdae 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -204,10 +204,12 @@ ENUM_TYPES = \ - $(NULL) - - core/meta-enum-types.c: core/meta-enum-types.c.in $(ENUM_TYPES) Makefile.am -+ $(MKDIR_P) core - $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.c.in $(ENUM_TYPES) > \ - meta-enum-types.c.tmp && mv meta-enum-types.c.tmp core/meta-enum-types.c - - core/meta-enum-types.h: core/meta-enum-types.h.in $(ENUM_TYPES) Makefile.am -+ $(MKDIR_P) core - $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/core/meta-enum-types.h.in $(ENUM_TYPES) > \ - meta-enum-types.h.tmp && mv meta-enum-types.h.tmp core/meta-enum-types.h - --- -2.31.1 - diff --git a/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb b/meta-gnome/recipes-gnome/metacity/metacity_3.52.0.bb index e7570ec597..32f0801706 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity_3.40.0.bb +++ b/meta-gnome/recipes-gnome/metacity/metacity_3.52.0.bb @@ -1,6 +1,6 @@ SECTION = "x11/wm" SUMMARY = "Metacity is the boring window manager for the adult in you" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \ file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad" @@ -21,13 +21,11 @@ DEPENDS = " \ # depends on startup-notification which depends on virtual/libx11 REQUIRED_DISTRO_FEATURES = "x11" +GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase gsettings gettext upstream-version-is-even features_check -SRC_URI[archive.sha256sum] = "224c1f65487eac21f0c1d9856152343768ee726c48b1a8a2835a46a8ad9015b5" -SRC_URI += " \ - file://0001-drop-zenity-detection.patch \ - file://0001-fix-build-with-disable-dependency-tracking.patch \ -" +SRC_URI[archive.sha256sum] = "a72438ace6d5903ae79338c6098b1b35ab91c8a97c4323701d3bef1f3eeb191c" +SRC_URI += "file://0001-drop-zenity-detection.patch" PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" # enable as neccessary until new warnings are dealt with diff --git a/meta-gnome/recipes-gnome/msgraph/msgraph_0.2.1.bb b/meta-gnome/recipes-gnome/msgraph/msgraph_0.2.1.bb new file mode 100644 index 0000000000..4c11a8d136 --- /dev/null +++ b/meta-gnome/recipes-gnome/msgraph/msgraph_0.2.1.bb @@ -0,0 +1,18 @@ +SUMMARY = "libmsgraph is a GLib-based library for accessing online serive APIs using MS Graph protocol." +LICENSE = "LGPL-3.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404" + +inherit gnomebase gobject-introspection gi-docgen + +SRC_URI[archive.sha256sum] = "e0e59eaa8ae3e0a48ec0a6c2fed0470856a709248e9212b6a1d037de5792ecbb" + +GTKDOC_MESON_OPTION = "gtk_doc" + +EXTRA_OEMESON = "-Dtests=false" + +DEPENDS = " \ + glib-2.0\ + json-glib \ + rest \ + gnome-online-accounts \ +" diff --git a/meta-gnome/recipes-gnome/mutter/mutter_41.0.bb b/meta-gnome/recipes-gnome/mutter/mutter_46.0.bb index 4859f87a4a..d14f161f14 100644 --- a/meta-gnome/recipes-gnome/mutter/mutter_41.0.bb +++ b/meta-gnome/recipes-gnome/mutter/mutter_46.0.bb @@ -1,31 +1,30 @@ SUMMARY = "Window and compositing manager based on Clutter" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = " \ xserver-xorg-cvt-native \ wayland-native \ virtual/libx11 \ + colord \ graphene \ - gtk+3 \ + gtk4 \ gdk-pixbuf \ cairo \ pango \ gsettings-desktop-schemas \ json-glib \ - gnome-desktop3 \ - gnome-settings-daemon \ + libei \ libxtst \ libxkbfile \ - xinerama \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xinerama', '', d)} \ xwayland \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gobject-introspection gettext features_check -SRC_URI[archive.sha256sum] = "fa80a1a744044d88ebfd677ff03203d67705ed2cd624ea06cbb8b58948cdf89e" +SRC_URI[archive.sha256sum] = "bb3f7d77aebdea9d317d3f5ef03868e4e7969da423ac495e33a16d61db2c9373" # x11 is still manadatory - see meson.build REQUIRED_DISTRO_FEATURES = "wayland x11 polkit" @@ -41,6 +40,7 @@ PACKAGECONFIG ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \ sm \ startup-notification \ + gnome-desktop \ " EXTRA_OEMESON += " \ @@ -53,14 +53,24 @@ EXTRA_OEMESON += " \ PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev" PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl" PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false" +PACKAGECONFIG[libdisplay-info] = "-Dlibdisplay_info=true, -Dlibdisplay_info=false, libdisplay-info" PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom" # Remove depending on pipewire-0.2 when mutter is upgraded to 3.36+ PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire" +PACKAGECONFIG[gnome-desktop] = "-Dlibgnome_desktop=true, -Dlibgnome_desktop=false, gnome-desktop gnome-settings-daemon" PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm" +PACKAGECONFIG[sound-player] = "-Dsound_player=true, -Dsound_player=false, libcanberra" PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof" PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification" -MUTTER_API_NAME = "mutter-9" +MUTTER_API_NAME = "mutter-14" + +do_install:prepend() { + sed -i -e 's|${B}/||g' ${B}/cogl/cogl/cogl-enum-types.c + sed -i -e 's|${B}/||g' ${B}/clutter/clutter/clutter-enum-types.c + sed -i -e 's|${B}/||g' ${B}/src/meta-private-enum-types.c + sed -i -e 's|${B}/||g' ${B}/src/meta/meta-enum-types.c +} do_install:append() { # Add gir links in standard paths. That makes dependents life much easier @@ -78,6 +88,7 @@ PACKAGES =+ "${PN}-tests ${PN}-gsettings" FILES:${PN} += " \ ${datadir}/gnome-control-center \ + ${datadir}/gir-1.0 \ ${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \ ${libdir}/${MUTTER_API_NAME}/*.typelib \ ${libdir}/${MUTTER_API_NAME}/plugins \ @@ -94,5 +105,5 @@ FILES:${PN}-dev += " \ ${libdir}/${MUTTER_API_NAME}/lib*.so \ " -RDEPENDS:${PN} += "zenity ${PN}-gsettings" +RDEPENDS:${PN} += "${PN}-gsettings gsettings-desktop-schemas" diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_40.2.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_40.2.bb deleted file mode 100644 index 3e6a5ba711..0000000000 --- a/meta-gnome/recipes-gnome/nautilus/nautilus_40.2.bb +++ /dev/null @@ -1,45 +0,0 @@ -SUMMARY = "File manager for GNOME" -SECTION = "x11/gnome" - -LICENSE="GPLv3" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" - -GNOMEBASEBUILDCLASS = "meson" - -DEPENDS = " \ - fontconfig \ - gtk+3 \ - gnome-desktop3 \ - gsettings-desktop-schemas \ - gnome-autoar \ - tracker \ - libhandy \ - libportal \ -" - -inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check mime-xdg - -def gnome_verdir(v): - return oe.utils.trim_version(v, 1) - -SRC_URI[archive.sha256sum] = "b71ef2fe07e5eea89a2bb1e5bd30947bd18873bfb30f79cbf17edfbd4d20f60d" - -REQUIRED_DISTRO_FEATURES = "x11" - -EXTRA_OEMESON += " \ - -Dtests=none \ -" - -PACKAGECONFIG = "extensions" -PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base" - -FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/metainfo \ - ${datadir}/gnome-shell \ - ${datadir}/tracker3 \ -" - -# mandatory - not checked during configuration: -# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed -RDEPENDS:${PN} += "tracker-miners" diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_45.1.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_45.1.bb new file mode 100644 index 0000000000..9c0d154ec8 --- /dev/null +++ b/meta-gnome/recipes-gnome/nautilus/nautilus_45.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "File manager for GNOME" +SECTION = "x11/gnome" + +LICENSE="GPL-3.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" + + +DEPENDS = " \ + appstream-glib-native \ + desktop-file-utils-native \ + glib-2.0 \ + gnome-autoar \ + gnome-desktop \ + gtk4 \ + libadwaita \ + libcloudproviders \ + libhandy \ + libportal \ + libxml2 \ + tracker \ +" + +inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_check mime-xdg gtk-icon-cache + +SRC_URI[archive.sha256sum] = "23bdaa9a85466c5937a89daddd080ed03bcc2b49e8b64af607206353bde82fe3" + +REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data" + +GIDOCGEN_MESON_OPTION = "docs" +GIDOCGEN_MESON_ENABLE_FLAG = 'true' +GIDOCGEN_MESON_DISABLE_FLAG = 'false' + +EXTRA_OEMESON += " \ + -Dtests=none \ +" + +PACKAGECONFIG = "extensions" +PACKAGECONFIG[extensions] = "-Dextensions=true,-Dextensions=false, gexiv2 gstreamer1.0-plugins-base gdk-pixbuf" +PACKAGECONFIG[packagekit] = "-Dpackagekit=true,-Dpackagekit=false,packagekit" + +do_install:prepend() { + sed -i -e 's|${B}/||g' ${B}/src/nautilus-enum-types.c +} + +FILES:${PN} += " \ + ${datadir}/dbus-1 \ + ${datadir}/metainfo \ + ${datadir}/gnome-shell \ + ${datadir}/tracker3 \ +" + +# mandatory - not checked during configuration: +# | (org.gnome.Nautilus:863): GLib-GIO-ERROR **: 21:03:52.326: Settings schema 'org.freedesktop.Tracker.Miner.Files' is not installed +RDEPENDS:${PN} += "tracker-miners bubblewrap" diff --git a/meta-gnome/recipes-gnome/rest/files/0001-Use-GUri-instead-of-SoupURI.patch b/meta-gnome/recipes-gnome/rest/files/0001-Use-GUri-instead-of-SoupURI.patch deleted file mode 100644 index 37ba0a0429..0000000000 --- a/meta-gnome/recipes-gnome/rest/files/0001-Use-GUri-instead-of-SoupURI.patch +++ /dev/null @@ -1,181 +0,0 @@ -From d39fd6d5f4c0a63cc048b84b0f989cb83f31e5fe Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <cgarcia@igalia.com> -Date: Tue, 8 Jun 2021 10:57:06 +0200 -Subject: [PATCH 1/2] Use GUri instead of SoupURI - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librest/-/merge_requests/6] ---- - configure.ac | 2 +- - rest-extras/flickr-proxy.c | 19 ++++++++++++++----- - rest/oauth-proxy-call.c | 19 ++++++++++++++----- - rest/oauth2-proxy.c | 22 +++++++++++----------- - 4 files changed, 40 insertions(+), 22 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d15e592..d586e69 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,7 +40,7 @@ AM_PROG_CC_C_O - LT_PREREQ([2.2.6]) - LT_INIT([disable-static]) - --PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.44) -+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.67.4) - PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42) - PKG_CHECK_MODULES(XML, libxml-2.0) - PKG_CHECK_MODULES(GTHREAD, gthread-2.0) -diff --git a/rest-extras/flickr-proxy.c b/rest-extras/flickr-proxy.c -index 3342a4d..7726359 100644 ---- a/rest-extras/flickr-proxy.c -+++ b/rest-extras/flickr-proxy.c -@@ -304,13 +304,13 @@ flickr_proxy_build_login_url (FlickrProxy *proxy, - const char *frob, - const char *perms) - { -- SoupURI *uri; -+ GUri *uri; - GHashTable *params; - char *sig, *s; -+ char *query; - - g_return_val_if_fail (FLICKR_IS_PROXY (proxy), NULL); - -- uri = soup_uri_new ("http://flickr.com/services/auth/"); - params = g_hash_table_new (g_str_hash, g_str_equal); - - g_hash_table_insert (params, "api_key", proxy->priv->api_key); -@@ -321,14 +321,23 @@ flickr_proxy_build_login_url (FlickrProxy *proxy, - - sig = flickr_proxy_sign (proxy, params); - g_hash_table_insert (params, "api_sig", sig); -+ query = soup_form_encode_hash (params); - -- soup_uri_set_query_from_form (uri, params); -+ uri = g_uri_build (G_URI_FLAGS_ENCODED, -+ "http", -+ NULL, -+ "flickr.com", -+ -1, -+ "services/auth/", -+ query, -+ NULL); - -- s = soup_uri_to_string (uri, FALSE); -+ s = g_uri_to_string (uri); - -+ g_free (query); - g_free (sig); - g_hash_table_destroy (params); -- soup_uri_free (uri); -+ g_uri_unref (uri); - - return s; - } -diff --git a/rest/oauth-proxy-call.c b/rest/oauth-proxy-call.c -index c90c69d..e238c3c 100644 ---- a/rest/oauth-proxy-call.c -+++ b/rest/oauth-proxy-call.c -@@ -30,7 +30,7 @@ - - G_DEFINE_TYPE (OAuthProxyCall, oauth_proxy_call, REST_TYPE_PROXY_CALL) - --#define OAUTH_ENCODE_STRING(x_) (x_ ? soup_uri_encode( (x_), "!$&'()*+,;=@") : g_strdup ("")) -+#define OAUTH_ENCODE_STRING(x_) (x_ ? g_uri_escape_string( (x_), NULL, TRUE) : g_strdup ("")) - - static char * - sign_plaintext (OAuthProxyPrivate *priv) -@@ -136,15 +136,24 @@ sign_hmac (OAuthProxy *proxy, RestProxyCall *call, GHashTable *oauth_params) - if (priv->oauth_echo) { - g_string_append_uri_escaped (text, priv->service_url, NULL, FALSE); - } else if (priv->signature_host != NULL) { -- SoupURI *url = soup_uri_new (url_str); -+ GUri *url = g_uri_parse (url_str, G_URI_FLAGS_ENCODED, NULL); -+ GUri *new_url; - gchar *signing_url; - -- soup_uri_set_host (url, priv->signature_host); -- signing_url = soup_uri_to_string (url, FALSE); -+ new_url = g_uri_build (g_uri_get_flags (url), -+ g_uri_get_scheme (url), -+ g_uri_get_userinfo (url), -+ priv->signature_host, -+ g_uri_get_port (url), -+ g_uri_get_path (url), -+ g_uri_get_query (url), -+ g_uri_get_fragment (url)); -+ signing_url = g_uri_to_string (new_url); - - g_string_append_uri_escaped (text, signing_url, NULL, FALSE); - -- soup_uri_free (url); -+ g_uri_unref (new_url); -+ g_uri_unref (url); - g_free (signing_url); - } else { - g_string_append_uri_escaped (text, url_str, NULL, FALSE); -diff --git a/rest/oauth2-proxy.c b/rest/oauth2-proxy.c -index 24e5da0..3382f8b 100644 ---- a/rest/oauth2-proxy.c -+++ b/rest/oauth2-proxy.c -@@ -37,8 +37,6 @@ oauth2_proxy_error_quark (void) - return g_quark_from_static_string ("rest-oauth2-proxy"); - } - --#define EXTRA_CHARS_ENCODE "!$&'()*+,;=@" -- - enum { - PROP_0, - PROP_CLIENT_ID, -@@ -242,8 +240,8 @@ append_query_param (gpointer key, gpointer value, gpointer user_data) - char *encoded_val, *encoded_key; - char *param; - -- encoded_val = soup_uri_encode (value, EXTRA_CHARS_ENCODE); -- encoded_key = soup_uri_encode (key, EXTRA_CHARS_ENCODE); -+ encoded_val = g_uri_escape_string (value, NULL, TRUE); -+ encoded_key = g_uri_escape_string (key, NULL, TRUE); - - param = g_strdup_printf ("%s=%s", encoded_key, encoded_val); - g_free (encoded_key); -@@ -295,8 +293,8 @@ oauth2_proxy_build_login_url_full (OAuth2Proxy *proxy, - g_hash_table_foreach (extra_params, append_query_param, params); - } - -- encoded_uri = soup_uri_encode (redirect_uri, EXTRA_CHARS_ENCODE); -- encoded_id = soup_uri_encode (proxy->priv->client_id, EXTRA_CHARS_ENCODE); -+ encoded_uri = g_uri_escape_string (redirect_uri, NULL, TRUE); -+ encoded_id = g_uri_escape_string (proxy->priv->client_id, NULL, TRUE); - - url = g_strdup_printf ("%s?client_id=%s&redirect_uri=%s&type=user_agent", - proxy->priv->auth_endpoint, encoded_id, -@@ -378,20 +376,22 @@ oauth2_proxy_extract_access_token (const char *url) - { - GHashTable *params; - char *token = NULL; -- SoupURI *soupuri = soup_uri_new (url); -+ const char *fragment; -+ GUri *uri = g_uri_parse (url, G_URI_FLAGS_ENCODED, NULL); - -- if (soupuri->fragment != NULL) { -- params = soup_form_decode (soupuri->fragment); -+ fragment = g_uri_get_fragment (uri); -+ if (fragment != NULL) { -+ params = soup_form_decode (fragment); - - if (params) { - char *encoded = g_hash_table_lookup (params, "access_token"); - if (encoded) -- token = soup_uri_decode (encoded); -+ token = g_uri_unescape_string (encoded, NULL); - - g_hash_table_destroy (params); - } - } -- soup_uri_free (soupuri); -+ g_uri_unref (uri); - - return token; - } --- -2.33.1 - diff --git a/meta-gnome/recipes-gnome/rest/files/0002-Port-to-libsoup3.patch b/meta-gnome/recipes-gnome/rest/files/0002-Port-to-libsoup3.patch deleted file mode 100644 index eed522f776..0000000000 --- a/meta-gnome/recipes-gnome/rest/files/0002-Port-to-libsoup3.patch +++ /dev/null @@ -1,1696 +0,0 @@ -From 3dc630ae5b9dc6cda1ba318de2cd654aaba7b4a2 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <cgarcia@igalia.com> -Date: Tue, 8 Jun 2021 17:44:04 +0200 -Subject: [PATCH 2/2] Port to libsoup3 - -Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/librest/-/merge_requests/6] ---- - configure.ac | 39 ++++- - rest-extras.pc.in | 2 +- - rest-extras/youtube-proxy.c | 110 +++++++++++--- - rest.pc.in | 2 +- - rest/rest-private.h | 22 ++- - rest/rest-proxy-auth.c | 16 ++ - rest/rest-proxy-call.c | 296 +++++++++++++++++++++++++++++------- - rest/rest-proxy.c | 209 ++++++++++++++++++++++--- - tests/custom-serialize.c | 18 +++ - tests/proxy-continuous.c | 37 ++++- - tests/proxy.c | 63 +++++++- - tests/threaded.c | 17 +++ - 12 files changed, 719 insertions(+), 112 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d586e69..75c02fe 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -20,12 +20,6 @@ AM_INIT_AUTOMAKE([1.11 foreign -Wno-portability no-define dist-xz]) - - AM_SILENT_RULES([yes]) - --API_MAJOR=1 --API_MINOR=0 --AC_SUBST([API_VERSION],[$API_MAJOR.$API_MINOR]) --AC_SUBST([API_VERSION_AM],[$API_MAJOR\_$API_MINOR]) --AC_DEFINE_UNQUOTED(API_VERSION, [$API_VERSION], [API version]) -- - AC_CANONICAL_HOST - - AC_PROG_CC -@@ -41,7 +35,6 @@ LT_PREREQ([2.2.6]) - LT_INIT([disable-static]) - - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.67.4) --PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42) - PKG_CHECK_MODULES(XML, libxml-2.0) - PKG_CHECK_MODULES(GTHREAD, gthread-2.0) - -@@ -58,6 +51,37 @@ AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) - localedir=${datadir}/locale - AC_SUBST(localedir) - -+AC_MSG_CHECKING([for libsoup version to use]) -+AC_ARG_WITH(soup, -+ [AC_HELP_STRING([--soup=2|3], -+ [version of libsoup library to use (default: 2)])], -+ [case "$withval" in -+ 2|3) ;; -+ *) AC_MSG_ERROR([invalid argument "$withval" for --with-soup]) ;; -+ esac], -+ [with_soup=2]) -+AC_MSG_RESULT([$with_soup]) -+ -+API_MAJOR=1 -+ -+if test "$with_soup" = "2"; then -+ PKG_CHECK_MODULES(SOUP, libsoup-2.4 >= 2.42) -+ SOUP_API_VERSION=2.4 -+ API_MINOR=0 -+ AC_DEFINE([WITH_SOUP_2],[1],[Define if libsoup version used is 2]) -+else -+ PKG_CHECK_MODULES(SOUP, libsoup-3.0 >= 2.99.8) -+ SOUP_API_VERSION=3.0 -+ API_MINOR=1 -+fi -+ -+AM_CONDITIONAL([WITH_SOUP_2],[test "$with_soup" = "2"]) -+AC_SUBST(SOUP_API_VERSION) -+ -+AC_SUBST([API_VERSION],[$API_MAJOR.$API_MINOR]) -+AC_SUBST([API_VERSION_AM],[$API_MAJOR\_$API_MINOR]) -+AC_DEFINE_UNQUOTED(API_VERSION, [$API_VERSION], [API version]) -+ - dnl === Coverage report ======================================================= - AC_PATH_PROG([GCOV], [lcov], [enable_gcov=no]) - -@@ -130,6 +154,7 @@ echo " LibRest $VERSION" - echo " ================" - echo "" - echo " prefix: ${prefix}" -+echo " libsoup version: ${with_soup}" - echo "" - echo " Documentation: ${enable_gtk_doc}" - echo " Introspection data: ${enable_introspection}" -diff --git a/rest-extras.pc.in b/rest-extras.pc.in -index 39f21bf..3723d6d 100644 ---- a/rest-extras.pc.in -+++ b/rest-extras.pc.in -@@ -9,4 +9,4 @@ Description: RESTful web api query library - Version: @VERSION@ - Libs: -L${libdir} -lrest-extras-${apiversion} - Cflags: -I${includedir}/rest-${apiversion} --Requires: glib-2.0 libsoup-2.4 libxml-2.0 -+Requires: glib-2.0 libsoup-@SOUP_API_VERSION@ libxml-2.0 -diff --git a/rest-extras/youtube-proxy.c b/rest-extras/youtube-proxy.c -index be0cf08..cd598f4 100644 ---- a/rest-extras/youtube-proxy.c -+++ b/rest-extras/youtube-proxy.c -@@ -246,6 +246,9 @@ typedef struct { - GObject *weak_object; - gpointer user_data; - gsize uploaded; -+#ifndef WITH_SOUP_2 -+ GCancellable *cancellable; -+#endif - } YoutubeProxyUploadClosure; - - static void -@@ -255,7 +258,11 @@ _upload_async_weak_notify_cb (gpointer *data, - YoutubeProxyUploadClosure *closure = - (YoutubeProxyUploadClosure *) data; - -+#ifdef WITH_SOUP_2 - _rest_proxy_cancel_message (REST_PROXY (closure->proxy), closure->message); -+#else -+ g_cancellable_cancel (closure->cancellable); -+#endif - } - - static void -@@ -267,6 +274,9 @@ _upload_async_closure_free (YoutubeProxyUploadClosure *closure) - closure); - - g_object_unref (closure->proxy); -+#ifndef WITH_SOUP_2 -+ g_object_unref (closure->cancellable); -+#endif - - g_slice_free (YoutubeProxyUploadClosure, closure); - } -@@ -286,6 +296,9 @@ _upload_async_closure_new (YoutubeProxy *self, - closure->message = message; - closure->weak_object = weak_object; - closure->user_data = user_data; -+#ifndef WITH_SOUP_2 -+ closure->cancellable = g_cancellable_new (); -+#endif - - if (weak_object != NULL) - g_object_weak_ref (weak_object, -@@ -295,41 +308,67 @@ _upload_async_closure_new (YoutubeProxy *self, - } - - static void --_upload_completed_cb (SoupSession *session, -- SoupMessage *message, -+_upload_completed_cb (SoupMessage *message, -+ GBytes *payload, -+ GError *error, - gpointer user_data) - { - YoutubeProxyUploadClosure *closure = - (YoutubeProxyUploadClosure *) user_data; -- GError *error = NULL; -+ gsize length; -+ gconstpointer data; -+ guint status_code; -+ const char *reason_phrase; - - if (closure->callback == NULL) - return; - -- if (message->status_code < 200 || message->status_code >= 300) -- error = g_error_new_literal (REST_PROXY_ERROR, -- message->status_code, -- message->reason_phrase); -- -- closure->callback (closure->proxy, message->response_body->data, -- message->request_body->length, -- message->request_body->length, -+#ifdef WITH_SOUP_2 -+ status_code = message->status_code; -+ reason_phrase = message->reason_phrase; -+#else -+ status_code = soup_message_get_status (message); -+ reason_phrase = soup_message_get_reason_phrase (message); -+#endif -+ -+ if (status_code < 200 || status_code >= 300) -+ { -+ g_clear_error (&error); -+ error = g_error_new_literal (REST_PROXY_ERROR, -+ status_code, -+ reason_phrase); -+ } -+ -+ data = g_bytes_get_data (payload, &length); -+ closure->callback (closure->proxy, data, length, length, - error, closure->weak_object, closure->user_data); -+ g_bytes_unref (payload); - - _upload_async_closure_free (closure); - } - - static void - _message_wrote_data_cb (SoupMessage *msg, -+#ifdef WITH_SOUP_2 - SoupBuffer *chunk, -+#else -+ gsize chunk_size, -+#endif - YoutubeProxyUploadClosure *closure) - { -- closure->uploaded = closure->uploaded + chunk->length; -+#ifdef WITH_SOUP_2 -+ gsize chunk_size = chunk->length; -+ goffset content_length = msg->request_body->length; -+#else -+ goffset content_length = soup_message_headers_get_content_length (soup_message_get_request_headers (msg)); -+#endif -+ -+ closure->uploaded = closure->uploaded + chunk_size; - -- if (closure->uploaded < msg->request_body->length) -+ if (closure->uploaded < content_length) - closure->callback (closure->proxy, - NULL, -- msg->request_body->length, -+ content_length, - closure->uploaded, - NULL, - closure->weak_object, -@@ -364,7 +403,12 @@ youtube_proxy_upload_async (YoutubeProxy *self, - SoupMultipart *mp; - SoupMessage *message; - SoupMessageHeaders *part_headers; -+ SoupMessageHeaders *request_headers; -+#ifdef WITH_SOUP_2 - SoupBuffer *sb; -+#else -+ GBytes *sb; -+#endif - gchar *content_type; - gchar *atom_xml; - GMappedFile *map; -@@ -380,10 +424,17 @@ youtube_proxy_upload_async (YoutubeProxy *self, - - atom_xml = _construct_upload_atom_xml (fields, incomplete); - -+#ifdef WITH_SOUP_2 - sb = soup_buffer_new_with_owner (atom_xml, - strlen(atom_xml), - atom_xml, - (GDestroyNotify) g_free); -+#else -+ sb = g_bytes_new_with_free_func (atom_xml, -+ strlen (atom_xml), -+ (GDestroyNotify) g_free, -+ atom_xml); -+#endif - - part_headers = soup_message_headers_new (SOUP_MESSAGE_HEADERS_MULTIPART); - -@@ -393,7 +444,11 @@ youtube_proxy_upload_async (YoutubeProxy *self, - - soup_multipart_append_part (mp, part_headers, sb); - -+#ifdef WITH_SOUP_2 - soup_buffer_free (sb); -+#else -+ g_bytes_unref (sb); -+#endif - - content_type = g_content_type_guess ( - filename, -@@ -401,24 +456,37 @@ youtube_proxy_upload_async (YoutubeProxy *self, - g_mapped_file_get_length (map), - NULL); - -+#ifdef WITH_SOUP_2 - sb = soup_buffer_new_with_owner (g_mapped_file_get_contents (map), - g_mapped_file_get_length (map), - map, - (GDestroyNotify) g_mapped_file_unref); -+#else -+ sb = g_bytes_new_with_free_func (g_mapped_file_get_contents (map), -+ g_mapped_file_get_length (map), -+ (GDestroyNotify) g_mapped_file_unref, -+ map); -+#endif - - soup_message_headers_replace (part_headers, "Content-Type", content_type); - - soup_multipart_append_part (mp, part_headers, sb); - -+#ifdef WITH_SOUP_2 - soup_buffer_free (sb); -- - soup_message_headers_free (part_headers); -- - message = soup_form_request_new_from_multipart (UPLOAD_URL, mp); -+ request_headers = message->request_headers; -+#else -+ g_bytes_unref (sb); -+ soup_message_headers_unref (part_headers); -+ message = soup_message_new_from_multipart (UPLOAD_URL, mp); -+ request_headers = soup_message_get_request_headers (message); -+#endif - - soup_multipart_free (mp); - -- _set_upload_headers (self, message->request_headers, filename); -+ _set_upload_headers (self, request_headers, filename); - - closure = _upload_async_closure_new (self, callback, message, weak_object, - user_data); -@@ -429,7 +497,13 @@ youtube_proxy_upload_async (YoutubeProxy *self, - closure); - - -- _rest_proxy_queue_message (REST_PROXY (self), message, _upload_completed_cb, -+ _rest_proxy_queue_message (REST_PROXY (self), message, -+#ifdef WITH_SOUP_2 -+ NULL, -+#else -+ closure->cancellable, -+#endif -+ _upload_completed_cb, - closure); - - return TRUE; -diff --git a/rest.pc.in b/rest.pc.in -index 94c384b..e6bae3e 100644 ---- a/rest.pc.in -+++ b/rest.pc.in -@@ -9,4 +9,4 @@ Description: RESTful web api query library - Version: @VERSION@ - Libs: -L${libdir} -lrest-${apiversion} - Cflags: -I${includedir}/rest-${apiversion} --Requires: glib-2.0 libsoup-2.4 libxml-2.0 -+Requires: glib-2.0 libsoup-@SOUP_API_VERSION@ libxml-2.0 -diff --git a/rest/rest-private.h b/rest/rest-private.h -index 9e91fa0..6e71322 100644 ---- a/rest/rest-private.h -+++ b/rest/rest-private.h -@@ -31,6 +31,11 @@ - - G_BEGIN_DECLS - -+typedef void (*RestMessageFinishedCallback) (SoupMessage *msg, -+ GBytes *body, -+ GError *error, -+ gpointer user_data); -+ - typedef enum - { - REST_DEBUG_XML_PARSER = 1 << 0, -@@ -53,12 +58,23 @@ gboolean _rest_proxy_get_binding_required (RestProxy *proxy); - const gchar *_rest_proxy_get_bound_url (RestProxy *proxy); - void _rest_proxy_queue_message (RestProxy *proxy, - SoupMessage *message, -- SoupSessionCallback callback, -+ GCancellable *cancellable, -+ RestMessageFinishedCallback callback, - gpointer user_data); - void _rest_proxy_cancel_message (RestProxy *proxy, - SoupMessage *message); --guint _rest_proxy_send_message (RestProxy *proxy, -- SoupMessage *message); -+GBytes *_rest_proxy_send_message (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GError **error); -+void _rest_proxy_send_message_async (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data); -+GInputStream *_rest_proxy_send_message_finish (RestProxy *proxy, -+ GAsyncResult *result, -+ GError **error); - - RestXmlNode *_rest_xml_node_new (void); - void _rest_xml_node_reverse_children_siblings (RestXmlNode *node); -diff --git a/rest/rest-proxy-auth.c b/rest/rest-proxy-auth.c -index b96e443..0b2ec9f 100644 ---- a/rest/rest-proxy-auth.c -+++ b/rest/rest-proxy-auth.c -@@ -29,7 +29,9 @@ - struct _RestProxyAuthPrivate { - /* used to hold state during async authentication */ - RestProxy *proxy; -+#ifdef WITH_SOUP_2 - SoupSession *session; -+#endif - SoupMessage *message; - SoupAuth *auth; - gboolean paused; -@@ -43,7 +45,9 @@ rest_proxy_auth_dispose (GObject *object) - RestProxyAuthPrivate *priv = ((RestProxyAuth*)object)->priv; - - g_clear_object (&priv->proxy); -+#ifdef WITH_SOUP_2 - g_clear_object (&priv->session); -+#endif - g_clear_object (&priv->message); - g_clear_object (&priv->auth); - -@@ -73,13 +77,17 @@ rest_proxy_auth_new (RestProxy *proxy, - RestProxyAuth *rest_auth; - - g_return_val_if_fail (REST_IS_PROXY (proxy), NULL); -+#ifdef WITH_SOUP_2 - g_return_val_if_fail (SOUP_IS_SESSION (session), NULL); -+#endif - g_return_val_if_fail (SOUP_IS_MESSAGE (message), NULL); - g_return_val_if_fail (SOUP_IS_AUTH (soup_auth), NULL); - - rest_auth = REST_PROXY_AUTH (g_object_new (REST_TYPE_PROXY_AUTH, NULL)); - rest_auth->priv->proxy = g_object_ref(proxy); -+#ifdef WITH_SOUP_2 - rest_auth->priv->session = g_object_ref(session); -+#endif - rest_auth->priv->message = g_object_ref(message); - rest_auth->priv->auth = g_object_ref(soup_auth); - -@@ -104,7 +112,9 @@ rest_proxy_auth_pause (RestProxyAuth *auth) - return; - - auth->priv->paused = TRUE; -+#ifdef WITH_SOUP_2 - soup_session_pause_message (auth->priv->session, auth->priv->message); -+#endif - } - - /** -@@ -128,7 +138,9 @@ rest_proxy_auth_unpause (RestProxyAuth *auth) - soup_auth_authenticate (auth->priv->auth, username, password); - g_free (username); - g_free (password); -+#ifdef WITH_SOUP_2 - soup_session_unpause_message (auth->priv->session, auth->priv->message); -+#endif - auth->priv->paused = FALSE; - } - -@@ -146,7 +158,11 @@ rest_proxy_auth_cancel (RestProxyAuth *auth) - { - g_return_if_fail (REST_IS_PROXY_AUTH (auth)); - -+#ifdef WITH_SOUP_2 - soup_session_cancel_message (auth->priv->session, auth->priv->message, SOUP_STATUS_CANCELLED); -+#else -+ soup_auth_cancel (auth->priv->auth); -+#endif - } - - G_GNUC_INTERNAL gboolean rest_proxy_auth_is_paused (RestProxyAuth *auth) -diff --git a/rest/rest-proxy-call.c b/rest/rest-proxy-call.c -index 2ab722f..62b00da 100644 ---- a/rest/rest-proxy-call.c -+++ b/rest/rest-proxy-call.c -@@ -20,12 +20,14 @@ - * - */ - -+#include <config.h> - #include <rest/rest-proxy.h> - #include <rest/rest-proxy-call.h> - #include <rest/rest-params.h> - #include <libsoup/soup.h> - - #include "rest-private.h" -+#include "rest-proxy-auth-private.h" - #include "rest-proxy-call-private.h" - - -@@ -38,12 +40,15 @@ struct _RestProxyCallAsyncClosure { - }; - typedef struct _RestProxyCallAsyncClosure RestProxyCallAsyncClosure; - -+#define READ_BUFFER_SIZE 8192 -+ - struct _RestProxyCallContinuousClosure { - RestProxyCall *call; - RestProxyCallContinuousCallback callback; - GObject *weak_object; - gpointer userdata; - SoupMessage *message; -+ guchar buffer[READ_BUFFER_SIZE]; - }; - typedef struct _RestProxyCallContinuousClosure RestProxyCallContinuousClosure; - -@@ -70,8 +75,7 @@ struct _RestProxyCallPrivate { - gchar *url; - - GHashTable *response_headers; -- goffset length; -- gchar *payload; -+ GBytes *payload; - guint status_code; - gchar *status_message; - -@@ -160,7 +164,7 @@ rest_proxy_call_finalize (GObject *object) - g_free (priv->method); - g_free (priv->function); - -- g_free (priv->payload); -+ g_clear_pointer (&priv->payload, g_bytes_unref); - g_free (priv->status_message); - - g_free (priv->url); -@@ -546,14 +550,23 @@ _populate_headers_hash_table (const gchar *name, - g_hash_table_insert (headers, g_strdup (name), g_strdup (value)); - } - -+#ifdef WITH_SOUP_2 - /* I apologise for this macro, but it saves typing ;-) */ - #define error_helper(x) g_set_error_literal(error, REST_PROXY_ERROR, x, message->reason_phrase) -+#endif - static gboolean - _handle_error_from_message (SoupMessage *message, GError **error) - { -- if (message->status_code < 100) -+ guint status_code; -+ const char *reason_phrase; -+ -+#ifdef WITH_SOUP_2 -+ status_code = message->status_code; -+ -+ if (status_code < 100) - { -- switch (message->status_code) -+ g_clear_error (error); -+ switch (status_code) - { - case SOUP_STATUS_CANCELLED: - error_helper (REST_PROXY_ERROR_CANCELLED); -@@ -580,61 +593,84 @@ _handle_error_from_message (SoupMessage *message, GError **error) - } - return FALSE; - } -+ reason_phrase = message->reason_phrase; -+#else -+ status_code = soup_message_get_status (message); -+ reason_phrase = soup_message_get_reason_phrase (message); -+#endif - -- if (message->status_code >= 200 && message->status_code < 300) -+ if (status_code >= 200 && status_code < 300) - { - return TRUE; - } - -+ if (*error != NULL) -+ return FALSE; -+ - /* If we are here we must be in some kind of HTTP error, lets try */ - g_set_error_literal (error, - REST_PROXY_ERROR, -- message->status_code, -- message->reason_phrase); -+ status_code, -+ reason_phrase); - return FALSE; - } - - static gboolean --finish_call (RestProxyCall *call, SoupMessage *message, GError **error) -+finish_call (RestProxyCall *call, SoupMessage *message, GBytes *payload, GError **error) - { - RestProxyCallPrivate *priv = GET_PRIVATE (call); -+ SoupMessageHeaders *response_headers; - - g_assert (call); - g_assert (message); -+ g_assert (payload); -+ -+#ifdef WITH_SOUP_2 -+ response_headers = message->response_headers; -+#else -+ response_headers = soup_message_get_response_headers (message); -+#endif - - /* Convert the soup headers in to hash */ - /* FIXME: Eeek..are you allowed duplicate headers? ... */ - g_hash_table_remove_all (priv->response_headers); -- soup_message_headers_foreach (message->response_headers, -+ soup_message_headers_foreach (response_headers, - (SoupMessageHeadersForeachFunc)_populate_headers_hash_table, - priv->response_headers); - -- priv->payload = g_memdup (message->response_body->data, -- message->response_body->length + 1); -- priv->length = message->response_body->length; -+ priv->payload = payload; - -+#ifdef WITH_SOUP_2 - priv->status_code = message->status_code; - priv->status_message = g_strdup (message->reason_phrase); -+#else -+ priv->status_code = soup_message_get_status (message); -+ priv->status_message = g_strdup (soup_message_get_reason_phrase (message)); -+#endif - - return _handle_error_from_message (message, error); - } - - static void --_continuous_call_message_completed_cb (SoupSession *session, -- SoupMessage *message, -- gpointer userdata) -+_continuous_call_message_completed (SoupMessage *message, -+ GError *error, -+ gpointer userdata) - { - RestProxyCallContinuousClosure *closure; - RestProxyCall *call; - RestProxyCallPrivate *priv; -- GError *error = NULL; - - closure = (RestProxyCallContinuousClosure *)userdata; - call = closure->call; - priv = GET_PRIVATE (call); - -+#ifdef WITH_SOUP_2 - priv->status_code = message->status_code; - priv->status_message = g_strdup (message->reason_phrase); -+#else -+ priv->status_code = soup_message_get_status (message); -+ priv->status_message = g_strdup (soup_message_get_reason_phrase (message)); -+#endif - - _handle_error_from_message (message, &error); - -@@ -657,6 +693,7 @@ _continuous_call_message_completed_cb (SoupSession *session, - - priv->cur_call_closure = NULL; - g_object_unref (closure->call); -+ g_object_unref (message); - g_slice_free (RestProxyCallContinuousClosure, closure); - } - -@@ -715,6 +752,49 @@ set_url (RestProxyCall *call) - return TRUE; - } - -+#ifndef WITH_SOUP_2 -+static gboolean -+authenticate (RestProxyCall *call, -+ SoupAuth *soup_auth, -+ gboolean retrying, -+ SoupMessage *message) -+{ -+ RestProxyCallPrivate *priv = GET_PRIVATE (call); -+ RestProxyAuth *rest_auth; -+ gboolean try_auth; -+ -+ rest_auth = rest_proxy_auth_new (priv->proxy, NULL, message, soup_auth); -+ g_signal_emit_by_name (priv->proxy, "authenticate", rest_auth, retrying, &try_auth); -+ if (try_auth && !rest_proxy_auth_is_paused (rest_auth)) { -+ char *username, *password; -+ -+ g_object_get (priv->proxy, "username", &username, "password", &password, NULL); -+ soup_auth_authenticate (soup_auth, username, password); -+ g_free (username); -+ g_free (password); -+ } -+ g_object_unref (rest_auth); -+ -+ return try_auth; -+} -+ -+static gboolean -+accept_certificate (RestProxyCall *call, -+ GTlsCertificate *tls_certificate, -+ GTlsCertificateFlags *tls_errors, -+ SoupMessage *message) -+{ -+ RestProxyCallPrivate *priv = GET_PRIVATE (call); -+ gboolean ssl_strict; -+ -+ if (tls_errors == 0) -+ return TRUE; -+ -+ g_object_get (priv->proxy, "ssl-strict", &ssl_strict, NULL); -+ return !ssl_strict; -+} -+#endif -+ - static SoupMessage * - prepare_message (RestProxyCall *call, GError **error_out) - { -@@ -722,6 +802,7 @@ prepare_message (RestProxyCall *call, GError **error_out) - RestProxyCallClass *call_class; - const gchar *user_agent; - SoupMessage *message; -+ SoupMessageHeaders *request_headers; - GError *error = NULL; - - call_class = REST_PROXY_CALL_GET_CLASS (call); -@@ -748,6 +829,9 @@ prepare_message (RestProxyCall *call, GError **error_out) - gchar *content; - gchar *content_type; - gsize content_len; -+#ifndef WITH_SOUP_2 -+ GBytes *body; -+#endif - - if (!call_class->serialize_params (call, &content_type, - &content, &content_len, &error)) -@@ -780,8 +864,14 @@ prepare_message (RestProxyCall *call, GError **error_out) - "Could not parse URI"); - return NULL; - } -+#ifdef WITH_SOUP_2 - soup_message_set_request (message, content_type, - SOUP_MEMORY_TAKE, content, content_len); -+#else -+ body = g_bytes_new_take (content, content_len); -+ soup_message_set_request_body_from_bytes (message, content_type, body); -+ g_bytes_unref (body); -+#endif - - g_free (content_type); - } else if (rest_params_are_strings (priv->params)) { -@@ -798,9 +888,15 @@ prepare_message (RestProxyCall *call, GError **error_out) - - hash = rest_params_as_string_hash_table (priv->params); - -+#ifdef WITH_SOUP_2 - message = soup_form_request_new_from_hash (priv->method, - priv->url, - hash); -+#else -+ message = soup_message_new_from_encoded_form (priv->method, -+ priv->url, -+ soup_form_encode_hash (hash)); -+#endif - - g_hash_table_unref (hash); - -@@ -827,19 +923,28 @@ prepare_message (RestProxyCall *call, GError **error_out) - if (rest_param_is_string (param)) { - soup_multipart_append_form_string (mp, name, rest_param_get_content (param)); - } else { -- SoupBuffer *sb; -- -- sb = soup_buffer_new_with_owner (rest_param_get_content (param), -- rest_param_get_content_length (param), -- rest_param_ref (param), -- (GDestroyNotify)rest_param_unref); -+#ifdef WITH_SOUP_2 -+ SoupBuffer *sb = soup_buffer_new_with_owner (rest_param_get_content (param), -+ rest_param_get_content_length (param), -+ rest_param_ref (param), -+ (GDestroyNotify)rest_param_unref); -+#else -+ GBytes *sb = g_bytes_new_with_free_func (rest_param_get_content (param), -+ rest_param_get_content_length (param), -+ (GDestroyNotify)rest_param_unref, -+ rest_param_ref (param)); -+#endif - - soup_multipart_append_form_file (mp, name, - rest_param_get_file_name (param), - rest_param_get_content_type (param), - sb); - -+#ifdef WITH_SOUP_2 - soup_buffer_free (sb); -+#else -+ g_bytes_unref (sb); -+#endif - } - } - -@@ -853,19 +958,36 @@ prepare_message (RestProxyCall *call, GError **error_out) - return NULL; - } - -+#ifdef WITH_SOUP_2 - message = soup_form_request_new_from_multipart (priv->url, mp); -+#else -+ message = soup_message_new_from_multipart (priv->url, mp); -+#endif - - soup_multipart_free (mp); - } - -+#ifdef WITH_SOUP_2 -+ request_headers = message->request_headers; -+#else -+ request_headers = soup_message_get_request_headers (message); -+ g_signal_connect_swapped (message, "authenticate", -+ G_CALLBACK (authenticate), -+ call); -+ g_signal_connect_swapped (message, "accept-certificate", -+ G_CALLBACK (accept_certificate), -+ call); -+#endif -+ -+ - /* Set the user agent, if one was set in the proxy */ - user_agent = rest_proxy_get_user_agent (priv->proxy); - if (user_agent) { -- soup_message_headers_append (message->request_headers, "User-Agent", user_agent); -+ soup_message_headers_append (request_headers, "User-Agent", user_agent); - } - - /* Set the headers */ -- g_hash_table_foreach (priv->headers, set_header, message->request_headers); -+ g_hash_table_foreach (priv->headers, set_header, request_headers); - - return message; - } -@@ -878,17 +1000,17 @@ _call_message_call_cancelled_cb (GCancellable *cancellable, - } - - static void --_call_message_call_completed_cb (SoupSession *session, -- SoupMessage *message, -+_call_message_call_completed_cb (SoupMessage *message, -+ GBytes *payload, -+ GError *error, - gpointer user_data) - { - GTask *task = user_data; - RestProxyCall *call; -- GError *error = NULL; - - call = REST_PROXY_CALL (g_task_get_source_object (task)); - -- finish_call (call, message, &error); -+ finish_call (call, message, payload, &error); - - if (error != NULL) - g_task_return_error (task, error); -@@ -938,6 +1060,7 @@ rest_proxy_call_invoke_async (RestProxyCall *call, - - _rest_proxy_queue_message (priv->proxy, - message, -+ priv->cancellable, - _call_message_call_completed_cb, - task); - } -@@ -962,16 +1085,55 @@ rest_proxy_call_invoke_finish (RestProxyCall *call, - } - - static void --_continuous_call_message_got_chunk_cb (SoupMessage *msg, -- SoupBuffer *chunk, -- RestProxyCallContinuousClosure *closure) -+_continuous_call_read_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) - { -+ GInputStream *stream = G_INPUT_STREAM (source); -+ RestProxyCallContinuousClosure *closure = user_data; -+ RestProxyCallPrivate *priv = GET_PRIVATE (closure->call); -+ gssize bytes_read; -+ GError *error = NULL; -+ -+ bytes_read = g_input_stream_read_finish (stream, result, &error); -+ if (bytes_read <= 0) -+ { -+ _continuous_call_message_completed (closure->message, error, user_data); -+ return; -+ } -+ - closure->callback (closure->call, -- chunk->data, -- chunk->length, -+ (gconstpointer)closure->buffer, -+ bytes_read, - NULL, - closure->weak_object, - closure->userdata); -+ -+ g_input_stream_read_async (stream, closure->buffer, READ_BUFFER_SIZE, G_PRIORITY_DEFAULT, -+ priv->cancellable, _continuous_call_read_cb, closure); -+} -+ -+static void -+_continuous_call_message_sent_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ RestProxy *proxy = REST_PROXY (source); -+ RestProxyCallContinuousClosure *closure = user_data; -+ RestProxyCallPrivate *priv = GET_PRIVATE (closure->call); -+ GInputStream *stream; -+ GError *error = NULL; -+ -+ stream = _rest_proxy_send_message_finish (proxy, result, &error); -+ if (!stream) -+ { -+ _continuous_call_message_completed (closure->message, error, user_data); -+ return; -+ } -+ -+ g_input_stream_read_async (stream, closure->buffer, READ_BUFFER_SIZE, G_PRIORITY_DEFAULT, -+ priv->cancellable, _continuous_call_read_cb, closure); -+ g_object_unref (stream); - } - - -@@ -1021,9 +1183,6 @@ rest_proxy_call_continuous (RestProxyCall *call, - if (message == NULL) - return FALSE; - -- /* Must turn off accumulation */ -- soup_message_body_set_accumulate (message->response_body, FALSE); -- - closure = g_slice_new0 (RestProxyCallContinuousClosure); - closure->call = g_object_ref (call); - closure->callback = callback; -@@ -1041,33 +1200,29 @@ rest_proxy_call_continuous (RestProxyCall *call, - closure); - } - -- g_signal_connect (message, -- "got-chunk", -- (GCallback)_continuous_call_message_got_chunk_cb, -- closure); -- -- _rest_proxy_queue_message (priv->proxy, -- message, -- _continuous_call_message_completed_cb, -- closure); -+ _rest_proxy_send_message_async (priv->proxy, -+ message, -+ priv->cancellable, -+ _continuous_call_message_sent_cb, -+ closure); - return TRUE; - } - - static void --_upload_call_message_completed_cb (SoupSession *session, -- SoupMessage *message, -+_upload_call_message_completed_cb (SoupMessage *message, -+ GBytes *payload, -+ GError *error, - gpointer user_data) - { - RestProxyCall *call; - RestProxyCallPrivate *priv; -- GError *error = NULL; - RestProxyCallUploadClosure *closure; - - closure = (RestProxyCallUploadClosure *) user_data; - call = closure->call; - priv = GET_PRIVATE (call); - -- finish_call (call, message, &error); -+ finish_call (call, message, payload, &error); - - closure->callback (closure->call, - closure->uploaded, -@@ -1093,14 +1248,25 @@ _upload_call_message_completed_cb (SoupSession *session, - - static void - _upload_call_message_wrote_data_cb (SoupMessage *msg, -+#ifdef WITH_SOUP_2 - SoupBuffer *chunk, -+#else -+ gsize chunk_size, -+#endif - RestProxyCallUploadClosure *closure) - { -- closure->uploaded = closure->uploaded + chunk->length; -+#ifdef WITH_SOUP_2 -+ gsize chunk_size = chunk->length; -+ goffset content_length = msg->request_body->length; -+#else -+ goffset content_length = soup_message_headers_get_content_length (soup_message_get_request_headers (msg)); -+#endif - -- if (closure->uploaded < msg->request_body->length) -+ closure->uploaded = closure->uploaded + chunk_size; -+ -+ if (closure->uploaded < content_length) - closure->callback (closure->call, -- msg->request_body->length, -+ content_length, - closure->uploaded, - NULL, - closure->weak_object, -@@ -1178,6 +1344,7 @@ rest_proxy_call_upload (RestProxyCall *call, - - _rest_proxy_queue_message (priv->proxy, - message, -+ priv->cancellable, - _upload_call_message_completed_cb, - closure); - return TRUE; -@@ -1206,6 +1373,10 @@ rest_proxy_call_cancel (RestProxyCall *call) - if (priv->cancellable) - { - g_signal_handler_disconnect (priv->cancellable, priv->cancel_sig); -+#ifndef WITH_SOUP_2 -+ if (!g_cancellable_is_cancelled (priv->cancellable)) -+ g_cancellable_cancel (priv->cancellable); -+#endif - g_clear_object (&priv->cancellable); - } - -@@ -1240,6 +1411,7 @@ rest_proxy_call_sync (RestProxyCall *call, - RestProxyCallPrivate *priv = GET_PRIVATE (call); - SoupMessage *message; - gboolean ret; -+ GBytes *payload; - - g_return_val_if_fail (REST_IS_PROXY_CALL (call), FALSE); - -@@ -1247,9 +1419,9 @@ rest_proxy_call_sync (RestProxyCall *call, - if (!message) - return FALSE; - -- _rest_proxy_send_message (priv->proxy, message); -+ payload = _rest_proxy_send_message (priv->proxy, message, priv->cancellable, error_out); - -- ret = finish_call (call, message, error_out); -+ ret = finish_call (call, message, payload, error_out); - - g_object_unref (message); - -@@ -1314,9 +1486,16 @@ rest_proxy_call_get_response_headers (RestProxyCall *call) - goffset - rest_proxy_call_get_payload_length (RestProxyCall *call) - { -+ GBytes *payload; -+ - g_return_val_if_fail (REST_IS_PROXY_CALL (call), 0); - -- return GET_PRIVATE (call)->length; -+ payload = GET_PRIVATE (call)->payload; -+#ifdef WITH_SOUP_2 -+ return payload ? g_bytes_get_size (payload) - 1 : 0; -+#else -+ return payload ? g_bytes_get_size (payload) : 0; -+#endif - } - - /** -@@ -1331,9 +1510,12 @@ rest_proxy_call_get_payload_length (RestProxyCall *call) - const gchar * - rest_proxy_call_get_payload (RestProxyCall *call) - { -+ GBytes *payload; -+ - g_return_val_if_fail (REST_IS_PROXY_CALL (call), NULL); - -- return GET_PRIVATE (call)->payload; -+ payload = GET_PRIVATE (call)->payload; -+ return payload ? g_bytes_get_data (payload, NULL) : NULL; - } - - /** -diff --git a/rest/rest-proxy.c b/rest/rest-proxy.c -index 80972a3..171f6cb 100644 ---- a/rest/rest-proxy.c -+++ b/rest/rest-proxy.c -@@ -45,6 +45,9 @@ struct _RestProxyPrivate { - SoupSession *session; - gboolean disable_cookies; - char *ssl_ca_file; -+#ifndef WITH_SOUP_2 -+ gboolean ssl_strict; -+#endif - }; - - -@@ -116,11 +119,15 @@ rest_proxy_get_property (GObject *object, - g_value_set_string (value, priv->password); - break; - case PROP_SSL_STRICT: { -+#ifdef WITH_SOUP_2 - gboolean ssl_strict; - g_object_get (G_OBJECT(priv->session), - "ssl-strict", &ssl_strict, - NULL); - g_value_set_boolean (value, ssl_strict); -+#else -+ g_value_set_boolean (value, priv->ssl_strict); -+#endif - break; - } - case PROP_SSL_CA_FILE: -@@ -172,9 +179,13 @@ rest_proxy_set_property (GObject *object, - priv->password = g_value_dup_string (value); - break; - case PROP_SSL_STRICT: -+#ifdef WITH_SOUP_2 - g_object_set (G_OBJECT(priv->session), - "ssl-strict", g_value_get_boolean (value), - NULL); -+#else -+ priv->ssl_strict = g_value_get_boolean (value); -+#endif - break; - case PROP_SSL_CA_FILE: - g_free(priv->ssl_ca_file); -@@ -207,6 +218,7 @@ default_authenticate_cb (RestProxy *self, - return !retrying; - } - -+#ifdef WITH_SOUP_2 - static void - authenticate (RestProxy *self, - SoupMessage *msg, -@@ -224,6 +236,7 @@ authenticate (RestProxy *self, - soup_auth_authenticate (soup_auth, priv->username, priv->password); - g_object_unref (G_OBJECT (rest_auth)); - } -+#endif - - static void - rest_proxy_constructed (GObject *object) -@@ -238,14 +251,20 @@ rest_proxy_constructed (GObject *object) - } - - if (REST_DEBUG_ENABLED(PROXY)) { -+#ifdef WITH_SOUP_2 - SoupSessionFeature *logger = (SoupSessionFeature*)soup_logger_new (SOUP_LOGGER_LOG_BODY, 0); -+#else -+ SoupSessionFeature *logger = (SoupSessionFeature*)soup_logger_new (SOUP_LOGGER_LOG_HEADERS); -+#endif - soup_session_add_feature (priv->session, logger); - g_object_unref (logger); - } - -+#ifdef WITH_SOUP_2 - /* session lifetime is same as self, no need to keep signalid */ - g_signal_connect_swapped (priv->session, "authenticate", - G_CALLBACK(authenticate), object); -+#endif - } - - static void -@@ -391,23 +410,62 @@ rest_proxy_class_init (RestProxyClass *klass) - proxy_class->authenticate = default_authenticate_cb; - } - -+static gboolean -+transform_ssl_ca_file_to_tls_database (GBinding *binding, -+ const GValue *from_value, -+ GValue *to_value, -+ gpointer user_data) -+{ -+ g_value_take_object (to_value, -+ g_tls_file_database_new (g_value_get_string (from_value), NULL)); -+ return TRUE; -+} -+ -+static gboolean -+transform_tls_database_to_ssl_ca_file (GBinding *binding, -+ const GValue *from_value, -+ GValue *to_value, -+ gpointer user_data) -+{ -+ GTlsDatabase *tls_database; -+ char *path = NULL; -+ -+ tls_database = g_value_get_object (from_value); -+ if (tls_database) -+ g_object_get (tls_database, "anchors", &path, NULL); -+ g_value_take_string (to_value, path); -+ return TRUE; -+} -+ - static void - rest_proxy_init (RestProxy *self) - { - RestProxyPrivate *priv = GET_PRIVATE (self); -+ GTlsDatabase *tls_database; -+ -+#ifndef WITH_SOUP_2 -+ priv->ssl_strict = TRUE; -+#endif - - priv->session = soup_session_new (); - - #ifdef REST_SYSTEM_CA_FILE - /* with ssl-strict (defaults TRUE) setting ssl-ca-file forces all - * certificates to be trusted */ -- g_object_set (priv->session, -- "ssl-ca-file", REST_SYSTEM_CA_FILE, -- NULL); -+ tls_database = g_tls_file_database_new (REST_SYSTEM_CA_FILE, NULL); -+ if (tls_database) { -+ g_object_set (priv->session, -+ "tls-database", tls_database, -+ NULL); -+ g_object_unref (tls_database); -+ } - #endif -- g_object_bind_property (self, "ssl-ca-file", -- priv->session, "ssl-ca-file", -- G_BINDING_BIDIRECTIONAL); -+ g_object_bind_property_full (self, "ssl-ca-file", -+ priv->session, "tls-database", -+ G_BINDING_BIDIRECTIONAL, -+ transform_ssl_ca_file_to_tls_database, -+ transform_tls_database_to_ssl_ca_file, -+ NULL, NULL); - } - - /** -@@ -689,27 +747,127 @@ rest_proxy_simple_run (RestProxy *proxy, - return ret; - } - -+typedef struct { -+ RestMessageFinishedCallback callback; -+ gpointer user_data; -+} RestMessageQueueData; -+ -+#ifdef WITH_SOUP_2 -+static void -+message_finished_cb (SoupSession *session, -+ SoupMessage *message, -+ gpointer user_data) -+{ -+ RestMessageQueueData *data = user_data; -+ GBytes *body; -+ GError *error = NULL; -+ -+ body = g_bytes_new (message->response_body->data, -+ message->response_body->length + 1); -+ data->callback (message, body, error, data->user_data); -+ g_free (data); -+} -+#else -+static void -+message_send_and_read_ready_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ SoupSession *session = SOUP_SESSION (source); -+ RestMessageQueueData *data = user_data; -+ GBytes *body; -+ GError *error = NULL; -+ -+ body = soup_session_send_and_read_finish (session, result, &error); -+ data->callback (soup_session_get_async_result_message (session, result), body, error, data->user_data); -+ g_free (data); -+} -+#endif -+ - void --_rest_proxy_queue_message (RestProxy *proxy, -- SoupMessage *message, -- SoupSessionCallback callback, -- gpointer user_data) -+_rest_proxy_queue_message (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ RestMessageFinishedCallback callback, -+ gpointer user_data) - { - RestProxyPrivate *priv = GET_PRIVATE (proxy); -+ RestMessageQueueData *data; - - g_return_if_fail (REST_IS_PROXY (proxy)); - g_return_if_fail (SOUP_IS_MESSAGE (message)); - -+ data = g_new0 (RestMessageQueueData, 1); -+ data->callback = callback; -+ data->user_data = user_data; -+ -+#ifdef WITH_SOUP_2 - soup_session_queue_message (priv->session, - message, -- callback, -- user_data); -+ message_finished_cb, -+ data); -+#else -+ soup_session_send_and_read_async (priv->session, -+ message, -+ G_PRIORITY_DEFAULT, -+ cancellable, -+ message_send_and_read_ready_cb, -+ data); -+#endif -+} -+ -+static void -+message_send_ready_cb (GObject *source, -+ GAsyncResult *result, -+ gpointer user_data) -+{ -+ SoupSession *session = SOUP_SESSION (source); -+ GTask *task = user_data; -+ GInputStream *stream; -+ GError *error = NULL; -+ -+ stream = soup_session_send_finish (session, result, &error); -+ if (stream) -+ g_task_return_pointer (task, stream, g_object_unref); -+ else -+ g_task_return_error (task, error); -+ g_object_unref (task); -+} -+ -+void -+_rest_proxy_send_message_async (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GAsyncReadyCallback callback, -+ gpointer user_data) -+{ -+ RestProxyPrivate *priv = GET_PRIVATE (proxy); -+ GTask *task; -+ -+ task = g_task_new (proxy, cancellable, callback, user_data); -+ soup_session_send_async (priv->session, -+ message, -+#ifndef WITH_SOUP_2 -+ G_PRIORITY_DEFAULT, -+#endif -+ cancellable, -+ message_send_ready_cb, -+ task); -+} -+ -+GInputStream * -+_rest_proxy_send_message_finish (RestProxy *proxy, -+ GAsyncResult *result, -+ GError **error) -+{ -+ return g_task_propagate_pointer (G_TASK (result), error); - } - - void - _rest_proxy_cancel_message (RestProxy *proxy, - SoupMessage *message) - { -+#ifdef WITH_SOUP_2 - RestProxyPrivate *priv = GET_PRIVATE (proxy); - - g_return_if_fail (REST_IS_PROXY (proxy)); -@@ -718,16 +876,31 @@ _rest_proxy_cancel_message (RestProxy *proxy, - soup_session_cancel_message (priv->session, - message, - SOUP_STATUS_CANCELLED); -+#endif - } - --guint --_rest_proxy_send_message (RestProxy *proxy, -- SoupMessage *message) -+GBytes * -+_rest_proxy_send_message (RestProxy *proxy, -+ SoupMessage *message, -+ GCancellable *cancellable, -+ GError **error) - { - RestProxyPrivate *priv = GET_PRIVATE (proxy); -+ GBytes *body; - -- g_return_val_if_fail (REST_IS_PROXY (proxy), 0); -- g_return_val_if_fail (SOUP_IS_MESSAGE (message), 0); -+ g_return_val_if_fail (REST_IS_PROXY (proxy), NULL); -+ g_return_val_if_fail (SOUP_IS_MESSAGE (message), NULL); -+ -+#ifdef WITH_SOUP_2 -+ soup_session_send_message (priv->session, message); -+ body = g_bytes_new (message->response_body->data, -+ message->response_body->length + 1); -+#else -+ body = soup_session_send_and_read (priv->session, -+ message, -+ cancellable, -+ error); -+#endif - -- return soup_session_send_message (priv->session, message); -+ return body; - } -diff --git a/tests/custom-serialize.c b/tests/custom-serialize.c -index c3fde93..01b3a56 100644 ---- a/tests/custom-serialize.c -+++ b/tests/custom-serialize.c -@@ -88,22 +88,40 @@ custom_proxy_call_init (CustomProxyCall *self) - } - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { - if (g_str_equal (path, "/ping")) { - const char *content_type = NULL; -+#ifdef WITH_SOUP_2 - SoupMessageHeaders *headers = msg->request_headers; - SoupMessageBody *body = msg->request_body; -+#else -+ SoupMessageHeaders *headers = soup_server_message_get_request_headers (msg); -+ SoupMessageBody *body = soup_server_message_get_request_body (msg); -+#endif - content_type = soup_message_headers_get_content_type (headers, NULL); - g_assert_cmpstr (content_type, ==, "application/json"); - - g_assert_cmpstr (body->data, ==, "{}"); - -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED, NULL); -+#endif - } - } - -diff --git a/tests/proxy-continuous.c b/tests/proxy-continuous.c -index 8f4b7a8..7967bbd 100644 ---- a/tests/proxy-continuous.c -+++ b/tests/proxy-continuous.c -@@ -39,9 +39,15 @@ static SoupServer *server; - static gboolean - send_chunks (gpointer user_data) - { -- SoupMessage *msg = SOUP_MESSAGE (user_data); - guint i; - guint8 data[SIZE_CHUNK]; -+#ifdef WITH_SOUP_2 -+ SoupMessage *msg = SOUP_MESSAGE (user_data); -+ SoupMessageBody *response_body = msg->response_body; -+#else -+ SoupServerMessage *msg = SOUP_SERVER_MESSAGE (user_data); -+ SoupMessageBody *response_body = soup_server_message_get_response_body (msg); -+#endif - - for (i = 0; i < SIZE_CHUNK; i++) - { -@@ -49,12 +55,12 @@ send_chunks (gpointer user_data) - server_count++; - } - -- soup_message_body_append (msg->response_body, SOUP_MEMORY_COPY, data, SIZE_CHUNK); -+ soup_message_body_append (response_body, SOUP_MEMORY_COPY, data, SIZE_CHUNK); - soup_server_unpause_message (server, msg); - - if (server_count == NUM_CHUNKS * SIZE_CHUNK) - { -- soup_message_body_complete (msg->response_body); -+ soup_message_body_complete (response_body); - return FALSE; - } else { - return TRUE; -@@ -62,13 +68,28 @@ send_chunks (gpointer user_data) - } - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { -+#ifdef WITH_SOUP_2 -+ SoupMessageHeaders *response_headers = msg->response_headers; -+#else -+ SoupMessageHeaders *response_headers = soup_server_message_get_response_headers (msg); -+#endif -+ - g_assert_cmpstr (path, ==, "/stream"); -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -- soup_message_headers_set_encoding (msg->response_headers, -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif -+ soup_message_headers_set_encoding (response_headers, - SOUP_ENCODING_CHUNKED); - soup_server_pause_message (server, msg); - -@@ -142,13 +163,21 @@ continuous () - uris = soup_server_get_uris (server); - g_assert (g_slist_length (uris) > 0); - -+#ifdef WITH_SOUP_2 - url = soup_uri_to_string (uris->data, FALSE); -+#else -+ url = g_uri_to_string (uris->data); -+#endif - - loop = g_main_loop_new (NULL, FALSE); - - proxy = rest_proxy_new (url, FALSE); - stream_test (proxy); -+#ifdef WITH_SOUP_2 - g_slist_free_full (uris, (GDestroyNotify)soup_uri_free); -+#else -+ g_slist_free_full (uris, (GDestroyNotify)g_uri_unref); -+#endif - - g_main_loop_run (loop); - g_free (url); -diff --git a/tests/proxy.c b/tests/proxy.c -index 89a9325..652c600 100644 ---- a/tests/proxy.c -+++ b/tests/proxy.c -@@ -49,20 +49,35 @@ SoupServer *server; - GMainLoop *server_loop; - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { - if (g_str_equal (path, "/ping")) { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } - else if (g_str_equal (path, "/echo")) { - const char *value; - - value = g_hash_table_lookup (query, "value"); -+#ifdef WITH_SOUP_2 - soup_message_set_response (msg, "text/plain", SOUP_MEMORY_COPY, - value, strlen (value)); - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_COPY, -+ value, strlen (value)); -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } - else if (g_str_equal (path, "/reverse")) { - char *value; -@@ -70,9 +85,15 @@ server_callback (SoupServer *server, SoupMessage *msg, - value = g_strdup (g_hash_table_lookup (query, "value")); - g_strreverse (value); - -+#ifdef WITH_SOUP_2 - soup_message_set_response (msg, "text/plain", SOUP_MEMORY_TAKE, - value, strlen (value)); - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_response (msg, "text/plain", SOUP_MEMORY_TAKE, -+ value, strlen (value)); -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } - else if (g_str_equal (path, "/status")) { - const char *value; -@@ -81,25 +102,61 @@ server_callback (SoupServer *server, SoupMessage *msg, - value = g_hash_table_lookup (query, "status"); - if (value) { - status = atoi (value); -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, status ?: SOUP_STATUS_INTERNAL_SERVER_ERROR); -+#else -+ soup_server_message_set_status (msg, status ?: SOUP_STATUS_INTERNAL_SERVER_ERROR, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_INTERNAL_SERVER_ERROR, NULL); -+#endif - } - } - else if (g_str_equal (path, "/useragent/none")) { -- if (soup_message_headers_get (msg->request_headers, "User-Agent") == NULL) { -+#ifdef WITH_SOUP_2 -+ SoupMessageHeaders *request_headers = msg->request_headers; -+#else -+ SoupMessageHeaders *request_headers = soup_server_message_get_request_headers (msg); -+#endif -+ -+ if (soup_message_headers_get (request_headers, "User-Agent") == NULL) { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED, NULL); -+#endif - } - } - else if (g_str_equal (path, "/useragent/testsuite")) { -+#ifdef WITH_SOUP_2 -+ SoupMessageHeaders *request_headers = msg->request_headers; -+#else -+ SoupMessageHeaders *request_headers = soup_server_message_get_request_headers (msg); -+#endif - const char *value; -- value = soup_message_headers_get (msg->request_headers, "User-Agent"); -+ value = soup_message_headers_get (request_headers, "User-Agent"); - if (g_strcmp0 (value, "TestSuite-1.0") == 0) { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - } else { -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_EXPECTATION_FAILED, NULL); -+#endif -+ - } - } - } -@@ -325,7 +382,7 @@ main (int argc, char **argv) - char *url; - RestProxy *proxy; - -- server = soup_server_new ("", NULL); -+ server = soup_server_new (NULL); - g_thread_new ("Server Thread", server_thread_func, NULL); - - url = g_strdup_printf ("http://127.0.0.1:%d/", PORT); -diff --git a/tests/threaded.c b/tests/threaded.c -index a251900..411361c 100644 ---- a/tests/threaded.c -+++ b/tests/threaded.c -@@ -36,13 +36,22 @@ GMainLoop *main_loop; - SoupServer *server; - - static void -+#ifdef WITH_SOUP_2 - server_callback (SoupServer *server, SoupMessage *msg, - const char *path, GHashTable *query, - SoupClientContext *client, gpointer user_data) -+#else -+server_callback (SoupServer *server, SoupServerMessage *msg, -+ const char *path, GHashTable *query, gpointer user_data) -+#endif - { - g_assert_cmpstr (path, ==, "/ping"); - -+#ifdef WITH_SOUP_2 - soup_message_set_status (msg, SOUP_STATUS_OK); -+#else -+ soup_server_message_set_status (msg, SOUP_STATUS_OK, NULL); -+#endif - g_atomic_int_add (&threads_done, 1); - - if (threads_done == N_THREADS) { -@@ -96,7 +105,11 @@ static void ping () - uris = soup_server_get_uris (server); - g_assert (g_slist_length (uris) > 0); - -+#ifdef WITH_SOUP_2 - url = soup_uri_to_string (uris->data, FALSE); -+#else -+ url = g_uri_to_string (uris->data); -+#endif - - main_loop = g_main_loop_new (NULL, TRUE); - -@@ -109,7 +122,11 @@ static void ping () - g_main_loop_run (main_loop); - - g_free (url); -+#ifdef WITH_SOUP_2 - g_slist_free_full (uris, (GDestroyNotify)soup_uri_free); -+#else -+ g_slist_free_full (uris, (GDestroyNotify)g_uri_unref); -+#endif - g_object_unref (server); - g_main_loop_unref (main_loop); - } --- -2.33.1 - diff --git a/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb b/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb index 545224a99e..63372afa5d 100644 --- a/meta-gnome/recipes-gnome/rest/rest_0.8.1.bb +++ b/meta-gnome/recipes-gnome/rest/librest_0.8.1.bb @@ -1,26 +1,27 @@ SUMMARY = "library to access web services that claim to be "RESTful"" HOMEPAGE = "https://wiki.gnome.org/Projects/Librest" -LICENSE = "LGPLv2.1" +LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" -GNOMEBASEBUILDCLASS = "autotools" - DEPENDS = " \ - libxml2-native \ - glib-2.0-native \ glib-2.0 \ + glib-2.0-native \ libsoup-2.4 \ + libxml2 \ " -inherit gnomebase gobject-introspection gtk-doc vala +GNOMEBASEBUILDCLASS = "autotools" +inherit gnomebase gobject-introspection vala pkgconfig gtk-doc -PV .= "+git${SRCPV}" -SRCREV = "7b46065dea860ef09861f4d70124728b8270c8b7" -SRC_URI = "git://gitlab.gnome.org/GNOME/librest;protocol=https;branch=master \ - file://0001-Use-GUri-instead-of-SoupURI.patch \ - file://0002-Port-to-libsoup3.patch \ -" -S = "${WORKDIR}/git" +GNOMEBN = "rest" + +SRC_URI[archive.sha256sum] = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9" + +S = "${WORKDIR}/${GNOMEBN}-${PV}" +# * gnome environment requires libsoup build with in gnome PACKAGECONFIG +# * libsoup-gnome support was removed upstream three years ago [1] +# [1] https://gitlab.gnome.org/GNOME/librest/commit/8f904a8e2bb38a7bf72245cdf2f1ecad17e9a720 +EXTRA_OECONF = "--without-gnome" do_configure:prepend() { # rest expects introspection.m4 at custom location (see aclocal.m4). @@ -30,4 +31,3 @@ do_configure:prepend() { do_compile:prepend() { export GIR_EXTRA_LIBS_PATH="${B}/rest/.libs" } - diff --git a/meta-gnome/recipes-gnome/rest/rest_0.9.1.bb b/meta-gnome/recipes-gnome/rest/rest_0.9.1.bb new file mode 100644 index 0000000000..3b22fdfea2 --- /dev/null +++ b/meta-gnome/recipes-gnome/rest/rest_0.9.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "library to access web services that claim to be "RESTful"" +HOMEPAGE = "https://wiki.gnome.org/Projects/Librest" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" + + +DEPENDS = " \ + glib-2.0 \ + glib-2.0-native \ + gtksourceview5 \ + json-glib \ + libadwaita \ + libsoup-3.0 \ + libxml2-native \ +" + +inherit gnomebase gobject-introspection vala pkgconfig gi-docgen features_check +REQUIRED_DISTRO_FEATURES = "opengl" + +PACKAGECONFIG ?= "" +PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false" +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false" + +SRC_URI[archive.sha256sum] = "9266a5c10ece383e193dfb7ffb07b509cc1f51521ab8dad76af96ed14212c2e3" diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof/0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch b/meta-gnome/recipes-gnome/sysprof/sysprof/0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch new file mode 100644 index 0000000000..dc702a0e37 --- /dev/null +++ b/meta-gnome/recipes-gnome/sysprof/sysprof/0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch @@ -0,0 +1,30 @@ +From 19188367bee87b0084ab34869455155da5cb1731 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 13 Apr 2022 08:47:39 -0700 +Subject: [PATCH] meson: Check for libunwind instead of libunwind-generic + +This helps it to use llvm unwinder since libunwind-generic is specific +to nongnu libunwind. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 2835782..0fdb39a 100644 +--- a/meson.build ++++ b/meson.build +@@ -81,7 +81,7 @@ config_h.set10('HAVE_POLKIT_AGENT', polkit_agent_dep.found()) + config_h.set10('HAVE_POLKIT', polkit_dep.found()) + + if get_option('libunwind') +- libunwind_dep = dependency('libunwind-generic') ++ libunwind_dep = dependency('libunwind') + config_h.set('ENABLE_LIBUNWIND', libunwind_dep.found()) + config_h.set('HAVE_UNW_SET_CACHE_SIZE', libunwind_dep.found() and cc.has_header_symbol('libunwind.h', 'unw_set_cache_size', dependencies: [libunwind_dep])) + endif +-- +2.35.2 + diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch b/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch deleted file mode 100644 index 75aa86cdbf..0000000000 --- a/meta-gnome/recipes-gnome/sysprof/sysprof/0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 3025d80aaacc5f67aa9eb1e6fde30f71d9c5b04b Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 18 Jul 2011 16:00:17 -0700 -Subject: [PATCH 1/2] sysprof: Define NT_GNU_BUILD_ID if undefined - -On uclibc elf.h does not have GNU extentions but we need this define -so we define it locally if its not getting it from elf.h - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending - -%% original patch: define-NT_GNU_BUILD_ID.patch ---- - src/libsysprof/elfparser.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/libsysprof/elfparser.h b/src/libsysprof/elfparser.h -index 160e4c9..94fa5c0 100644 ---- a/src/libsysprof/elfparser.h -+++ b/src/libsysprof/elfparser.h -@@ -18,6 +18,10 @@ - - #include <glib.h> - -+#ifndef NT_GNU_BUILD_ID -+#define NT_GNU_BUILD_ID 3 -+#endif -+ - typedef struct ElfSym ElfSym; - typedef struct ElfParser ElfParser; - --- -2.17.1 - diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof/0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch b/meta-gnome/recipes-gnome/sysprof/sysprof/0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch deleted file mode 100644 index d8fffbb7e9..0000000000 --- a/meta-gnome/recipes-gnome/sysprof/sysprof/0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5dea152c7728f5a37370ad8a229115833e36b4f6 Mon Sep 17 00:00:00 2001 -From: Rasmus Thomsen <oss@cogitri.dev> -Date: Sat, 7 Mar 2020 10:44:16 +0100 -Subject: [PATCH] tests: use G_GSIZE_FORMAT instead of G_GUINT64_FORMAT for - gsize - -This fixes the build on 32-bit platforms with -Werror-format - -fixes #32 - -Upstream-Status: Applied[https://gitlab.gnome.org/GNOME/sysprof/-/commit/5dea152c7728f5a37370ad8a229115833e36b4f6] ---- - src/tests/allocs-by-size.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/tests/allocs-by-size.c b/src/tests/allocs-by-size.c -index 666113a..6260d4b 100644 ---- a/src/tests/allocs-by-size.c -+++ b/src/tests/allocs-by-size.c -@@ -109,7 +109,7 @@ allocs_by_size (SysprofCaptureReader *reader) - { - const Item *item = &g_array_index (ar, Item, i); - -- g_print ("%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT",%"G_GUINT64_FORMAT"\n", -+ g_print ("%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT",%"G_GSIZE_FORMAT"\n", - item->size, item->cmp, item->count); - } - } --- -2.21.3 - diff --git a/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb b/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb index 1f8351fc39..3523bad3e2 100644 --- a/meta-gnome/recipes-gnome/sysprof/sysprof_3.36.0.bb +++ b/meta-gnome/recipes-gnome/sysprof/sysprof_3.44.0.bb @@ -1,10 +1,9 @@ SUMMARY = "System-wide Performance Profiler for Linux" HOMEPAGE = "http://www.sysprof.com" -LICENSE = "GPLv3+" +LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://src/sysprof/sysprof-application.c;endline=17;md5=a3de8df3b0f8876dd01e1388d2d4b607" -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gnome-help gettext systemd upstream-version-is-even gsettings mime mime-xdg DEPENDS += " \ @@ -12,21 +11,22 @@ DEPENDS += " \ yelp-tools-native \ libxml2-native \ glib-2.0 \ + json-glib \ " -SRC_URI[archive.md5sum] = "3956e82b8744715006dde59e0ce8910b" -SRC_URI[archive.sha256sum] = "8670db4dacf7b219d30c575c465b17c8ed6724dbade347f2cde9548bff039108" -SRC_URI += " \ - file://0001-sysprof-Define-NT_GNU_BUILD_ID-if-undefined.patch \ - file://0002-tests-use-G_GSIZE_FORMAT-instead-of-G_GUINT64_FORMAT.patch \ -" +SRC_URI += "file://0001-meson-Check-for-libunwind-instead-of-libunwind-gener.patch" +SRC_URI[archive.sha256sum] = "ab5d9f5b71973b3088d58a1bfdf1dc23c39a02f5fce4e5e9c73e034b178b005b" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'sysprofd libsysprof', '', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)} \ + libunwind" +# nongnu libunwind needs porting to RV32 +PACKAGECONFIG:remove:riscv32 = "libunwind" -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'sysprofd', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'libsysprof', '', d)} \ - ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'gtk', '', d)}" PACKAGECONFIG[gtk] = "-Denable_gtk=true,-Denable_gtk=false,gtk+3 libdazzle" PACKAGECONFIG[sysprofd] = "-Dwith_sysprofd=bundled,-Dwith_sysprofd=none,polkit" PACKAGECONFIG[libsysprof] = "-Dlibsysprof=true,-Dlibsysprof=false,polkit" +PACKAGECONFIG[libunwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" EXTRA_OEMESON += "-Dsystemdunitdir=${systemd_unitdir}/system" diff --git a/meta-gnome/recipes-gnome/tecla/tecla_46.0.bb b/meta-gnome/recipes-gnome/tecla/tecla_46.0.bb new file mode 100644 index 0000000000..62b3aa3e3e --- /dev/null +++ b/meta-gnome/recipes-gnome/tecla/tecla_46.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "Tecla is a keyboard layout viewer that uses GTK/Libadwaita for UI, and libxkbcommon to deal with keyboard maps." +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e" + +DEPENDS = " \ + libxkbcommon \ + libadwaita \ + wayland \ + gtk4 \ +" + +REQUIRED_DISTRO_FEATURES = "wayland" + +inherit gnomebase pkgconfig features_check + +SRC_URI[archive.sha256sum] = "4a081eab867a5a8b09758991cad7645920f323aabca954408290fb6f44591b0f" diff --git a/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb b/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb deleted file mode 100644 index 0ac7e3693d..0000000000 --- a/meta-gnome/recipes-gnome/tepl/tepl_6.00.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Tepl library eases the development of GtkSourceView-based projects" -LICENSE = "LGPL-3.0-or-later" -LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" - -DEPENDS = " \ - glib-2.0-native \ - gtk+3 \ - gtksourceview4 \ - amtk \ - libxml2 \ - uchardet \ -" - -GNOMEBASEBUILDCLASS = "meson" - -inherit gnomebase gobject-introspection gettext features_check - -SRC_URI[archive.sha256sum] = "a86397a895dca9c0de7a5ccb063bda8f7ef691cccb950ce2cfdee367903e7a63" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" - -GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/tepl/tepl_6.8.0.bb b/meta-gnome/recipes-gnome/tepl/tepl_6.8.0.bb new file mode 100644 index 0000000000..6c9c36f3ed --- /dev/null +++ b/meta-gnome/recipes-gnome/tepl/tepl_6.8.0.bb @@ -0,0 +1,31 @@ +SUMMARY = "Tepl library eases the development of GtkSourceView-based projects" +LICENSE = "LGPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/LGPL-3.0-or-later.txt;md5=c51d3eef3be114124d11349ca0d7e117" + +DEPENDS = " \ + gsettings-desktop-schemas \ + glib-2.0 \ + gtk+3 \ + libgedit-amtk \ + libgedit-gtksourceview \ + libxml2 \ + uchardet \ + gtk-doc-native \ + libxslt-native \ + docbook-xsl-stylesheets-native \ + python3-pygments-native \ +" + +inherit meson gobject-introspection gettext features_check pkgconfig + + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +SRC_URI = "git://gitlab.gnome.org/swilmet/tepl;protocol=https;branch=main" +SRCREV = "16ab2567257a053bd957699f89080fafd0999035" +S = "${WORKDIR}/git" + +# gobject-introspection is mandatory and cannot be configured +REQUIRED_DISTRO_FEATURES += "gobject-introspection-data" +GIR_MESON_OPTION = "" + +GTKDOC_MESON_OPTION = "gtk_doc" diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch new file mode 100644 index 0000000000..7a40ae338c --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch @@ -0,0 +1,27 @@ +From 6f6d7e3995c370b8121206a7f9cc0d234553bbfe Mon Sep 17 00:00:00 2001 +From: Lei Maohui <leimaohui@fujitsu.com> +Date: Thu, 15 Sep 2022 16:35:39 +0900 +Subject: [PATCH] Set header file to a fixed path instead of a host path. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> +--- + src/libtracker-miners-common/tracker-miner-enum-types.c.template | 1 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/libtracker-miners-common/tracker-miners-enum-types.c.template b/src/libtracker-miners-common/tracker-miners-enum-types.c.template +index c712dda..cb449e2 100644 +--- a/src/libtracker-miners-common/tracker-miners-enum-types.c.template ++++ b/src/libtracker-miners-common/tracker-miners-enum-types.c.template +@@ -7,7 +7,7 @@ + + /*** BEGIN file-production ***/ + /* enumerations from "@basename@" */ +-#include "@filename@" ++#include "tracker-enums.h" + /*** END file-production ***/ + + +-- +2.25.1 diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch new file mode 100644 index 0000000000..98618e5d3e --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch @@ -0,0 +1,118 @@ +From 2bbd07843e8ec34311cafab35f21b40c86e0dd7f Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Tue, 12 Sep 2023 17:00:41 +0200 +Subject: [PATCH] meson: fix reproducibility + +Tracker's design seems to be strictly for non-cross builds and leaks buildpaths into the +binaries at various places. Avoid this to improve binary reproducibility. + +todo: Some of these paths may need to be adjusted to make the test environment work + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +--- + meson.build | 20 ++++++++++---------- + src/tracker-extract/meson.build | 2 +- + tests/tracker-miner-fs/meson.build | 2 +- + 3 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/meson.build b/meson.build +index 935584185..aa6126081 100644 +--- a/meson.build ++++ b/meson.build +@@ -380,7 +380,7 @@ conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version())) + conf.set('TRACKER_VERSION', '"@0@"'.format(meson.project_version())) + + # Config that goes in some other generated files (.desktop, .pc, etc) +-conf.set('abs_top_builddir', meson.current_build_dir()) ++conf.set('abs_top_builddir', '') + conf.set('exec_prefix', get_option('prefix')) + conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) + conf.set('datadir', datadir) +@@ -409,7 +409,7 @@ tracker_c_args = [ + configinc = include_directories('./') + srcinc = include_directories('src/') + +-build_root = meson.current_build_dir() ++build_root = '' + + # We use tracker-miners-3.0 rather than tracker3-miners inside the lib64 + # directory, following the existing convention in that directory. +@@ -438,8 +438,8 @@ subdir('data') + subdir('docs') + + test_c_args = tracker_c_args + [ +- '-DTOP_BUILDDIR="@0@/"'.format(meson.build_root()), +- '-DTOP_SRCDIR="@0@/"'.format(meson.source_root()), ++ '-DTOP_BUILDDIR="@0@/"'.format(''), ++ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'), + ] + + if get_option('tests_tap_protocol') +diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build +index 4aaad5c41..d17cce221 100644 +--- a/src/tracker-extract/meson.build ++++ b/src/tracker-extract/meson.build +@@ -159,7 +159,7 @@ endif + executable('tracker-extract-@0@'.format(tracker_api_major), + tracker_extract_sources, + # Manually add the root dir to work around https://github.com/mesonbuild/meson/issues/1387 +- c_args: tracker_c_args + ['-I' + meson.build_root()], ++ c_args: tracker_c_args, + export_dynamic: true, + dependencies: tracker_extract_dependencies, + install: true, +diff --git a/tests/tracker-miner-fs/meson.build b/tests/tracker-miner-fs/meson.build +index e131b85ad..59e509fa6 100644 +--- a/tests/tracker-miner-fs/meson.build ++++ b/tests/tracker-miner-fs/meson.build +@@ -19,7 +19,7 @@ libtracker_miner_test_c_args = [ + ] + + libtracker_miner_test_environment = environment() +-libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) ++libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', '/usr/src/debug/tracker-miners/data') + + libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql] + + +diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build +index 6e5883288..04750f82b 100644 +--- a/src/miners/fs/meson.build ++++ b/src/miners/fs/meson.build +@@ -67,8 +67,8 @@ executable('tracker-miner-fs-@0@'.format(tracker_api_major), + dependencies: tracker_miner_fs_deps, + c_args: [ + tracker_c_args, +- '-DBUILDROOT="@0@"'.format(meson.global_build_root()), +- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.build_root() / 'src' / 'tracker-extract'), ++ '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'), ++ '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'tracker-extract'), + '-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')), + ], + install: true, +diff --git a/src/libtracker-miners-common/tracker-landlock.c b/src/libtracker-miners-common/tracker-landlock.c +index 27e7db65b..3021343eb 100644 +--- a/src/libtracker-miners-common/tracker-landlock.c ++++ b/src/libtracker-miners-common/tracker-landlock.c +@@ -276,7 +276,7 @@ + LANDLOCK_ACCESS_FS_READ_DIR); + } + } +- ++#if 0 + current_dir = g_get_current_dir (); + + /* Detect running in-tree */ +@@ -296,7 +296,7 @@ + in_tree_rules[i].flags); + } + } +- ++#endif + /* Add user cache for readonly databases */ + #ifdef MINER_FS_CACHE_LOCATION + add_rule (landlock_fd, MINER_FS_CACHE_LOCATION, +-- +2.41.0 diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch deleted file mode 100644 index 53c5f2664e..0000000000 --- a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 54ea2cabf85ad1bd5695cdbd1935115c9495e80c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Sun, 1 Dec 2019 17:06:59 +0100 -Subject: [PATCH] meson.build: Just warn if we build without libseccomp -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -libseccomp lives in meta-security currently and we cannot make it a mandatory -dependency. Once somebody moves libseccomp to meta-oe and adjusts all the -target specific knobs this patch can go. For discussion see [1]. - -[1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-November/203234.html - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 71a9df4..1eaa1a0 100644 ---- a/meson.build -+++ b/meson.build -@@ 299,7 +299,7 @@ cpu_supports_seccomp = not unsupported_cpus.contains(host_cpu) - seccomp_required = system_supports_seccomp and cpu_supports_seccomp and get_option('seccomp') and get_option('extract') - - if not libseccomp.found() and seccomp_required -- error('Libseccomp is mandatory for sandboxed metadata extraction') -+ warning('Building without Libseccomp might cause security issues!') - endif - - #################################################################### --- -2.21.0 - diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.7.1.bb index a9c96a53d7..7bbee2a885 100644 --- a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.2.1.bb +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.7.1.bb @@ -1,5 +1,5 @@ SUMMARY = "Tracker miners and metadata extractors" -LICENSE = "GPLv2 & LGPLv2.1" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" LIC_FILES_CHKSUM = " \ file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ @@ -11,19 +11,22 @@ DEPENDS = " \ zlib \ " -GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gsettings gobject-introspection vala bash-completion features_check -SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch" -SRC_URI[archive.sha256sum] = "44369f53e2edef41437406dbeecd477a97f8a9afdd9134832ea45d1ba2aa2c47" +SRC_URI:append = " \ + file://0001-fix-reproducibility.patch \ + file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ +" +SRC_URI[archive.sha256sum] = "50a3abe40cfb0b35ced43ec716dbf1368992e444ef7a0babf202c7ac6ab2f6f4" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" GIR_MESON_OPTION = "" +VALA_MESON_OPTION = "" PACKAGECONFIG ??= " \ - ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "ffmpeg", "", d)} \ + ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg", "", d)} \ gexiv2 \ gstreamer \ icu \ @@ -33,25 +36,35 @@ PACKAGECONFIG ??= " \ pdf \ png \ tiff \ + raw \ xml \ ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ + battery \ + networkmanager \ " +# Needs tgkill API which musl does not support +# see https://www.openwall.com/lists/musl/2019/08/02/1 +PACKAGECONFIG:remove:libc-musl = "seccomp" PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" -PACKAGECONFIG[ffmpeg] = ",,ffmpeg" +PACKAGECONFIG[cue] = "-Dcue=enabled,-Dcue=disabled,libcue" +PACKAGECONFIG[ffmpeg] = "-Dgeneric_media_extractor=libav,,ffmpeg" PACKAGECONFIG[gexiv2] = ",,gexiv2" -PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[gupnp] = ",,gupnp-dlna" +PACKAGECONFIG[gstreamer] = "-Dgeneric_media_extractor=gstreamer,,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gupnp] = "-Dgstreamer_backend=gupnp,,gupnp-dlna" PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" -PACKAGECONFIG[icu] = ",,icu" +PACKAGECONFIG[icu] = "-Dcharset_detection=icu,,icu" +PACKAGECONFIG[iso] = "-Diso=enabled,-Diso=disabled,libosinfo" PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" PACKAGECONFIG[libexif] = "-Dexif=enabled,-Dexif=disabled,libexif" PACKAGECONFIG[libgsf] = "-Dgsf=enabled,-Dgsf=disabled,libgsf" PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler" PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" +PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw" PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" -PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanger" +PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanager" +PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled" # For security reasons it is strongly recommended to set add meta-security in # your layers and 'libseccomp' to PACKAGECONFIG". @@ -65,9 +78,9 @@ EXTRA_OEMESON += " \ -Dsystemd_user_services_dir=${systemd_user_unitdir} \ " + FILES:${PN} += " \ - ${datadir}/dbus-1 \ - ${datadir}/tracker3-miners \ + ${datadir} \ ${libdir}/tracker-miners-3.0 \ ${systemd_user_unitdir} \ " diff --git a/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch new file mode 100644 index 0000000000..4527f9efa3 --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch @@ -0,0 +1,77 @@ +From ae34fb111e1f2498f37b21c0c32ace6c9928ad66 Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Mon, 18 Sep 2023 02:47:55 +0200 +Subject: [PATCH] tracker: fix reproducibility issue + +Tracker's design seems to be strictly for non-cross builds and leaks buildpaths into the +binaries at various places. Avoid this to improve binary reproducibility. + +todo: Some of these paths may need to be adjusted to make the test environment work + +Upstream-Status: Inappropriate [oe-specific] + +Signed-off-by: Markus Volk <f_l_k@t-online.de> +--- + meson.build | 6 +++--- + src/libtracker-common/meson.build | 4 ++-- + src/libtracker-sparql/meson.build | 4 ++-- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/meson.build b/meson.build +index bc9f93a..6c86e5a 100644 +--- a/meson.build ++++ b/meson.build +@@ -357,7 +357,7 @@ have_rtld_noload = cc.has_header_symbol('dlfcn.h', 'RTLD_NOLOAD') + conf.set('HAVE_RTLD_NOLOAD', have_rtld_noload) + + # Config that goes in some other generated files (.desktop, .service, etc) +-conf.set('abs_top_builddir', meson.current_build_dir()) ++conf.set('abs_top_builddir', '/usr/src/debug/tracker') + conf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir'))) + + configure_file(input: 'config.h.meson.in', +@@ -396,8 +396,8 @@ subdir('docs') + subdir('utils') + + test_c_args = tracker_c_args + [ +- '-DTOP_BUILDDIR="@0@"'.format(build_root), +- '-DTOP_SRCDIR="@0@"'.format(source_root), ++ '-DTOP_BUILDDIR="@0@/"'.format('/usr/src/debug/tracker'), ++ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'), + ] + + tracker_uninstalled_cli_dir = join_paths(meson.current_build_dir(), 'src', 'tracker') +diff --git a/src/libtracker-common/meson.build b/src/libtracker-common/meson.build +index 9355d1c..cdbc05f 100644 +--- a/src/libtracker-common/meson.build ++++ b/src/libtracker-common/meson.build +@@ -51,10 +51,10 @@ libtracker_common = static_library('tracker-common', + dependencies: [tracker_common_dependencies, gmodule], + c_args: [ + '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir), +- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()), ++ '-DBUILD_LIBDIR="@0@"'.format('/usr/src/debug/tracker'), + # Global build root is required to detect noinst situations (tests/introspection), + # event when built as a subproject +- '-DBUILDROOT="@0@"'.format(meson.global_build_root()), ++ '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'), + ] + tracker_c_args, + include_directories: [configinc, srcinc], + gnu_symbol_visibility: 'hidden', +diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build +index 4143eac..b73f1c9 100644 +--- a/src/libtracker-sparql/meson.build ++++ b/src/libtracker-sparql/meson.build +@@ -98,10 +98,10 @@ libtracker_sparql_private = static_library('tracker-sparql-private', + c_args: [ + '-include', 'libtracker-sparql/tracker-private.h', + '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir), +- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()), ++ '-DBUILD_LIBDIR="@0@"'.format('/usr/src/debug/tracker'), + # Global build root is required to detect noinst situations (tests/introspection), + # event when built as a subproject +- '-DBUILDROOT="@0@"'.format(meson.global_build_root()), ++ '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'), + ] + tracker_c_args, + + dependencies: [libtracker_sparql_dependencies, gvdb_dep], diff --git a/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb b/meta-gnome/recipes-gnome/tracker/tracker_3.7.1.bb index 1c18efbcef..1d5c79ab4d 100644 --- a/meta-gnome/recipes-gnome/tracker/tracker_3.2.1.bb +++ b/meta-gnome/recipes-gnome/tracker/tracker_3.7.1.bb @@ -1,5 +1,5 @@ SUMMARY = "Tracker is a file search engine" -LICENSE = "GPLv2 & LGPLv2.1" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" LIC_FILES_CHKSUM = " \ file://COPYING.GPL;md5=ee31012bf90e7b8c108c69f197f3e3a4 \ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ @@ -14,19 +14,15 @@ DEPENDS = " \ dbus \ icu \ json-glib \ - libsoup-2.4 \ + libsoup-3.0 \ libstemmer \ " -GNOMEBASEBUILDCLASS = "meson" -inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native +inherit gettext gnomebase gobject-introspection vala gtk-doc bash-completion python3native -SRC_URI[archive.sha256sum] = "1847e08b39e6e61d848735aa1f97f7d96c038201653fa0d7cb9e81b37eb9c03a" - -# gobject-introspection is mandatory and cannot be configured -REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" -GIR_MESON_OPTION = "" +SRC_URI += "file://0001-fix-reproducibility.patch" +SRC_URI[archive.sha256sum] = "cd91b885ee9839cde5387f8e05ed24a7108d1627629cb6b1b2aa51a9603e130a" # text search is not an option anymore and requires sqlite3 build with # PACKAGECONFIG[fts5] set (default) @@ -43,8 +39,18 @@ EXTRA_OEMESON = " \ -Dman=false \ -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ -Dsystemd_user_services_dir=${systemd_user_unitdir} \ + -Dsoup=soup3 \ + ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=enabled', '-Dvapi=disabled', d)} \ " +do_install:prepend() { + sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c + sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c +} + +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + FILES:${PN} += " \ ${datadir}/dbus-1 \ ${datadir}/tracker3 \ diff --git a/meta-gnome/recipes-gnome/yelp/yelp-tools_41.0.bb b/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb index ec8edb80d3..f3e1efeaa1 100644 --- a/meta-gnome/recipes-gnome/yelp/yelp-tools_41.0.bb +++ b/meta-gnome/recipes-gnome/yelp/yelp-tools_42.1.bb @@ -1,12 +1,10 @@ SUMMARY = "Collection of scripts and build utilities for documentation" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = " \ file://COPYING;md5=d67c6f9f1515506abfea4f0d920c0774 \ file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ " -GNOMEBASEBUILDCLASS = "meson" - inherit gnomebase itstool DEPENDS += " \ @@ -16,7 +14,7 @@ DEPENDS += " \ yelp-xsl \ " -SRC_URI[archive.sha256sum] = "37f1acc02bcbe68a31b86e07c129a839bd3276e656dc89eb7fc0a92746eff272" +SRC_URI[archive.sha256sum] = "3e496a4020d4145b99fd508a25fa09336a503a4e8900028421e72c6a4b11f905" RDEPENDS:${PN} += "python3-core yelp-xsl" diff --git a/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.0.bb b/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb index 029fd02951..5a8089e013 100644 --- a/meta-gnome/recipes-gnome/yelp/yelp-xsl_41.0.bb +++ b/meta-gnome/recipes-gnome/yelp/yelp-xsl_42.1.bb @@ -1,16 +1,17 @@ SUMMARY = "XSL stylesheets for the yelp help browser" -LICENSE = "LGPLv2.1 & GPLv2 & BSD-3-Clause" +LICENSE = "LGPL-2.1-only & GPL-2.0-only & BSD-3-Clause" LIC_FILES_CHKSUM = " \ file://COPYING;md5=8ca13a5a6972ac1620a1e42a3dacd774 \ file://COPYING.GPL;md5=eb723b61539feef013de476e68b5c50a \ file://COPYING.LGPL;md5=a6f89e2100d9b6cdffcea4f398e37343 \ " +GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase gettext itstool DEPENDS += "libxml2" -SRC_URI[archive.sha256sum] = "c8cd64c093bbd8c5d5e47fd38864e90831b5f9cf7403530870206fa96636a4a5" +SRC_URI[archive.sha256sum] = "238be150b1653080ce139971330fd36d3a26595e0d6a040a2c030bf3d2005bcd" RDEPENDS:${PN}:append:class-target = " libxml2 itstool" diff --git a/meta-gnome/recipes-gnome/yelp/yelp_41.1.bb b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb index 980b9a1ae5..1b3ded0211 100644 --- a/meta-gnome/recipes-gnome/yelp/yelp_41.1.bb +++ b/meta-gnome/recipes-gnome/yelp/yelp_42.2.bb @@ -1,15 +1,15 @@ SUMMARY = "Help browser for the GNOME desktop" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = " \ file://COPYING;md5=6e1b9cb787e76d7e6946887a65caa754 \ " - +GNOMEBASEBUILDCLASS = "autotools" inherit gnomebase itstool autotools-brokensep gsettings gettext gtk-doc features_check mime-xdg # for webkitgtk REQUIRED_DISTRO_FEATURES = "x11" -SRC_URI[archive.sha256sum] = "456a6415647bceeb0159b90b3553ff328728cf29a608fce08024232504ccb874" +SRC_URI[archive.sha256sum] = "a2c5fd0787a9089c722cc66bd0f85cdf7088d870e7b6cc85799f8e5bff9eac4b" DEPENDS += " \ libxml2-native \ @@ -18,9 +18,16 @@ DEPENDS += " \ appstream-glib \ libxslt \ sqlite3 \ - webkitgtk \ + libhandy \ + webkitgtk3 \ yelp-xsl \ " +PACKAGECONFIG_SOUP ?= "soup3" +PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}" + +PACKAGECONFIG[soup2] = "--with-webkit2gtk-4-0,," +PACKAGECONFIG[soup3] = ",--with-webkit2gtk-4-0," + do_configure:prepend() { export ITSTOOL=${STAGING_BINDIR_NATIVE}/itstool diff --git a/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb b/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb deleted file mode 100644 index f5f1f998ff..0000000000 --- a/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Display dialog boxes from the command line and shell scripts" -SECTION = "x11/gnome" -LICENSE = "GPLv2+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" - -inherit gnomebase itstool gnome-help features_check gettext - -DEPENDS = " \ - yelp-tools-native \ - gtk+3 \ -" - -REQUIRED_DISTRO_FEATURES = "x11" - -SRC_URI[archive.md5sum] = "ba2b2a13248773b4ec0fd323d95e6d5a" -SRC_URI[archive.sha256sum] = "e786e733569c97372c3ef1776e71be7e7599ebe87e11e8ad67dcc2e63a82cd95" - -do_install:append() { - # Remove gdialog compatibility helper - we don't want to pull in perl - rm ${D}${bindir}/gdialog -} diff --git a/meta-gnome/recipes-gnome/zenity/zenity_4.0.1.bb b/meta-gnome/recipes-gnome/zenity/zenity_4.0.1.bb new file mode 100644 index 0000000000..88b4b5c86c --- /dev/null +++ b/meta-gnome/recipes-gnome/zenity/zenity_4.0.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "Display dialog boxes from the command line and shell scripts" +SECTION = "x11/gnome" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +inherit gnomebase pkgconfig itstool gtk-icon-cache features_check gettext + +DEPENDS = " \ + desktop-file-utils-native \ + help2man-native \ + hicolor-icon-theme \ + gtk4 \ + gtk4-native \ + libadwaita \ +" + +ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" +REQUIRED_DISTRO_FEATURES = "opengl" +GTKIC_VERSION = "4" + +SRC_URI[archive.sha256sum] = "0c2f537813b10f728470d9d05d6c95713db2512f9c95096e1e85b1a6739605e6" + +PACKAGECONFIG ?= "webkitgtk" +PACKAGECONFIG[webkitgtk] = "-Dwebkitgtk=true,-Dwebkitgtk=false,webkitgtk" + +FILES:${PN}-doc = "${datadir}/man ${datadir}/help" |