summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2019-11-28 09:09:00 +0100
committerLars Wendler <polynomial-c@gentoo.org>2019-11-28 10:09:28 +0100
commite53d3b04c12ae039d5b74bf755635020c61743a7 (patch)
treeec5b475477eb84c3653a3a32a71d84a4344e0707 /app-misc
parentdev-ruby/mysql2: add 0.5.3 (diff)
downloadgentoo-e53d3b04c12ae039d5b74bf755635020c61743a7.tar.gz
gentoo-e53d3b04c12ae039d5b74bf755635020c61743a7.tar.bz2
gentoo-e53d3b04c12ae039d5b74bf755635020c61743a7.zip
app-misc/tmux: Fixed musl build
Package-Manager: Portage-2.3.80, Repoman-2.3.19 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'app-misc')
-rw-r--r--app-misc/tmux/files/tmux-3.0-musl.patch60
-rw-r--r--app-misc/tmux/tmux-3.0.ebuild1
2 files changed, 61 insertions, 0 deletions
diff --git a/app-misc/tmux/files/tmux-3.0-musl.patch b/app-misc/tmux/files/tmux-3.0-musl.patch
new file mode 100644
index 000000000000..5369fdd78b08
--- /dev/null
+++ b/app-misc/tmux/files/tmux-3.0-musl.patch
@@ -0,0 +1,60 @@
+From eb4d60b1ce0e2dc917bd47b10a3ce89de840448a Mon Sep 17 00:00:00 2001
+From: nicm <nicm>
+Date: Wed, 27 Nov 2019 20:54:30 +0000
+Subject: [PATCH] REG_STARTEND is not portable, but it turns out we don't
+ actually need it. From Evan Green, GitHub issue 1982.
+
+---
+ regsub.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/regsub.c b/regsub.c
+index 199b21714..22e236dc7 100644
+--- a/regsub.c
++++ b/regsub.c
+@@ -77,10 +77,7 @@ regsub(const char *pattern, const char *with, const char *text, int flags)
+ end = strlen(text);
+
+ while (start <= end) {
+- m[0].rm_so = start;
+- m[0].rm_eo = end;
+-
+- if (regexec(&r, text, nitems(m), m, REG_STARTEND) != 0) {
++ if (regexec(&r, text + start, nitems(m), m, 0) != 0) {
+ regsub_copy(&buf, &len, text, start, end);
+ break;
+ }
+@@ -89,22 +86,25 @@ regsub(const char *pattern, const char *with, const char *text, int flags)
+ * Append any text not part of this match (from the end of the
+ * last match).
+ */
+- regsub_copy(&buf, &len, text, last, m[0].rm_so);
++ regsub_copy(&buf, &len, text, last, m[0].rm_so + start);
+
+ /*
+ * If the last match was empty and this one isn't (it is either
+ * later or has matched text), expand this match. If it is
+ * empty, move on one character and try again from there.
+ */
+- if (empty || m[0].rm_so != last || m[0].rm_so != m[0].rm_eo) {
+- regsub_expand(&buf, &len, with, text, m, nitems(m));
+-
+- last = m[0].rm_eo;
+- start = m[0].rm_eo;
++ if (empty ||
++ start + m[0].rm_so != last ||
++ m[0].rm_so != m[0].rm_eo) {
++ regsub_expand(&buf, &len, with, text + start, m,
++ nitems(m));
++
++ last = start + m[0].rm_eo;
++ start += m[0].rm_eo;
+ empty = 0;
+ } else {
+- last = m[0].rm_eo;
+- start = m[0].rm_eo + 1;
++ last = start + m[0].rm_eo;
++ start += m[0].rm_eo + 1;
+ empty = 1;
+ }
+
diff --git a/app-misc/tmux/tmux-3.0.ebuild b/app-misc/tmux/tmux-3.0.ebuild
index 350d8121d213..b0b4fb817a7a 100644
--- a/app-misc/tmux/tmux-3.0.ebuild
+++ b/app-misc/tmux/tmux-3.0.ebuild
@@ -46,6 +46,7 @@ PATCHES=(
"${FILESDIR}/${PN}-2.4-flags.patch"
# upstream fixes (can be removed with next version bump)
+ "${FILESDIR}/${P}-musl.patch"
)
src_prepare() {