summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-10-14 18:22:43 +0100
committerSam James <sam@gentoo.org>2021-10-14 18:22:43 +0100
commit332fe1cb7b2588d0fc0fb3086f7f44ac2386a2f0 (patch)
tree8bdcb72126b76e208c2625447d7b48210a195a9a /x11-terms/st
parentx11-misc/compose-tables: revbump to force reinstall on musl (diff)
downloadgentoo-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.patch16
-rw-r--r--x11-terms/st/st-0.8.4-r1.ebuild72
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
+}