diff options
Diffstat (limited to 'x11-wm/wm2')
-rw-r--r-- | x11-wm/wm2/Manifest | 1 | ||||
-rw-r--r-- | x11-wm/wm2/files/wm2-4-gentoo.patch | 146 | ||||
-rw-r--r-- | x11-wm/wm2/metadata.xml | 5 | ||||
-rw-r--r-- | x11-wm/wm2/wm2-4-r1.ebuild | 57 |
4 files changed, 209 insertions, 0 deletions
diff --git a/x11-wm/wm2/Manifest b/x11-wm/wm2/Manifest new file mode 100644 index 000000000000..1456e684a771 --- /dev/null +++ b/x11-wm/wm2/Manifest @@ -0,0 +1 @@ +DIST wm2-4.tar.gz 32807 SHA256 a6c3352390f958c5033408ce73e1abd9677372a7c8c5949e39a62fda433b054d SHA512 9151267e5a6bf39587b15dc3e55b4acc05aa1b14a7a9bcb4e1ed25d474af8b0e7699343117f184c745645deb404d6f6e230809b88d9b7bb5c1f67ba0fbde72e9 WHIRLPOOL a2b8e77969fd21176db97d75be0b7e0136075b62d1f838fa08a774b7be0c28a781f5baace77518ee1a6a53167c8e0aa90c4f159dd3c2ad847d536bf78429591d diff --git a/x11-wm/wm2/files/wm2-4-gentoo.patch b/x11-wm/wm2/files/wm2-4-gentoo.patch new file mode 100644 index 000000000000..88c78080c542 --- /dev/null +++ b/x11-wm/wm2/files/wm2-4-gentoo.patch @@ -0,0 +1,146 @@ +diff -ur wm2-4/Border.C wm2-4.new/Border.C +--- wm2-4/Border.C 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Border.C 2007-06-30 16:56:10.000000000 +0200 +@@ -183,7 +183,7 @@ + + if (m_label) free(m_label); + m_label = m_client->iconName() ? +- NewString(m_client->iconName()) : NewString("incognito"); ++ NewString(m_client->iconName()) : NewString(CONFIG_INCOGNITO); + + int len = strlen(m_label); + m_tabHeight = XRotTextWidth(m_tabFont, m_label, len) + 6 + m_tabWidth; +diff -ur wm2-4/Buttons.C wm2-4.new/Buttons.C +--- wm2-4/Buttons.C 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Buttons.C 2007-06-30 16:56:10.000000000 +0200 +@@ -139,7 +139,11 @@ + (allowExit && ((n) > clients.count())) ? "[Exit wm2]" \ + : clients.item((n)-1)->label()) + ++#ifdef CONFIG_MENU_REVERSE ++ for (i = m_hiddenClients.count() - 1; i>=0; --i) { ++#else + for (i = 0; i < m_hiddenClients.count(); ++i) { ++#endif + clients.append(m_hiddenClients.item(i)); + } + int nh = clients.count() + 1; +diff -ur wm2-4/Client.C wm2-4.new/Client.C +--- wm2-4/Client.C 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Client.C 2007-06-30 16:56:10.000000000 +0200 +@@ -4,7 +4,7 @@ + + #include <X11/Xutil.h> + +-const char *const Client::m_defaultLabel = "incognito"; ++const char *const Client::m_defaultLabel = CONFIG_INCOGNITO; + + + +@@ -400,7 +400,7 @@ + } + + +-int Client::getAtomProperty(Atom a, Atom type) ++uintptr_t Client::getAtomProperty(Atom a, Atom type) + { + char **p, *x; + if (getProperty_aux(display(), m_window, a, type, 1L, +@@ -410,7 +410,7 @@ + + x = *p; + XFree((void *)p); +- return (int)x; ++ return (uintptr_t)x; + } + + +diff -ur wm2-4/Client.h wm2-4.new/Client.h +--- wm2-4/Client.h 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Client.h 2007-06-30 16:56:10.000000000 +0200 +@@ -2,6 +2,8 @@ + #ifndef _CLIENT_H_ + #define _CLIENT_H_ + ++#include <inttypes.h> ++ + #include "General.h" + #include "Manager.h" + #include "Border.h" +@@ -125,7 +127,7 @@ + WindowManager *const m_windowManager; + + char *getProperty(Atom); +- int getAtomProperty(Atom, Atom); ++ uintptr_t getAtomProperty(Atom, Atom); + int getIntegerProperty(Atom); + + // accessors +diff -ur wm2-4/Config.h wm2-4.new/Config.h +--- wm2-4/Config.h 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Config.h 2007-06-30 16:56:10.000000000 +0200 +@@ -39,6 +39,9 @@ + + #define CONFIG_FRAME_THICKNESS 7 + ++#define CONFIG_INCOGNITO "incognito" ++#define CONFIG_MENU_REVERSE ++ + // If CONFIG_PROD_SHAPE is True, all frame element shapes will be + // recalculated afresh every time their focus changes. This will + // probably slow things down hideously, but has been reported as +@@ -46,4 +49,3 @@ + #define CONFIG_PROD_SHAPE False + + #endif +- +diff -ur wm2-4/General.h wm2-4.new/General.h +--- wm2-4/General.h 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/General.h 2007-06-30 16:56:10.000000000 +0200 +@@ -32,7 +32,7 @@ + #define NewString(x) (strcpy((char *)malloc(strlen(x)+1),(x))) + + #ifndef SIGNAL_CALLBACK_TYPE +-#define SIGNAL_CALLBACK_TYPE (void (*)(...)) ++#define SIGNAL_CALLBACK_TYPE (void (*)(int)) + #endif + + #define signal(x,y) \ +diff -ur wm2-4/Makefile wm2-4.new/Makefile +--- wm2-4/Makefile 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Makefile 2007-06-30 16:56:10.000000000 +0200 +@@ -1,8 +1,8 @@ + +-LIBS = -L/usr/X11/lib -lXext -lX11 -lXmu -lm ++LIBS = -L/usr/X11R6/lib -lXext -lX11 -lXmu -lm + + CC = gcc +-CCC = gcc ++CCC = g++ + CFLAGS = -O2 + OBJECTS = Border.o Buttons.o Client.o Events.o Main.o Manager.o Rotated.o + +diff -ur wm2-4/Manager.C wm2-4.new/Manager.C +--- wm2-4/Manager.C 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Manager.C 2007-06-30 16:56:10.000000000 +0200 +@@ -368,7 +368,7 @@ + return m_currentTime; + } + +-void WindowManager::sigHandler() ++void WindowManager::sigHandler(int n) + { + m_signalled = True; + } +diff -ur wm2-4/Manager.h wm2-4.new/Manager.h +--- wm2-4/Manager.h 1997-03-21 12:12:30.000000000 +0100 ++++ wm2-4.new/Manager.h 2007-06-30 16:56:10.000000000 +0200 +@@ -85,7 +85,7 @@ + + static Boolean m_initialising; + static int errorHandler(Display *, XErrorEvent *); +- static void sigHandler(); ++ static void sigHandler(int); + static int m_signalled; + + void initialiseScreen(); diff --git a/x11-wm/wm2/metadata.xml b/x11-wm/wm2/metadata.xml new file mode 100644 index 000000000000..4538a68724a6 --- /dev/null +++ b/x11-wm/wm2/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer><email>maintainer-needed@gentoo.org</email></maintainer> +</pkgmetadata> diff --git a/x11-wm/wm2/wm2-4-r1.ebuild b/x11-wm/wm2/wm2-4-r1.ebuild new file mode 100644 index 000000000000..e47f5ee40302 --- /dev/null +++ b/x11-wm/wm2/wm2-4-r1.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit eutils toolchain-funcs + +DESCRIPTION="Small, unconfigurable window manager" +HOMEPAGE="http://www.all-day-breakfast.com/wm2/" +SRC_URI="http://www.all-day-breakfast.com/wm2/${P}.tar.gz" + +SLOT="0" +LICENSE="freedist" +KEYWORDS="amd64 ppc x86" +IUSE="" + +RDEPEND="x11-libs/libXmu" +DEPEND="${RDEPEND} + x11-proto/xextproto" + +src_prepare() { + epatch "${FILESDIR}/${P}-gentoo.patch" + sed -e "s/CFLAGS/CXXFLAGS/" \ + -e "s/\$(CCC) -o/\$(CCC) \$(LDFLAGS) -o/" \ + -i Makefile || die #334681 + + sed 's/^#//' Config.h > wm2.conf + if [ -e "/etc/wm2.conf" ]; then + echo "#undef _CONFIG_H_" >> Config.h + awk '/^[^/]/{print "#" $0}' /etc/wm2.conf >> Config.h + fi +} + +src_compile() { + emake \ + CXXFLAGS="${CXXFLAGS}" \ + CCC="$(tc-getCXX)" \ + LDFLAGS="${LDFLAGS}" +} + +src_install() { + dobin wm2 + insinto /etc + doins wm2.conf + dodoc README +} + +pkg_postinst() { + echo + elog "wm2 is unconfigurable after you have installed. If you want to" + elog "change settings of wm2, please have a look at /etc/wm2.conf" + elog "and rewrite it, then emerge wm2 again (wm2 ebuild uses settings" + elog "from that file automatically). If you think wm2 lacks some important" + elog "features that you want to use (such as background pixmaps)," + elog "consider using wmx, written by the same author." + echo +} |