From 332fe1cb7b2588d0fc0fb3086f7f44ac2386a2f0 Mon Sep 17 00:00:00 2001 From: Sam James Date: Thu, 14 Oct 2021 18:22:43 +0100 Subject: x11-terms/st: backport locale crash fix Closes: https://bugs.gentoo.org/784071 Signed-off-by: Sam James --- .../st/files/st-0.8.4-locale-musl-segfault.patch | 16 +++++ x11-terms/st/st-0.8.4-r1.ebuild | 72 ++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 x11-terms/st/files/st-0.8.4-locale-musl-segfault.patch create mode 100644 x11-terms/st/st-0.8.4-r1.ebuild (limited to 'x11-terms/st') diff --git a/x11-terms/st/files/st-0.8.4-locale-musl-segfault.patch b/x11-terms/st/files/st-0.8.4-locale-musl-segfault.patch new file mode 100644 index 000000000000..b70574025eb2 --- /dev/null +++ b/x11-terms/st/files/st-0.8.4-locale-musl-segfault.patch @@ -0,0 +1,16 @@ +https://bugs.gentoo.org/784071 +https://git.suckless.org/st/commit/2f6e597ed871cff91c627850d03152cae5f45779.html +--- a/x.c ++++ b/x.c +@@ -1585,8 +1585,9 @@ xsettitle(char *p) + XTextProperty prop; + DEFAULT(p, opt_title); + +- Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, +- &prop); ++ if (Xutf8TextListToTextProperty(xw.dpy, &p, 1, XUTF8StringStyle, ++ &prop) != Success) ++ return; + XSetWMName(xw.dpy, xw.win, &prop); + XSetTextProperty(xw.dpy, xw.win, &prop, xw.netwmname); + XFree(prop.value); diff --git a/x11-terms/st/st-0.8.4-r1.ebuild b/x11-terms/st/st-0.8.4-r1.ebuild new file mode 100644 index 000000000000..0b7788ee5761 --- /dev/null +++ b/x11-terms/st/st-0.8.4-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit desktop multilib savedconfig toolchain-funcs + +DESCRIPTION="simple terminal implementation for X" +HOMEPAGE="https://st.suckless.org/" +SRC_URI="https://dl.suckless.org/st/${P}.tar.gz" + +LICENSE="MIT-with-advertising" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86" +IUSE="savedconfig" + +RDEPEND=" + >=sys-libs/ncurses-6.0:0= + media-libs/fontconfig + x11-libs/libX11 + x11-libs/libXft +" +DEPEND=" + ${RDEPEND} + virtual/pkgconfig + x11-base/xorg-proto +" + +PATCHES=( + "${FILESDIR}"/${P}-locale-musl-segfault.patch +) + +src_prepare() { + default + + sed -i \ + -e "/^X11LIB/{s:/usr/X11R6/lib:/usr/$(get_libdir)/X11:}" \ + -e '/^STLDFLAGS/s|= .*|= $(LDFLAGS) $(LIBS)|g' \ + -e '/^X11INC/{s:/usr/X11R6/include:/usr/include/X11:}' \ + config.mk || die + sed -i \ + -e '/tic/d' \ + Makefile || die + + restore_config config.h +} + +src_configure() { + sed -i \ + -e "s|pkg-config|$(tc-getPKG_CONFIG)|g" \ + config.mk || die + + tc-export CC +} + +src_install() { + emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install + + dodoc TODO + + make_desktop_entry ${PN} simpleterm utilities-terminal 'System;TerminalEmulator;' '' + + save_config config.h +} + +pkg_postinst() { + if ! [[ "${REPLACING_VERSIONS}" ]]; then + elog "Please ensure a usable font is installed, like" + elog " media-fonts/corefonts" + elog " media-fonts/dejavu" + elog " media-fonts/urw-fonts" + fi +} -- cgit v1.2.3-65-gdbad