diff options
author | Sam James <sam@gentoo.org> | 2021-10-14 18:22:43 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-10-14 18:22:43 +0100 |
commit | 332fe1cb7b2588d0fc0fb3086f7f44ac2386a2f0 (patch) | |
tree | 8bdcb72126b76e208c2625447d7b48210a195a9a /x11-terms/st | |
parent | x11-misc/compose-tables: revbump to force reinstall on musl (diff) | |
download | gentoo-332fe1cb7b2588d0fc0fb3086f7f44ac2386a2f0.tar.gz gentoo-332fe1cb7b2588d0fc0fb3086f7f44ac2386a2f0.tar.bz2 gentoo-332fe1cb7b2588d0fc0fb3086f7f44ac2386a2f0.zip |
x11-terms/st: backport locale crash fix
Closes: https://bugs.gentoo.org/784071
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-terms/st')
-rw-r--r-- | x11-terms/st/files/st-0.8.4-locale-musl-segfault.patch | 16 | ||||
-rw-r--r-- | x11-terms/st/st-0.8.4-r1.ebuild | 72 |
2 files changed, 88 insertions, 0 deletions
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 +} |