From: Jeroen Roovers Date: Mon, 27 Jan 2020 18:02:11 +0000 (+0100) Subject: x11-wm/wmfs: Fix CFLAGS=-fno-common X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=76fd4de2a8574b255cb8c84fd769a2eabc8b3aca;p=gentoo.git x11-wm/wmfs: Fix CFLAGS=-fno-common - EAPI=7 - Convert sed script to patch - Fix W and event_handle for CFLAGS=-fno-common - Respect CC - Apply one lingering upstream patch Package-Manager: Portage-2.3.85, Repoman-2.3.20 Closes: https://bugs.gentoo.org/show_bug.cgi?id=706654 Signed-off-by: Jeroen Roovers --- diff --git a/x11-wm/wmfs/files/wmfs-99999999-Debian.patch b/x11-wm/wmfs/files/wmfs-99999999-Debian.patch new file mode 100644 index 000000000000..dde3497e640d --- /dev/null +++ b/x11-wm/wmfs/files/wmfs-99999999-Debian.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -81,7 +81,7 @@ fi + [ -n "$USE_XFT" ] && CFLAGS="$CFLAGS -DHAVE_XFT" + + # Debian hardening options http://wiki.debian.org/Hardening +-which dpkg-buildflags > /dev/null 2>&1 ++false + if [ $? -eq 0 ]; + then + CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 `dpkg-buildflags --get CFLAGS`" diff --git a/x11-wm/wmfs/files/wmfs-99999999-fno-common.patch b/x11-wm/wmfs/files/wmfs-99999999-fno-common.patch new file mode 100644 index 000000000000..0ff0ce0ebc9e --- /dev/null +++ b/x11-wm/wmfs/files/wmfs-99999999-fno-common.patch @@ -0,0 +1,92 @@ +--- a/src/client.c ++++ b/src/client.c +@@ -12,6 +12,7 @@ + #include "draw.h" + #include "screen.h" + #include "mouse.h" ++#include "wmfs.h" + + #define CLIENT_RESIZE_DIR(D) \ + void uicb_client_resize_##D(Uicb cmd) \ +--- a/src/event.c ++++ b/src/event.c +@@ -21,6 +21,9 @@ + if(!m->use_area || (m->use_area && INAREA(ev->x, ev->y, m->area))) \ + if(m->func) \ + m->func(m->cmd); ++ ++void (*event_handle[MAX_EV])(XEvent*); ++ + static void + event_buttonpress(XEvent *e) + { +--- a/src/event.h ++++ b/src/event.h +@@ -17,6 +17,6 @@ + + void event_init(void); + +-void (*event_handle[MAX_EV])(XEvent*); ++extern void (*event_handle[MAX_EV])(XEvent*); + + #endif /* EVENT_H */ +--- a/src/ewmh.c ++++ b/src/ewmh.c +@@ -7,6 +7,7 @@ + #include "util.h" + #include "screen.h" + #include "client.h" ++#include "wmfs.h" + + /* Taken From standards.freedesktop.org */ + #define _NET_WM_STATE_REMOVE 0 /* remove/unset property */ +--- a/src/mouse.c ++++ b/src/mouse.c +@@ -9,6 +9,7 @@ + #include "client.h" + #include "layout.h" + #include "draw.h" ++#include "wmfs.h" + + #define _REV_SBORDER(c) draw_reversed_rect(W->root, c, false); + +--- a/src/status.c ++++ b/src/status.c +@@ -9,6 +9,7 @@ + #include "infobar.h" + #include "util.h" + #include "draw.h" ++#include "wmfs.h" + + #include + +--- a/src/wmfs.c ++++ b/src/wmfs.c +@@ -25,6 +25,8 @@ + #include "layout.h" + #include "systray.h" + ++struct wmfs *W; ++ + int + wmfs_error_handler(Display *d, XErrorEvent *event) + { +@@ -617,8 +619,6 @@ main(int argc, char **argv) + } + } + +- W = (struct wmfs*)xcalloc(1, sizeof(struct wmfs)); +- + /* Default path ~/.config/wmfs/wmfsrc */ + W->confpath = path; + +--- a/src/wmfs.h ++++ b/src/wmfs.h +@@ -444,6 +444,6 @@ void uicb_reload(Uicb cmd); + void uicb_quit(Uicb cmd); + + /* Single global variable */ +-struct wmfs *W; ++extern struct wmfs *W; + + #endif /* WMFS_H */ diff --git a/x11-wm/wmfs/files/wmfs-99999999-strncat.patch b/x11-wm/wmfs/files/wmfs-99999999-strncat.patch new file mode 100644 index 000000000000..e55cd00121ba --- /dev/null +++ b/x11-wm/wmfs/files/wmfs-99999999-strncat.patch @@ -0,0 +1,20 @@ +--- a/src/launcher.c ++++ b/src/launcher.c +@@ -366,7 +366,7 @@ + if(pos && (end = complete(&cache, tmpbuf))) + { + strncpy(buf, tmpbuf, sizeof(buf)); +- strncat(buf, end, sizeof(buf)); ++ strncat(buf, end, sizeof(buf) - 1); + found = true; + } + +@@ -387,7 +387,7 @@ + + default: + lastwastab = false; +- strncat(buf, tmp, sizeof(tmp)); ++ strncat(buf, tmp, sizeof(buf) - 1); + ++pos; + break; + } diff --git a/x11-wm/wmfs/wmfs-99999999.ebuild b/x11-wm/wmfs/wmfs-99999999.ebuild index f152990663f4..a2a1959136ed 100644 --- a/x11-wm/wmfs/wmfs-99999999.ebuild +++ b/x11-wm/wmfs/wmfs-99999999.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=5 -inherit eutils git-r3 +EAPI=7 +inherit git-r3 toolchain-funcs DESCRIPTION="Window Manager From Scratch, A tiling window manager highly configurable" HOMEPAGE="https://github.com/xorg62/wmfs" @@ -26,15 +26,14 @@ DEPEND=" virtual/pkgconfig x11-base/xorg-proto " - -src_prepare() { - epatch \ - "${FILESDIR}"/${PN}-99999999-desktop.patch - - sed -i -e '/^which dpkg/s|.*|false|g' configure || die -} +PATCHES=( + "${FILESDIR}"/${PN}-99999999-Debian.patch + "${FILESDIR}"/${PN}-99999999-desktop.patch + "${FILESDIR}"/${PN}-99999999-fno-common.patch +) src_configure() { + tc-export CC # not autotools based local ECHO for ECHO in echo ''; do