x11-wm/ctwm: Fix multiple screens (#625620 by Manfred Knick)
authorPacho Ramos <pacho@gentoo.org>
Sat, 16 Jun 2018 18:28:51 +0000 (20:28 +0200)
committerPacho Ramos <pacho@gentoo.org>
Sat, 16 Jun 2018 18:33:45 +0000 (20:33 +0200)
Package-Manager: Portage-2.3.40, Repoman-2.3.9

x11-wm/ctwm/ctwm-4.0.1-r1.ebuild [new file with mode: 0644]
x11-wm/ctwm/files/ctwm-4.0.1-m4.patch [new file with mode: 0644]

diff --git a/x11-wm/ctwm/ctwm-4.0.1-r1.ebuild b/x11-wm/ctwm/ctwm-4.0.1-r1.ebuild
new file mode 100644 (file)
index 0000000..7046fe0
--- /dev/null
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="A clean, light window manager"
+HOMEPAGE="http://ctwm.org/"
+SRC_URI="${HOMEPAGE}dist/${P}.tar.xz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+
+RDEPEND="
+       x11-libs/libICE
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXt
+"
+DEPEND="
+       ${RDEPEND}
+       app-arch/xz-utils
+       app-text/rman
+       virtual/jpeg
+       x11-base/xorg-proto
+"
+
+PATCHES=(
+       # http://bazaar.launchpad.net/~ctwm/ctwm/trunk/revision/597
+       "${FILESDIR}"/${P}-m4.patch
+)
+
+src_prepare() {
+       cmake-utils_src_prepare
+
+       # implicit 'isspace'
+       sed -i parse.c -e "/<stdio.h>/ a#include <ctype.h>" || die
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       mv "${D}"/usr/share/doc/${PN} "${D}"/usr/share/doc/${PF} || die
+       mv "${D}"/usr/share/examples/${PN} "${D}"/usr/share/doc/${PF}/examples || die
+}
diff --git a/x11-wm/ctwm/files/ctwm-4.0.1-m4.patch b/x11-wm/ctwm/files/ctwm-4.0.1-m4.patch
new file mode 100644 (file)
index 0000000..94aa5a0
--- /dev/null
@@ -0,0 +1,21 @@
+=== modified file 'parse_m4.c'
+--- ctwm-4.0.1____orig/parse_m4.c      2016-05-03 20:19:31 +0000
++++ ctwm-4.0.1____MaFu/parse_m4.c      2017-06-13 10:37:46 +0000
+@@ -140,12 +140,15 @@
+       char client[MAXHOSTNAME], server[MAXHOSTNAME], *colon;
+       struct hostent *hostname;
+       char *vc, *color;
+-      static char tmp_name[] = "/tmp/ctwmrcXXXXXX";
++#define TMPLFILE "/tmp/ctwmrcXXXXXX"
++      static char tmp_name[sizeof(TMPLFILE)];
+       int fd;
+       FILE *tmpf;
+       char *user;
+       /* Create temp file */
++      strcpy(tmp_name, TMPLFILE);
++#undef TMPLFILE
+       fd = mkstemp(tmp_name);
+       if(fd < 0) {
+               perror("mkstemp failed in m4_defs");
+