diff options
author | Sam James <sam@gentoo.org> | 2023-03-01 05:03:22 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-03-01 05:11:15 +0000 |
commit | 53225c643c193984d24283eb9050fe176cd2f101 (patch) | |
tree | b720ee8bcd890294de6510e54a0ed971c13aca6d /app-crypt | |
parent | dev-util/cproto: add 4.7v (diff) | |
download | gentoo-53225c643c193984d24283eb9050fe176cd2f101.tar.gz gentoo-53225c643c193984d24283eb9050fe176cd2f101.tar.bz2 gentoo-53225c643c193984d24283eb9050fe176cd2f101.zip |
app-crypt/seahorse: fix musl build
New revision given it affects Vala-generated code and I'd rather
be conservative.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-crypt')
-rw-r--r-- | app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch | 85 | ||||
-rw-r--r-- | app-crypt/seahorse/seahorse-43.0-r1.ebuild | 83 |
2 files changed, 168 insertions, 0 deletions
diff --git a/app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch b/app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch new file mode 100644 index 000000000000..2a6873134e27 --- /dev/null +++ b/app-crypt/seahorse/files/seahorse-43.0-musl-stdout.patch @@ -0,0 +1,85 @@ +https://gitlab.gnome.org/GNOME/seahorse/-/commit/6d673637d90066f4756568ce1b2f1f3c89a37c74 + +From 6d673637d90066f4756568ce1b2f1f3c89a37c74 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= <ablocorrea@hotmail.com> +Date: Thu, 20 Oct 2022 18:35:33 +0200 +Subject: [PATCH] ssh: avoid stdout and stderr variable names + +In Alpine Linux, the compiler: + +C compiler for the host machine: gcc (gcc 12.2.1 "gcc (Alpine 12.2.1_git20220924-r3) 12.2.1 20220924") +C linker for the host machine: gcc ld.bfd 2.39 +Vala compiler for the host machine: valac (valac 0.56.3) + +ended up including stdio.h into the C code generated from Vala. +This produced the following (and similar) errors due to +stderr and stdout being #define in stdio.h: + +ninja: job failed: gcc -Issh/libseahorse-ssh.a.p -Issh -I../ssh -Icommon -I../common -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/gcr-3 -I/usr/include/gck-1 -I/usr/include/p11-kit-1 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libdrm -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libhandy-1 -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -w -O0 -DGCR_API_SUBJECT_TO_CHANGE -DGCK_API_SUBJECT_TO_CHANGE -DSECRET_WITH_UNSTABLE -include config.h -Wno-unused-parameter -Wno-missing-field-initializers -Os -fomit-frame-pointer -Os -fomit-frame-pointer -fPIC -pthread -MD -MQ ssh/libseahorse-ssh.a.p/meson-generated_operation.c.o -MF ssh/libseahorse-ssh.a.p/meson-generated_operation.c.o.d -o ssh/libseahorse-ssh.a.p/meson-generated_operation.c.o -c ssh/libseahorse-ssh.a.p/operation.c +In file included from /usr/include/fortify/stdio.h:22, + from /usr/include/pango-1.0/pango/pango-utils.h:25, + from /usr/include/pango-1.0/pango/pango.h:51, + from /usr/include/gtk-3.0/gdk/gdktypes.h:35, + from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:30, + from /usr/include/gtk-3.0/gdk/gdk.h:32, + from /usr/include/gtk-3.0/gtk/gtk.h:30, + from common/seahorse-common.h:11, + from ssh/seahorse-ssh.h:6, + from ssh/libseahorse-ssh.a.p/operation.c:25: +ssh/libseahorse-ssh.a.p/operation.c: In function 'seahorse_ssh_operation_operation_async_co': +ssh/libseahorse-ssh.a.p/operation.c:621:17: error: expected identifier before '(' token + 621 | _data_->stdout = NULL; + | ^~~~~~ +ssh/libseahorse-ssh.a.p/operation.c:622:17: error: expected identifier before '(' token + 622 | _data_->stderr = NULL; + | ^~~~~~ + +Fix the problem by naming the variables std_out and std_err, as it +was before commit e60e5fd4b1545053e99758b894e8ef981de08c3e + +Fixes e60e5fd4b1545053e99758b894e8ef981de08c3e + +Coauthored-by: psykose <alice@ayaya.dev> +--- a/ssh/operation.vala ++++ b/ssh/operation.vala +@@ -84,12 +84,12 @@ public abstract class Operation : GLib.Object { + + // And off we go to run the program + var subprocess = launcher.spawnv(args); +- string? stdout = null, stderr = null; ++ string? std_out = null, std_err = null; + try { +- yield subprocess.communicate_utf8_async(input, cancellable, out stdout, out stderr); +- return stdout; ++ yield subprocess.communicate_utf8_async(input, cancellable, out std_out, out std_err); ++ return std_out; + } catch (GLib.Error e) { +- Seahorse.Util.show_error(null, this.prompt_title, stderr); ++ Seahorse.Util.show_error(null, this.prompt_title, std_err); + throw e; + } + } +@@ -221,10 +221,10 @@ public class PrivateImportOperation : Operation { + + // Start command to generate public key + string cmd = "%s -y -f '%s'".printf(Config.SSH_KEYGEN_PATH, file); +- string stdout = yield operation_async(cmd, null, cancellable); ++ string std_out = yield operation_async(cmd, null, cancellable); + + // We'll build the key string from the output +- var key_str = new StringBuilder(stdout); ++ var key_str = new StringBuilder(std_out); + + // Only use the first line of the output + int pos = int.max(key_str.str.index_of_char('\n'), key_str.str.index_of_char('\r')); +@@ -232,7 +232,7 @@ public class PrivateImportOperation : Operation { + key_str.erase(pos); + + // Parse the data so we can get the fingerprint +- KeyData? keydata = KeyData.parse_line(stdout); ++ KeyData? keydata = KeyData.parse_line(std_out); + + // Add the comment to the output + if (data.comment != null) { +-- +GitLab diff --git a/app-crypt/seahorse/seahorse-43.0-r1.ebuild b/app-crypt/seahorse/seahorse-43.0-r1.ebuild new file mode 100644 index 000000000000..5ddc7732673b --- /dev/null +++ b/app-crypt/seahorse/seahorse-43.0-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{9..11} ) +inherit gnome.org gnome2-utils meson python-any-r1 vala xdg + +DESCRIPTION="Manage your passwords and encryption keys" +HOMEPAGE="https://wiki.gnome.org/Apps/Seahorse" + +LICENSE="GPL-2+ FDL-1.1+" +SLOT="0" +IUSE="ldap zeroconf" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-libs/glib-2.66:2 + >=app-crypt/gcr-3.38:0= + >=app-crypt/gpgme-1.14.0:= + >=x11-libs/gtk+-3.24.0:3 + >=app-crypt/gnupg-2.2 + >=gui-libs/libhandy-1.6.0:1 + >=app-crypt/libsecret-0.16 + dev-libs/libpwquality + net-misc/openssh + ldap? ( net-nds/openldap:= ) + net-libs/libsoup:3.0 + zeroconf? ( >=net-dns/avahi-0.6[dbus] ) +" +DEPEND="${RDEPEND} + $(vala_depend) + dev-libs/libxml2:2 + app-crypt/gcr:0[vala] + app-crypt/libsecret[vala] + gui-libs/libhandy:1[vala] +" +BDEPEND=" + ${PYTHON_DEPS} + app-text/docbook-xml-dtd:4.2 + app-text/docbook-xsl-stylesheets + dev-libs/appstream-glib + dev-libs/libxslt + dev-util/gdbus-codegen + dev-util/glib-utils + dev-util/itstool + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-gnupg-2.4.patch +) + +src_prepare() { + default + vala_setup + gnome2_environment_reset +} + +src_configure() { + local emesonargs=( + -Dhelp=true + -Dpgp-support=true + -Dcheck-compatible-gpg=false # keep lowest version listed as compatible as min dep for gnupg RDEPEND + -Dpkcs11-support=true + -Dkeyservers-support=true + -Dhkp-support=true + $(meson_use ldap ldap-support) + $(meson_use zeroconf key-sharing) + -Dmanpage=true + ) + meson_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + gnome2_schemas_update +} + +pkg_postrm() { + xdg_pkg_postrm + gnome2_schemas_update +} |