1
0
forked from brl/citadel

Upgrade Gnome to 3.30

This commit is contained in:
Bruce Leidl 2019-01-15 12:02:49 -05:00
parent 5fc9e4b462
commit 9bcc4c3f7a
166 changed files with 2443 additions and 7412 deletions

View File

@ -0,0 +1,31 @@
From b8862e6af1c6d022b8c182098e7deddb874ece19 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 18 Dec 2018 23:10:44 -0800
Subject: [PATCH] Do not pass null string to %s printf formatted string
Here the string is already decided to be NULL and passing
a null pointer to %s will not work
Fixes
error: '%s' directive argument is null
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/67]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/mtk/mm-broadband-modem-mtk.c b/plugins/mtk/mm-broadband-modem-mtk.c
index 475a63ac..541de4a5 100644
--- a/plugins/mtk/mm-broadband-modem-mtk.c
+++ b/plugins/mtk/mm-broadband-modem-mtk.c
@@ -191,7 +191,7 @@ get_supported_modes_ready (MMBaseModem *self,
response = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
if (!response) {
- mm_dbg ("Fail to get response %s", response);
+ mm_dbg ("Fail to get response");
g_task_return_error (task, error);
g_object_unref (task);
return;

View File

@ -0,0 +1,30 @@
From d4f73b037d11d20f080e74c05df28853fb833075 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 7 Dec 2018 22:59:47 -0800
Subject: [PATCH] Do not set Wno-unused-but-set-variable
This is gcc specific warning, not implemented by pretending to be gcc
like compilers e.g. clang.
We will pass this option from recipe
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
m4/compiler_warnings.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/compiler_warnings.m4 b/m4/compiler_warnings.m4
index f498a28..e65e97f 100644
--- a/m4/compiler_warnings.m4
+++ b/m4/compiler_warnings.m4
@@ -11,7 +11,7 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
-Wdeclaration-after-statement -Wstrict-prototypes \
-Wno-unused-parameter -Wno-sign-compare \
-Wno-deprecated-declarations \
- -Wno-unused-but-set-variable -Wformat-security; do
+ -Wno-unused -Wformat-security; do
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $option"
AC_MSG_CHECKING([whether gcc understands $option])

View File

@ -0,0 +1,2 @@
PACKAGECONFIG = "polkit systemd"

View File

@ -1,27 +0,0 @@
LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "https://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
SRC_URI[md5sum] = "d21c280220ee647e62eeb4e1df642fe3"
SRC_URI[sha256sum] = "eefb7615c2c7ebc994abfc2782bfa9e798643a633362b40db96f7f61706a6283"
S = "${WORKDIR}/ModemManager-${PV}"
DEPENDS = "libgudev intltool-native glib-2.0 systemd polkit glib-2.0-native"
FILES_${PN} += "\
${libdir}/ModemManager \
${libdir}/rules.d \
${datadir}/bash-completion \
${datadir}/polkit-1/actions \
${datadir}/icons \
${datadir}/dbus-1 \
"
SYSTEMD_SERVICE_${PN} = "ModemManager.service"
inherit pkgconfig gettext autotools systemd
# --with-udev-base-dir set for usr merge
EXTRA_OECONF = "--disable-introspection --disable-vala --without-mbim --without-qmi --with-udev-base-dir=/usr/lib --enable-more-warnings=no"

View File

@ -0,0 +1,58 @@
SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
LICENSE = "GPL-2.0 & LGPL-2.1"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
"
inherit gnomebase gettext systemd vala gobject-introspection bash-completion
DEPENDS = "glib-2.0 libgudev dbus-glib intltool-native"
SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
file://0001-Do-not-set-Wno-unused-but-set-variable.patch \
file://0001-Do-not-pass-null-string-to-s-printf-formatted-string.patch \
"
SRC_URI[md5sum] = "a49c9f73e46c7b89e5efedda250d22c0"
SRC_URI[sha256sum] = "96f2a5f0ed15532b4c4c185b756fdc0326e7c2027cea26a1264f91e098260f80"
S = "${WORKDIR}/ModemManager-${PV}"
PACKAGECONFIG ??= "mbim qmi polkit \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
"
PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
EXTRA_OECONF = " \
--with-udev-base-dir=${nonarch_base_libdir}/udev \
"
CFLAGS_append_toolchain-gcc = " -Wno-unused-but-set-variable"
FILES_${PN} += " \
${datadir}/icons \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${libdir}/ModemManager \
${systemd_unitdir}/system \
"
FILES_${PN}-dev += " \
${libdir}/ModemManager/*.la \
"
FILES_${PN}-staticdev += " \
${libdir}/ModemManager/*.a \
"
FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
SYSTEMD_SERVICE_${PN} = "ModemManager.service"

View File

@ -1,25 +0,0 @@
From d0c44d704d8ad95e9bd2491b60ed6a0f7cc832e7 Mon Sep 17 00:00:00 2001
From: brl <bruce@subgraph.com>
Date: Mon, 25 Dec 2017 16:59:53 -0500
Subject: [PATCH] allow building introspection without docs
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index f8dcd13..ac3b6d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1258,7 +1258,7 @@ GTK_DOC_CHECK(1.0)
# check if we can build setting property documentation
build_docs=no
-if test -n "$INTROSPECTION_MAKEFILE"; then
+if test -n "$INTROSPECTION_MAKEFILE" -a "$enable_gtk_doc" = "yes"; then
# If g-i is installed we know we have python, but we might not have pygobject
if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
--
2.14.3

View File

@ -1,33 +0,0 @@
From b55fba8fbda49b9ec2f6f67c44960a0a5fd35ad9 Mon Sep 17 00:00:00 2001
From: Thomas Haller <thaller@redhat.com>
Date: Wed, 14 Jun 2017 14:03:30 +0200
Subject: [PATCH] build: fix race creating "libnm-core/tests" directory for
"nm-core-tests-enum-types.c"
https://bugzilla.gnome.org/show_bug.cgi?id=783783
Upstream-Status: Backport
Signed-off-by: Andrei Gherzan <andrei@resin.io>
---
Makefile.am | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 72bd241..f25fc02 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -616,6 +616,9 @@ GLIB_GENERATED += \
libnm-core/tests/nm-core-tests-enum-types.c
nm_core_tests_enum_types_sources = libnm-core/tests/test-general-enums.h
+libnm-core/tests/nm-core-tests-enum-types.h.stamp: libnm-core/tests/.dirstamp
+libnm-core/tests/nm-core-tests-enum-types.c.stamp: libnm-core/tests/.dirstamp
+
$(libnm_core_tests_test_general_OBJECTS): libnm-core/tests/nm-core-tests-enum-types.h
libnm_core_tests_cppflags = \
--
2.7.4

View File

@ -0,0 +1,40 @@
SUMMARY = "NetworkManager-openvpn-plugin"
SECTION = "net/misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=100d5a599bead70ddcd70dcd73f2e29c"
DEPENDS = "dbus dbus-glib networkmanager openvpn intltool-native glib-2.0-native"
inherit gnomebase useradd gettext systemd
SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
SRC_URI[md5sum] = "f118226ed2bfbacfd64ac4d1e0bd0383"
SRC_URI[sha256sum] = "ac86a7a539d78df90095676e9183f2d422fb93dbfe4b3afef22f81825d303d61"
S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
PACKAGECONFIG[gnome] = "--with-gnome,--without-gnome"
do_install_append () {
rm -rf ${D}${libdir}/NetworkManager/*.la
}
# Create user and group nm-openvpn that are needed since version 1.0.6
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system nm-openvpn"
FILES_${PN} += " \
${libdir}/NetworkManager/*.so \
${nonarch_libdir}/NetworkManager/VPN/nm-openvpn-service.name \
"
FILES_${PN}-staticdev += " \
${libdir}/NetworkManager/*.a \
"
RDEPENDS_${PN} = " \
networkmanager \
openvpn \
"

View File

@ -1,128 +0,0 @@
SUMMARY = "NetworkManager"
SECTION = "net/misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
file://docs/api/html/license.html;md5=eb0c003714e5391000fdfd9c9615cccf \
"
DEPENDS = "intltool-native libnl dbus dbus-glib dbus-glib-native libgudev util-linux libnewt polkit libndp python3-pygobject-native python3-pygobject xmlto-native"
export GI_TYPELIB_PATH = "${STAGING_LIBDIR_NATIVE}/girepository-1.0"
inherit gnomebase gettext systemd bluetooth gobject-introspection upstream-version-is-even python3native gtk-doc
SRC_URI = "${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://watch-resolvconf.path file://watch-resolvconf.service \
"
S = "${WORKDIR}/NetworkManager-${PV}"
EXTRA_OECONF = " \
--disable-ifcfg-rh \
--disable-ifnet \
--disable-ifcfg-suse \
--disable-json-validation \
--disable-more-warnings \
--with-iptables=${sbindir}/iptables \
--disable-vala \
--without-selinux \
--without-wext \
--with-libnm-glib \
--with-tests \
--enable-introspection \
--with-nmtui=yes \
"
do_compile_prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/libnm-util/.libs:${B}/libnm/.libs:${B}/libnm-core/.libs:${B}/libnm-glib/.libs"
}
PACKAGECONFIG ??= "nss ifupdown netconfig dhclient concheck \
${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)} \
${@bb.utils.contains('DISTRO_FEATURES','bluetooth','${BLUEZ}','',d)} \
${@bb.utils.contains('DISTRO_FEATURES','wifi','wifi','',d)} \
"
PACKAGECONFIG[systemd] = " \
--with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
--without-systemdsystemunitdir, \
polkit \
"
PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
# consolekit is not picked by shlibs, so add it to RDEPENDS too
PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
# Use full featured dhcp client instead of internal one
PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls libgcrypt"
PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,wpa-supplicant"
PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
PACKAGECONFIG[netconfig] = "--with-netconfig=yes,--with-netconfig=no"
PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
PACKAGECONFIG[concheck] = "--enable-concheck,--disable-concheck,curl,curl"
PACKAGES =+ "libnmutil libnmglib libnmglib-vpn ${PN}-tests \
${PN}-nmtui ${PN}-nmtui-doc \
${PN}-adsl \
"
FILES_libnmutil += "${libdir}/libnm-util.so.*"
FILES_libnmglib += "${libdir}/libnm-glib.so.*"
FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
FILES_${PN} += " \
${libexecdir} \
${libdir}/NetworkManager \
${libdir}/pppd/*/nm-pppd-plugin.so \
${libdir}/NetworkManager/*.so \
${datadir}/bash-completion \
${datadir}/gir-1.0 \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${base_libdir}/udev/* \
${systemd_unitdir}/system \
"
RRECOMMENDS_${PN} += "iptables \
${@bb.utils.contains('PACKAGECONFIG','dnsmasq','dnsmasq','',d)} \
"
FILES_${PN}-dbg += " \
${libdir}/NetworkManager/.debug/ \
${libdir}/pppd/*/.debug/ \
"
FILES_${PN}-dev += " \
${datadir}/NetworkManager/gdb-cmd \
${libdir}/pppd/*/*.la \
${libdir}/NetworkManager/*.la \
"
FILES_${PN}-tests = " \
${bindir}/nm-online \
"
FILES_${PN}-nmtui = " \
${bindir}/nmtui \
${bindir}/nmtui-edit \
${bindir}/nmtui-connect \
${bindir}/nmtui-hostname \
"
FILES_${PN}-nmtui-doc = " \
${mandir}/man1/nmtui* \
"
SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service watch-resolvconf.path"
do_install_append() {
rm -rf ${D}/run ${D}${localstatedir}/run
install -m 644 ${WORKDIR}/watch-resolvconf.path ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/watch-resolvconf.service ${D}${systemd_system_unitdir}
}

View File

@ -0,0 +1,53 @@
From 3f4b6319701834182304c4079119780f4ae5b49b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 7 Nov 2018 11:30:44 -0800
Subject: [PATCH] Do not include net/ethernet.h and linux/if_ether.h
They conflict when used together especially with musl
removing them still keeps it working so it seems they are redundant
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
shared/n-acd/src/n-acd.c | 1 -
src/platform/wpan/nm-wpan-utils.h | 2 --
src/settings/nm-settings-connection.h | 2 --
3 files changed, 5 deletions(-)
diff --git a/shared/n-acd/src/n-acd.c b/shared/n-acd/src/n-acd.c
index 9164f95..9538e50 100644
--- a/shared/n-acd/src/n-acd.c
+++ b/shared/n-acd/src/n-acd.c
@@ -23,7 +23,6 @@
#include <errno.h>
#include <limits.h>
#include <linux/filter.h>
-#include <linux/if_ether.h>
#include <linux/if_packet.h>
#include <net/ethernet.h>
#include <netinet/if_ether.h>
diff --git a/src/platform/wpan/nm-wpan-utils.h b/src/platform/wpan/nm-wpan-utils.h
index f7d0c03..e1c81f5 100644
--- a/src/platform/wpan/nm-wpan-utils.h
+++ b/src/platform/wpan/nm-wpan-utils.h
@@ -20,8 +20,6 @@
#ifndef __WPAN_UTILS_H__
#define __WPAN_UTILS_H__
-#include <net/ethernet.h>
-
#include "nm-dbus-interface.h"
#include "platform/nm-netlink.h"
diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h
index e796b71..c01fef6 100644
--- a/src/settings/nm-settings-connection.h
+++ b/src/settings/nm-settings-connection.h
@@ -22,8 +22,6 @@
#ifndef __NETWORKMANAGER_SETTINGS_CONNECTION_H__
#define __NETWORKMANAGER_SETTINGS_CONNECTION_H__
-#include <net/ethernet.h>
-
#include "nm-dbus-object.h"
#include "nm-connection.h"

View File

@ -0,0 +1,39 @@
From 18f71c1b48730b8602826517f2b5b088283ae948 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 31 Mar 2017 16:48:00 -0700
Subject: [PATCH] sd-lldp.h: Remove net/ethernet.h seems to be over specified
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/systemd/src/libsystemd-network/sd-lldp.c | 1 +
src/systemd/src/systemd/sd-lldp.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/systemd/src/libsystemd-network/sd-lldp.c b/src/systemd/src/libsystemd-network/sd-lldp.c
index 31e2448..7721cc2 100644
--- a/src/systemd/src/libsystemd-network/sd-lldp.c
+++ b/src/systemd/src/libsystemd-network/sd-lldp.c
@@ -3,6 +3,7 @@
#include "nm-sd-adapt.h"
#include <arpa/inet.h>
+#include <net/ethernet.h>
#include <linux/sockios.h>
#include "sd-lldp.h"
diff --git a/src/systemd/src/systemd/sd-lldp.h b/src/systemd/src/systemd/sd-lldp.h
index 3f35eeb..61b0e45 100644
--- a/src/systemd/src/systemd/sd-lldp.h
+++ b/src/systemd/src/systemd/sd-lldp.h
@@ -18,7 +18,7 @@
***/
#include <inttypes.h>
-#include <net/ethernet.h>
+//#include <net/ethernet.h>
#include <sys/types.h>
#include "sd-event.h"
--
2.14.1

View File

@ -0,0 +1,25 @@
From 583f0448fb7e9aba2b410c06eec6f420b41a6a0c Mon Sep 17 00:00:00 2001
From: Pablo Saavedra <psaavedra@igalia.com>
Date: Tue, 13 Mar 2018 17:36:20 +0100
Subject: [PATCH] Fixed configure.ac: Fix pkgconfig sysroot locations
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 51e5eb6..c9d3e56 100644
--- a/configure.ac
+++ b/configure.ac
@@ -572,7 +572,7 @@ if test "$have_jansson" = "yes"; then
AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
AC_CHECK_TOOLS(READELF, [eu-readelf readelf])
- JANSSON_LIBDIR=`$PKG_CONFIG --variable=libdir jansson`
+ JANSSON_LIBDIR=${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=libdir jansson`
JANSSON_SONAME=`$READELF -d $JANSSON_LIBDIR/libjansson.so |sed -n 's/.*SONAME.*\[[\([^]]*\)]]/\1/p'`
if test "$JANSSON_SONAME" = ""; then
--
2.14.1

View File

@ -0,0 +1,80 @@
From 4f000a4a19975d6aba71427e693cd1ed080abda9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 11:08:30 +0100
Subject: [PATCH] Do not create settings settings/property documentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It was tried to get this work but gi / GirRepository could not be found by
python. Anyway it is not necessary for us to have the settings/property docs.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
Makefile.am | 20 --------------------
configure.ac | 5 -----
2 files changed, 25 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 1e100f6..d31e3c1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1115,9 +1115,7 @@ EXTRA_DIST += \
if HAVE_INTROSPECTION
libnm_noinst_data = \
- libnm/nm-property-docs.xml \
libnm/nm-settings-docs-overrides.xml \
- libnm/nm-settings-docs.xml \
libnm/nm-settings-keyfile-docs.xml \
libnm/nm-settings-ifcfg-rh-docs.xml
@@ -3692,27 +3690,9 @@ $(clients_common_libnmc_base_la_OBJECTS): $(libnm_lib_h_pub_mkenums)
$(clients_common_libnmc_base_la_OBJECTS): clients/common/.dirstamp
clients_common_settings_doc_h = clients/common/settings-docs.h
-if HAVE_INTROSPECTION
-$(clients_common_settings_doc_h): clients/common/settings-docs.xsl libnm/nm-property-docs.xml clients/common/.dirstamp
- $(AM_V_GEN) $(XSLTPROC) --output $@ $< $(word 2,$^)
-DISTCLEANFILES += $(clients_common_settings_doc_h)
-check-local-settings-docs: $(clients_common_settings_doc_h)
- @if test -z "$$NMTST_NO_CHECK_SETTINGS_DOCS" ; then \
- if ! cmp -s "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)" ; then \
- if test "$$NM_TEST_REGENERATE" == 1 ; then \
- cp -f "$(builddir)/$(clients_common_settings_doc_h)" "$(srcdir)/$(clients_common_settings_doc_h).in"; \
- else \
- echo "The generated file \"$(builddir)/$(clients_common_settings_doc_h)\" differs from the source file \"$(srcdir)/$(clients_common_settings_doc_h).in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$$NMTST_NO_CHECK_SETTINGS_DOCS=yes". You can also automatically copy the file by rerunning the test with \$$NM_TEST_REGENERATE=1 ; \
- false; \
- fi; \
- fi;\
- fi
-check_local += check-local-settings-docs
-else
$(clients_common_settings_doc_h): $(clients_common_settings_doc_h).in clients/common/.dirstamp
$(AM_V_GEN) cp "$(srcdir)/$(clients_common_settings_doc_h).in" "$(builddir)/$(clients_common_settings_doc_h)"
check-local-settings-docs:
-endif
EXTRA_DIST += \
$(clients_common_settings_doc_h) \
$(clients_common_settings_doc_h).in
diff --git a/configure.ac b/configure.ac
index 79dc3b9..23d14a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1195,11 +1195,6 @@ GTK_DOC_CHECK(1.0)
# check if we can build setting property documentation
build_docs=no
if test -n "$INTROSPECTION_MAKEFILE"; then
- # If g-i is installed we know we have python, but we might not have pygobject
- if ! "$PYTHON" -c 'from gi.repository import GObject' >& /dev/null; then
- AC_MSG_ERROR(["--enable-introspection aims to build the settings documentation. This requires GObject introspection for python (pygobject)])
- fi
-
AC_PATH_PROG(PERL, perl)
if test -z "$PERL"; then
AC_MSG_ERROR([--enable-introspection requires perl])
--
2.14.5

View File

@ -0,0 +1,54 @@
From e92de7409a3e107f90d108a9c5d49bd0418296dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 17:54:10 +0100
Subject: [PATCH] Usual fix for musl libc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Stolen from [1] and prettyfied slightly
[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/systemd/src/basic/stdio-util.h | 2 ++
src/systemd/src/basic/util.h | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/src/systemd/src/basic/stdio-util.h b/src/systemd/src/basic/stdio-util.h
index 73c0327..e1ce64f 100644
--- a/src/systemd/src/basic/stdio-util.h
+++ b/src/systemd/src/basic/stdio-util.h
@@ -1,7 +1,9 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
#pragma once
+#if defined(__GLIBC__)
#include <printf.h>
+#endif
#include <stdarg.h>
#include <stdio.h>
#include <sys/types.h>
diff --git a/src/systemd/src/basic/util.h b/src/systemd/src/basic/util.h
index b31dfd1..9b7032c 100644
--- a/src/systemd/src/basic/util.h
+++ b/src/systemd/src/basic/util.h
@@ -28,6 +28,11 @@
#include "missing.h"
#include "time-util.h"
+#if !defined(__GLIBC__)
+typedef int (*__compar_fn_t) (const void*, const void*);
+typedef __compar_fn_t comparison_fn_t;
+#endif
+
size_t page_size(void) _pure_;
#define PAGE_ALIGN(l) ALIGN_TO((l), page_size())
--
2.14.3

View File

@ -0,0 +1,35 @@
From 57239fda56b68a8f3e413f7b6af5290ba0d86636 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 18:18:06 +0100
Subject: [PATCH] musl: dlopen is included so LD_LIBS="" instead of
LD_LIBS="none required"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Stolen from [1] and prettyfied slightly
[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
index 487a266..96ae4f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -235,6 +235,7 @@ dnl
dnl Checks for libdl - on certain platforms its part of libc
dnl
AC_SEARCH_LIBS([dlopen], [dl dld], [], [ac_cv_search_dlopen=])
+AS_IF([test "$ac_cv_search_dlopen" = "none required"],[ac_cv_search_dlopen=""])
AC_SUBST([DL_LIBS], "$ac_cv_search_dlopen")
PKG_CHECK_MODULES(GLIB, [gio-unix-2.0 >= 2.37.6 gmodule-2.0],
--
2.14.3

View File

@ -0,0 +1,72 @@
From 714b4731a238653e9c7d885c0dee10677b0a4df3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 22 Mar 2018 18:24:07 +0100
Subject: [PATCH] musl: network support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Stolen from [1] and prettyfied slightly
[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libnm-core/nm-utils.h | 4 ++++
src/platform/wifi/nm-wifi-utils.h | 4 ++++
src/systemd/src/basic/socket-util.h | 5 +++++
3 files changed, 13 insertions(+)
diff --git a/libnm-core/nm-utils.h b/libnm-core/nm-utils.h
index df9284b..2bcf4b8 100644
--- a/libnm-core/nm-utils.h
+++ b/libnm-core/nm-utils.h
@@ -30,7 +30,11 @@
#include <netinet/in.h>
/* For ETH_ALEN and INFINIBAND_ALEN */
+#if defined(__GLIBC__)
#include <linux/if_ether.h>
+#else
+#define ETH_ALEN 6 /* Octets in one ethernet addr */
+#endif
#include <linux/if_infiniband.h>
#include "nm-core-enum-types.h"
diff --git a/src/platform/wifi/nm-wifi-utils.h b/src/platform/wifi/nm-wifi-utils.h
index 705717b..da3edc4 100644
--- a/src/platform/wifi/nm-wifi-utils.h
+++ b/src/platform/wifi/nm-wifi-utils.h
@@ -22,7 +22,11 @@
#ifndef __WIFI_UTILS_H__
#define __WIFI_UTILS_H__
+#if defined(__GLIBC__)
#include <net/ethernet.h>
+#else /* musl libc */
+#define ETH_ALEN 6 /* Octets in one ethernet addr */
+#endif
#include "nm-dbus-interface.h"
#include "nm-setting-wireless.h"
diff --git a/src/systemd/src/basic/socket-util.h b/src/systemd/src/basic/socket-util.h
index d7e2d85..d109c84 100644
--- a/src/systemd/src/basic/socket-util.h
+++ b/src/systemd/src/basic/socket-util.h
@@ -11,6 +11,11 @@
#include <linux/netlink.h>
#include <linux/if_infiniband.h>
#include <linux/if_packet.h>
+#if !defined(__GLIBC__)
+/* SIOCGSTAMPNS from linux/asm-generic.h
+ * for src/systemd/src/libsystemd-network/sd-lldp.c */
+#include <linux/sockios.h>
+#endif
#include "macro.h"
#include "missing.h"
--
2.14.3

View File

@ -0,0 +1,62 @@
From d513c8bfc982dbd976617178b040c512c95710b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 25 Oct 2018 09:57:07 +0200
Subject: [PATCH] musl: process-util
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Stolen from [1] and prettyfied slightly
[1] https://github.com/voidlinux/void-packages/tree/master/srcpkgs/NetworkManager/patches
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/systemd/src/basic/process-util.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/systemd/src/basic/process-util.c b/src/systemd/src/basic/process-util.c
index 1412f03..45f5049 100644
--- a/src/systemd/src/basic/process-util.c
+++ b/src/systemd/src/basic/process-util.c
@@ -21,6 +21,9 @@
#include <sys/wait.h>
#include <syslog.h>
#include <unistd.h>
+#ifndef __GLIBC__
+#include <pthread.h>
+#endif
#if 0 /* NM_IGNORED */
#if HAVE_VALGRIND_VALGRIND_H
#include <valgrind/valgrind.h>
@@ -1153,11 +1156,13 @@ void reset_cached_pid(void) {
cached_pid = CACHED_PID_UNSET;
}
+#ifdef __GLIBC__
/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
* headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
* libpthread, as it is part of glibc anyway. */
extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
extern void* __dso_handle __attribute__ ((__weak__));
+#endif
pid_t getpid_cached(void) {
static bool installed = false;
@@ -1186,7 +1191,11 @@ pid_t getpid_cached(void) {
* only half-documented (glibc doesn't document it but LSB does — though only superficially)
* we'll check for errors only in the most generic fashion possible. */
+#ifdef __GLIBC__
if (__register_atfork(NULL, NULL, reset_cached_pid, __dso_handle) != 0) {
+#else
+ if (pthread_atfork(NULL, NULL, reset_cached_pid) != 0) {
+#endif
/* OOM? Let's try again later */
cached_pid = CACHED_PID_UNSET;
return new_pid;
--
2.14.5

View File

@ -0,0 +1,77 @@
From b3b4fe35018c98ad176719b2d9ffb867974fc7c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 16 Apr 2018 14:45:44 +0200
Subject: [PATCH] musl: avoid further conflicts by including net/ethernet.h
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>
---
src/systemd/src/systemd/sd-dhcp-client.h | 2 ++
src/systemd/src/systemd/sd-dhcp-lease.h | 2 ++
src/systemd/src/systemd/sd-dhcp6-client.h | 2 ++
src/systemd/src/systemd/sd-ipv4ll.h | 2 ++
4 files changed, 8 insertions(+)
diff --git a/src/systemd/src/systemd/sd-dhcp-client.h b/src/systemd/src/systemd/sd-dhcp-client.h
index e388552..9c4dde8 100644
--- a/src/systemd/src/systemd/sd-dhcp-client.h
+++ b/src/systemd/src/systemd/sd-dhcp-client.h
@@ -20,7 +20,9 @@
***/
#include <inttypes.h>
+#if defined(__GLIBC__)
#include <net/ethernet.h>
+#endif
#include <netinet/in.h>
#include <sys/types.h>
diff --git a/src/systemd/src/systemd/sd-dhcp-lease.h b/src/systemd/src/systemd/sd-dhcp-lease.h
index 2a60145..19d1814 100644
--- a/src/systemd/src/systemd/sd-dhcp-lease.h
+++ b/src/systemd/src/systemd/sd-dhcp-lease.h
@@ -19,7 +19,9 @@
***/
#include <inttypes.h>
+#if defined(__GLIBC__)
#include <net/ethernet.h>
+#endif
#include <netinet/in.h>
#include <sys/types.h>
diff --git a/src/systemd/src/systemd/sd-dhcp6-client.h b/src/systemd/src/systemd/sd-dhcp6-client.h
index fa36dca..2d25010 100644
--- a/src/systemd/src/systemd/sd-dhcp6-client.h
+++ b/src/systemd/src/systemd/sd-dhcp6-client.h
@@ -20,7 +20,9 @@
***/
#include <inttypes.h>
+#if defined(__GLIBC__)
#include <net/ethernet.h>
+#endif
#include <stdbool.h>
#include <sys/types.h>
diff --git a/src/systemd/src/systemd/sd-ipv4ll.h b/src/systemd/src/systemd/sd-ipv4ll.h
index 71bd4cf..1c667ba 100644
--- a/src/systemd/src/systemd/sd-ipv4ll.h
+++ b/src/systemd/src/systemd/sd-ipv4ll.h
@@ -19,7 +19,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#if defined(__GLIBC__)
#include <net/ethernet.h>
+#endif
#include <netinet/in.h>
#include "sd-event.h"
--
2.14.5

View File

@ -0,0 +1,47 @@
From 6db6596e450062601d18b2ae812a4a58d2e03a53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 16 Apr 2018 15:07:20 +0200
Subject: [PATCH] Add a strndupa replacement for musl
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>
---
src/systemd/src/basic/in-addr-util.c | 1 +
src/systemd/src/basic/string-util.h | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/src/systemd/src/basic/in-addr-util.c b/src/systemd/src/basic/in-addr-util.c
index 2a02d90..a57c360 100644
--- a/src/systemd/src/basic/in-addr-util.c
+++ b/src/systemd/src/basic/in-addr-util.c
@@ -13,6 +13,7 @@
#include "in-addr-util.h"
#include "macro.h"
#include "parse-util.h"
+#include "string-util.h"
#include "util.h"
bool in4_addr_is_null(const struct in_addr *a) {
diff --git a/src/systemd/src/basic/string-util.h b/src/systemd/src/basic/string-util.h
index 4c94b18..a6dc446 100644
--- a/src/systemd/src/basic/string-util.h
+++ b/src/systemd/src/basic/string-util.h
@@ -26,6 +26,11 @@
#define strcaseeq(a,b) (strcasecmp((a),(b)) == 0)
#define strncaseeq(a, b, n) (strncasecmp((a), (b), (n)) == 0)
+/* musl does not know strndupa */
+#if !defined(__GLIBC__)
+#define strndupa(x,s) strncpy(alloca(strlen(x)+1),x,s)
+#endif
+
int strcmp_ptr(const char *a, const char *b) _pure_;
static inline bool streq_ptr(const char *a, const char *b) {
--
2.14.3

View File

@ -0,0 +1,16 @@
# Append recipe from meta-openembedded/meta-networking
PACKAGECONFIG = "nss dhclient systemd wifi glib"
EXTRA_OECONF_remove = "--with-nmtui=yes"
EXTRA_OECONF += "--disable-ovs --with-nmtui=no"
SRC_URI += "\
file://watch-resolvconf.path \
file://watch-resolvconf.service \
"
SYSTEMD_SERVICE_${PN} += "watch-resolvconf.path"
do_install_append() {
install -m 644 ${WORKDIR}/watch-resolvconf.path ${D}${systemd_system_unitdir}
install -m 644 ${WORKDIR}/watch-resolvconf.service ${D}${systemd_system_unitdir}
}

View File

@ -1,10 +0,0 @@
require networkmanager.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
file://docs/api/html/license.html;md5=77b9e362690c149da196aefe7712db30\
"
EXTRA_OECONF += "--disable-ovs --with-nmtui=no"
SRC_URI[md5sum] = "de3c7147a693da6f80eb22f126086a14"
SRC_URI[sha256sum] = "6af0b1e856a3725f88791f55c4fbb04105dc0b20dbf182aaec8aad16481fac76"

View File

@ -0,0 +1,143 @@
SUMMARY = "NetworkManager"
HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
SECTION = "net/misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
file://docs/api/html/license.html;md5=2d56a1b0c42e388aa86aef59b154e8c3 \
"
DEPENDS = " \
intltool-native \
libxslt-native \
libnl \
libgudev \
util-linux \
libndp \
libnewt \
polkit \
jansson \
curl \
"
inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
SRC_URI = " \
${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
file://0001-sd-lldp.h-Remove-net-ethernet.h-seems-to-be-over-spe.patch \
file://0002-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
file://0003-Do-not-create-settings-settings-property-documentati.patch \
file://0001-Do-not-include-net-ethernet.h-and-linux-if_ether.h.patch \
file://musl/0001-musl-basic.patch \
file://musl/0002-musl-dlopen-configure-ac.patch \
file://musl/0003-musl-network-support.patch \
file://musl/0004-musl-process-util.patch \
file://musl/0005-musl-avoid-further-conflicts-by-including-net-ethern.patch \
file://musl/0006-Add-a-strndupa-replacement-for-musl.patch \
"
SRC_URI[md5sum] = "54ce62f0aa18ef6c5e754eaac47494ac"
SRC_URI[sha256sum] = "35a3ede4c7d12d6212033c9e44cb82b7692f38063b53a067567f02f5937c8c18"
UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.10/"
UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
S = "${WORKDIR}/NetworkManager-${PV}"
EXTRA_OECONF = " \
--disable-ifcfg-rh \
--disable-more-warnings \
--with-iptables=${sbindir}/iptables \
--with-tests \
--with-nmtui=yes \
--with-udev-dir=${nonarch_base_libdir}/udev \
"
# gobject-introspection related
GI_DATA_ENABLED_libc-musl = "False"
# stolen from https://github.com/voidlinux/void-packages/blob/master/srcpkgs/NetworkManager/template
CFLAGS_libc-musl_append = " \
-DHAVE_SECURE_GETENV -Dsecure_getenv=getenv \
-D__USE_POSIX199309 -DRTLD_DEEPBIND=0 \
"
do_compile_prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
}
PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
"
PACKAGECONFIG[systemd] = " \
--with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd --enable-polkit, \
--without-systemdsystemunitdir, \
polkit \
"
PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
# consolekit is not picked by shlibs, so add it to RDEPENDS too
PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
# Use full featured dhcp client instead of internal one
PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
${PN}-nmtui ${PN}-nmtui-doc \
${PN}-adsl \
"
FILES_libnmutil += "${libdir}/libnm-util.so.*"
FILES_libnmglib += "${libdir}/libnm-glib.so.*"
FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
FILES_${PN} += " \
${libexecdir} \
${libdir}/NetworkManager/${PV}/*.so \
${nonarch_libdir}/NetworkManager/VPN \
${nonarch_libdir}/NetworkManager/conf.d \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${noarch_base_libdir}/udev/* \
${systemd_unitdir}/system \
"
RRECOMMENDS_${PN} += "iptables \
${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
"
RCONFLICTS_${PN} = "connman"
FILES_${PN}-dev += " \
${datadir}/NetworkManager/gdb-cmd \
${libdir}/pppd/*/*.la \
${libdir}/NetworkManager/*.la \
${libdir}/NetworkManager/${PV}/*.la \
"
FILES_${PN}-nmtui = " \
${bindir}/nmtui \
${bindir}/nmtui-edit \
${bindir}/nmtui-connect \
${bindir}/nmtui-hostname \
"
FILES_${PN}-nmtui-doc = " \
${mandir}/man1/nmtui* \
"
SYSTEMD_SERVICE_${PN} = "NetworkManager.service NetworkManager-dispatcher.service"
do_install_append() {
rm -rf ${D}/run ${D}${localstatedir}/run
}

View File

@ -1,26 +0,0 @@
# ugh....
# https://bugzilla.mozilla.org/show_bug.cgi?id=104642
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
SRC_URI = "http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz"
SRC_URI[md5sum] = "9de56d4a161a723228220b0f425dc711"
SRC_URI[sha256sum] = "f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e"
DEPENDS = "m4-native gnu-config-native"
RDEPENDS_${PN} = "perl"
export PERL = "${USRBINPATH}/perl"
S = "${WORKDIR}/autoconf-2.13"
FILES_${PN} += "/usr/share/autoconf"
inherit autotools
do_configure() {
oe_runconf --program-suffix=213 --infodir=${D}/${infodir} --bindir=${D}/${bindir} --datadir=${D}/${datadir}
}
EXTRA_OECONF = "--program-suffix=213"
BBCLASSEXTEND = "native"

View File

@ -1,29 +0,0 @@
HOMEPAGE = "http://mesonbuild.com"
SUMMARY = "A high performance build system"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \
file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \
file://0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch \
file://0001-Linker-rules-move-cross_args-in-front-of-output_args.patch \
file://0003-native_bindir.patch \
file://gi-flags.patch \
file://gtkdoc-flags.patch \
file://0001-use-exe-wrapper-for-custom-targets.patch \
"
SRC_URI[sha256sum] = "92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
SRC_URI_append_class-native = "file://0002-Make-CPU-family-warnings-fatal.patch \
file://0001-Support-building-allarch-recipes-again.patch \
"
UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases"
inherit setuptools3
RDEPENDS_${PN} = "ninja python3-core python3-modules"
FILES_${PN} += "${datadir}/polkit-1"

View File

@ -1,30 +0,0 @@
From 4676224dbdff0f7107e8cbdbe0eab19c855f1454 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 17 Nov 2017 13:18:28 +0200
Subject: [PATCH] Linker rules: move {cross_args} in front of {output_args}
The previous order was found to break linking in some cases
(e.g. when -no-pic -fno-PIC was present in {cross_args}.
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
mesonbuild/backend/ninjabackend.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index bb281e1..969b70e 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -1501,7 +1501,7 @@ int dummy;
rspfile_content = $ARGS {output_args} $in $LINK_ARGS {cross_args} $aliasing
'''
else:
- command_template = ' command = {executable} $ARGS {output_args} $in $LINK_ARGS {cross_args} $aliasing\n'
+ command_template = ' command = {executable} $ARGS {cross_args} {output_args} $in $LINK_ARGS $aliasing\n'
command = command_template.format(
executable=' '.join(compiler.get_linker_exelist()),
cross_args=' '.join(cross_args),
--
2.15.0

View File

@ -1,28 +0,0 @@
From d80d02a3ca6e21fa3d055c88c05234c2eb4db128 Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Thu, 26 Jul 2018 16:32:49 +0200
Subject: [PATCH] Support building allarch recipes again
This registers "allarch" as a known CPU family.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
mesonbuild/environment.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index a0580a2..712b1e8 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -73,6 +73,7 @@ from .compilers import (
build_filename = 'meson.build'
known_cpu_families = (
+ 'allarch',
'aarch64',
'arm',
'e2k',
--
2.12.0

View File

@ -1,85 +0,0 @@
From 3ac4e58c5494bd7e603a325b5b5c2b8075849fee Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 4 Aug 2017 16:16:41 +0300
Subject: [PATCH] gtkdoc: fix issues that arise when cross-compiling
Specifically:
1) Make it possible to specify a wrapper for executing binaries
(usually, some kind of target hardware emulator, such as qemu)
2) Explicitly provide CC and LD via command line, as otherwise gtk-doc will
try to guess them, incorrectly.
3) If things break down, print the full command with arguments,
not just the binary name.
4) Correctly determine the compiler/linker executables and cross-options when cross-compiling
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
mesonbuild/modules/gnome.py | 18 +++++++++++++++---
mesonbuild/scripts/gtkdochelper.py | 9 +++++++--
2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index cb69641..727eb6a 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -792,6 +792,10 @@ This will become a hard error in the future.''')
'--mode=' + mode]
if namespace:
args.append('--namespace=' + namespace)
+ gtkdoc_exe_wrapper = state.environment.cross_info.config["properties"].get('gtkdoc_exe_wrapper', None)
+ if gtkdoc_exe_wrapper is not None:
+ args.append('--gtkdoc-exe-wrapper=' + gtkdoc_exe_wrapper)
+
args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
index 948dc5a..9c5bd19 100644
--- a/mesonbuild/scripts/gtkdochelper.py
+++ b/mesonbuild/scripts/gtkdochelper.py
@@ -45,6 +45,7 @@ parser.add_argument('--ignore-headers', dest='ignore_headers', default='')
parser.add_argument('--namespace', dest='namespace', default='')
parser.add_argument('--mode', dest='mode', default='')
parser.add_argument('--installdir', dest='install_dir')
+parser.add_argument('--gtkdoc-exe-wrapper', dest='gtkdoc_exe_wrapper')
def gtkdoc_run_check(cmd, cwd, library_paths=None):
if library_paths is None:
@@ -64,7 +65,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
# This preserves the order of messages.
p, out = Popen_safe(cmd, cwd=cwd, env=env, stderr=subprocess.STDOUT)[0:2]
if p.returncode != 0:
- err_msg = ["{!r} failed with status {:d}".format(cmd[0], p.returncode)]
+ err_msg = ["{!r} failed with status {:d}".format(cmd, p.returncode)]
if out:
err_msg.append(out)
raise MesonException('\n'.join(err_msg))
@@ -74,7 +75,7 @@ def gtkdoc_run_check(cmd, cwd, library_paths=None):
def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
main_file, module,
html_args, scan_args, fixxref_args, mkdb_args,
- gobject_typesfile, scanobjs_args, ld, cc, ldflags, cflags,
+ gobject_typesfile, scanobjs_args, gtkdoc_exe_wrapper, ld, cc, ldflags, cflags,
html_assets, content_files, ignore_headers, namespace,
expand_content_files, mode):
print("Building documentation for %s" % module)
@@ -135,6 +136,9 @@ def build_gtkdoc(source_root, build_root, doc_subdir, src_subdirs,
if gobject_typesfile:
scanobjs_cmd = ['gtkdoc-scangobj'] + scanobjs_args + ['--types=' + gobject_typesfile,
'--module=' + module,
+ '--run=' + gtkdoc_exe_wrapper,
+ '--cc=' + cc,
+ '--ld=' + ld,
'--cflags=' + cflags,
'--ldflags=' + ldflags,
'--cc=' + cc,
@@ -238,6 +242,7 @@ def run(args):
mkdbargs,
options.gobject_typesfile,
scanobjsargs,
+ options.gtkdoc_exe_wrapper,
options.ld,
options.cc,
options.ldflags,

View File

@ -1,36 +0,0 @@
From 2e8553fc01e62ebc4faa240bf20984a8a0ac7387 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 3 Jul 2018 13:59:09 +0100
Subject: [PATCH] Make CPU family warnings fatal
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
mesonbuild/environment.py | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
index d29a77f..267acf9 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
@@ -239,9 +239,7 @@ def detect_cpu_family(compilers):
return 'x86_64'
if trial not in known_cpu_families:
- mlog.warning('Unknown CPU family {!r}, please report this at '
- 'https://github.com/mesonbuild/meson/issues/new with the'
- 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial))
+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
return trial
@@ -1014,7 +1012,7 @@ class CrossBuildInfo:
raise EnvironmentException('Malformed value in cross file variable %s.' % entry)
if entry == 'cpu_family' and res not in known_cpu_families:
- mlog.warning('Unknown CPU family %s, please report this at https://github.com/mesonbuild/meson/issues/new' % value)
+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % value)
if self.ok_type(res):
self.config[s][entry] = res

View File

@ -1,39 +0,0 @@
From 0b860cb8a22ae876b6088939dbabca216bc29431 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 4 Aug 2017 16:18:47 +0300
Subject: [PATCH] gobject-introspection: determine g-ir-scanner and
g-ir-compiler paths from pkgconfig
Do not hardcode the name of those binaries; gobject-introspection
provides them via pkgconfig, and they can be set to something else
(for example when cross-compiling).
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
mesonbuild/modules/gnome.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index b29bab9..dc4c401 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -393,8 +393,6 @@ class GnomeModule(ExtensionModule):
raise MesonException('Gir takes one argument')
if kwargs.get('install_dir'):
raise MesonException('install_dir is not supported with generate_gir(), see "install_dir_gir" and "install_dir_typelib"')
- giscanner = self.interpreter.find_program_impl('g-ir-scanner')
- gicompiler = self.interpreter.find_program_impl('g-ir-compiler')
girtarget = args[0]
while hasattr(girtarget, 'held_object'):
girtarget = girtarget.held_object
@@ -405,6 +403,8 @@ class GnomeModule(ExtensionModule):
self.gir_dep = PkgConfigDependency('gobject-introspection-1.0',
state.environment,
{'native': True})
+ giscanner = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {})
+ gicompiler = os.environ['PKG_CONFIG_SYSROOT_DIR'] + self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {})
pkgargs = self.gir_dep.get_compile_args()
except Exception:
raise MesonException('gobject-introspection dependency was not found, gir cannot be generated.')

View File

@ -1,125 +0,0 @@
From e762d85c823adfefc27ba6128c7b997aa50166ce Mon Sep 17 00:00:00 2001
From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Wed, 15 Nov 2017 15:05:01 +0100
Subject: [PATCH] native_bindir
Some libraries, like QT, have pre-processors that convert their input
files into something that the cross-compiler can process. We find the
path of those pre-processors via pkg-config-native instead of
pkg-config.
This path forces the use of pkg-config-native for host_bins arguments.
There are some discussions upstream to merge this patch, but I presonaly believe
that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
mesonbuild/dependencies/base.py | 19 +++++++++++--------
mesonbuild/dependencies/ui.py | 6 +++---
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 6d3678f..90fdb80 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -146,7 +146,7 @@ class Dependency:
def need_threads(self):
return False
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
def get_configtool_variable(self, variable_name):
@@ -183,7 +183,7 @@ class InternalDependency(Dependency):
self.sources = sources
self.ext_deps = ext_deps
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
raise DependencyException('Method "get_pkgconfig_variable()" is '
'invalid for an internal dependency')
@@ -523,15 +523,18 @@ class PkgConfigDependency(ExternalDependency):
return s.format(self.__class__.__name__, self.name, self.is_found,
self.version_reqs)
- def _call_pkgbin_real(self, args, env):
- cmd = self.pkgbin.get_command() + args
+ def _call_pkgbin_real(self, args, env, use_native=False):
+ if use_native:
+ cmd = self.pkgbin.get_command() + "-native" + args
+ else:
+ cmd = self.pkgbin.get_command() + args
p, out = Popen_safe(cmd, env=env)[0:2]
rc, out = p.returncode, out.strip()
call = ' '.join(cmd)
mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out))
return rc, out
- def _call_pkgbin(self, args, env=None):
+ def _call_pkgbin(self, args, env=None, use_native=False):
if env is None:
fenv = env
env = os.environ
@@ -540,7 +543,7 @@ class PkgConfigDependency(ExternalDependency):
targs = tuple(args)
cache = PkgConfigDependency.pkgbin_cache
if (self.pkgbin, targs, fenv) not in cache:
- cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env)
+ cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env, use_native)
return cache[(self.pkgbin, targs, fenv)]
def _convert_mingw_paths(self, args):
@@ -718,7 +721,7 @@ class PkgConfigDependency(ExternalDependency):
(self.name, out_raw))
self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
options = ['--variable=' + variable_name, self.name]
if 'define_variable' in kwargs:
@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency):
options = ['--define-variable=' + '='.join(definition)] + options
- ret, out = self._call_pkgbin(options)
+ ret, out = self._call_pkgbin(options, use_native=use_native)
variable = ''
if ret != 0:
if self.required:
diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
index 197d22c..c683d21 100644
--- a/mesonbuild/dependencies/ui.py
+++ b/mesonbuild/dependencies/ui.py
@@ -285,7 +285,7 @@ class QtBaseDependency(ExternalDependency):
self.bindir = self.get_pkgconfig_host_bins(core)
if not self.bindir:
# If exec_prefix is not defined, the pkg-config file is broken
- prefix = core.get_pkgconfig_variable('exec_prefix', {})
+ prefix = core.get_pkgconfig_variable('exec_prefix', {}, use_native=True)
if prefix:
self.bindir = os.path.join(prefix, 'bin')
@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency):
applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
for application in applications:
try:
- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}))
+ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}, use_native=True))
except MesonException:
pass
@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency):
QtBaseDependency.__init__(self, 'qt5', env, kwargs)
def get_pkgconfig_host_bins(self, core):
- return core.get_pkgconfig_variable('host_bins', {})
+ return core.get_pkgconfig_variable('host_bins', {}, use_native=True)
def get_private_includes(self, mod_inc_dir, module):
return _qt_get_private_includes(mod_inc_dir, module, self.version)

View File

@ -1,35 +0,0 @@
Pass the correct cflags/ldflags to the gobject-introspection tools.
Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/4261]
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index cb69641e..bb4449a0 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -579,7 +579,10 @@ class GnomeModule(ExtensionModule):
external_ldflags += list(dep_external_ldflags)
scan_command += ['--cflags-begin']
scan_command += cflags
- scan_command += state.environment.coredata.get_external_args(lang)
+ if state.environment.is_cross_build():
+ scan_command += state.environment.cross_info.config["properties"].get(lang + '_args', "")
+ else:
+ scan_command += state.environment.coredata.get_external_args(lang)
scan_command += ['--cflags-end']
# need to put our output directory first as we need to use the
# generated libraries instead of any possibly installed system/prefix
@@ -614,7 +614,12 @@ class GnomeModule(ExtensionModule):
scan_command.append('-L' + d)
scan_command += ['--library', libname]
- for link_arg in state.environment.coredata.get_external_link_args(lang):
+ if state.environment.is_cross_build():
+ link_args = state.environment.cross_info.config["properties"].get(lang + '_link_args', "")
+ else:
+ link_args = state.environment.coredata.get_external_link_args(lang)
+
+ for link_arg in link_args:
if link_arg.startswith('-L'):
scan_command.append(link_arg)
scan_command += list(external_ldflags)

View File

@ -1,44 +0,0 @@
Ensure that in a cross compile only the target flags are passed to gtk-doc, and
not the native flags.
Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/4261]
Signed-off-by: Ross Burton <ross.burton@intel.com>
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 4af33304..8751f53c 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -851,17 +851,30 @@ This will become a hard error in the future.''')
if not isinstance(incd.held_object, (str, build.IncludeDirs)):
raise MesonException(
'Gir include dirs should be include_directories().')
+
cflags.update(get_include_args(inc_dirs))
- cflags.update(state.environment.coredata.get_external_args('c'))
+ if state.environment.is_cross_build():
+ cflags.update(state.environment.cross_info.config["properties"].get('c_args', ""))
+ else:
+ cflags.update(state.environment.coredata.get_external_args('c'))
+
ldflags = OrderedSet()
ldflags.update(internal_ldflags)
- ldflags.update(state.environment.coredata.get_external_link_args('c'))
+ if state.environment.is_cross_build():
+ ldflags.update(state.environment.cross_info.config["properties"].get('c_link_args', ""))
+ else:
+ ldflags.update(state.environment.coredata.get_external_link_args('c'))
ldflags.update(external_ldflags)
+
if cflags:
args += ['--cflags=%s' % ' '.join(cflags)]
if ldflags:
args += ['--ldflags=%s' % ' '.join(ldflags)]
- compiler = state.environment.coredata.compilers.get('c')
+
+ if state.environment.is_cross_build():
+ compiler = state.environment.coredata.cross_compilers.get('c')
+ else:
+ compiler = state.environment.coredata.compilers.get('c')
if compiler:
args += ['--cc=%s' % ' '.join(compiler.get_exelist())]
args += ['--ld=%s' % ' '.join(compiler.get_linker_exelist())]

View File

@ -1,62 +0,0 @@
#!/usr/bin/env python3
import os
import sys
def bail(msg):
print(msg, file=sys.stderr)
sys.exit(1)
_MARKER = '@@'
def transform_line(line):
# Substitute any special markers of this form:
# @@ENV@@
# with the value of ENV, split into meson array syntax.
start = line.find(_MARKER)
if start == -1:
return line
end = line.rfind(_MARKER)
if end == start:
return line
# Lookup value of the env var.
var = line[start+len(_MARKER):end]
try:
val = os.environ[var]
except KeyError:
bail('cannot generate meson.cross; env var %s not set' % var)
# Transform into meson array.
val = ["'%s'" % x for x in val.split()]
val = ', '.join(val)
val = '[%s]' % val
before = line[:start]
after = line[end+len(_MARKER):]
return '%s%s%s' % (before, val, after)
# Make sure this is really an SDK extraction environment.
try:
sysroot = os.environ['OECORE_NATIVE_SYSROOT']
except KeyError:
bail('OECORE_NATIVE_SYSROOT env var must be set')
cross_file = os.path.join(sysroot, 'usr/share/meson/meson.cross')
tmp_cross_file = '%s.tmp' % cross_file
# Read through and transform the current meson.cross.
lines = []
with open(cross_file, 'r') as f:
for line in f:
lines.append(transform_line(line))
# Write the transformed result to a tmp file and atomically rename it. In case
# we crash during the file write, we don't want an invalid meson.cross file.
with open(tmp_cross_file, 'w') as f:
for line in lines:
f.write(line)
f.flush()
os.fdatasync(f.fileno())
os.rename(tmp_cross_file, cross_file)

View File

@ -1,14 +0,0 @@
#!/bin/sh
if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
echo "OECORE_NATIVE_SYSROOT not set; are you in a Yocto SDK environment?" >&2
fi
# If these are set to a cross-compile path, meson will get confused and try to
# use them as native tools. Unset them to prevent this, as all the cross-compile
# config is already in meson.cross.
unset CC CXX CPP LD AR NM STRIP
exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
--cross-file "$OECORE_NATIVE_SYSROOT/usr/share/meson/meson.cross" \
"$@"

View File

@ -1,71 +0,0 @@
There are some discussions upstream to merge this patch, but I presonaly believe
that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
index 04a22f985941..3e33bc4a79e7 100644
--- a/mesonbuild/dependencies.py
+++ b/mesonbuild/dependencies.py
@@ -95,7 +95,7 @@ class Dependency:
def need_threads(self):
return False
- def get_pkgconfig_variable(self, variable_name):
+ def get_pkgconfig_variable(self, variable_name, use_native=False):
raise MesonException('Tried to get a pkg-config variable from a non-pkgconfig dependency.')
class InternalDependency(Dependency):
@@ -224,8 +224,12 @@ class PkgConfigDependency(Dependency):
return s.format(self.__class__.__name__, self.name, self.is_found,
self.version_reqs)
- def _call_pkgbin(self, args):
- p, out = Popen_safe([self.pkgbin] + args, env=os.environ)[0:2]
+ def _call_pkgbin(self, args, use_native=False):
+ if use_native:
+ pkgbin = [self.pkgbin + "-native"]
+ else:
+ pkgbin = [self.pkgbin]
+ p, out = Popen_safe(pkgbin + args, env=os.environ)[0:2]
return p.returncode, out.strip()
def _set_cargs(self):
@@ -259,8 +263,8 @@ class PkgConfigDependency(Dependency):
self.is_libtool = True
self.libs.append(lib)
- def get_pkgconfig_variable(self, variable_name):
- ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name])
+ def get_pkgconfig_variable(self, variable_name, use_native=False):
+ ret, out = self._call_pkgbin(['--variable=' + variable_name, self.name], use_native=use_native)
variable = ''
if ret != 0:
if self.required:
@@ -1091,7 +1095,7 @@ class QtBaseDependency(Dependency):
self.bindir = self.get_pkgconfig_host_bins(core)
if not self.bindir:
# If exec_prefix is not defined, the pkg-config file is broken
- prefix = core.get_pkgconfig_variable('exec_prefix')
+ prefix = core.get_pkgconfig_variable('exec_prefix', use_native=True)
if prefix:
self.bindir = os.path.join(prefix, 'bin')
@@ -1202,7 +1206,7 @@ class Qt5Dependency(QtBaseDependency):
QtBaseDependency.__init__(self, 'qt5', env, kwargs)
def get_pkgconfig_host_bins(self, core):
- return core.get_pkgconfig_variable('host_bins')
+ return core.get_pkgconfig_variable('host_bins', use_native=True)
class Qt4Dependency(QtBaseDependency):
def __init__(self, env, kwargs):
@@ -1216,7 +1220,7 @@ class Qt4Dependency(QtBaseDependency):
applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
for application in applications:
try:
- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application))
+ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, use_native=True))
except MesonException:
pass

View File

@ -0,0 +1,4 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/meson:"
SRC_URI += "file://0001-use-exe-wrapper-for-custom-targets.patch "

View File

@ -1,3 +0,0 @@
include meson.inc
BBCLASSEXTEND = "native"

View File

@ -1,74 +0,0 @@
include meson.inc
inherit nativesdk
SRC_URI += "file://meson-setup.py \
file://meson-wrapper"
def meson_array(var, d):
return "', '".join(d.getVar(var).split()).join(("'", "'"))
# both are required but not used by meson
MESON_SDK_ENDIAN = "bogus-endian"
MESON_TARGET_ENDIAN = "bogus-endian"
MESON_TOOLCHAIN_ARGS = "${BUILDSDK_CC_ARCH}${TOOLCHAIN_OPTIONS}"
MESON_C_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CFLAGS}"
MESON_CPP_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CXXFLAGS}"
MESON_LINK_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_LDFLAGS}"
# This logic is similar but not identical to that in meson.bbclass, since it's
# generating for an SDK rather than a cross-compile. Important differences are:
# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
# real paths by meson-setup.sh when the SDK is extracted.
# - Some overrides aren't needed, since the SDK injects paths that take care of
# them.
addtask write_config before do_install
do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS CC CXX LD AR NM STRIP READELF"
do_write_config() {
# This needs to be Py to split the args into single-element lists
cat >${WORKDIR}/meson.cross <<EOF
[binaries]
c = @@CC@@
cpp = @@CXX@@
ar = @@AR@@
nm = @@NM@@
ld = @@LD@@
strip = @@STRIP@@
pkgconfig = 'pkg-config'
[properties]
needs_exe_wrapper = true
c_args = @@CFLAGS@@
c_link_args = @@LDFLAGS@@
cpp_args = @@CPPFLAGS@@
cpp_link_args = @@LDFLAGS@@
[host_machine]
system = '${SDK_OS}'
cpu_family = '${SDK_ARCH}'
cpu = '${SDK_ARCH}'
endian = '${MESON_SDK_ENDIAN}'
EOF
}
do_install_append() {
install -d ${D}${datadir}/meson
install -m 0644 ${WORKDIR}/meson.cross ${D}${datadir}/meson/
install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
# We need to wrap the real meson with a thin env setup wrapper.
mv ${D}${bindir}/meson ${D}${bindir}/meson.real
install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
}
RDEPENDS_${PN} += "\
nativesdk-ninja \
nativesdk-python3-core \
nativesdk-python3-misc \
nativesdk-python3-modules \
"
FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"

View File

@ -5,12 +5,12 @@ LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "https://www.freedesktop.org/software/accountsservice/accountsservice-${PV}.tar.xz"
SRC_URI[md5sum] = "b4c0a74bb5f8680dda0b7be27b1c02d9"
SRC_URI[sha256sum] = "fb0fc293aa75d59f5ef5db719d37a21831c4dd74a97526ee7e51ce936311ef26"
SRC_URI[md5sum] = "6420f2e619ddcf92230d8f10bad049fe"
SRC_URI[sha256sum] = "26e9062c84797e9604182d0efdb2231cb01c98c3c9b0fea601ca79a2802d21ac"
DEPENDS = "glib-2.0 intltool-native polkit systemd glib-2.0-native"
DEPENDS = "glib-2.0 intltool-native polkit systemd glib-2.0-native dbus"
inherit pkgconfig gettext autotools gobject-introspection
inherit meson pkgconfig gettext gobject-introspection
FILES_${PN} += "\
${datadir}/dbus-1/interfaces/*.xml \

View File

@ -1,128 +0,0 @@
From b7a5716585989191c1c6856852fe162aa6cb0adc Mon Sep 17 00:00:00 2001
From: brl <bruce@subgraph.com>
Date: Mon, 18 Dec 2017 15:04:09 -0500
Subject: [PATCH] remove gobject introspection
---
lib/colord/meson.build | 59 ------------------------------------------------
lib/colorhug/meson.build | 34 ----------------------------
2 files changed, 93 deletions(-)
diff --git a/lib/colord/meson.build b/lib/colord/meson.build
index 580a2fa..af75d23 100644
--- a/lib/colord/meson.build
+++ b/lib/colord/meson.build
@@ -146,65 +146,6 @@ pkgg.generate(
description : 'colord is a system daemon for managing color devices',
)
-libcolord_girtarget = gnome.generate_gir(colord,
- sources : [
- 'cd-client.c',
- 'cd-client.h',
- 'cd-client-sync.c',
- 'cd-client-sync.h',
- 'cd-color.c',
- 'cd-color.h',
- 'cd-edid.c',
- 'cd-edid.h',
- 'cd-device.c',
- 'cd-device.h',
- 'cd-device-sync.c',
- 'cd-device-sync.h',
- 'cd-enum.c',
- 'cd-enum.h',
- 'cd-icc.c',
- 'cd-icc.h',
- 'cd-it8.c',
- 'cd-it8.h',
- 'cd-math.c',
- 'cd-math.h',
- 'cd-profile.c',
- 'cd-profile.h',
- 'cd-profile-sync.c',
- 'cd-profile-sync.h',
- 'cd-sensor.c',
- 'cd-sensor.h',
- 'cd-sensor-sync.c',
- 'cd-sensor-sync.h',
- 'cd-spectrum.c',
- 'cd-spectrum.h',
- ],
- nsversion : '1.0',
- namespace : 'Colord',
- symbol_prefix : 'cd',
- identifier_prefix : 'Cd',
- export_packages : 'colord',
- extra_args : [
- '--c-include=colord.h',
- ],
- c_args : [
- cargs,
- ],
- link_with : colordprivate,
- dependencies : [
- gio,
- glib,
- lcms,
- ],
- includes : [
- 'Gio-2.0',
- 'GObject-2.0',
- ],
- install : true
-)
-libcolord_gir = libcolord_girtarget[0]
-libcolord_typelib = libcolord_girtarget[1]
-
if get_option('enable-vala')
gnome.generate_vapi('colord',
sources: libcolord_girtarget[0],
diff --git a/lib/colorhug/meson.build b/lib/colorhug/meson.build
index 1ee1ce8..9c69201 100644
--- a/lib/colorhug/meson.build
+++ b/lib/colorhug/meson.build
@@ -73,40 +73,6 @@ pkgg.generate(
description : 'ColorHug is a simple display hardware colorimeter',
)
-libcolorhug_gir = gnome.generate_gir(colorhug,
- sources : [
- 'ch-common.c',
- 'ch-common.h',
- 'ch-device.c',
- 'ch-device.h',
- 'ch-device-queue.c',
- 'ch-device-queue.h',
- 'ch-hash.c',
- 'ch-hash.h',
- ],
- nsversion : '1.0',
- namespace : 'Colorhug',
- symbol_prefix : 'ch',
- identifier_prefix : 'Ch',
- export_packages : 'colorhug',
- c_args : [
- cargs,
- ],
- link_with : colorhug,
- dependencies : [
- gio,
- glib,
- lcms,
- ],
- includes : [
- 'Gio-2.0',
- 'GObject-2.0',
- 'GUsb-1.0',
- libcolord_gir,
- ],
- install : true
-)
-
if get_option('enable-tests')
testdatadir = join_paths(meson.source_root(), 'data', 'tests')
e = executable(
--
2.14.3

View File

@ -1,63 +0,0 @@
SUMMARY = "System service to manage, install and generate color profiles to color manage input and output devices"
HOMEPAGE ="https://www.freedesktop.org/software/colord/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://www.freedesktop.org/software/colord/releases/colord-${PV}.tar.xz \
file://0001-remove-gobject-introspection.patch \
"
SRC_URI[md5sum] = "f457be5b7c44827e6c747ec80a6dc69a"
SRC_URI[sha256sum] = "2b068fc8298265a7a3b68e7516c7a263394cff57579af0d1c0fb6b7429230555"
DEPENDS = "glib-2.0-native lcms libgusb libgudev polkit"
EXTRA_OEMESON = "-Denable-argyllcms-sensor=false -Denable-man=false -Denable-docs=false -Dwith-daemon-user=colord -Denable-bash-completion=false -Denable-systemd=true -Denable-tests=false -Denable-print-profiles=false --buildtype=release"
PACKAGES += "${PN}-plugins"
FILES_${PN} += "\
${datadir}/glib-2.0/schemas \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${datadir}/color/icc/colord \
${libdir}/tmpfiles.d \
${systemd_user_unitdir}/colord-session.service \
"
SYSTEMD_SERVICE_${PN} = "colord.service"
FILES_${PN}-plugins = "\
${libdir}/colord-plugins \
${libdir}/colord-sensors \
"
# This probably belongs in meson.bbclass
#
# 1) write out a wrapper script that can execute target binaries
#
# 2) add exe_wrapper line to the end of [binaries] section in the
# meson.cross file that meson.bbclass generated
#
setup_wrapper() {
if [ ! -e ${B}/wrapper ]; then
cat > ${B}/wrapper << EOF
#!/bin/sh
${STAGING_LIBDIR}/ld-linux-x86-64.so.2 --library-path ${STAGING_LIBDIR} \$@
EOF
chmod +x ${B}/wrapper
fi
if ! grep -q "^exe_wrapper" ${WORKDIR}/meson.cross; then
cat ${WORKDIR}/meson.cross | sed "/pkgconfig/ a\
exe_wrapper = '${B}/wrapper'" > ${WORKDIR}/meson.cross.tmp
mv ${WORKDIR}/meson.cross.tmp ${WORKDIR}/meson.cross
fi
}
do_configure_prepend() {
setup_wrapper
}
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --home /var/lib/colord --no-create-home --shell /bin/false --user-group colord"
inherit meson systemd useradd gettext

View File

@ -0,0 +1,34 @@
SUMMARY = "System service to manage, install and generate color profiles to color manage input and output devices"
HOMEPAGE ="https://www.freedesktop.org/software/colord/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://www.freedesktop.org/software/colord/releases/colord-${PV}.tar.xz"
SRC_URI[md5sum] = "f032ecac927e9078c41fff97800441e8"
SRC_URI[sha256sum] = "9a8e669ee1ea31632bee636cc57353f703c2ea9b64cd6e02bbaabe9a1e549df7"
inherit meson meson-exe-wrapper pkgconfig systemd useradd gettext gobject-introspection
DEPENDS = "glib-2.0-native lcms libgusb libgudev polkit"
EXTRA_OEMESON = "-Dargyllcms_sensor=false -Dman=false -Ddocs=false -Ddaemon_user=colord -Dbash_completion=false -Dtests=false --buildtype=release"
PACKAGES += "${PN}-plugins"
FILES_${PN} += "\
${datadir}/glib-2.0/schemas \
${datadir}/polkit-1 \
${datadir}/dbus-1 \
${datadir}/color/icc/colord \
${libdir}/tmpfiles.d \
${systemd_user_unitdir}/colord-session.service \
"
SYSTEMD_SERVICE_${PN} = "colord.service"
FILES_${PN}-plugins = "\
${libdir}/colord-plugins \
${libdir}/colord-sensors \
"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --home /var/lib/colord --no-create-home --shell /bin/false --user-group colord"

View File

@ -17,8 +17,8 @@ PROVIDES = "virtual/psplash"
RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
SRC_URI = "http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz file://plymouthd.conf file://subgraph.png"
SRC_URI[md5sum] = "b261c720888a5431cdfce8494805eab3"
SRC_URI[sha256sum] = "9f8dd08a90ceaf6228dcd8c27759adf18fc9482f15b6c56dcbcced268b4e4a74"
SRC_URI[md5sum] = "4efa5551d230165981b105e7c6a50aa7"
SRC_URI[sha256sum] = "4a197a4f1a05785d7453dd829b231352fb2d09171bd86c5ffaafbb2dd6791351"
EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \
--with-logo=${LOGO} \

View File

@ -12,16 +12,19 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
Rebase to 0.115
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 2 +-
src/polkitbackend/polkitbackendinteractiveauthority.c | 6 +++++-
src/polkitbackend/polkitbackendjsauthority.c | 5 ++---
3 files changed, 8 insertions(+), 5 deletions(-)
src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 07982d1..21590b2 100644
index 8b3e1b1..1c392df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -158,7 +158,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"],
[AC_MSG_ERROR([Can't find expat library. Please install expat.])])
AC_SUBST(EXPAT_LIBS)
@ -31,10 +34,10 @@ index 07982d1..21590b2 100644
if test "x$GCC" = "xyes"; then
LDFLAGS="-Wl,--as-needed $LDFLAGS"
diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c
index 7019356..cf39d77 100644
index cb6fdab..de3f752 100644
--- a/src/polkitbackend/polkitbackendinteractiveauthority.c
+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
@@ -2213,7 +2213,7 @@ get_users_in_group (PolkitIdentity *group,
@@ -2224,7 +2224,7 @@ get_users_in_group (PolkitIdentity *group,
out:
return ret;
}
@ -43,7 +46,7 @@ index 7019356..cf39d77 100644
static GList *
get_users_in_net_group (PolkitIdentity *group,
gboolean include_root)
@@ -2270,6 +2270,8 @@ get_users_in_net_group (PolkitIdentity *group,
@@ -2285,6 +2285,8 @@ get_users_in_net_group (PolkitIdentity *group,
return ret;
}
@ -52,7 +55,7 @@ index 7019356..cf39d77 100644
/* ---------------------------------------------------------------------------------------------------- */
static void
@@ -2355,10 +2357,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent,
@@ -2369,10 +2371,12 @@ authentication_agent_initiate_challenge (AuthenticationAgent *agent,
{
user_identities = g_list_concat (user_identities, get_users_in_group (identity, FALSE));
}
@ -65,43 +68,26 @@ index 7019356..cf39d77 100644
else
{
g_warning ("Unsupported identity");
diff --git a/src/polkitbackend/polkitbackendjsauthority.c b/src/polkitbackend/polkitbackendjsauthority.c
index 097dcc5..e59b3f7 100644
--- a/src/polkitbackend/polkitbackendjsauthority.c
+++ b/src/polkitbackend/polkitbackendjsauthority.c
@@ -1498,7 +1498,6 @@ js_polkit_spawn (JSContext *cx,
/* ---------------------------------------------------------------------------------------------------- */
-
static JSBool
js_polkit_user_is_in_netgroup (JSContext *cx,
unsigned argc,
@@ -1518,6 +1517,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
user = JS_EncodeString (cx, user_str);
netgroup = JS_EncodeString (cx, netgroup_str);
diff --git a/src/polkitbackend/polkitbackendjsauthority.cpp b/src/polkitbackend/polkitbackendjsauthority.cpp
index 517f3c6..6042dd2 100644
--- a/src/polkitbackend/polkitbackendjsauthority.cpp
+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
user = JS_EncodeString (cx, args[0].toString());
netgroup = JS_EncodeString (cx, args[1].toString());
+#if defined HAVE_INNETGR
if (innetgr (netgroup,
NULL, /* host */
user,
@@ -1525,6 +1525,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
@@ -1509,6 +1510,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
{
is_in_netgroup = JS_TRUE;
is_in_netgroup = true;
}
+#endif
JS_free (cx, netgroup);
JS_free (cx, user);
@@ -1536,8 +1537,6 @@ js_polkit_user_is_in_netgroup (JSContext *cx,
return ret;
}
-
-
/* ---------------------------------------------------------------------------------------------------- */
typedef struct
--
2.7.0
2.7.4

View File

@ -4,9 +4,18 @@ Upstream-Status:Inappropriate [configuration]
Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
--- a/configure.ac 2011-03-04 02:26:20.000000000 +0800
+++ b/configure.ac.new 2011-07-18 10:14:12.516818852 +0800
@@ -350,10 +350,10 @@
Upstream-Status: Inappropriate [oe specific]
Rebase to 0.115
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
configure.ac | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 36df239..8b3e1b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -471,10 +471,10 @@ elif test x$with_os_type = xfreebsd -o x$with_os_type = xnetbsd; then
PAM_FILE_INCLUDE_PASSWORD=system
PAM_FILE_INCLUDE_SESSION=system
else
@ -21,3 +30,6 @@ Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
fi
AC_SUBST(PAM_FILE_INCLUDE_AUTH)
--
2.7.4

View File

@ -5,7 +5,7 @@ LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
DEPENDS = "expat glib-2.0 intltool-native mozjs paxctl-native"
DEPENDS = "expat glib-2.0 intltool-native mozjs"
inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
@ -17,26 +17,25 @@ PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS
#PACKAGECONFIG[consolekit] = ",,,consolekit"
PACKAGECONFIG[consolekit] = ",,,consolekit"
PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "git://anongit.freedesktop.org/git/polkit.git;protocol=https \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
SRCREV="32e9a69c335324a53a2c0ba4e0b513fb044be0fd"
SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
file://0001-make-netgroup-support-configurable.patch \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
"
SRC_URI[md5sum] = "f03b055d6ae5fc8eac76838c7d83d082"
SRC_URI[sha256sum] = "2f87ecdabfbd415c6306673ceadc59846f059b18ef2fce42bac63fe283f12131"
S = "${WORKDIR}/git"
EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages --enable-examples=no"
EXTRA_OECONF = "--with-os-type=moblin \
--disable-man-pages \
--disable-libelogind \
"
do_compile_prepend () {
export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
}
do_install_append() {
paxctl -cmr ${D}${libdir}/polkit-1/polkitd
rm ${D}${sysconfdir}/polkit-1/rules.d/50-default.rules
}
PACKAGES =+ "${PN}-examples"
FILES_${PN}_append = " \
@ -54,4 +53,3 @@ USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysco
SYSTEMD_SERVICE_${PN} = "${BPN}.service"
SYSTEMD_AUTO_ENABLE = "disable"
BBCLASSEXTEND="native"

View File

@ -1,66 +0,0 @@
From 0cb66c0c5aafd48b63a755860746e70afb332c8d Mon Sep 17 00:00:00 2001
From: Tanu Kaskinen <tanuk@iki.fi>
Date: Wed, 24 Jan 2018 03:51:49 +0200
Subject: [PATCH] memfd-wrappers: only define memfd_create() if not already
defined
glibc 2.27 is to be released soon, and it will provide memfd_create().
If glibc provides the function, we must not define it ourselves,
otherwise building fails due to conflict between the two implementations
of the same function.
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=104733
---
Upstream-Status: Submitted [https://bugs.freedesktop.org/attachment.cgi?id=136927]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
configure.ac | 3 +++
src/pulsecore/memfd-wrappers.h | 7 ++++---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 77b5ff5..3a71fd8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -607,6 +607,9 @@ AS_IF([test "x$enable_memfd" = "xyes" && test "x$HAVE_MEMFD" = "x0"],
[AC_MSG_ERROR([*** Your Linux kernel does not support memfd shared memory.
*** Use linux v3.17 or higher for such a feature.])])
+AS_IF([test "x$HAVE_MEMFD" = "x1"],
+ AC_CHECK_FUNCS([memfd_create]))
+
AC_SUBST(HAVE_MEMFD)
AM_CONDITIONAL([HAVE_MEMFD], [test "x$HAVE_MEMFD" = x1])
AS_IF([test "x$HAVE_MEMFD" = "x1"], AC_DEFINE([HAVE_MEMFD], 1, [Have memfd shared memory.]))
diff --git a/src/pulsecore/memfd-wrappers.h b/src/pulsecore/memfd-wrappers.h
index 3bed9b2..c7aadfd 100644
--- a/src/pulsecore/memfd-wrappers.h
+++ b/src/pulsecore/memfd-wrappers.h
@@ -20,13 +20,14 @@
License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
***/
-#ifdef HAVE_MEMFD
+#if defined(HAVE_MEMFD) && !defined(HAVE_MEMFD_CREATE)
#include <sys/syscall.h>
#include <fcntl.h>
/*
- * No glibc wrappers exist for memfd_create(2), so provide our own.
+ * Before glibc version 2.27 there was no wrapper for memfd_create(2),
+ * so we have to provide our own.
*
* Also define memfd fcntl sealing macros. While they are already
* defined in the kernel header file <linux/fcntl.h>, that file as
@@ -63,6 +64,6 @@ static inline int memfd_create(const char *name, unsigned int flags) {
#define F_SEAL_WRITE 0x0008 /* prevent writes */
#endif
-#endif /* HAVE_MEMFD */
+#endif /* HAVE_MEMFD && !HAVE_MEMFD_CREATE */
#endif
--
2.16.1

View File

@ -1,2 +0,0 @@
# <type> <owner> <group> <mode> <path> <linksource>
d pulse pulse 0755 /var/run/pulse none

View File

@ -1,15 +0,0 @@
require recipes-multimedia/pulseaudio/pulseaudio.inc
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
file://volatiles.04_pulse \
file://0001-memfd-wrappers-only-define-memfd_create-if-not-alrea.patch \
"
SRC_URI[md5sum] = "390de38231d5cdd6b43ada8939eb74f1"
SRC_URI[sha256sum] = "f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e"
do_compile_prepend() {
mkdir -p ${S}/libltdl
cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl
}
RDEPENDS_pulseaudio-server_remove = "pulseaudio-module-console-kit"

View File

@ -0,0 +1 @@
RDEPENDS_pulseaudio-server_remove = "pulseaudio-module-console-kit"

View File

@ -3,15 +3,13 @@ HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI[archive.md5sum] = "1ad754b90bcb14244b73ca4d0c14d274"
SRC_URI[archive.sha256sum] = "e2e1571004ea7b105c969473ce455a95be4038fb2541471714aeb33a26da8a9a"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "355c7916a69513490cb83ad34016b169"
SRC_URI[sha256sum] = "61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e"
DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2"
DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core"
inherit autotools pkgconfig distro_features_check upstream-version-is-even
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase distro_features_check upstream-version-is-even
# The at-spi2-core requires x11 in DISTRO_FEATURES
REQUIRED_DISTRO_FEATURES = "x11"

View File

@ -1,24 +0,0 @@
SUMMARY = "Assistive Technology Service Provider Interface (dbus core)"
HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
SRC_URI[archive.md5sum] = "9c42f79636ed1c0e908b7483d789b32e"
SRC_URI[archive.sha256sum] = "42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87"
DEPENDS = "dbus glib-2.0 virtual/libx11 libxi libxtst"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gettext systemd distro_features_check upstream-version-is-even
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
#EXTRA_OEMESON = "--buildtype=release -Denable-introspection=yes -Ddbus-daemon=${bindir}"
EXTRA_OEMESON = "--buildtype=release -Denable-introspection=yes -Ddbus_daemon=${bindir}/dbus-daemon"
FILES_${PN} += "${datadir}/dbus-1/services/*.service \
${datadir}/dbus-1/accessibility-services/*.service \
${datadir}/defaults/at-spi2 \
${systemd_user_unitdir}/at-spi-dbus-bus.service \
"

View File

@ -0,0 +1,39 @@
SUMMARY = "Assistive Technology Service Provider Interface (dbus core)"
HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886"
MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
"
SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5"
SRC_URI[sha256sum] = "0175f5393d19da51f4c11462cba4ba6ef3fa042abf1611a70bdfed586b7bfb2b"
DEPENDS = "dbus glib-2.0 virtual/libx11 libxi libxtst"
inherit meson gtk-doc gettext systemd pkgconfig distro_features_check upstream-version-is-even gobject-introspection
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \
-Ddbus_daemon=${bindir}"
GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
GI_ENABLE_FLAG = "-Denable-introspection=yes"
GI_DISABLE_FLAG = "-Denable-introspection=no"
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
'${GI_DISABLE_FLAG}', d)} "
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
'${GTKDOC_DISABLE_FLAG}', d)} "
FILES_${PN} += "${datadir}/dbus-1/services/*.service \
${datadir}/dbus-1/accessibility-services/*.service \
${datadir}/defaults/at-spi2 \
${systemd_user_unitdir}/at-spi-dbus-bus.service \
"

View File

@ -0,0 +1,38 @@
Upstream-Status: Submitted
From 0330251715fee908f2f162565d4fa1df5030d0c0 Mon Sep 17 00:00:00 2001
From: Jeremy Puhlman <jpuhlman@mvista.com>
Date: Thu, 14 Jun 2018 17:21:49 +0000
Subject: [PATCH] Switch from filename to basename
When atk-enum-types.h is installed in to a system, the user likely has
no access to the location where the headers were built, especially if
the software was built in a sysroot environment. If the headers were
built for a mulitlib environment, the build pathing may be different.
Subsequently, if two mulitlib variants of atk are installed together the
headers conflict for no other reason then they were built in two
different locations. Switching from filename to basename, still should
provide sufficient information on the providence of the enums, while not
conflicting for really no good reason.
Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
---
atk/atk-enum-types.h.template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/atk/atk-enum-types.h.template b/atk/atk-enum-types.h.template
index 7b4cec4..8321c24 100644
--- a/atk/atk-enum-types.h.template
+++ b/atk/atk-enum-types.h.template
@@ -14,7 +14,7 @@ G_BEGIN_DECLS
/*** BEGIN file-production ***/
-/* enumerations from "@filename@" */
+/* enumerations from "@basename@" */
/*** END file-production ***/
/*** BEGIN value-header ***/
--
2.14.1.459.g238e487

View File

@ -0,0 +1,22 @@
From 2a3300378813ce86d532b3852119b2ef29157755 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Sun, 13 Jan 2019 21:04:00 -0500
Subject: [PATCH] sup
---
atk/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/atk/meson.build b/atk/meson.build
index 616a3e6..941ded8 100644
--- a/atk/meson.build
+++ b/atk/meson.build
@@ -137,7 +137,7 @@ libatk_dep = declare_dependency(link_with: libatk,
dependencies: gobject_dep,
sources: atk_enum_h)
-if not meson.is_cross_build() and get_option('introspection')
+if get_option('introspection')
gnome.generate_gir(libatk,
sources: atk_sources + atk_headers + [ atk_enum_h ] + [ atk_version_h ],
namespace: 'Atk',

View File

@ -1,19 +0,0 @@
SUMMARY = "Accessibility toolkit for GNOME"
HOMEPAGE = "http://live.gnome.org/GAP/"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "x11/libs"
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \
file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b"
DEPENDS = "glib-2.0"
inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
SRC_URI[archive.md5sum] = "dfb5e7474220afa3f4ca7e45af9f3a11"
SRC_URI[archive.sha256sum] = "cd3a1ea6ecc268a2497f0cd018e970860de24a6d42086919d6bf6c8e8d53f4fc"
BBCLASSEXTEND = "native"

View File

@ -0,0 +1,37 @@
SUMMARY = "Accessibility toolkit for GNOME"
HOMEPAGE = "http://live.gnome.org/GAP/"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "x11/libs"
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://atk/atkutil.c;endline=18;md5=6fd31cd2fdc9b30f619ca8d819bc12d3 \
file://atk/atk.h;endline=18;md5=fcd7710187e0eae485e356c30d1b0c3b"
# Need gettext-native as Meson can't turn off i18n
DEPENDS = "gettext-native glib-2.0"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection
GTKDOC_ENABLE_FLAG = "-Denable_docs=true"
GTKDOC_DISABLE_FLAG = "-Denable_docs=false"
GI_ENABLE_FLAG = "-Ddisable_introspection=false"
GI_DISABLE_FLAG = "-Ddisable_introspection=true"
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '${GI_ENABLE_FLAG}', \
'${GI_DISABLE_FLAG}', d)} "
EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \
'${GTKDOC_DISABLE_FLAG}', d)} "
SRC_URI_append = " \
file://0001-Switch-from-filename-to-basename.patch \
file://0001-meson.build-enable-introspection-for-cross-compile.patch \
"
SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454"
SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b"
BBCLASSEXTEND = "native"

View File

@ -0,0 +1,27 @@
From 50a9133e0b13798640da0b7cd11b5a85e35b2038 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Nov 2018 16:27:32 +0800
Subject: [PATCH] meson.build: do not compile docs
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
meson.build | 1 -
1 file changed, 1 deletion(-)
diff --git a/meson.build b/meson.build
index 04b6d47..46fdbc8 100644
--- a/meson.build
+++ b/meson.build
@@ -81,7 +81,6 @@ subdir('gdbus')
subdir('gsettings')
subdir('client')
subdir('bin')
-subdir('docs')
subdir('tests')
meson.add_install_script('meson_post_install.py', gio_module_dir)
--
2.7.4

View File

@ -1,24 +0,0 @@
SUMMARY = "Low level configuration database backend for GSettings"
HOMEPAGE = "https://wiki.gnome.org/Projects/dconf"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/dconf/0.26/dconf-${PV}.tar.xz"
SRC_URI[md5sum] = "a3cb67032e060450fa01c1a0f874bb60"
SRC_URI[sha256sum] = "d583b1f7fc93b879e2956acc6a26ea05a445a0002158aeef80c8e378e1414535"
DEPENDS = "glib-2.0 xmlto-native glib-2.0-native"
FILES_${PN} += "\
${libdir}/gio/modules/libdconfsettings.so \
${datadir}/bash-completion/completions/dconf \
${datadir}/vala/vapi \
${datadir}/dbus-1/services \
"
inherit pkgconfig gettext autotools
EXTRA_OECONF = "--enable-man=no"
BBCLASSEXTEND= "native"

View File

@ -1,23 +0,0 @@
SUMMARY = "Low level configuration database backend for GSettings"
HOMEPAGE = "https://wiki.gnome.org/Projects/dconf"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/dconf/0.27/dconf-${PV}.tar.xz"
SRC_URI[archive.md5sum] = "30bb3010ecd36d6e53ddbc40ef4b80ec"
SRC_URI[archive.sha256sum] = "37daf52e68d03ca0b6d0c2e0df7acac64e091074457ae306683b78b5cfa7e9ce"
DEPENDS = "glib-2.0 xmlto-native glib-2.0-native"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gettext vala
FILES_${PN} += "\
${libdir}/gio/modules/libdconfsettings.so \
${datadir}/bash-completion/completions/dconf \
${datadir}/vala/vapi \
${datadir}/dbus-1/services \
"
BBCLASSEXTEND= "native"

View File

@ -0,0 +1,24 @@
SUMMARY = "configuation database system"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
SECTION = "x11/gnome"
SRC_URI[archive.md5sum] = "a959eef51c917b3c57cfbef1448a375e"
SRC_URI[archive.sha256sum] = "549a3a7cc3881318107dc48a7b02ee8f88c9127acaf2d47f7724f78a8f6d02b7"
DEPENDS = "dbus glib-2.0 xmlto-native glib-2.0-native"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase bash-completion vala
SRC_URI += "file://0001-meson.build-do-not-compile-docs.patch"
FILES_${PN} += " \
${datadir}/dbus-1 \
${libdir}/gio/modules/*.so \
"
EXTRA_OEMESON_append_class-native = "-Dbash_completion=false"
BBCLASSEXTEND= "native"

View File

@ -1,3 +0,0 @@
require gdm.inc
SRC_URI[archive.md5sum] = "f8b2156d9cfa9be2d95f34f2ef08c44d"
SRC_URI[archive.sha256sum] = "c1107f8c13df3e54a250d946361b0bcc690fd4f2b22abc39f3e0e26a750ad632"

View File

@ -6,10 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit gnomebase useradd gettext pkgconfig autotools gobject-introspection systemd
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
file://gdm.conf \
file://0001-replace-absolute-path-with-staging-path.patch \
"
SRC_URI[archive.md5sum] = "83094013e224a072f6adc086c034f076"
SRC_URI[archive.sha256sum] = "4b3d11856adf9fc26b43b2742c196e9e9dc2d2a5eff8bb34d906537288e2732f"
SRC_URI += "\
file://gdm.conf \
file://0001-replace-absolute-path-with-staging-path.patch \
"
DEPENDS = "libxcb libxinerama libxau libxdmcp intltool-native glib-2.0 accountsservice libpam libcheck libcanberra gtk+3 libx11 libxi systemd libxext glib-2.0-native dconf-native plymouth"

View File

@ -5,13 +5,13 @@ LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext
inherit gnomebase gettext gobject-introspection
SRC_URI[archive.md5sum] = "7315e7ff162dfd01165ba8a284e3eda6"
SRC_URI[archive.sha256sum] = "f10169262c313dfaa21acf00687c01e0aaf52983524648e8b9e8e42c052dd778"
SRC_URI[archive.md5sum] = "98c0a7d175014d5865be7d3f774ef14c"
SRC_URI[archive.sha256sum] = "ea4086b127050250c158beff28dbcdf81a797b3938bb79bbaaecc75e746fbeee"
FILES_${PN} += "${datadir}/icons/gnome"
DEPENDS = "json-glib libsoup-2.4 glib-2.0 glib-2.0-native"
EXTRA_OEMESON = "-Denable-installed-tests=false -Dintrospection=false -Denable-introspection=false -Denable-gtk-doc=false --buildtype=release"
EXTRA_OEMESON = "-Denable-installed-tests=false -Denable-gtk-doc=false --buildtype=release"

View File

@ -1,14 +0,0 @@
SUMMARY = "GNOME javascript bindings based on the Spidermonkey javascript engine"
HOMEPAGE = "https://wiki.gnome.org/Projects/Gjs"
LICENSE = "MIT & LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=e7436dd55d7c05a5fa18f8cab10b3a6b \
file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
inherit gnomebase gettext gobject-introspection
export GI_DATADIR="${STAGING_DATADIR}/gobject-introspection-1.0"
DEPENDS = "glib-2.0 gobject-introspection cairo gtk+3 mozjs52 glib-2.0-native"
EXTRA_OECONF = "--without-dbus-tests"

View File

@ -0,0 +1,57 @@
diff --git a/gi/object.cpp b/gi/object.cpp
index 2b2265da0cc74c2a1b5b027c2566c5f0e334e278..7003273630efcd6a09c302476e95544ad287c853 100644
--- a/gi/object.cpp
+++ b/gi/object.cpp
@@ -717,7 +717,11 @@ bool ObjectPrototype::lazy_define_gobject_property(JSContext* cx,
JS::RootedValue private_id(cx, JS::StringValue(JSID_TO_STRING(id)));
if (!gjs_define_property_dynamic(
cx, obj, name, "gobject_prop", &ObjectBase::prop_getter,
- &ObjectBase::prop_setter, private_id, GJS_MODULE_PROP_FLAGS))
+ &ObjectBase::prop_setter, private_id,
+ // Make property configurable so that interface properties can be
+ // overridden by GObject.ParamSpec.override in the class that
+ // implements them
+ GJS_MODULE_PROP_FLAGS & ~JSPROP_PERMANENT))
return false;
*resolved = true;
diff --git a/installed-tests/js/testGObjectInterface.js b/installed-tests/js/testGObjectInterface.js
index 9eab97461cca93817ac747060134306ba235a9b1..daefb6831e38725db5c86398569040af942cd714 100644
--- a/installed-tests/js/testGObjectInterface.js
+++ b/installed-tests/js/testGObjectInterface.js
@@ -84,6 +84,22 @@ const ImplementationOfTwoInterfaces = GObject.registerClass({
}
});
+const ImplementationOfIntrospectedInterface = GObject.registerClass({
+ Implements: [Gio.Action],
+ Properties: {
+ 'enabled': GObject.ParamSpec.override('enabled', Gio.Action),
+ 'name': GObject.ParamSpec.override('name', Gio.Action),
+ 'state': GObject.ParamSpec.override('state', Gio.Action),
+ 'state-type': GObject.ParamSpec.override('state-type', Gio.Action),
+ 'parameter-type': GObject.ParamSpec.override('parameter-type',
+ Gio.Action)
+ }
+}, class ImplementationOfIntrospectedInterface extends GObject.Object {
+ get name() {
+ return 'inaction';
+ }
+});
+
describe('GObject interface', function () {
it('cannot be instantiated', function () {
expect(() => new AGObjectInterface()).toThrow();
@@ -247,6 +263,11 @@ describe('GObject interface', function () {
253, 'testGObjectMustOverrideInterfaceProperties');
});
+ it('can have introspected properties overriden', function() {
+ let obj = new ImplementationOfIntrospectedInterface();
+ expect(obj.name).toEqual('inaction');
+ });
+
it('can be implemented by a class as well as its parent class', function () {
const SubObject = GObject.registerClass(
class SubObject extends GObjectImplementingGObjectInterface {});

View File

@ -1,6 +0,0 @@
require gjs.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=beb29cf17fabe736f0639b09ee6e76fa \
file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
SRC_URI[archive.md5sum] = "5f626919a37b75d1b652be6da8723f41"
SRC_URI[archive.sha256sum] = "5524a045e5e1d34a2a510133c662f2685e15ce26ae2ed699fb5d131b6b04a4ca"
FILES_${PN}-dbg += "${datadir}/gjs-1.0/lsan ${datadir}/gjs-1.0/valgrind"

View File

@ -0,0 +1,24 @@
SUMMARY = "GNOME javascript bindings based on the Spidermonkey javascript engine"
HOMEPAGE = "https://wiki.gnome.org/Projects/Gjs"
LICENSE = "MIT & LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=beb29cf17fabe736f0639b09ee6e76fa \
file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
inherit gnomebase gettext gobject-introspection
export GI_DATADIR="${STAGING_DATADIR}/gobject-introspection-1.0"
DEPENDS = "glib-2.0 gobject-introspection cairo gtk+3 mozjs glib-2.0-native"
EXTRA_OECONF = "--without-dbus-tests"
SRC_URI[archive.md5sum] = "d38565cf77cdef6ef866e7eb77593632"
SRC_URI[archive.sha256sum] = "c1762329eea3632c74653c49e6c7057079b618d4a3e82803d5a9b2bad70a3a57"
# https://gitlab.gnome.org/GNOME/gjs/issues/186
# https://gitlab.gnome.org/GNOME/gjs/issues/187
SRC_URI += "file://overriding_introspected_gobject_interface_properties.patch"
RDEPENDS_${PN} += "libmozjs"
FILES_${PN}-dbg += "${datadir}/gjs-1.0/lsan ${datadir}/gjs-1.0/valgrind"

View File

@ -1,23 +0,0 @@
FILESEXTRAPATHS_append = ":${COREBASE}/meta/recipes-core/glib-2.0/glib-2.0"
require recipes-core/glib-2.0/glib.inc
INSANE_SKIP_${PN} = "version-going-backwards"
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
file://configure-libtool.patch \
file://uclibc_musl_translation.patch \
file://allow-run-media-sdX-drive-mount-if-username-root.patch \
file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
file://Enable-more-tests-while-cross-compiling.patch \
file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
file://0001-Test-for-pthread_getname_np-before-using-it.patch \
file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
"
SRC_URI_append_class-native = " file://relocate-modules.patch"
SRC_URI[md5sum] = "988af38524804ea1ae6bc9a2bad181ff"
SRC_URI[sha256sum] = "40ef3f44f2c651c7a31aedee44259809b6f03d3d20be44545cd7d177221c0b8d"

View File

@ -3,9 +3,8 @@ SUMMARY = "Default GNOME desktop background images"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
SRC_URI[archive.md5sum] = "eca3276373841a0cec2ed582d52a5899"
SRC_URI[archive.sha256sum] = "b25b963d9d1ce076b489ef1e85c6540166f2312c77132f4ec0ecc90f3da8f1e1"
SRC_URI[archive.md5sum] = "13ecd0e4bb4721a68310948e67dbaaaa"
SRC_URI[archive.sha256sum] = "ece63a2aaf2e9b685721d125b7832fee63749db58743bc147ee92e136896e984"
FILES_${PN} += "\
${datadir}/backgrounds/gnome \
@ -14,5 +13,3 @@ FILES_${PN} += "\
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext

View File

@ -4,9 +4,8 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343"
SRC_URI[archive.md5sum] = "75ec82570d0baf18b6cbff86c2712e87"
SRC_URI[archive.sha256sum] = "771472f6df7bf16bdcb2266f4e52b7aa8c5e723509481d734ad22b9ae9fcfe60"
SRC_URI[archive.md5sum] = "eff705fadd5e0bb44a087d10fcbe34af"
SRC_URI[archive.sha256sum] = "1f4961ac33b5f9ce5e6e01ea2c08ad29cc98ed2b8878e38da867235b28a50732"
DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libcanberra libnotify libxml2-native gobject-introspection"
@ -14,6 +13,5 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gettext
FILES_${PN} += "${datadir}/icons"
EXTRA_OEMESON = "--buildtype=release -Denable-introspection=true"

View File

@ -1,25 +1,25 @@
From e771fb2af8b8e12640f01390d0695f9338142ee5 Mon Sep 17 00:00:00 2001
From e1efcaf6a1181a0c1538b561dd83e73563b5ee53 Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Thu, 22 Mar 2018 19:50:28 -0400
Subject: [PATCH] Make goa cups and user accounts optional
Date: Sun, 13 Jan 2019 19:50:40 -0500
Subject: [PATCH] make goa cups and blah blah
There is also a path leak fix
---
meson.build | 13 +++++++++++++
meson_options.txt | 4 ++++
meson.build | 15 ++++++++++++++-
meson_options.txt | 7 ++++++-
panels/background/bg-pictures-source.c | 20 ++++++++++++++++++++
panels/background/meson.build | 15 +++++++++++----
panels/meson.build | 15 ++++++++++++---
shell/cc-panel-loader.c | 6 ++++++
6 files changed, 66 insertions(+), 7 deletions(-)
tests/meson.build | 2 +-
7 files changed, 70 insertions(+), 10 deletions(-)
diff --git a/meson.build b/meson.build
index 2d0d45e..a61de4a 100644
index 2a8519c..b7ce0e5 100644
--- a/meson.build
+++ b/meson.build
@@ -97,6 +97,13 @@ libgd = subproject(
@@ -96,6 +96,13 @@ libgvc = subproject(
)
libgd_dep = libgd.get_variable('libgd_dep')
libgvc_dep = libgvc.get_variable('libgvc_dep')
+enable_goa = get_option('online_accounts')
+enable_cups = get_option('cups')
@ -31,7 +31,7 @@ index 2d0d45e..a61de4a 100644
goa_req_version = '>= 3.25.3'
pulse_req_version = '>= 2.0'
@@ -108,7 +115,9 @@ gio_dep = dependency('gio-2.0')
@@ -107,7 +114,9 @@ gio_dep = dependency('gio-2.0')
glib_dep = dependency('glib-2.0', version: '>= 2.53.0')
gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>= 3.27.90')
gnome_settings_dep = dependency('gnome-settings-daemon', version: '>= 3.25.90')
@ -41,7 +41,7 @@ index 2d0d45e..a61de4a 100644
gsettings_desktop_dep = dependency('gsettings-desktop-schemas', version: '>= 3.27.2')
libxml_dep = dependency('libxml-2.0')
polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.103')
@@ -129,6 +138,8 @@ common_deps = [
@@ -128,6 +137,8 @@ common_deps = [
dependency('gtk+-3.0', version: '>= 3.22.20')
]
@ -50,7 +50,7 @@ index 2d0d45e..a61de4a 100644
# Check for CUPS 1.4 or newer
cups_dep = dependency('cups', version : '>= 1.4', required: false)
assert(cups_dep.found(), 'CUPS 1.4 or newer not found')
@@ -149,6 +160,8 @@ foreach header: check_headers
@@ -148,6 +159,8 @@ foreach header: check_headers
assert(cc.has_header(header[1], args: cups_cflags), 'CUPS headers not found: ' + header[1])
endforeach
@ -59,14 +59,25 @@ index 2d0d45e..a61de4a 100644
# Optional dependency for the user accounts panel
enable_cheese = get_option('cheese')
if enable_cheese
@@ -282,4 +295,4 @@ output += ' NetworkManager (Network panel) ............. ' + host_is_linux.t
output += ' Wacom (Wacom tablet panel) ................. ' + host_is_linux_not_s390.to_string() + '\n'
output += ' Wayland .................................... ' + enable_wayland.to_string() + '\n'
-message(output)
\ No newline at end of file
+message(output)
diff --git a/meson_options.txt b/meson_options.txt
index 7498af4..d5e2548 100644
index a347168..e0c3b23 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -3,3 +3,7 @@ option('documentation', type: 'boolean', value: false, description: 'build docum
@@ -3,4 +3,9 @@ option('documentation', type: 'boolean', value: false, description: 'build docum
option('gnome_session_libexecdir', type: 'string', value: '', description: 'Directory for gnome-session\'s libexecdir')
option('ibus', type: 'boolean', value: true, description: 'build with IBus support')
option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
option('tracing', type: 'boolean', value: false, description: 'add extra debugging information')
-option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
\ No newline at end of file
+option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
+
+option('staging_dir', type: 'string', description: 'set staging directory for cross-compile')
+option('online_accounts', type: 'boolean', value: false, description: 'build with support for gnome-online-accounts')
+option('cups', type: 'boolean', value: false, description: 'build with support for CUPS')
@ -239,7 +250,7 @@ index bb34b69..0db3dae 100644
'-DGNOMELOCALEDIR="@0@"'.format(control_center_localedir),
'-DDATADIR="@0@"'.format(control_center_datadir),
diff --git a/panels/meson.build b/panels/meson.build
index d671c47..a823bc8 100644
index 37a3436..ba10d34 100644
--- a/panels/meson.build
+++ b/panels/meson.build
@@ -9,16 +9,13 @@ panels = [
@ -259,7 +270,7 @@ index d671c47..a823bc8 100644
]
if host_is_linux
@@ -32,6 +29,18 @@ if host_is_linux_not_s390
@@ -33,6 +30,18 @@ if host_is_linux_not_s390
]
endif
@ -279,32 +290,41 @@ index d671c47..a823bc8 100644
panels_libs = []
foreach cappletname: panels
diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
index 675833c..da96263 100644
index 6b5c6e3..032a03c 100644
--- a/shell/cc-panel-loader.c
+++ b/shell/cc-panel-loader.c
@@ -91,16 +91,22 @@ static struct {
PANEL_TYPE("wifi", cc_wifi_panel_get_type ),
@@ -104,9 +104,13 @@ static struct {
PANEL_TYPE("wifi", cc_wifi_panel_get_type, cc_wifi_panel_static_init_func),
#endif
PANEL_TYPE("notifications", cc_notifications_panel_get_type),
PANEL_TYPE("notifications", cc_notifications_panel_get_type, NULL),
+#ifdef WITH_GOA
PANEL_TYPE("online-accounts", cc_goa_panel_get_type ),
PANEL_TYPE("online-accounts", cc_goa_panel_get_type, NULL),
+#endif
PANEL_TYPE("power", cc_power_panel_get_type ),
PANEL_TYPE("power", cc_power_panel_get_type, NULL),
+#ifdef WITH_CUPS
PANEL_TYPE("printers", cc_printers_panel_get_type ),
PANEL_TYPE("printers", cc_printers_panel_get_type, NULL),
+#endif
PANEL_TYPE("privacy", cc_privacy_panel_get_type ),
PANEL_TYPE("region", cc_region_panel_get_type ),
PANEL_TYPE("search", cc_search_panel_get_type ),
PANEL_TYPE("sharing", cc_sharing_panel_get_type ),
PANEL_TYPE("sound", cc_sound_panel_get_type ),
PANEL_TYPE("universal-access", cc_ua_panel_get_type ),
PANEL_TYPE("privacy", cc_privacy_panel_get_type, NULL),
PANEL_TYPE("region", cc_region_panel_get_type, NULL),
PANEL_TYPE("search", cc_search_panel_get_type, NULL),
@@ -116,7 +120,9 @@ static struct {
PANEL_TYPE("thunderbolt", cc_bolt_panel_get_type, NULL),
#endif
PANEL_TYPE("universal-access", cc_ua_panel_get_type, NULL),
+#ifdef WITH_USER_ACCOUNTS
PANEL_TYPE("user-accounts", cc_user_panel_get_type ),
PANEL_TYPE("user-accounts", cc_user_panel_get_type, NULL),
+#endif
#ifdef BUILD_WACOM
PANEL_TYPE("wacom", cc_wacom_panel_get_type ),
PANEL_TYPE("wacom", cc_wacom_panel_get_type, cc_wacom_panel_static_init_func),
#endif
--
2.16.2
diff --git a/tests/meson.build b/tests/meson.build
index 7c894e4..cc2031c 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -3,5 +3,5 @@ subdir('common')
#if host_is_linux
# subdir('network')
#endif
-subdir('printers')
+#subdir('printers')
subdir('info')

View File

@ -1,41 +0,0 @@
From 37a6b940cb83d97b808da77f397e34100beb263f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?I=C3=B1igo=20Mart=C3=ADnez?= <inigomartinez@gmail.com>
Date: Sat, 14 Apr 2018 23:06:40 +0200
Subject: [PATCH] build: Fix `USER_DIR_MODE` value in config.h
meson defines `USER_DIR_MODE` with a raw octal value to be used as
the default permissions when creating the user's configuration
directory.
However, meson does not support raw octal values[0], so the define
misses the initial `0` value. Due to this, the directory is created
with wrong permissions.
This has been changed to use the octal value as a string in meson,
so the definition has the proper value.
Fixes #49
[0] https://github.com/mesonbuild/meson/issues/2047
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index fb74d04d1..ae1a897b3 100644
--- a/meson.build
+++ b/meson.build
@@ -44,7 +44,9 @@ foreach define: set_defines
config_h.set_quoted(define[0], define[1])
endforeach
-config_h.set('USER_DIR_MODE', 0700,
+# meson does not support octal values, so it must be handled as a
+# string. See: https://github.com/mesonbuild/meson/issues/2047
+config_h.set('USER_DIR_MODE', '0700',
description: 'Permissions for creating the user\'s config, cache and data directories')
# compiler flags
--
2.19.1

View File

@ -2,13 +2,12 @@ SUMMARY = "GNOME desktop configuration UI"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
SRC_URI[archive.md5sum] = "a717df964cf2cd6798358032932986bc"
SRC_URI[archive.sha256sum] = "03768b7b543caf9c534118287f9f55c375cb9886c0b3961311c0cf2ca82ddd5b"
SRC_URI[archive.md5sum] = "79a63122f715d4a8d43dce9f38066e86"
SRC_URI[archive.sha256sum] = "2b1f9bb794cf57838f8340ac8b0e30e6a924c6a3de50c8f2af5f64d6609569bb"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext
DEPENDS = "pulseaudio colord-gtk networkmanager ibus colord gnome-desktop gnome-settings-daemon polkit libcanberra gdk-pixbuf fontconfig gtk+3 glib-2.0 intltool-native upower libpwquality cairo libxml2 libgudev libsoup-2.4 libxi libwacom libx11 libgtop gnome-common-native autoconf-archive-native wayland accountsservice modemmanager network-manager-applet gnome-bluetooth clutter-1.0 clutter-gtk gsettings-desktop-schemas glib-2.0-native libxml2-native"
#
@ -31,9 +30,7 @@ DEPENDS = "pulseaudio colord-gtk networkmanager ibus colord gnome-desktop gnome-
# EXTRA_OEMESON += "-Duser_accounts=true"
# DEPENDS += "accountsservice krb5"
#
SRC_URI += "file://0001-Make-goa-cups-and-user-accounts-optional.patch \
file://0001-build-Fix-USER_DIR_MODE-value-in-config.h.patch \
"
SRC_URI += "file://0001-Make-goa-cups-and-user-accounts-optional.patch"
FILES_${PN} += "\
${datadir}/bash-completion \

View File

@ -1,33 +0,0 @@
From 834bc861921fe0361f2d6a5b5716fc97a9519478 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Thu, 6 Jul 2017 13:13:45 +0300
Subject: [PATCH] configure.ac: Remove gnome-common macro calls
gnome-common is deprecated and these aren't doing much for us.
Upstreamable fix would probably involve using autoconf-archive:
Trying to avoid that dependency for now.
Upstream-Status: Inappropriate
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
configure.ac | 3 ---
1 file changed, 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7adcf0e..bb7659d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -71,9 +71,6 @@ AC_SUBST(GNOME_DATE)
AC_SUBST(GNOME_DATE_COMMENT_START)
AC_SUBST(GNOME_DATE_COMMENT_END)
-GNOME_COMPILE_WARNINGS([maximum])
-GNOME_MAINTAINER_MODE_DEFINES
-
AC_ARG_ENABLE(deprecation_flags,
[AC_HELP_STRING([--enable-deprecation-flags],
[use *_DISABLE_DEPRECATED flags @<:@default=no@:>@])],,
--
2.1.4

View File

@ -1,73 +0,0 @@
From 9048939b76b3bd10783adb79ed0aaf6cd13895cc Mon Sep 17 00:00:00 2001
From: Christopher Larson <chris_larson@mentor.com>
Date: Tue, 13 Dec 2016 20:39:51 -0700
Subject: [PATCH 1/2] gnome-desktop-thumbnail: don't convert time_t to long
Explicitly use strftime+strptime rather than snprintf+atol. This fixes the
build for X32, where long's size doesn't match that of time_t.
Upstream-Status: Pending
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
---
libgnome-desktop/gnome-desktop-thumbnail.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c
index e56c3d7..5d96bf3 100644
--- a/libgnome-desktop/gnome-desktop-thumbnail.c
+++ b/libgnome-desktop/gnome-desktop-thumbnail.c
@@ -120,6 +120,8 @@
* Since: 2.2
*/
+#define _XOPEN_SOURCE
+
#include <config.h>
#include <glib.h>
@@ -1105,6 +1107,7 @@ save_thumbnail (GdkPixbuf *pixbuf,
char *tmp_path = NULL;
int tmp_fd;
char mtime_str[21];
+ struct tm *tmp_mtime = NULL;
gboolean ret = FALSE;
GError *error = NULL;
const char *width, *height;
@@ -1124,7 +1127,11 @@ save_thumbnail (GdkPixbuf *pixbuf,
goto out;
close (tmp_fd);
- g_snprintf (mtime_str, 21, "%" G_GINT64_FORMAT, (gint64) mtime);
+ tmp_mtime = localtime (&mtime);
+ if (!tmp_mtime)
+ goto out;
+ strftime (mtime_str, 21, "%s", tmp_mtime);
+ free (tmp_mtime);
width = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Width");
height = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::Image::Height");
@@ -1319,6 +1326,7 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf,
{
const char *thumb_uri, *thumb_mtime_str;
time_t thumb_mtime;
+ struct tm tmp_mtime;
thumb_uri = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::URI");
if (g_strcmp0 (uri, thumb_uri) != 0)
@@ -1327,7 +1335,11 @@ gnome_desktop_thumbnail_is_valid (GdkPixbuf *pixbuf,
thumb_mtime_str = gdk_pixbuf_get_option (pixbuf, "tEXt::Thumb::MTime");
if (!thumb_mtime_str)
return FALSE;
- thumb_mtime = atol (thumb_mtime_str);
+ if (!strptime (thumb_mtime_str, "%s", &tmp_mtime))
+ return FALSE;
+ thumb_mtime = mktime (&tmp_mtime);
+ if (!thumb_mtime)
+ return FALSE;
if (mtime != thumb_mtime)
return FALSE;
--
2.14.1

View File

@ -1,5 +0,0 @@
require gnome-desktop.inc
SRC_URI[archive.md5sum] = "3e7b67578307220a21688f28307b6789"
SRC_URI[archive.sha256sum] = "f1df71c39e32147f6d58f53a9c05b964b00b7c98fbca090419355437c72fd59d"

View File

@ -4,7 +4,10 @@ LICENSE = "GPLv2 & LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
inherit gnome pkgconfig upstream-version-is-even gobject-introspection
inherit gnome pkgconfig upstream-version-is-even gobject-introspection gettext
SRC_URI[archive.md5sum] = "afcee5e8506bcdc1daaac9e6c3682685"
SRC_URI[archive.sha256sum] = "5475e693cb7ada801a36e8d16bc0dbb58930b793f455419b205cd9241d63d14c"
DEPENDS += "intltool-native gsettings-desktop-schemas gconf virtual/libx11 gtk+3 glib-2.0 startup-notification xkeyboard-config iso-codes udev libseccomp gnome-common-native autoconf-archive-native"
@ -18,3 +21,5 @@ PACKAGES =+ "libgnome-desktop"
FILES_libgnome-desktop = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
RRECOMMENDS_libgnome-desktop += "gsettings-desktop-schemas"

View File

@ -1,4 +0,0 @@
require gnome-keyring.inc
SRC_URI[archive.md5sum] = "e78cb39f006022a50ccfce1e0806c34e"
SRC_URI[archive.sha256sum] = "d17c996f0917d9fb9d86492d8ff6e834fe76e3231ec355f7016b29d2f960bd63"

View File

@ -5,6 +5,11 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
inherit gettext gnome
SRC_URI[archive.md5sum] = "284580f954f762caf62aed2ae7358177"
SRC_URI[archive.sha256sum] = "81171b7d07211b216b4c9bb79bf2deb3deca18fe8d56d46dda1c4549b4a2646a"
DEPENDS = "gcr intltool-native glib-2.0-native libpam"
RDEPENDS_${PN} = "gcr libpam"
FILES_${PN} += "\
@ -14,7 +19,5 @@ FILES_${PN} += "\
${datadir}/dbus-1 \
"
inherit gettext gnome
EXTRA_OECONF = "--disable-doc --disable-ssh-agent"

View File

@ -1,12 +0,0 @@
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=34c88b124db5fb2762c1676be7dadd36"
SRC_URI[archive.md5sum] = "25827cac1609cf1b5a089d9615d47d86"
SRC_URI[archive.sha256sum] = "87bc4ef307604f1ce4f09f6e5c9996ef8d37ca5e0a3bf76f6b27d71844adb40c"
DEPENDS = "libxml2 libsoup-2.4 libsecret gcr json-glib gtk+3 glib-2.0 glib-2.0-native xmlto-native webkitgtk rest"
inherit gnome gettext gobject-introspection vala
EXTRA_OECONF = "--disable-Werror"

View File

@ -1,88 +0,0 @@
From 1ece66e683258a0bfa044d074becfe207d04a748 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 21 Mar 2018 15:19:44 -0400
Subject: xsmp: don't check for HAVE_XTRANS
It's not set anymore since the meson switch.
Instead require the xtrans.pc file to be around.
https://bugzilla.gnome.org/show_bug.cgi?id=794575
---
gnome-session/gsm-xsmp-server.c | 6 ------
meson.build | 2 ++
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/gnome-session/gsm-xsmp-server.c b/gnome-session/gsm-xsmp-server.c
index 1460a28..d558f9b 100644
--- a/gnome-session/gsm-xsmp-server.c
+++ b/gnome-session/gsm-xsmp-server.c
@@ -39,14 +39,12 @@
#include <X11/ICE/ICEconn.h>
#include <X11/SM/SMlib.h>
-#if HAVE_XTRANS
/* Get the proto for _IceTransNoListen */
#define ICE_t
#define TRANS_SERVER
#include <X11/Xtrans/Xtrans.h>
#undef ICE_t
#undef TRANS_SERVER
-#endif /* HAVE_XTRANS */
#include "gsm-xsmp-server.h"
#include "gsm-xsmp-client.h"
@@ -582,7 +580,6 @@ setup_listener (GsmXsmpServer *server)
gsm_util_init_error (TRUE, "Could not initialize libSM: %s", error);
}
-#if HAVE_XTRANS
/* By default, IceListenForConnections will open one socket for each
* transport type known to X. We don't want connections from remote
* hosts, so for security reasons it would be best if ICE didn't
@@ -592,7 +589,6 @@ setup_listener (GsmXsmpServer *server)
* guess.
*/
_IceTransNoListen ("tcp");
-#endif
/* Create the XSMP socket. Older versions of IceListenForConnections
* have a bug which causes the umask to be set to 0 on certain types
@@ -634,7 +630,6 @@ setup_listener (GsmXsmpServer *server)
gsm_util_init_error (TRUE, "IceListenForConnections did not return a local listener!");
}
-#ifdef HAVE_XTRANS
if (server->priv->num_local_xsmp_sockets != server->priv->num_xsmp_sockets) {
/* Xtrans was apparently compiled with support for some
* non-local transport besides TCP (which we disabled above); we
@@ -653,7 +648,6 @@ setup_listener (GsmXsmpServer *server)
network_id_list);
free (network_id_list);
}
-#endif
/* Update .ICEauthority with new auth entries for our socket */
if (!update_iceauthority (server, TRUE)) {
diff --git a/meson.build b/meson.build
index 9eb36a4..6f6d051 100644
--- a/meson.build
+++ b/meson.build
@@ -95,6 +95,7 @@ glib_req_version = '>= 2.46.0'
gio_dep = dependency('gio-2.0', version: glib_req_version)
glib_dep = dependency('glib-2.0', version: glib_req_version)
gtk_dep = dependency('gtk+-3.0', version: '>= 3.18.0')
+xtrans_dep = dependency('xtrans')
ice_dep = dependency('ice')
sm_dep = dependency('sm')
x11_dep = dependency('x11')
@@ -107,6 +108,7 @@ session_deps = [
]
session_bin_deps = session_deps + [
+ xtrans_dep,
ice_dep,
sm_dep
]
--
cgit v0.12

View File

@ -1,10 +0,0 @@
require gnome-session.inc
SRC_URI[archive.md5sum] = "ceed281645d1f98768de957dc8e79ee6"
SRC_URI[archive.sha256sum] = "2e935ae2cacca2e1a7bff22bbe799797c74f79a33261093ceb3fd514b39bd14d"
# https://bugzilla.gnome.org/show_bug.cgi?id=794757
SRC_URI += "file://dont-check-for-have-xtrans.patch"
EXTRA_OEMESON = "-Denable-docbook=false -Denable-man=false"
inherit meson

View File

@ -3,17 +3,20 @@ HOMEPAGE = "https://wiki.gnome.org/Projects/SessionManagement"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
def gnome_verdir(v):
return oe.utils.trim_version(v, 2)
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase meson
GNOMEBN ?= "${BPN}"
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.xz;name=archive"
SRC_URI[archive.md5sum] = "45c33dfaad7d40c008f8131aff2e0391"
SRC_URI[archive.sha256sum] = "eafe85972689186c7c6b5fe1d3bb4dc204a1e0e6b6e763e24b8fb43a40c07739"
DEPENDS = "glib-2.0-native intltool-native xmlto-native glib-2.0 gnome-desktop json-glib"
RDEPENDS_${PN} = "gnome-settings-daemon"
FILES_${PN} += "\
${datadir}/xsessions \
${datadir}/glib-2.0/schemas \
${datadir}/GConf \
${datadir}/wayland-sessions \
"
EXTRA_OEMESON = "-Denable-docbook=false -Denable-man=false"

View File

@ -13,14 +13,14 @@ FILES_${PN} += "\
FILES_${PN}-staticdev += "${libdir}/gnome-settings-daemon-3.0/libgsd.a"
SRC_URI[archive.md5sum] = "bdac5b7329f919f7172f1feb240e48d8"
SRC_URI[archive.sha256sum] = "5cdcf64f6e41fe1816e719850709e8e7a53a11460955f2be77fcee9c80812d1d"
SRC_URI[archive.md5sum] = "508f36ade9b97afebd32a3437b1a4c56"
SRC_URI[archive.sha256sum] = "de3eeef55c8736cbb8c25fcda2e861879a3b612931758fe1387f61a288636cdc"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gettext
inherit gnomebase gobject-introspection gettext meson-exe-wrapper
EXTRA_OEMESON = "--buildtype=release -Dcups=false"
EXTRA_OEMESON += "--buildtype=release -Dcups=false "
# This probably belongs in meson.bbclass
@ -30,22 +30,22 @@ EXTRA_OEMESON = "--buildtype=release -Dcups=false"
# 2) add exe_wrapper line to the end of [binaries] section in the
# meson.cross file that meson.bbclass generated
#
setup_wrapper() {
if [ ! -e ${B}/wrapper ]; then
cat > ${B}/wrapper << EOF
#setup_wrapper() {
# if [ ! -e ${B}/wrapper ]; then
# cat > ${B}/wrapper << EOF
#!/bin/sh
${STAGING_LIBDIR}/ld-linux-x86-64.so.2 --library-path ${STAGING_LIBDIR} \$@
EOF
chmod +x ${B}/wrapper
fi
#${STAGING_LIBDIR}/ld-linux-x86-64.so.2 --library-path ${STAGING_LIBDIR} \$@
#EOF
# chmod +x ${B}/wrapper
# fi
#
# if ! grep -q "^exe_wrapper" ${WORKDIR}/meson.cross; then
# cat ${WORKDIR}/meson.cross | sed "/pkgconfig/ a\
#exe_wrapper = '${B}/wrapper'" > ${WORKDIR}/meson.cross.tmp
# mv ${WORKDIR}/meson.cross.tmp ${WORKDIR}/meson.cross
# fi
#}
if ! grep -q "^exe_wrapper" ${WORKDIR}/meson.cross; then
cat ${WORKDIR}/meson.cross | sed "/pkgconfig/ a\
exe_wrapper = '${B}/wrapper'" > ${WORKDIR}/meson.cross.tmp
mv ${WORKDIR}/meson.cross.tmp ${WORKDIR}/meson.cross
fi
}
do_configure_prepend() {
setup_wrapper
}
#do_configure_prepend() {
# setup_wrapper
#}

View File

@ -1,57 +0,0 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
inherit meson gobject-introspection gettext
def gnome_verdir(v):
return oe.utils.trim_version(v, 2)
GNOMEBN ?= "${BPN}"
SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.xz;name=archive \
file://0001-do-no-build-calendar-server.patch \
file://0001-do-not-use-python-path-from-build-environment.patch \
file://0001-javascript-invalid-access-fixes.patch \
file://0001-Disabled-calendar-events-from-user-session.patch \
"
DEPENDS = "glib-2.0-native systemd libcanberra gtk+3 glib-2.0 libxml2 libcroco mutter libsoup-2.4 gsettings-desktop-schemas gcr atk polkit startup-notification libx11 gnome-bluetooth libsecret networkmanager gjs mozjs52 network-manager-applet pulseaudio libxml2-native paxctl-native ibus xmlto-native sassc-native"
RDEPENDS_${PN} = "xserver-xorg-xwayland cantarell-fonts gnome-theme-adwaita gnome-theme-adwaita-dark gnome-control-center gnome-session dconf"
FILES_${PN} += "\
${datadir}/dbus-1 \
${datadir}/glib-2.0/schemas \
${datadir}/GConf/gsettings \
${datadir}/xdg-desktop-portal \
${datadir}/gnome-control-center/keybindings \
"
MUTTER_DIR = "/usr/lib/mutter"
GIR_SCANNER_NATIVE = "${STAGING_BINDIR_NATIVE}/g-ir-scanner"
GIR_SCRIPT_PATH = "${B}/g-ir-scanner-script"
# https://github.com/ninja-build/ninja/issues/1002
write_gir_script () {
cat > ${GIR_SCRIPT_PATH} << EOF
#!/bin/sh
export PKG_CONFIG=pkg-config
export PKG_CONFIG_PATH=\"${PKG_CONFIG_PATH}\"
export XDG_DATA_DIRS=\"${STAGING_DATADIR}\"
export CC="x86_64-oe-linux-gcc --sysroot=${STAGING_DIR_HOST}"
export LD="x86_64-oe-linux-gcc --sysroot=${STAGING_DIR_HOST}"
${STAGING_BINDIR}/g-ir-scanner-wrapper \$@
EOF
chmod +x ${GIR_SCRIPT_PATH}
}
do_configure_append () {
write_gir_script
sed --in-place=.old1 "s;=${MUTTER_DIR};=${PKG_CONFIG_SYSROOT_DIR}${MUTTER_DIR};" ${B}/build.ninja
sed --in-place=.old2 "s;COMMAND = ${GIR_SCANNER_NATIVE};COMMAND = ${GIR_SCRIPT_PATH};" ${B}/build.ninja
}
do_install_append() {
paxctl -cm ${D}${bindir}/gnome-shell
}
EXTRA_OEMESON = "--buildtype=release -Dbrowser_plugin=false -Dman=false -Dsystemd=true -Dnetworkmanager=true"

View File

@ -1,512 +0,0 @@
From fa873b3e84f52f2bd1ff397e7cae8bd8b31c700c Mon Sep 17 00:00:00 2001
From: Bruce Leidl <bruce@subgraph.com>
Date: Thu, 22 Mar 2018 22:24:17 -0400
Subject: [PATCH] javascript invalid access fixes
Attempt to rebase this
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/4
---
js/ui/dnd.js | 65 +++++++++++++++++++++++++-----------------
js/ui/tweener.js | 69 ++++++++++++++++++++++++++++++++++++---------
js/ui/workspace.js | 38 +++++++++++++++++--------
js/ui/workspaceThumbnail.js | 36 +++++++++++++++++------
4 files changed, 150 insertions(+), 58 deletions(-)
diff --git a/js/ui/dnd.js b/js/ui/dnd.js
index a38607c..431c60d 100644
--- a/js/ui/dnd.js
+++ b/js/ui/dnd.js
@@ -27,6 +27,12 @@ var DragMotionResult = {
CONTINUE: 3
};
+var DragState = {
+ INIT: 0,
+ DRAGGING: 1,
+ CANCELLED: 2,
+};
+
var DRAG_CURSOR_MAP = {
0: Meta.Cursor.DND_UNSUPPORTED_TARGET,
1: Meta.Cursor.DND_COPY,
@@ -78,6 +84,8 @@ var _Draggable = new Lang.Class({
dragActorOpacity: undefined });
this.actor = actor;
+ this._dragState = DragState.INIT;
+
if (!params.manualMode) {
this.actor.connect('button-press-event',
this._onButtonPress.bind(this));
@@ -88,7 +96,7 @@ var _Draggable = new Lang.Class({
this.actor.connect('destroy', () => {
this._actorDestroyed = true;
- if (this._dragInProgress && this._dragCancellable)
+ if (this._dragState == DragState.DRAGGING && this._dragCancellable)
this._cancelDrag(global.get_current_time());
this.disconnectAll();
});
@@ -100,7 +108,6 @@ var _Draggable = new Lang.Class({
this._dragActorOpacity = params.dragActorOpacity;
this._buttonDown = false; // The mouse button has been pressed and has not yet been released.
- this._dragInProgress = false; // The drag has been started, and has not been dropped or cancelled yet.
this._animationInProgress = false; // The drag is over and the item is in the process of animating to its original position (snapping back or reverting).
this._dragCancellable = true;
@@ -206,9 +213,10 @@ var _Draggable = new Lang.Class({
(event.type() == Clutter.EventType.TOUCH_END &&
global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) {
this._buttonDown = false;
- if (this._dragInProgress) {
+ if (this._dragState == DragState.DRAGGING) {
return this._dragActorDropped(event);
- } else if (this._dragActor != null && !this._animationInProgress) {
+ } else if ((this._dragActor != null || this._dragState == DragState.CANCELLED) &&
+ !this._animationInProgress) {
// Drag must have been cancelled with Esc.
this._dragComplete();
return Clutter.EVENT_STOP;
@@ -222,14 +230,14 @@ var _Draggable = new Lang.Class({
} else if (event.type() == Clutter.EventType.MOTION ||
(event.type() == Clutter.EventType.TOUCH_UPDATE &&
global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) {
- if (this._dragInProgress) {
+ if (this._dragActor && this._dragState == DragState.DRAGGING) {
return this._updateDragPosition(event);
- } else if (this._dragActor == null) {
+ } else if (this._dragActor == null && this._dragState != DragState.CANCELLED) {
return this._maybeStartDrag(event);
}
// We intercept KEY_PRESS event so that we can process Esc key press to cancel
// dragging and ignore all other key presses.
- } else if (event.type() == Clutter.EventType.KEY_PRESS && this._dragInProgress) {
+ } else if (event.type() == Clutter.EventType.KEY_PRESS && this._dragState == DragState.DRAGGING) {
let symbol = event.get_key_symbol();
if (symbol == Clutter.Escape) {
this._cancelDrag(event.get_time());
@@ -265,7 +273,7 @@ var _Draggable = new Lang.Class({
*/
startDrag(stageX, stageY, time, sequence) {
currentDraggable = this;
- this._dragInProgress = true;
+ this._dragState = DragState.DRAGGING;
// Special-case St.Button: the pointer grab messes with the internal
// state, so force a reset to a reasonable state here
@@ -342,6 +350,13 @@ var _Draggable = new Lang.Class({
Shell.util_set_hidden_from_pick(this._dragActor, true);
}
+ this._dragActorDestroyId = this._dragActor.connect('destroy', () => {
+ // Cancel ongoing animation (if any)
+ this._finishAnimation();
+
+ this._dragActor = null;
+ this._dragState = DragState.CANCELLED;
+ });
this._dragOrigOpacity = this._dragActor.opacity;
if (this._dragActorOpacity != undefined)
this._dragActor.opacity = this._dragActorOpacity;
@@ -500,7 +515,7 @@ var _Draggable = new Lang.Class({
event.get_time())) {
// If it accepted the drop without taking the actor,
// handle it ourselves.
- if (this._dragActor.get_parent() == Main.uiGroup) {
+ if (this._dragActor && this._dragActor.get_parent() == Main.uiGroup) {
if (this._restoreOnSuccess) {
this._restoreDragActor(event.get_time());
return true;
@@ -508,7 +523,7 @@ var _Draggable = new Lang.Class({
this._dragActor.destroy();
}
- this._dragInProgress = false;
+ this._dragState = DragState.INIT;
global.screen.set_cursor(Meta.Cursor.DEFAULT);
this.emit('drag-end', event.get_time(), true);
this._dragComplete();
@@ -557,20 +572,22 @@ var _Draggable = new Lang.Class({
_cancelDrag(eventTime) {
this.emit('drag-cancelled', eventTime);
- this._dragInProgress = false;
- let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation();
+ let wasCancelled = (this._dragState == DragState.CANCELLED);
+ this._dragState = DragState.CANCELLED;
- if (this._actorDestroyed) {
+ if (this._actorDestroyed || wasCancelled) {
global.screen.set_cursor(Meta.Cursor.DEFAULT);
if (!this._buttonDown)
this._dragComplete();
this.emit('drag-end', eventTime, false);
- if (!this._dragOrigParent)
+ if (!this._dragOrigParent && this._dragActor)
this._dragActor.destroy();
return;
}
+ let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation();
+
this._animateDragEnd(eventTime,
{ x: snapBackX,
y: snapBackY,
@@ -581,7 +598,7 @@ var _Draggable = new Lang.Class({
},
_restoreDragActor(eventTime) {
- this._dragInProgress = false;
+ this._dragState = DragState.INIT;
let [restoreX, restoreY, restoreScale] = this._getRestoreLocation();
// fade the actor back in at its original location
@@ -596,12 +613,6 @@ var _Draggable = new Lang.Class({
_animateDragEnd(eventTime, params) {
this._animationInProgress = true;
- // finish animation if the actor gets destroyed
- // during it
- this._dragActorDestroyId =
- this._dragActor.connect('destroy',
- this._finishAnimation.bind(this));
-
params['opacity'] = this._dragOrigOpacity;
params['transition'] = 'easeOutQuad';
params['onComplete'] = this._onAnimationComplete;
@@ -624,9 +635,6 @@ var _Draggable = new Lang.Class({
},
_onAnimationComplete(dragActor, eventTime) {
- dragActor.disconnect(this._dragActorDestroyId);
- this._dragActorDestroyId = 0;
-
if (this._dragOrigParent) {
Main.uiGroup.remove_child(this._dragActor);
this._dragOrigParent.add_actor(this._dragActor);
@@ -641,7 +649,7 @@ var _Draggable = new Lang.Class({
},
_dragComplete() {
- if (!this._actorDestroyed)
+ if (!this._actorDestroyed && this._dragActor)
Shell.util_set_hidden_from_pick(this._dragActor, false);
this._ungrabEvents();
@@ -652,7 +660,12 @@ var _Draggable = new Lang.Class({
this._updateHoverId = 0;
}
- this._dragActor = undefined;
+ if (this._dragActor) {
+ this._dragActor.disconnect(this._dragActorDestroyId);
+ this._dragActor = null;
+ }
+
+ this._dragState = DragState.INIT;
currentDraggable = null;
}
});
diff --git a/js/ui/tweener.js b/js/ui/tweener.js
index 1a85e2f..c9b5018 100644
--- a/js/ui/tweener.js
+++ b/js/ui/tweener.js
@@ -69,30 +69,73 @@ function _getTweenState(target) {
return target.__ShellTweenerState;
}
+function _getExtraHandlers(target) {
+ if (!target.__ShellTweenerHandlers)
+ target.__ShellTweenerHandlers = {};
+ return target.__ShellTweenerHandlers;
+}
+
function _resetTweenState(target) {
let state = target.__ShellTweenerState;
if (state) {
- if (state.destroyedId)
+ if (state.destroyedId) {
state.actor.disconnect(state.destroyedId);
+ delete state.destroyedId;
+ }
}
+ _removeHandler(target, 'onComplete', _tweenCompleted);
target.__ShellTweenerState = {};
}
function _addHandler(target, params, name, handler) {
- if (params[name]) {
- let oldHandler = params[name];
- let oldScope = params[name + 'Scope'];
- let oldParams = params[name + 'Params'];
- let eventScope = oldScope ? oldScope : target;
-
- params[name] = () => {
- oldHandler.apply(eventScope, oldParams);
- handler(target);
- };
- } else
- params[name] = () => { handler(target); };
+ let wrapperNeeded = false;
+ let extraHandlers = _getExtraHandlers(target);
+
+ if (!(name in extraHandlers)) {
+ extraHandlers[name] = [];
+ wrapperNeeded = true;
+ }
+
+ let handlers = extraHandlers[name];
+ handlers.push(handler);
+
+ if (wrapperNeeded) {
+ if (params[name]) {
+ let oldHandler = params[name];
+ let oldScope = params[name + 'Scope'];
+ let oldParams = params[name + 'Params'];
+ let eventScope = oldScope ? oldScope : target;
+
+ params[name] = function () {
+ oldHandler.apply(eventScope, oldParams);
+ handlers.forEach((h) => h(target));
+ };
+ } else
+ params[name] = function () { handlers.forEach((h) => h(target)); };
+ }
+}
+
+function _removeHandler(target, name, handler) {
+ let extraHandlers = _getExtraHandlers(target);
+
+ if (name in extraHandlers) {
+ let handlers = extraHandlers[name];
+ let handlerIndex = handlers.indexOf(handler);
+
+ while (handlerIndex > -1) {
+ handlers.splice(handlerIndex, 1);
+ handlerIndex = handlers.indexOf(handler);
+ }
+ }
+}
+
+function _removeHandlers(target) {
+ let extraHandlers = _getExtraHandlers(target);
+
+ for (let name in extraHandlers)
+ extraHandlers[name].length = 0;
}
function _actorDestroyed(target) {
diff --git a/js/ui/workspace.js b/js/ui/workspace.js
index d049eae..e2f3582 100644
--- a/js/ui/workspace.js
+++ b/js/ui/workspace.js
@@ -139,14 +139,9 @@ var WindowClone = new Lang.Class({
this._windowClone._updateId = this.metaWindow.connect('size-changed',
this._onRealWindowSizeChanged.bind(this));
- this._windowClone._destroyId =
- this.realWindow.connect('destroy', () => {
- // First destroy the clone and then destroy everything
- // This will ensure that we never see it in the
- // _disconnectSignals loop
- this._windowClone.destroy();
- this.destroy();
- });
+
+ this._windowClone._destroyId = this.realWindow.connect('destroy',
+ this.destroy.bind(this));
this._updateAttachedDialogs();
this._computeBoundingBox();
@@ -310,7 +305,14 @@ var WindowClone = new Lang.Class({
},
destroy() {
- this.actor.destroy();
+ this.emit('destroy');
+
+ // First destroy the clone and then destroy everything
+ // This will ensure that we never see it in the _disconnectSignals loop
+ this.metaWindow.disconnect(this._windowClone._updateId);
+ this.realWindow.disconnect(this._windowClone._destroyId);
+ this._windowClone.destroy();
+
},
_disconnectSignals() {
@@ -1132,6 +1134,7 @@ var Workspace = new Lang.Class({
// Create clones for windows that should be
// visible in the Overview
this._windows = [];
+ this._windowsDestroyedIds = [];
this._windowOverlays = [];
for (let i = 0; i < windows.length; i++) {
if (this._isOverviewWindow(windows[i])) {
@@ -1429,7 +1432,7 @@ var Workspace = new Lang.Class({
return GLib.SOURCE_REMOVE;
},
- _doRemoveWindow(metaWin) {
+ _doRemoveWindow : function(metaWin, {cloneDestroy}={cloneDestroy: true}) {
let win = metaWin.get_compositor_private();
// find the position of the window in our list
@@ -1439,8 +1442,10 @@ var Workspace = new Lang.Class({
return;
let clone = this._windows[index];
+ clone.disconnect(this._windowsDestroyedIds[index]);
this._windows.splice(index, 1);
+ this._windowsDestroyedIds.splice(index, 1);
this._windowOverlays.splice(index, 1);
// If metaWin.get_compositor_private() returned non-NULL, that
@@ -1458,7 +1463,9 @@ var Workspace = new Lang.Class({
scale: stageWidth / clone.actor.width
};
}
- clone.destroy();
+
+ if (cloneDestroy)
+ clone.destroy();
// We need to reposition the windows; to avoid shuffling windows
@@ -1801,7 +1808,11 @@ var Workspace = new Lang.Class({
this._actualGeometryLater = 0;
}
+ for (let index = 0; index < this._windows.length; ++index)
+ this._windows[index].disconnect(this._windowsDestroyedIds[index]);
+
this._windows = [];
+ this._windowsDestroyedIds = [];
},
// Sets this.leavingOverview flag to false.
@@ -1850,6 +1861,10 @@ var Workspace = new Lang.Class({
this._recalculateWindowPositions(WindowPositionFlags.NONE);
});
+ let cloneDestroyedId = clone.connect('destroy', () => {
+ this._doRemoveWindow(clone.metaWindow, {cloneDestroy: false});
+ });
+
this.actor.add_actor(clone.actor);
overlay.connect('show-close-button', this._onShowOverlayClose.bind(this));
@@ -1860,6 +1875,7 @@ var Workspace = new Lang.Class({
clone.setStackAbove(this._windows[this._windows.length - 1].actor);
this._windows.push(clone);
+ this._windowsDestroyedIds.push(cloneDestroyedId);
this._windowOverlays.push(overlay);
return [clone, overlay];
diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js
index 7d5d2c0..fef3f6a 100644
--- a/js/ui/workspaceThumbnail.js
+++ b/js/ui/workspaceThumbnail.js
@@ -70,12 +70,9 @@ var WindowClone = new Lang.Class({
this.clone._updateId = this.metaWindow.connect('position-changed',
this._onPositionChanged.bind(this));
- this.clone._destroyId = this.realWindow.connect('destroy', () => {
- // First destroy the clone and then destroy everything
- // This will ensure that we never see it in the _disconnectSignals loop
- this.clone.destroy();
- this.destroy();
- });
+
+ this.clone._destroyId = this.realWindow.connect('destroy', this.destroy.bind(this));
+
this._onPositionChanged();
this.actor.connect('button-release-event',
@@ -142,6 +139,14 @@ var WindowClone = new Lang.Class({
},
destroy() {
+ this.emit('destroy');
+
+ // First destroy the clone and then destroy everything
+ // This will ensure that we never see it in the _disconnectSignals loop
+ this.metaWindow.disconnect(this.clone._updateId);
+ this.realWindow.disconnect(this.clone._destroyId);
+ this.clone.destroy();
+
this.actor.destroy();
},
@@ -285,6 +290,7 @@ var WorkspaceThumbnail = new Lang.Class({
// Create clones for windows that should be visible in the Overview
this._windows = [];
+ this._windowsDestroyedIds = [];
this._allWindows = [];
this._minimizedChangedIds = [];
for (let i = 0; i < windows.length; i++) {
@@ -373,7 +379,7 @@ var WorkspaceThumbnail = new Lang.Class({
return this._collapseFraction;
},
- _doRemoveWindow(metaWin) {
+ _doRemoveWindow : function(metaWin, {cloneDestroy}={cloneDestroy: true}) {
let win = metaWin.get_compositor_private();
// find the position of the window in our list
@@ -383,9 +389,13 @@ var WorkspaceThumbnail = new Lang.Class({
return;
let clone = this._windows[index];
+ clone.disconnect(this._windowsDestroyedIds[index]);
+
this._windows.splice(index, 1);
+ this._windowsDestroyedIds.splice(index, 1);
- clone.destroy();
+ if (cloneDestroy)
+ clone.destroy();
},
_doAddWindow(metaWin) {
@@ -504,7 +514,11 @@ var WorkspaceThumbnail = new Lang.Class({
this._bgManager = null;
}
+ for (let index = 0; index < this._windows.length; ++index)
+ this._windows[index].disconnect(this._windowsDestroyedIds[index]);
+
this._windows = [];
+ this._windowsDestroyedIds = [];
this.actor = null;
},
@@ -537,6 +551,11 @@ var WorkspaceThumbnail = new Lang.Class({
clone.connect('drag-end', () => {
Main.overview.endWindowDrag(clone.metaWindow);
});
+
+ let cloneDestroyedId = clone.connect('destroy', () => {
+ this._doRemoveWindow(clone.metaWindow, {cloneDestroy: false});
+ });
+
this._contents.add_actor(clone.actor);
if (this._windows.length == 0)
@@ -545,6 +564,7 @@ var WorkspaceThumbnail = new Lang.Class({
clone.setStackAbove(this._windows[this._windows.length - 1].actor);
this._windows.push(clone);
+ this._windowsDestroyedIds.push(cloneDestroyedId);
return clone;
},
--
2.16.2

View File

@ -1,3 +0,0 @@
require gnome-shell.inc
SRC_URI[archive.md5sum] = "a0bf48381d8f4f081055f73764618016"
SRC_URI[archive.sha256sum] = "c7dec00d3c2b26e16611aac99630e3d41842179e9ec30cc873233b56c080ba4e"

View File

@ -0,0 +1,43 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gettext
SRC_URI[archive.md5sum] = "3aef5c837c85f6e5318b845fc844b1fe"
SRC_URI[archive.sha256sum] = "22632c9bbccef11fe3130fc8d642e37de223d089e004bdb58dae309a38694c4d"
SRC_URI += "\
file://0001-do-no-build-calendar-server.patch \
file://0001-Disabled-calendar-events-from-user-session.patch \
file://0001-do-not-use-python-path-from-build-environment.patch \
"
DEPENDS = "glib-2.0-native systemd libcanberra gtk+3 glib-2.0 libxml2 libcroco mutter libsoup-2.4 gsettings-desktop-schemas gcr atk polkit startup-notification libx11 gnome-bluetooth libsecret networkmanager gjs mozjs network-manager-applet pulseaudio libxml2-native paxctl-native ibus xmlto-native sassc-native"
RDEPENDS_${PN} = "xserver-xorg-xwayland cantarell-fonts gnome-theme-adwaita gnome-theme-adwaita-dark gnome-control-center gnome-session dconf"
FILES_${PN} += "\
${datadir}/dbus-1 \
${datadir}/xdg-desktop-portal \
${datadir}/gnome-control-center/keybindings \
${systemd_user_unitdir} \
"
PACKAGES =+ "${PN}-tools"
FILES_${PN}-tools += "\
/usr/bin/gnome-shell-perf-tool \
/usr/bin/gnome-shell-extension-tool \
"
do_configure_append () {
MUTTER_DIR="/usr/lib/mutter"
sed --in-place=.old1 "s;=${MUTTER_DIR};=${PKG_CONFIG_SYSROOT_DIR}${MUTTER_DIR};" ${B}/build.ninja
}
do_install_append() {
paxctl -cm ${D}${bindir}/gnome-shell
}
EXTRA_OEMESON += "-Dbrowser_plugin=false -Dman=false -Dsystemd=true -Dnetworkmanager=true"

View File

@ -1,6 +0,0 @@
require gnome-terminal.inc
SRC_URI[archive.md5sum] = "46827785f9de78329a1d894a6a957b83"
SRC_URI[archive.sha256sum] = "a551d5eee10f66560fc7c6bdff6f7358ce9c60b526d8ba68a82f2ab024a3bcc4"
EXTRA_OECONF = "--disable-search-provider --without-nautilus-extension"

View File

@ -5,6 +5,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
DEPENDS = "intltool-native dconf gconf glib-2.0 util-linux gsettings-desktop-schemas glib-2.0-native vte libpcre gtk+3 vala-native libxml2-native desktop-file-utils-native yelp-tools-native"
# python3native is needed to run itstool during build
inherit gettext gnome python3native
SRC_URI[archive.md5sum] = "debc2a025675312ad5ae33232f02c027"
SRC_URI[archive.sha256sum] = "6b1fc2720e3bfc592645d41e38d0d3a0f2bdf5ef7bce490b2d5c8ba39f395e38"
EXTRA_OECONF = "--disable-search-provider --without-nautilus-extension"
FILES_${PN} += "\
${systemd_user_unitdir} \
${datadir}/dbus-1/services \
@ -15,9 +23,3 @@ FILES_${PN} += "\
FILES_${PN}-doc += "\
${datadir}/help \
"
# python3native is needed to run itstool during build
inherit gettext gnome python3native
EXTRA_OECONF = "--disable-search-provider --without-nautilus-extension --disable-gterminal"

View File

@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSES/GPL-3.0;md5=9eef91148a9b14ec7f9df333daebc746
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gettext
SRC_URI[archive.md5sum] = "7fd38ddd8ed2233494e67706599c21a0"
SRC_URI[archive.sha256sum] = "2944532de25cd41631afe1b0d154a6b2377551c1c67fffa5a1c4928c94eb1f35"
SRC_URI[archive.md5sum] = "5c4f9181cf18ce229f63d84723943721"
SRC_URI[archive.sha256sum] = "3f78551515eadf848c9140482e08842a5552acdc2987d8cc13f496187cd4c348"
DEPENDS = "glib-2.0 glib-2.0-native"

View File

@ -8,8 +8,9 @@ inherit gnomebase gobject-introspection gettext vala
SRC_URI += "file://0001-Added-machine-tags.patch"
DEPENDS = "glib-2.0 glib-2.0-native gtk+3 gobject-introspection libgtop"
SRC_URI[archive.md5sum] = "f234a0cb0cbce809d00584d45ab5d46a"
SRC_URI[archive.sha256sum] = "d812655c23a59990045f8f282bcd2b138d594b6cd670aaec01e3cf6b235f6004"
SRC_URI[archive.md5sum] = "7641fecd816f76d31415f4e2e2b301b6"
SRC_URI[archive.sha256sum] = "50577b76d05310cb6f26138fb6f4d0c8d02d4f71a657ac3f445f999038633b38"
FILES_${PN} += "${datadir}/metainfo"

View File

@ -1,14 +0,0 @@
SUMMARY = "Framework for discovery and browsing of network accessible media"
HOMEPAGE = "https://wiki.gnome.org/Projects/Grilo"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
SRC_URI[archive.md5sum] = "a15a92a903aeb7579e1b0f6e8b4b0fb1"
SRC_URI[archive.sha256sum] = "7c6964053b42574c2f14715d2392a02ea5cbace955eb73e067c77aa3e43b066e"
DEPENDS = "glib-2.0 gtk+3 libsoup-2.4 intltool-native libxml2 gnome-common-native"
inherit gettext gobject-introspection gnome
EXTRA_OECONF = "--disable-grl-net --disable-grl-pls --disable-test-ui --disable-vala"

View File

@ -1,4 +0,0 @@
require gsettings-desktop-schemas.inc
SRC_URI[archive.md5sum] = "370610e29b37d063ede3ef0f29c06eb9"
SRC_URI[archive.sha256sum] = "4cb4cd7790b77e5542ec75275237613ad22f3a1f2f41903a298cf6cc996a9167"

View File

@ -4,6 +4,11 @@ BUGTRACKER = "https://bugzilla.gnome.org/"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "glib-2.0 intltool-native"
inherit gnomebase gsettings gettext gobject-introspection upstream-version-is-even
SRC_URI[archive.md5sum] = "83bb19d025f126fae495ab43a2f26f40"
SRC_URI[archive.sha256sum] = "f88ea6849ffe897c51cfeca5e45c3890010c82c58be2aee18b01349648e5502f"

View File

@ -2,17 +2,15 @@ SUMMARY = "A collection library providing GObject based interfaces and classes f
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/libgee/0.20/libgee-${PV}.tar.xz"
SRC_URI[md5sum] = "d224dca55bb909f6730f40cc267337be"
SRC_URI[sha256sum] = "bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630"
SRC_URI[archive.md5sum] = "d224dca55bb909f6730f40cc267337be"
SRC_URI[archive.sha256sum] = "bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630"
DEPENDS = "glib-2.0"
PACKAGES += "${PN}-vala"
FILES_${PN}-vala = "${datadir}/vala/vapi"
inherit pkgconfig autotools
inherit gnomebase pkgconfig autotools
EXTRA_OECONF = ""

View File

@ -3,13 +3,12 @@ HOMEPAGE = "https://developer.gnome.org/libgtop/stable/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
SRC_URI = "https://download.gnome.org/sources/libgtop/2.38/libgtop-${PV}.tar.xz"
SRC_URI[md5sum] = "bb0ce7de6b28694b40405eedac8a31b5"
SRC_URI[sha256sum] = "4f6c0e62bb438abfd16b4559cd2eca0251de19e291c888cdc4dc88e5ffebb612"
SRC_URI[archive.md5sum] = "bb0ce7de6b28694b40405eedac8a31b5"
SRC_URI[archive.sha256sum] = "4f6c0e62bb438abfd16b4559cd2eca0251de19e291c888cdc4dc88e5ffebb612"
DEPENDS = "libx11 glib-2.0 libxau"
inherit perlnative gettext pkgconfig autotools
inherit gnomebase perlnative gettext pkgconfig autotools
EXTRA_OECONF = "--with-examples=no"

View File

@ -3,8 +3,8 @@ HOMEPAGE = "https://wiki.gnome.org/Projects/LibGWeather"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI[archive.md5sum] = "767b4af6ce55bda74cb2f53aaefcfc6f"
SRC_URI[archive.sha256sum] = "594be78dcc0b4c48bf79cd42ea6768160b661bc2a74d9d35ecc742575416e18f"
SRC_URI[archive.md5sum] = "4f8771fedc83bd1c7594c5aa7f21dedb"
SRC_URI[archive.sha256sum] = "081ce81653afc614e12641c97a8dd9577c524528c63772407ae2dbcde12bde75"
DEPENDS = "gtk+3 libxml2 libsoup-2.4 glib-2.0 intltool-native geocode-glib glib-2.0-native"

View File

@ -1,108 +0,0 @@
From 8286557a0555058440536e88393fda445d49d399 Mon Sep 17 00:00:00 2001
From: Yussuf Khalil <dev@pp3345.net>
Date: Sun, 18 Feb 2018 21:21:44 +0100
Subject: [PATCH] clutter: Avoid unnecessary relayouts in ClutterText
We can save an unnecessary relayout if the required size to fully draw the text
is equal to the currently allocated size after the underlying text buffer or
attributes that only affect the PangoLayout have changed.
---
clutter/clutter/clutter-text.c | 43 ++++++++++++++++++++++++++----------------
1 file changed, 27 insertions(+), 16 deletions(-)
diff --git a/clutter/clutter/clutter-text.c b/clutter/clutter/clutter-text.c
index 4828a4cbd..4a6a74a0c 100644
--- a/clutter/clutter/clutter-text.c
+++ b/clutter/clutter/clutter-text.c
@@ -4511,6 +4511,27 @@ buffer_deleted_text (ClutterTextBuffer *buffer,
}
}
+static void
+clutter_text_queue_redraw_or_relayout (ClutterText *self)
+{
+ ClutterActor *actor = CLUTTER_ACTOR (self);
+ gfloat preferred_width;
+ gfloat preferred_height;
+
+ clutter_text_dirty_cache (self);
+
+ /* we're using our private implementations here to avoid the caching done by ClutterActor */
+ clutter_text_get_preferred_width (actor, -1, NULL, &preferred_width);
+ clutter_text_get_preferred_height (actor, preferred_width, NULL, &preferred_height);
+
+ if (clutter_actor_has_allocation (actor) &&
+ (fabsf (preferred_width - clutter_actor_get_width (actor)) > 0.001 ||
+ fabsf (preferred_height - clutter_actor_get_height (actor)) > 0.001))
+ clutter_actor_queue_relayout (actor);
+ else
+ clutter_text_queue_redraw (actor);
+}
+
static void
buffer_notify_text (ClutterTextBuffer *buffer,
GParamSpec *spec,
@@ -4518,9 +4539,7 @@ buffer_notify_text (ClutterTextBuffer *buffer,
{
g_object_freeze_notify (G_OBJECT (self));
- clutter_text_dirty_cache (self);
-
- clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+ clutter_text_queue_redraw_or_relayout (self);
g_signal_emit (self, text_signals[TEXT_CHANGED], 0);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_TEXT]);
@@ -4872,8 +4891,7 @@ clutter_text_set_cursor_visible (ClutterText *self,
{
priv->cursor_visible = cursor_visible;
- clutter_text_dirty_cache (self);
- clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+ clutter_text_queue_redraw_or_relayout (self);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CURSOR_VISIBLE]);
}
@@ -5774,9 +5792,7 @@ clutter_text_set_line_alignment (ClutterText *self,
{
priv->alignment = alignment;
- clutter_text_dirty_cache (self);
-
- clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+ clutter_text_queue_redraw_or_relayout (self);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_LINE_ALIGNMENT]);
}
@@ -5831,9 +5847,7 @@ clutter_text_set_use_markup (ClutterText *self,
if (setting)
clutter_text_set_markup_internal (self, text);
- clutter_text_dirty_cache (self);
-
- clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+ clutter_text_queue_redraw_or_relayout (self);
}
/**
@@ -5880,9 +5894,7 @@ clutter_text_set_justify (ClutterText *self,
{
priv->justify = justify;
- clutter_text_dirty_cache (self);
-
- clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+ clutter_text_queue_redraw_or_relayout (self);
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_JUSTIFY]);
}
@@ -6449,8 +6461,7 @@ clutter_text_set_preedit_string (ClutterText *self,
priv->preedit_set = TRUE;
}
- clutter_text_dirty_cache (self);
- clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
+ clutter_text_queue_redraw_or_relayout (self);
}

Some files were not shown because too many files have changed in this diff Show More