diff options
author | Sam James <sam@gentoo.org> | 2022-11-18 02:42:56 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-11-18 02:42:56 +0000 |
commit | f5a9dda8c78d73cd1d9395f3682ae78a1f691ce0 (patch) | |
tree | 153b042da361cf96afadb8f1d1ecd2d42adcda9f /gnome-base | |
parent | dev-lang/rust-bin: keyword 1.65.0 for ~sparc (diff) | |
download | gentoo-f5a9dda8c78d73cd1d9395f3682ae78a1f691ce0.tar.gz gentoo-f5a9dda8c78d73cd1d9395f3682ae78a1f691ce0.tar.bz2 gentoo-f5a9dda8c78d73cd1d9395f3682ae78a1f691ce0.zip |
gnome-base/libgtop: fix build w/ clang 15
Closes: https://bugs.gentoo.org/871051
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'gnome-base')
-rw-r--r-- | gnome-base/libgtop/files/2.40.0-clang.patch | 135 | ||||
-rw-r--r-- | gnome-base/libgtop/libgtop-2.40.0-r2.ebuild | 46 |
2 files changed, 181 insertions, 0 deletions
diff --git a/gnome-base/libgtop/files/2.40.0-clang.patch b/gnome-base/libgtop/files/2.40.0-clang.patch new file mode 100644 index 000000000000..f36783e98d65 --- /dev/null +++ b/gnome-base/libgtop/files/2.40.0-clang.patch @@ -0,0 +1,135 @@ +https://bugs.gentoo.org/871051 +https://gitlab.gnome.org/GNOME/libgtop/-/commit/7e9fed1513a7937b62bae641b76cee405c6add5a +https://gitlab.gnome.org/GNOME/libgtop/-/commit/df6393ac0cd785727329a97f731a4067334c0ace + +From 7e9fed1513a7937b62bae641b76cee405c6add5a Mon Sep 17 00:00:00 2001 +From: Avinash Sonawane <rootkea@gmail.com> +Date: Mon, 20 Dec 2021 13:16:44 +0530 +Subject: [PATCH] Use correct format specifiers + +--- a/src/daemon/io.c ++++ b/src/daemon/io.c +@@ -27,7 +27,7 @@ void + do_output (int s, glibtop_response *resp, off_t offset, + size_t data_size, const void *data) + { +- glibtop_debug ("Really writing %d bytes at offset %lu.", ++ glibtop_debug ("Really writing %zu bytes at offset %lu.", + sizeof (glibtop_response), offset); + + resp->offset = offset; +@@ -42,7 +42,7 @@ do_output (int s, glibtop_response *resp, off_t offset, + } + + if (resp->data_size) { +- glibtop_debug ("Writing %d bytes of data.", resp->data_size); ++ glibtop_debug ("Writing %lu bytes of data.", resp->data_size); + + if (s == 0) { + if (write (1, data, resp->data_size) < 0) +@@ -84,7 +84,7 @@ do_read (int s, void *ptr, size_t total_size) + tmp_ptr += nread; + ptr = tmp_ptr; + +- glibtop_debug ("READ (%d): %d - %d - %d", ++ glibtop_debug ("READ (%d): %zu - %zu - %zu", + nread, already_read, remaining, total_size); + } + +--- a/src/daemon/main.c ++++ b/src/daemon/main.c +@@ -49,7 +49,7 @@ handle_parent_connection (int s) + glibtop_server_features); + + if (enable_debug) +- syslog_message (LOG_DEBUG, "SIZEOF: %u - %u - %u - %u - %u - %u", ++ syslog_message (LOG_DEBUG, "SIZEOF: %zu - %zu - %zu - %zu - %zu - %zu", + sizeof (glibtop_command), sizeof (glibtop_response), + sizeof (glibtop_mountentry), sizeof (glibtop_union), + sizeof (glibtop_sysdeps), +@@ -58,12 +58,12 @@ handle_parent_connection (int s) + while (do_read (s, cmnd, sizeof (glibtop_command))) { + if (enable_debug) + syslog_message (LOG_DEBUG, +- "Parent (%d) received command %llu from client.", ++ "Parent (%d) received command %lu from client.", + getpid (), cmnd->command); + + if (cmnd->data_size >= BUFSIZ) { + syslog_message (LOG_WARNING, +- "Client sent %llu bytes, but buffer is %lu", ++ "Client sent %lu bytes, but buffer is %lu", + cmnd->data_size, (unsigned long)BUFSIZ); + return; + } +@@ -74,7 +74,7 @@ handle_parent_connection (int s) + + if (cmnd->data_size) { + if (enable_debug) +- syslog_message (LOG_DEBUG, "Client has %llu bytes of data.", ++ syslog_message (LOG_DEBUG, "Client has %lu bytes of data.", + cmnd->data_size); + + do_read (s, parameter, cmnd->data_size); +@@ -244,7 +244,7 @@ handle_parent_connection (int s) + 0, NULL); + break; + default: +- syslog_message (LOG_ERR, "Parent received unknown command %llu.", ++ syslog_message (LOG_ERR, "Parent received unknown command %lu.", + cmnd->command); + break; + } +--- a/src/daemon/slave.c ++++ b/src/daemon/slave.c +@@ -42,10 +42,10 @@ handle_slave_connection (int input, int output) + + while (do_read (input, cmnd, sizeof (glibtop_command))) { + glibtop_debug ("Slave %d received command " +- "%llu from client.", getpid (), cmnd->command); ++ "%lu from client.", getpid (), cmnd->command); + + if (cmnd->data_size >= BUFSIZ) +- glibtop_error ("Client sent %llu bytes, " ++ glibtop_error ("Client sent %lu bytes, " + "but buffer is %lu", + cmnd->size, (unsigned long)BUFSIZ); + +@@ -54,7 +54,7 @@ handle_slave_connection (int input, int output) + memset (parameter, 0, sizeof (parameter)); + + if (cmnd->data_size) { +- glibtop_debug ("Client has %llu bytes of data.", ++ glibtop_debug ("Client has %lu bytes of data.", + cmnd->data_size); + + do_read (input, parameter, cmnd->data_size); +@@ -261,7 +261,7 @@ handle_slave_command (glibtop_command *cmnd, glibtop_response *resp, + break; + #endif + default: +- glibtop_error ("Child received unknown command %llu", ++ glibtop_error ("Child received unknown command %lu", + cmnd->command); + break; + } +GitLab +From df6393ac0cd785727329a97f731a4067334c0ace Mon Sep 17 00:00:00 2001 +From: Avinash Sonawane <rootkea@gmail.com> +Date: Mon, 20 Dec 2021 13:33:42 +0530 +Subject: [PATCH] Pass correct parameter + +--- a/src/daemon/main.c ++++ b/src/daemon/main.c +@@ -226,8 +226,9 @@ handle_parent_connection (int s) + 0, NULL); + break; + case GLIBTOP_CMND_PROC_IO: ++ memcpy (&pid, parameter, sizeof (pid_t)); + glibtop_get_proc_io_l +- (server, &resp->u.data.proc_io, parameter); ++ (server, &resp->u.data.proc_io, pid); + do_output (s, resp, _offset_data (proc_io), + 0, NULL); + break; +GitLab diff --git a/gnome-base/libgtop/libgtop-2.40.0-r2.ebuild b/gnome-base/libgtop/libgtop-2.40.0-r2.ebuild new file mode 100644 index 000000000000..4f35b7e77763 --- /dev/null +++ b/gnome-base/libgtop/libgtop-2.40.0-r2.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +GNOME2_EAUTORECONF="yes" +inherit flag-o-matic gnome2 + +DESCRIPTION="A library that provides top functionality to applications" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libgtop" +SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${P}-patchset.tar.xz" + +LICENSE="GPL-2+" +SLOT="2/11" # libgtop soname version +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+introspection" + +RDEPEND=" + >=dev-libs/glib-2.26:2 + introspection? ( >=dev-libs/gobject-introspection-0.6.7:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-util/gtk-doc-am-1.4 + >=sys-devel/gettext-0.19.6 + virtual/pkgconfig +" + +PATCHES=( + "${WORKDIR}"/patches # patches from master (not stable branch) that seem safe and fix potential eautoreconf problems + "${FILESDIR}"/${PV}-sandbox-workaround.patch # requires suid handling in ebuild - https://gitlab.gnome.org/GNOME/libgtop/issues/48 + "${FILESDIR}"/${PV}-clang.patch +) + +src_configure() { + # Add explicit stdc, bug #628256 + append-cflags "-std=c99" + + gnome2_src_configure \ + --disable-static \ + $(use_enable introspection) +} + +src_install() { + gnome2_src_install + chmod 4755 "${ED}"/usr/bin/libgtop_server2 || die +} |