diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /x11-wm/icewm | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'x11-wm/icewm')
24 files changed, 1282 insertions, 0 deletions
diff --git a/x11-wm/icewm/Manifest b/x11-wm/icewm/Manifest new file mode 100644 index 000000000000..ec8f36d74ca5 --- /dev/null +++ b/x11-wm/icewm/Manifest @@ -0,0 +1,3 @@ +DIST icewm-1.3.10.tar.gz 929941 SHA256 dae6aa00c88f700537cc841cbd233ea2905e756f6274f9ebd52020f782502706 SHA512 96834d5ed2d693451ef071d574b4f553431183feefc8c6db97d46666ec086e9ff8d4a1b0c0eaf60cfbb1398be653aad3a47a61b35a5354730c05b1ddfa61bf16 WHIRLPOOL a085604cd70ef0d10ff3a9c9e91b2572f47750e2a5627c1d8feeadd3d9024423b75ffe9339329c59ade855ebd1046d1c18757994ce38aef0fdfca03dcb47e97d +DIST icewm-1.3.8.tar.gz 905680 SHA256 17588d9e0bbbb23587bc04c83da9dd94fd4da6894ecfee6d7f3ed50d780dcd18 SHA512 ce9bf3e736a2f3fad4bbf731647b4e4ad0168cd2c4af66b1c43beef9ceeee39d14909714d2fc73ab13f6c285a74dfe31fffc9677ae8bd2d1077716cd6d6afb72 WHIRLPOOL 5bb0f6fa830ea10978bb8fd31805596c849a370d619626736e1218e844de72e142ed1aaa87b2f2aeb40603fcf2cfaa88ffae242c726ae1151045c6a792d5cf6c +DIST icewm-1.3.9.tar.gz 890170 SHA256 2d47f8cda48a91ac14fb20890c2df0f304cf8278adf50c3e4070ef68b61a687d SHA512 9c28b004d3a13470e61a3ecbea489d67134b5d1651d84677e8ab0fb732b630d30b7be047553833c818a0ae05841ec808d37d7d50e21e5a562d407cdc74b4943e WHIRLPOOL 8ecba1325da50655524b414280bf4c87f7bcf4c5d0e7edb0df8c6b341680443f961eddf7fd653ac75229aea88100ba8c06b8268196b48f63f6683231f972eb97 diff --git a/x11-wm/icewm/files/IceWM.desktop b/x11-wm/icewm/files/IceWM.desktop new file mode 100644 index 000000000000..087384ee1308 --- /dev/null +++ b/x11-wm/icewm/files/IceWM.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=IceWM +Comment=This session logs you into IceWM +Exec=icewm-session +TryExec=icewm-session +# no icon yet, only the top three are currently used +Icon= +Type=Application diff --git a/x11-wm/icewm/files/icewm b/x11-wm/icewm/files/icewm new file mode 100755 index 000000000000..90905960d1a2 --- /dev/null +++ b/x11-wm/icewm/files/icewm @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/icewm-session diff --git a/x11-wm/icewm/files/icewm-1.3.10-menu.patch b/x11-wm/icewm/files/icewm-1.3.10-menu.patch new file mode 100644 index 000000000000..721a15d25ee3 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.10-menu.patch @@ -0,0 +1,22 @@ +--- icewm-1.3.10/lib/menu.in ++++ icewm-1.3.10/lib/menu.in +@@ -4,14 +4,9 @@ + # since modifications to this file will be discarded when you + # (re)install icewm. + # +-prog xterm xterm xterm +-prog rxvt xterm rxvt -bg black -cr green -fg white -C -fn 9x15 -sl 500 +-prog fte fte fte +-prog NEdit nedit nedit +-prog Mozilla mozilla mozilla +-prog XChat xchat xchat +-prog Gimp gimp gimp ++prog xterm /usr/share/icons/gnome/16x16/apps/terminal.png xterm ++"Web browser" /usr/share/icons/gnome/16x16/apps/web-browser.png xdg-open about:blank + separator +-menuprog "Desktop Apps" folder icewm-menu-fdo +-menufile Programs folder programs +-menufile Tool_bar folder toolbar ++prog "Rebuild program menu" /usr/share/icons/gnome/16x16/actions/edit-find-replace.png /usr/share/icewm/startup ++separator ++menufile Programs folder programs.autogen diff --git a/x11-wm/icewm/files/icewm-1.3.7-dso.patch b/x11-wm/icewm/files/icewm-1.3.7-dso.patch new file mode 100644 index 000000000000..55100d5f62a6 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.7-dso.patch @@ -0,0 +1,10 @@ +--- configure.in.old 2011-11-23 15:44:52.121654867 +0200 ++++ configure.in 2011-11-23 15:47:09.514411391 +0200 +@@ -494,6 +494,7 @@ + AC_DEFINE(CONFIG_COREFONTS, 1, [Define to enable X11 core conts.]) + features="${features} corefonts" + fi ++ CORE_LIBS="${CORE_LIBS} -lfontconfig" + + dnl ============================================================= GUI Events === + dnl diff --git a/x11-wm/icewm/files/icewm-1.3.7-gcc44.patch b/x11-wm/icewm/files/icewm-1.3.7-gcc44.patch new file mode 100644 index 000000000000..d500f64004bc --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.7-gcc44.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/show_bug.cgi?id=376451 + +--- a/src/wmapp.cc ++++ b/src/wmapp.cc +@@ -337,7 +337,7 @@ + char ** fontPath(XGetFontPath(xapp->display(), &ndirs)); + + char ** newFontPath = new char *[ndirs + 1]; +- newFontPath[ndirs] = fontsdir; ++ newFontPath[ndirs] = (char *)fontsdir; + + if (fontPath) + memcpy(newFontPath, fontPath, ndirs * sizeof (char *)); diff --git a/x11-wm/icewm/files/icewm-1.3.7-menuiconsize.patch b/x11-wm/icewm/files/icewm-1.3.7-menuiconsize.patch new file mode 100644 index 000000000000..d051d5bc5f19 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.7-menuiconsize.patch @@ -0,0 +1,73 @@ +diff -Naur icewm-1.3.7.bak/src/yicon.cc icewm-1.3.7/src/yicon.cc +--- icewm-1.3.7.bak/src/yicon.cc 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/yicon.cc 2011-11-07 19:41:52.841910531 +0100 +@@ -270,6 +270,10 @@ + iconCache.getItem(0)->removeFromCache(); + } + ++int YIcon::menuSize() { ++ return menuIconSize; ++} ++ + int YIcon::smallSize() { + return smallIconSize; + } +diff -Naur icewm-1.3.7.bak/src/yicon.h icewm-1.3.7/src/yicon.h +--- icewm-1.3.7.bak/src/yicon.h 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/yicon.h 2011-11-07 19:41:28.555296033 +0100 +@@ -25,6 +25,7 @@ + bool isCached() { return fCached; } + void setCached(bool cached) { fCached = cached; } + ++ static int menuSize(); + static int smallSize(); + static int largeSize(); + static int hugeSize(); +diff -Naur icewm-1.3.7.bak/src/ymenu.cc icewm-1.3.7/src/ymenu.cc +--- icewm-1.3.7.bak/src/ymenu.cc 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/ymenu.cc 2011-11-07 19:42:40.498474049 +0100 +@@ -153,8 +153,8 @@ + + #ifndef LITE + if (getItem(selItem)->getIcon() != null && +- YIcon::smallSize() > h) +- h = YIcon::smallSize(); ++ YIcon::menuSize() > h) ++ h = YIcon::menuSize(); + #endif + + if (x <= int(width() - h - 4)) +@@ -1023,8 +1023,8 @@ + mitem->getIcon()->draw(g, + l + 1 + delta, t + delta + top + pad + + (eh - top - pad * 2 - bottom - +- YIcon::smallSize()) / 2, +- YIcon::smallSize()); ++ YIcon::menuSize()) / 2, ++ YIcon::menuSize()); + #endif + } + +diff -Naur icewm-1.3.7.bak/src/ymenuitem.cc icewm-1.3.7/src/ymenuitem.cc +--- icewm-1.3.7.bak/src/ymenuitem.cc 2010-10-31 15:09:36.000000000 +0100 ++++ icewm-1.3.7/src/ymenuitem.cc 2011-11-07 19:50:04.458316916 +0100 +@@ -86,8 +86,8 @@ + int ih = fontHeight; + + #ifndef LITE +- if (YIcon::smallSize() > ih) +- ih = YIcon::smallSize(); ++ if (YIcon::menuSize() > ih) ++ ih = YIcon::menuSize(); + #endif + + if (wmLook == lookWarp4 || wmLook == lookWin95) { +@@ -123,7 +123,7 @@ + return 0; + #else + ref<YIcon> icon = getIcon(); +- return icon != null ? YIcon::smallSize(): 0; ++ return icon != null ? YIcon::menuSize(): 0; + #endif + } + diff --git a/x11-wm/icewm/files/icewm-1.3.7-thermal.patch b/x11-wm/icewm/files/icewm-1.3.7-thermal.patch new file mode 100644 index 000000000000..f6b2cf71f0f5 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.7-thermal.patch @@ -0,0 +1,41 @@ +diff -uprN a/src/acpustatus.cc b/src/acpustatus.cc +--- a/src/acpustatus.cc 2010-10-31 15:09:36.000000000 +0100 ++++ b/src/acpustatus.cc 2013-01-17 21:12:19.085715083 +0100 +@@ -315,6 +315,37 @@ int CPUStatus::getAcpiTemp(char *tempbuf + } + closedir(dir); + } ++ else if ((dir = opendir("/sys/class/thermal")) != NULL) { ++ struct dirent *de; ++ ++ while ((de = readdir(dir)) != NULL) { ++ ++ int fd, seglen; ++ ++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) ++ continue; ++ ++ sprintf(namebuf, "/sys/class/thermal/%s/temp", de->d_name); ++ fd = open(namebuf, O_RDONLY); ++ if (fd != -1) { ++ int len = read(fd, buf, sizeof(buf) - 1); ++ buf[len - 4] = '\0'; ++ seglen = strlen(buf) + 4; ++ if (retbuflen + seglen >= buflen) { ++ retbuflen = -retbuflen; ++ close(fd); ++ closedir(dir); ++ break; ++ } ++ retbuflen += seglen; ++ strcat(tempbuf, " "); ++ strncat(tempbuf, buf, seglen); ++ strcat(tempbuf, " C"); ++ close(fd); ++ } ++ } ++ closedir(dir); ++ } + return retbuflen; + } + diff --git a/x11-wm/icewm/files/icewm-1.3.8-build-fixes.patch b/x11-wm/icewm/files/icewm-1.3.8-build-fixes.patch new file mode 100644 index 000000000000..cec27a79ad0a --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.8-build-fixes.patch @@ -0,0 +1,113 @@ +--- icewm-1.3.8/Makefile.in ++++ icewm-1.3.8/Makefile.in +@@ -35,7 +35,7 @@ + + ################################################################################ + +-BINFILES = @BINFILES@ icewm-set-gnomewm ++BINFILES = @BINFILES@ "$(srcdir)/icewm-set-gnomewm" + LIBFILES = lib/preferences lib/winoptions lib/keys \ + lib/menu lib/toolbar # lib/programs + DOCFILES = README BUGS CHANGES COPYING AUTHORS INSTALL VERSION icewm.lsm +@@ -83,21 +83,23 @@ + @echo ------------------------------------------ + @echo "Installing binaries in $(DESTDIR)$(BINDIR)" + @$(INSTALLDIR) "$(DESTDIR)$(BINDIR)" ++#generated files, relative to the build directory + @for bin in $(BINFILES); do \ + $(INSTALLBIN) "$${bin}" "$(DESTDIR)$(BINDIR)"; \ + done + + @echo "Installing presets and icons in $(DESTDIR)$(LIBDIR)" + @$(INSTALLDIR) "$(DESTDIR)$(LIBDIR)" ++# data files from the source directory + #-@$(INSTALLDIR) "$(DESTDIR)$(CFGDIR)" + @for lib in $(LIBFILES); do \ +- $(INSTALLLIB) "$${lib}" "$(DESTDIR)$(LIBDIR)"; \ ++ $(INSTALLLIB) "$(top_srcdir)/$${lib}" "$(DESTDIR)$(LIBDIR)"; \ + done + + @for xpmdir in $(XPMDIRS); do \ +- if test -d "lib/$${xpmdir}"; then \ ++ if test -d "$(top_srcdir)/lib/$${xpmdir}"; then \ + $(INSTALLDIR) "$(DESTDIR)$(LIBDIR)/$${xpmdir}"; \ +- for pixmap in "lib/$${xpmdir}/"*.xpm; do \ ++ for pixmap in "$(top_srcdir)/lib/$${xpmdir}/"*.xpm; do \ + $(INSTALLLIB) "$${pixmap}" "$(DESTDIR)$(LIBDIR)/$${xpmdir}"; \ + done; \ + fi; \ +--- icewm-1.3.8/po/Makefile.in ++++ icewm-1.3.8/po/Makefile.in +@@ -20,6 +20,7 @@ + XGETTEXT = @XGETTEXT@ + MSGMERGE = @MSGMERGE@ + MSGFMT = @MSGFMT@ ++VPATH = .:po:@srcdir@ + + .SUFFIXES: + .SUFFIXES: .po .mo +--- icewm-1.3.8/src/Makefile.in ++++ icewm-1.3.8/src/Makefile.in +@@ -11,7 +11,7 @@ + + CXX = @CXX@ + HOSTCXX = @HOSTCXX@ +-LD = @CXX_LINK@ ++LD = gcc + HOSTLD = @HOSTCXX_LINK@ + EXEEXT = @EXEEXT@ + +@@ -32,12 +32,12 @@ + -DICEWMBGEXE='"icewmbg$(EXEEXT)"' \ + -DICESMEXE='"icewm-session$(EXEEXT)"' \ + -DICEHELPEXE='"icehelp$(EXEEXT)"' \ +- -DICEHELPIDX='"$(DOCDIR)/icewm-$(VERSION)/icewm.html"' ++ -DICEHELPIDX='"$(DOCDIR)/icewm-common/icewm.html"' + + CXXFLAGS = @CXXFLAGS@ $(DEBUG) $(DEFS) `pkg-config gdk-pixbuf-xlib-2.0 --cflags` \ + @CORE_CFLAGS@ @IMAGE_CFLAGS@ @AUDIO_CFLAGS@ `pkg-config fontconfig --cflags` + LFLAGS = @LDFLAGS@ +-LIBS = @LIBS@ `pkg-config gdk-pixbuf-xlib-2.0 --libs` ++LIBS = @LIBS@ `pkg-config gdk-pixbuf-xlib-2.0 --libs` -lfontconfig -lm -lsupc++ + + CORE_LIBS = @CORE_LIBS@ `pkg-config fontconfig --libs` + IMAGE_LIBS = @IMAGE_LIBS@ +@@ -188,6 +188,8 @@ + TESTCASES = @TESTCASES@ + OBJECTS = @BASEOBJS@ @TESTOBJS@ + BINARIES = @BASEBINS@ @TESTBINS@ ++BASEOBJS = @BASEOBJS@ ++VPATH = .:@srcdir@ + + ################################################################################ + +@@ -205,7 +207,8 @@ + @echo " CXX " $@ + @$(CXX) $(CXXFLAGS) $(GCCDEP) -c $< + +-$(BINARIES): ++$(BINARIES): $(BASEOBJS) ++# @$(MAKE) --no-print-directory build-dep DEPLIST="$($(@:$(EXEEXT)=)_OBJS)" + @echo " LD " $@ + @$(LD) -o $@ $($(@:$(EXEEXT)=)_OBJS) $(LFLAGS) $($(@:$(EXEEXT)=)_LFLAGS) $(LIBS) $($(@:$(EXEEXT)=)_LIBS) + +@@ -217,6 +220,8 @@ + @echo " HOSTLD " $@ + @$(HOSTLD) -o $@ $(genpref_OBJS) + ++build-dep: $(DEPLIST) ++ + ################################################################################ + + gnome2.o: gnome2.cc +--- icewm-1.3.8/src/WinMgr.h ++++ icewm-1.3.8/src/WinMgr.h +@@ -128,7 +128,7 @@ + * this where WIN_WORKSPACE_COUNT comes into play. + */ + +-#define WinWorkspaceInvalid (-1L) ++#define WinWorkspaceInvalid ((unsigned long)-1) + + /* workspaces */ + #define XA_WIN_WORKSPACES "_WIN_WORKSPACES" diff --git a/x11-wm/icewm/files/icewm-1.3.8-deprecated.patch b/x11-wm/icewm/files/icewm-1.3.8-deprecated.patch new file mode 100644 index 000000000000..b956180627bc --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.8-deprecated.patch @@ -0,0 +1,12 @@ +--- icewm-1.3.8/src/base.h ++++ icewm-1.3.8/src/base.h +@@ -2,7 +2,9 @@ + #define __BASE_H + + #if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3 ++#if ( __GNUC__ == 4 && __GNUC_MINOR__ > 7 ) || __GNUC__ > 3 + #define _icewm_deprecated __attribute__((deprecated)) ++#endif + #else + #define _icewm_deprecated + #endif diff --git a/x11-wm/icewm/files/icewm-1.3.8-menu.patch b/x11-wm/icewm/files/icewm-1.3.8-menu.patch new file mode 100644 index 000000000000..e4bab5c5ffc3 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.8-menu.patch @@ -0,0 +1,23 @@ +--- icewm-1.3.8/lib/menu.in ++++ icewm-1.3.8/lib/menu.in +@@ -4,15 +4,9 @@ + # since modifications to this file will be discarded when you + # (re)install icewm. + # +-prog xterm xterm xterm +-prog rxvt xterm rxvt -bg black -cr green -fg white -C -fn 9x15 -sl 500 +-prog fte fte fte +-prog NEdit nedit nedit +-prog Mozilla mozilla mozilla +-prog XChat xchat xchat +-prog Gimp gimp gimp ++prog xterm /usr/share/icons/gnome/16x16/apps/terminal.png xterm ++prog "Web browser" /usr/share/icons/gnome/16x16/apps/web-browser.png xdg-open about:blank + separator +-menuprog Gnome folder icewm-menu-gnome2 --list @CONFIG_GNOME2_MENU_DIR@ +-menuprog KDE folder icewm-menu-gnome@GNOME_VER@ --list @CONFIG_KDE_MENU_DIR@ +-menufile Programs folder programs +-menufile Tool_bar folder toolbar ++prog "Rebuild program menu" /usr/share/icons/gnome/16x16/actions/edit-find-replace.png /usr/share/icewm/startup ++separator ++menufile Programs folder programs.autogen diff --git a/x11-wm/icewm/files/icewm-1.3.8-uclibc.patch b/x11-wm/icewm/files/icewm-1.3.8-uclibc.patch new file mode 100644 index 000000000000..e790842faed8 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.8-uclibc.patch @@ -0,0 +1,64 @@ +diff -Naur icewm-1.3.7.orig/configure.in icewm-1.3.7/configure.in +--- icewm-1.3.7.orig/configure.in 2010-10-31 10:09:37.000000000 -0400 ++++ icewm-1.3.7/configure.in 2013-10-19 06:20:22.947520430 -0400 +@@ -113,6 +113,7 @@ + AC_CHECK_HEADERS(libgen.h) dnl -- basename() for FreeBSD + AC_CHECK_HEADERS(machine/apmvar.h) + AC_CHECK_HEADERS(machine/apm_bios.h) ++AC_CHECK_HEADERS(execinfo.h) + + AC_CHECK_HEADERS(kstat.h, + [ CORE_LIBS="${CORE_LIBS} -lkstat" +diff -Naur icewm-1.3.7.orig/src/acpustatus.cc icewm-1.3.7/src/acpustatus.cc +--- icewm-1.3.7.orig/src/acpustatus.cc 2010-10-31 10:09:36.000000000 -0400 ++++ icewm-1.3.7/src/acpustatus.cc 2013-10-19 06:20:18.355519888 -0400 +@@ -25,17 +25,12 @@ + #include "sysdep.h" + #include "default.h" + +-#if defined(linux) +-//#include <linux/kernel.h> +-#include <sys/sysinfo.h> +-#endif + #if defined(sun) && defined(SVR4) + #include <sys/loadavg.h> + #endif + #ifdef HAVE_KSTAT_H + #include <sys/resource.h> + #include <kstat.h> +-#include <sys/sysinfo.h> + #endif + + #ifdef HAVE_SYS_PARAM_H +@@ -56,6 +51,10 @@ + #include <dirent.h> + #include "intl.h" + ++#if defined(linux) || defined(HAVE_KSTAT_H) ++#include <sys/sysinfo.h> ++#endif ++ + #if (defined(linux) || defined(HAVE_KSTAT_H)) || defined(HAVE_SYSCTL_CP_TIME) + + extern ref<YPixmap> taskbackPixmap; +diff -Naur icewm-1.3.7.orig/src/misc.cc icewm-1.3.7/src/misc.cc +--- icewm-1.3.7.orig/src/misc.cc 2010-10-31 10:09:36.000000000 -0400 ++++ icewm-1.3.7/src/misc.cc 2013-10-19 06:20:22.947520430 -0400 +@@ -15,7 +15,7 @@ + #include <libgen.h> + #endif + +-#ifdef linux ++#if defined(linux) && defined(HAVE_EXECINFO_H) + #include <execinfo.h> + #endif + +@@ -503,7 +503,7 @@ + } + + void show_backtrace() { +-#ifdef linux ++#if defined(linux) && defined(HAVE_EXECINFO_H) + const char head[] = "\nbacktrace:\n"; + const char tail[] = "end\n"; + void *array[20]; diff --git a/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch b/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch new file mode 100644 index 000000000000..91aa55c1f12d --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.9-fribidi.patch @@ -0,0 +1,137 @@ +From 800fc7caa9728cebafee86d841ac23b6ffaa896b Mon Sep 17 00:00:00 2001 +From: Brian Bidulock <bidulock@openss7.org> +Date: Wed, 5 Nov 2014 03:25:44 -0700 +Subject: [PATCH] fribidi support (gentoo icewm-1.3.9-fribidi.patch) + + Also fixes several problems with the gentoo patch: + + 1) the patch modifies CORE_CFLAGS and CORE_LIBS before they + are first defined, confusing later PKG_CONFIG([CORE], ...) + so I moved it later in configure.ac + + 2) the patch uses the deprecated fribidi_log2vis, so I modified + src/yfontxft.cc to disabled deprecated symbols (because I + always test build with -Werror). + + 3) the patch ignores the return value of fribidi_log2vis() + causing another warning which -Werror turns into an error. + Changed to "if (fribidi_log2vis(...)) ;" to disable that. + + 4) fixed the configure.ac macro check for fribidi to only warn + when the library is not present but the feature has not + been disabled + + 5) add fribidi to configure.ac features list shown at end of + ./configure run (added xrandr and xinerama too...) +--- + configure.ac | 17 +++++++++++++++-- + src/yfontxft.cc | 47 +++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 62 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index dce4f1e..63d362f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -158,7 +158,8 @@ if test x$enable_xrandr != xno; then + PKG_CHECK_MODULES([XRANDR],[xrandr],[ + CORE_CFLAGS="$XRANDR_CFLAGS $CORE_CFLAGS" + CORE_LIBS="$XRANDR_LIBS $CORE_LIBS" +- AC_DEFINE([CONFIG_XRANDR],[1],[Define to enable XRANDR extension.])], ++ AC_DEFINE([CONFIG_XRANDR],[1],[Define to enable XRANDR extension.]) ++ features="$features xrandr"], + [AC_MSG_WARN([XRANDR not supported.])]) + fi + +@@ -270,10 +271,22 @@ if test x$enable_xinerama != xno ; then + PKG_CHECK_MODULES([XINERAMA],[xinerama],[ + CORE_CFLAGS="$XINERAMA_CFLAGS $CORE_CFLAGS" + CORE_LIBS="$XINERAMA_LIBS $CORE_LIBS" +- AC_DEFINE([XINERAMA],[1],[Define to enable Xinerama support.])], ++ AC_DEFINE([XINERAMA],[1],[Define to enable Xinerama support.]) ++ features="$features xinerama"], + [AC_MSG_WARN([XINERAMA is not supported.])]) + fi + ++AC_ARG_ENABLE([fribidi], ++ AC_HELP_STRING([--disable-fribidi],[Disable right to left support.])) ++if test "$enable_fribidi" != "no" && test "$enable_i18n" != "no"; then ++ PKG_CHECK_MODULES([FRIBIDI], [fribidi],[ ++ CORE_CFLAGS="$FRIBIDI_CFLAGS $CORE_CFLAGS" ++ CORE_LIBS="$FRIBIDI_LIBS $CORE_LIBS" ++ AC_DEFINE([CONFIG_FRIBIDI],[1],[Define to enable fribidi support.]) ++ features="$features fribidi"], ++ [AC_MSG_WARN([FRIBIDI is not supported.])]) ++fi ++ + AC_ARG_ENABLE([prefs], + AC_HELP_STRING([--disable-prefs],[Disable configurable preferences.])) + if test x$enable_prefs = xno ; then +diff --git a/src/yfontxft.cc b/src/yfontxft.cc +index c200dc6..01b52f9 100644 +--- a/src/yfontxft.cc ++++ b/src/yfontxft.cc +@@ -6,6 +6,18 @@ + #include "ypaint.h" + #include "yxapp.h" + #include "intl.h" ++#include <stdio.h> ++ ++#ifdef CONFIG_FRIBIDI ++ // remove deprecated warnings for now... ++ #include <fribidi/fribidi-config.h> ++ #if FRIBIDI_USE_GLIB+0 ++ #include <glib.h> ++ #undef G_GNUC_DEPRECATED ++ #define G_GNUC_DEPRECATED ++ #endif ++ #include <fribidi/fribidi.h> ++#endif + + /******************************************************************************/ + +@@ -69,10 +81,45 @@ class XftGraphics { + char_t * str, size_t len) + { + XftColor *c = *g.color(); ++ ++#ifdef CONFIG_FRIBIDI ++ ++#define STATIS_STRING_SIZE 256 ++ ++ // Based around upstream (1.3.2) patch with some optimization ++ // on my end. (reduce unnecessary memory allocation) ++ // - Gilboa ++ ++ char_t static_str[STATIS_STRING_SIZE]; ++ char_t *vis_str = static_str; ++ ++ if (len >= STATIS_STRING_SIZE) ++ { ++ vis_str = new char_t[len+1]; ++ if (!vis_str) ++ return; ++ } ++ ++ FriBidiCharType pbase_dir = FRIBIDI_TYPE_N; ++ if (fribidi_log2vis(str, len, &pbase_dir, //input ++ vis_str, // output ++ NULL, NULL, NULL // "statistics" that we don't need ++ )) ; ++ str = vis_str; ++#endif ++ + XftDrawString(g.handleXft(), c, font, + x - g.xorigin(), + y - g.yorigin(), + str, len); ++ ++#ifdef CONFIG_FRIBIDI ++ ++ if (vis_str != static_str) ++ delete[] str; ++ ++#endif ++ + } + + static void textExtents(XftFont * font, char_t * str, size_t len, diff --git a/x11-wm/icewm/files/icewm-1.3.9-uclibc.patch b/x11-wm/icewm/files/icewm-1.3.9-uclibc.patch new file mode 100644 index 000000000000..5019b68f3d75 --- /dev/null +++ b/x11-wm/icewm/files/icewm-1.3.9-uclibc.patch @@ -0,0 +1,64 @@ +diff -Naur a/configure.ac b/configure.ac +--- a/configure.ac 2015-01-02 16:27:05.093088172 +0000 ++++ b/configure.ac 2015-01-02 16:29:58.563094214 +0000 +@@ -75,6 +75,7 @@ + AC_CHECK_HEADERS([libgen.h]) + AC_CHECK_HEADERS([machine/apmvar.h]) + AC_CHECK_HEADERS([machine/apm_bios.h]) ++AC_CHECK_HEADERS([execinfo.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_CHECK_HEADER_STDBOOL +diff -Naur a/src/acpustatus.cc b/src/acpustatus.cc +--- a/src/acpustatus.cc 2014-09-01 10:21:57.000000000 +0000 ++++ b/src/acpustatus.cc 2015-01-02 16:28:35.738091329 +0000 +@@ -25,17 +25,12 @@ + #include "sysdep.h" + #include "default.h" + +-#if defined(linux) +-//#include <linux/kernel.h> +-#include <sys/sysinfo.h> +-#endif + #if defined(sun) && defined(SVR4) + #include <sys/loadavg.h> + #endif + #ifdef HAVE_KSTAT_H + #include <sys/resource.h> + #include <kstat.h> +-#include <sys/sysinfo.h> + #endif + + #ifdef HAVE_SYS_PARAM_H +@@ -56,6 +51,10 @@ + #include <dirent.h> + #include "intl.h" + ++#if defined(linux) || defined(HAVE_KSTAT_H) ++#include <sys/sysinfo.h> ++#endif ++ + #if (defined(linux) || defined(HAVE_KSTAT_H)) || defined(HAVE_SYSCTL_CP_TIME) + + extern ref<YPixmap> taskbackPixmap; +diff -Naur a/src/misc.cc b/src/misc.cc +--- a/src/misc.cc 2014-09-01 10:21:57.000000000 +0000 ++++ b/src/misc.cc 2015-01-02 16:31:00.722096379 +0000 +@@ -15,7 +15,7 @@ + #include <libgen.h> + #endif + +-#ifdef linux ++#if defined(linux) && defined(HAVE_EXECINFO_H) + #include <execinfo.h> + #endif + +@@ -543,7 +543,7 @@ + } + + void show_backtrace() { +-#ifdef linux ++#if defined(linux) && defined(HAVE_EXECINFO_H) + void *array[20]; + + fprintf(stderr, "\nbacktrace:\n"); diff --git a/x11-wm/icewm/files/icewm-defaults.patch b/x11-wm/icewm/files/icewm-defaults.patch new file mode 100644 index 000000000000..72e5410db4fe --- /dev/null +++ b/x11-wm/icewm/files/icewm-defaults.patch @@ -0,0 +1,13 @@ +--- src/default.h.old 2011-11-23 18:04:22.429626938 +0200 ++++ src/default.h 2011-11-23 18:04:38.416824083 +0200 +@@ -161,8 +161,8 @@ + #endif + + XSV(const char *, mailBoxPath, 0) +-XSV(const char *, mailCommand, "xterm -name pine -title PINE -e pine") +-XSV(const char *, mailClassHint, "pine.XTerm") ++XSV(const char *, mailCommand, "xterm -name alpine -title ALPINE -e alpine") ++XSV(const char *, mailClassHint, "alpine.XTerm") + XSV(const char *, newMailCommand, 0) + XSV(const char *, lockCommand, 0) + XSV(const char *, clockCommand, "xclock -name icewm -title Clock") diff --git a/x11-wm/icewm/files/icewm-fribidi.patch b/x11-wm/icewm/files/icewm-fribidi.patch new file mode 100644 index 000000000000..66691d78a3ff --- /dev/null +++ b/x11-wm/icewm/files/icewm-fribidi.patch @@ -0,0 +1,83 @@ +--- src/yfontxft.cc.old 2009-09-25 00:07:51.000000000 +0300 ++++ src/yfontxft.cc 2009-09-25 00:18:09.000000000 +0300 +@@ -6,6 +6,11 @@ + #include "ypaint.h" + #include "yxapp.h" + #include "intl.h" ++#include <stdio.h> ++ ++#ifdef CONFIG_FRIBIDI ++ #include <fribidi/fribidi.h> ++#endif + + /******************************************************************************/ + +@@ -68,10 +73,45 @@ + char_t * str, size_t len) + { + XftColor *c = *g.color(); ++ ++#ifdef CONFIG_FRIBIDI ++ ++#define STATIS_STRING_SIZE 256 ++ ++ // Based around upstream (1.3.2) patch with some optimization ++ // on my end. (reduce unnecessary memory allocation) ++ // - Gilboa ++ ++ char_t static_str[STATIS_STRING_SIZE]; ++ char_t *vis_str = static_str; ++ ++ if (len >= STATIS_STRING_SIZE) ++ { ++ vis_str = new char_t[len+1]; ++ if (!vis_str) ++ return; ++ } ++ ++ FriBidiCharType pbase_dir = FRIBIDI_TYPE_N; ++ fribidi_log2vis(str, len, &pbase_dir, //input ++ vis_str, // output ++ NULL, NULL, NULL // "statistics" that we don't need ++ ); ++ str = vis_str; ++#endif ++ + XftDrawString(g.handleXft(), c, font, + x - g.xorigin(), + y - g.yorigin(), + str, len); ++ ++#ifdef CONFIG_FRIBIDI ++ ++ if (vis_str != static_str) ++ delete[] str; ++ ++#endif ++ + } + + static void textExtents(XftFont * font, char_t * str, size_t len, +--- configure.in.old 2009-09-25 00:05:08.000000000 +0300 ++++ configure.in 2009-09-25 00:07:14.000000000 +0300 +@@ -307,6 +307,20 @@ + features="${features} i18n" + fi + ++dnl =================================================== Right to left support === ++dnl ++AC_ARG_ENABLE(fribidi, ++ [ --disable-fribidi Disable right to left support]) ++ ++if test "$enable_fribidi" != "no" && test "$enable_i18n" != "no"; then ++ PKG_CHECK_MODULES(FRIBIDI, fribidi) ++ ++ AC_DEFINE(CONFIG_FRIBIDI,1, [Define to enable fribidi support]) ++ ++ CORE_CFLAGS="${CORE_CFLAGS} ${FRIBIDI_CFLAGS}" ++ CORE_LIBS="${CORE_LIBS} ${FRIBIDI_LIBS}" ++fi ++ + dnl ============================================================ NLS Support === + dnl + AC_ARG_ENABLE(nls, diff --git a/x11-wm/icewm/files/icewm-keys.patch b/x11-wm/icewm/files/icewm-keys.patch new file mode 100644 index 000000000000..7e136bb93288 --- /dev/null +++ b/x11-wm/icewm/files/icewm-keys.patch @@ -0,0 +1,43 @@ +--- icewm-1.2.30/lib/keys.in.old 2007-01-18 13:55:20.000000000 +0200 ++++ icewm-1.2.30/lib/keys.in 2007-01-18 16:07:07.000000000 +0200 +@@ -9,28 +9,21 @@ + # You'll have to omit XK_ prefixs and to replace XF86XK_ prefixes by + # XF86. Valid modifiers are Alt, Ctrl, Shift, Meta, Super and Hyper. + # +-key "Alt+Ctrl+t" xterm +-key "Alt+Ctrl+f" fte +-key "Alt+Ctrl+e" nedit +-key "Alt+Ctrl+g" gimp +-key "Alt+Ctrl+n" netscape -noraise -remote openBrowser +-key "Alt+Ctrl+b" netscape -noraise -remote openBookmarks +-key "Alt+Ctrl+m" netscape -noraise -remote openURL(mailto:,new-window) ++key "Alt+Ctrl+t" xterm ++key "Alt+Ctrl+b" xdg-open about:blank ++key "Alt+Ctrl+s" xdg-open http://www.google.com + +-key "Alt+Ctrl+KP_Divide" aumix -v -5 # lower volume +-key "Alt+Ctrl+KP_Multiply" aumix -v +5 # raise volume ++key "Super+KP_Subtract" amixer sset PCM 5%- ++key "Super+KP_Add" amixer sset PCM 5%+ + + # "Multimedia key" bindings for XFree86. Gather the keycodes of your + # advanced function keys by watching the output of the xev command whilest + # pressing those keys and map those symbols by using xmodmap. + +-key "XF86Standby" killall -QUIT icewm +-key "XF86AudioLowerVolume" aumix -v -5 +-key "XF86AudioRaiseVolume" aumix -v +5 +-key "XF86AudioMute" aumix -v 0 +-key "XF86AudioPlay" cdplay play 1 +-key "XF86AudioStop" cdplay stop +-key "XF86HomePage" netscape -noraise -remote openHomepage +-key "XF86Mail" netscape -noraise -remote openURL(mailto:,new-window) +-key "XF86Search" netscape -noraise -remote openURL(http://www.google.com/) +-key "XF86Eject" eject ++key "XF86Standby" killall -QUIT icewm ++key "XF86AudioLowerVolume" amixer sset PCM 5%- ++key "XF86AudioRaiseVolume" amixer sset PCM 5%+ ++key "XF86AudioMute" amixer sset PCM 0% ++key "XF86HomePage" xdg-open about:blank ++key "XF86Search" xdg-open http://www.google.com ++key "XF86Eject" eject diff --git a/x11-wm/icewm/files/icewm-startup b/x11-wm/icewm/files/icewm-startup new file mode 100644 index 000000000000..048ab5938486 --- /dev/null +++ b/x11-wm/icewm/files/icewm-startup @@ -0,0 +1,4 @@ +#!/bin/sh +[ ! -d ~/.icewm ] && mkdir ~/.icewm +XDG_MENU_PREFIX="gnome-" icewm-xdg-menu --entire-menu --with-theme-paths --icon-size 16 --theme gnome > ~/.icewm/programs.autogen + diff --git a/x11-wm/icewm/files/icewm-toolbar.patch b/x11-wm/icewm/files/icewm-toolbar.patch new file mode 100644 index 000000000000..a6f0f15f52d3 --- /dev/null +++ b/x11-wm/icewm/files/icewm-toolbar.patch @@ -0,0 +1,12 @@ +--- icewm-1.2.30/lib/toolbar.in.old 2007-01-18 18:51:55.000000000 +0200 ++++ icewm-1.3.7/lib/toolbar.in 2012-06-10 09:36:00.000000000 +0200 +@@ -4,6 +4,6 @@ + # since modifications to this file will be discarded when you + # (re)install icewm. + # +-prog XTerm xterm xterm +-prog FTE fte fte +-prog Netscape netscape netscape ++prog xterm /usr/share/icons/gnome/16x16/apps/terminal.png xterm ++prog "Web browser" /usr/share/icons/gnome/16x16/apps/web-browser.png xdg-open about:blank ++ diff --git a/x11-wm/icewm/files/icewm-xdg-menu b/x11-wm/icewm/files/icewm-xdg-menu new file mode 100644 index 000000000000..529f9e2ab3b4 --- /dev/null +++ b/x11-wm/icewm/files/icewm-xdg-menu @@ -0,0 +1,128 @@ +#!/usr/bin/python2 +""" +This script generates FreeDesktop application menu for IceWM window manager. + +Written by Konstantin Korikov <lostclus@ua.fm>, put in the public domain + +Requires pyxdg http://cvs.freedesktop.org/cgi-bin/viewcvs.cgi/pyxdg/ + +USAGE EXAMPLE + +Add to $HOME/.icewm/menu this line: + + menuprog Applications - icewm-xdg-menu + +and restart IceWM. +""" + +import sys +import locale +import getopt +import re +import xdg.Menu +import xdg.DesktopEntry +import xdg.IconTheme +import xdg.Config + +version = "0.3" + +def print_usage(exit_code = 1): + print """Usage: %s [options] +Options: + --locale=locale set output languege and encoding + --root-folder folder folder to generate (for example: /Games) + --terminal command set terminal emulator command (default: xterm -e %%s) + --default-folder-icon icon icon for folders that not provide Icon option + --default-entry-icon icon icon for entries that not provide Icon option + --with-theme-paths convert icon base names to icon absolute paths + using icon theme + --entire-menu print entire menu + --icon-size set default icon size + --theme theme set icon theme + --help print this help and exit + --version print version and exit +""" % sys.argv[0] + sys.exit(exit_code) + +def print_version(): + print "%s version %s" % ( + os.path.basename(sys.argv[0]), version) + sys.exit(0) + +root_folder = "" +terminal = "xterm -e %s" +default_folder_icon = "folder" +default_entry_icon = "-" +entire_menu = False +with_theme_paths = False +icon_size = 16 + +exec_clean1_re = re.compile(r'%[a-zA-Z]') +exec_clean2_re = re.compile(r'%%') +encoding = None +locale_str = None + +def find_icon(entry): + icon = entry.getIcon() + if icon and with_theme_paths: + icon = xdg.IconTheme.getIconPath(icon, icon_size) or icon + return icon + +def process_menu(menu): + for entry in menu.getEntries(): + if isinstance(entry, xdg.Menu.Menu): + name = entry.getName() or entry.DesktopFileID + icon = find_icon(entry) or default_folder_icon + + if entire_menu: + print ("menu \"%s\" \"%s\" {" % (name, icon)).encode(encoding) + process_menu(entry) + print "}".encode(encoding) + else: + print (("menuprog \"%s\" \"%s\" %s" % (name, icon, sys.argv[0])) + + (" --root-folder \"%s\"" % entry.getPath(org=True)) + + (" --terminal \"%s\"" % terminal) + + (" --default-folder-icon \"%s\"" % default_folder_icon) + + (" --default-entry-icon \"%s\"" % default_entry_icon) + + (" --theme \"%s\"" % xdg.Config.icon_theme) + + (" --icon-size \"%d\"" % icon_size) + + (with_theme_paths and " --with-theme-paths" or "")).encode(encoding), + if locale_str: + print (" --locale \"%s\"" % locale_str).encode(encoding), + print + elif isinstance(entry, xdg.Menu.MenuEntry): + de = entry.DesktopEntry + name = de.getName() or entry.DesktopFileID + icon = find_icon(de) or default_entry_icon + execute = exec_clean2_re.sub('%', exec_clean1_re.sub('', de.getExec())) + if de.getTerminal(): execute = terminal % execute + print ("prog \"%s\" \"%s\" %s" % (name, icon, execute)).encode(encoding) + +try: opts, args = getopt.getopt(sys.argv[1:], "", + ("help", "version", "locale=", + "root-folder=", "terminal=", "default-folder-icon=", + "default-entry-icon=", "entire-menu", "theme=", "with-theme-paths", + "icon-size=")) +except getopt.GetoptError: print_usage() + +locale.setlocale(locale.LC_ALL, "") + +for o, v in opts: + if o == "--locale": + locale_str = v + locale.setlocale(locale.LC_ALL, locale_str) + if o == "--root-folder": root_folder = v + elif o == "--terminal": terminal = v + elif o == "--default-folder-icon": default_folder_icon = v + elif o == "--default-entry-icon": default_entry_icon = v + elif o == "--entire-menu" : entire_menu = True + elif o == "--with-theme-paths" : with_theme_paths = True + elif o == "--icon-size": icon_size = int(v) + elif o == "--theme" : xdg.Config.setIconTheme(v) + elif o in ("-h", "-?", "--help"): print_usage(0) + elif o in ("-v", "--version"): print_version() + +encoding = locale.getlocale()[1] or 'UTF-8' +menu = xdg.Menu.parse() +if root_folder: menu = menu.getMenu(root_folder) +process_menu(menu) diff --git a/x11-wm/icewm/icewm-1.3.10.ebuild b/x11-wm/icewm/icewm-1.3.10.ebuild new file mode 100644 index 000000000000..0ea58766e110 --- /dev/null +++ b/x11-wm/icewm/icewm-1.3.10.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils python-single-r1 + +DESCRIPTION="Ice Window Manager with Themes" +HOMEPAGE="http://www.icewm.org/ https://github.com/bbidulock/icewm" +LICENSE="GPL-2" +SRC_URI="http://github.com/bbidulock/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="bidi debug doc gnome minimal nls truetype uclibc xinerama" +REQUIRED_USE="gnome? ( ${PYTHON_REQUIRED_USE} )" + +# Tests broken in all versions, patches welcome, bug #323907, #389533 +RESTRICT="test" + +#fix for icewm preversion package names +S=${WORKDIR}/${P/_} + +RDEPEND=" + media-libs/fontconfig + x11-libs/gdk-pixbuf:2[X] + x11-libs/libX11 + x11-libs/libXrandr + x11-libs/libXext + x11-libs/libXpm + x11-libs/libXrender + x11-libs/libXft + x11-libs/libSM + x11-libs/libICE + xinerama? ( x11-libs/libXinerama ) + bidi? ( dev-libs/fribidi ) + gnome? ( + ${PYTHON_DEPS} + dev-python/pyxdg + gnome-base/gnome-desktop:2 + gnome-base/gnome-menus + gnome-base/libgnomeui ) +" +DEPEND="${RDEPEND} + >=sys-apps/sed-4 + x11-proto/xproto + x11-proto/xextproto + doc? ( app-text/linuxdoc-tools ) + nls? ( >=sys-devel/gettext-0.19.2 ) + truetype? ( >=media-libs/freetype-2.0.9 ) + xinerama? ( x11-proto/xineramaproto ) +" + +pkg_setup() { + if use truetype && use minimal; then + ewarn "You have both 'truetype' and 'minimal' use flags enabled." + ewarn "If you really want a minimal install, you will have to turn off" + ewarn "the truetype flag for this package." + fi +} + +PATCHES=( + # Fedora patches + "${FILESDIR}"/${PN}-1.3.10-menu.patch +) + +src_prepare() { + epatch ${PATCHES[@]} + + # Fix bug #486710 + use uclibc && epatch "${FILESDIR}/${PN}-1.3.8-uclibc.patch" + + if ! use doc ; then + sed '/^SUBDIRS =/s@ doc@@' -i Makefile.am || die + fi + + eautoreconf +} + +src_configure() { + if use truetype + then + myconf="${myconf} --enable-gradients --enable-shape --enable-shaped-decorations" + else + myconf="${myconf} --disable-xfreetype --enable-corefonts + $(use_enable minimal lite)" + fi + + myconf="${myconf} + --with-libdir=/usr/share/icewm + --with-cfgdir=/etc/icewm + --with-docdir=/usr/share/doc/${PF}/html + $(use_enable bidi fribidi) + $(use_enable debug) + $(use_enable gnome menus-gnome2) + $(use_enable nls i18n) + $(use_enable nls) + $(use_enable xinerama)" + + CXXFLAGS="${CXXFLAGS}" econf ${myconf} + + sed -i "s:/icewm-\$(VERSION)::" src/Makefile || die "patch failed" + sed -i "s:ungif:gif:" src/Makefile || die "libungif fix failed" +} + +src_install(){ + default + + if use gnome; then + dobin "${FILESDIR}"/icewm-xdg-menu + exeinto /usr/share/icewm/ + newexe "${FILESDIR}"/icewm-startup startup + fi + + dodoc AUTHORS BUGS CHANGES PLATFORMS README* TODO VERSION + + if ! use doc ; then + dohtml -a html,sgml doc/* + cp doc/${PN}.man "${T}"/${PN}.1 + doman "${T}"/${PN}.1 + fi + + exeinto /etc/X11/Sessions + doexe "${FILESDIR}/icewm" + + insinto /usr/share/xsessions + doins "${FILESDIR}/IceWM.desktop" +} diff --git a/x11-wm/icewm/icewm-1.3.8.ebuild b/x11-wm/icewm/icewm-1.3.8.ebuild new file mode 100644 index 000000000000..a884d32071d4 --- /dev/null +++ b/x11-wm/icewm/icewm-1.3.8.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils python-single-r1 + +DESCRIPTION="Ice Window Manager with Themes" +HOMEPAGE="http://www.icewm.org/" +LICENSE="GPL-2" +SRC_URI="mirror://sourceforge/${PN}/${P/_}.tar.gz" + +SLOT="0" +KEYWORDS="~alpha amd64 ppc ~ppc64 sparc x86" +IUSE="bidi debug gnome minimal nls truetype uclibc xinerama" +REQUIRED_USE="gnome? ( ${PYTHON_REQUIRED_USE} )" + +# Tests broken in all versions, patches welcome, bug #323907, #389533 +RESTRICT="test" + +#fix for icewm preversion package names +S=${WORKDIR}/${P/_} + +RDEPEND=" + x11-libs/gdk-pixbuf:2[X] + x11-libs/libX11 + x11-libs/libXrandr + x11-libs/libXext + x11-libs/libXpm + x11-libs/libXrender + x11-libs/libXft + x11-libs/libSM + x11-libs/libICE + xinerama? ( x11-libs/libXinerama ) + bidi? ( dev-libs/fribidi ) + gnome? ( + ${PYTHON_DEPS} + dev-python/pyxdg + gnome-base/gnome-desktop:2 + gnome-base/gnome-menus + gnome-base/libgnomeui ) + nls? ( sys-devel/gettext ) + truetype? ( >=media-libs/freetype-2.0.9 ) + media-libs/giflib +" +DEPEND="${RDEPEND} + x11-proto/xproto + x11-proto/xextproto + xinerama? ( x11-proto/xineramaproto ) + >=sys-apps/sed-4 +" + +pkg_setup() { + if use truetype && use minimal; then + ewarn "You have both 'truetype' and 'minimal' use flags enabled." + ewarn "If you really want a minimal install, you will have to turn off" + ewarn "the truetype flag for this package." + fi +} + +src_prepare() { + # Fedora patches + epatch "${FILESDIR}"/${PN}-1.3.8-menu.patch + epatch "${FILESDIR}"/${PN}-toolbar.patch + epatch "${FILESDIR}"/${PN}-keys.patch + epatch "${FILESDIR}"/${PN}-fribidi.patch + epatch "${FILESDIR}"/${PN}-1.3.7-dso.patch + epatch "${FILESDIR}"/${PN}-defaults.patch + epatch "${FILESDIR}"/${PN}-1.3.7-menuiconsize.patch + epatch "${FILESDIR}"/${PN}-1.3.8-deprecated.patch + + epatch "${FILESDIR}"/${PN}-1.3.7-gcc44.patch + + # Get thermal info from proper locations, bug #452730 + epatch "${FILESDIR}"/${PN}-1.3.7-thermal.patch + + # Debian patch fixing multiple build issues, like bug #470148 + epatch "${FILESDIR}"/${PN}-1.3.8-build-fixes.patch + + # Fix bug #486710 + use uclibc && epatch "${FILESDIR}/${P}-uclibc.patch" + + eautoreconf +} + +src_configure() { + if use truetype + then + myconf="${myconf} --enable-gradients --enable-shape --enable-shaped-decorations" + else + myconf="${myconf} --disable-xfreetype --enable-corefonts + $(use_enable minimal lite)" + fi + + myconf="${myconf} + --with-libdir=/usr/share/icewm + --with-cfgdir=/etc/icewm + --with-docdir=/usr/share/doc/${PF}/html + $(use_enable bidi fribidi) + $(use_enable debug) + $(use_enable gnome menus-gnome2) + $(use_enable nls i18n) + $(use_enable nls) + $(use_enable x86 x86-asm) + $(use_enable xinerama) + --without-esd-config" + + CXXFLAGS="${CXXFLAGS}" econf ${myconf} + + sed -i "s:/icewm-\$(VERSION)::" src/Makefile || die "patch failed" + sed -i "s:ungif:gif:" src/Makefile || die "libungif fix failed" +} + +src_install(){ + default + + if use gnome; then + dobin "${FILESDIR}"/icewm-xdg-menu + exeinto /usr/share/icewm/ + newexe "${FILESDIR}"/icewm-startup startup + fi + + dodoc AUTHORS BUGS CHANGES PLATFORMS README* TODO VERSION + dohtml -a html,sgml doc/* + + exeinto /etc/X11/Sessions + doexe "${FILESDIR}/icewm" + + insinto /usr/share/xsessions + doins "${FILESDIR}/IceWM.desktop" +} diff --git a/x11-wm/icewm/icewm-1.3.9.ebuild b/x11-wm/icewm/icewm-1.3.9.ebuild new file mode 100644 index 000000000000..eb3eaed9b855 --- /dev/null +++ b/x11-wm/icewm/icewm-1.3.9.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils python-single-r1 + +DESCRIPTION="Ice Window Manager with Themes" +HOMEPAGE="http://www.icewm.org/ https://github.com/bbidulock/icewm" +LICENSE="GPL-2" +SRC_URI="http://github.com/bbidulock/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="bidi debug doc gnome minimal nls truetype uclibc xinerama" +REQUIRED_USE="gnome? ( ${PYTHON_REQUIRED_USE} )" + +# Tests broken in all versions, patches welcome, bug #323907, #389533 +RESTRICT="test" + +#fix for icewm preversion package names +S=${WORKDIR}/${P/_} + +RDEPEND=" + media-libs/fontconfig + x11-libs/gdk-pixbuf:2[X] + x11-libs/libX11 + x11-libs/libXrandr + x11-libs/libXext + x11-libs/libXpm + x11-libs/libXrender + x11-libs/libXft + x11-libs/libSM + x11-libs/libICE + xinerama? ( x11-libs/libXinerama ) + bidi? ( dev-libs/fribidi ) + gnome? ( + ${PYTHON_DEPS} + dev-python/pyxdg + gnome-base/gnome-desktop:2 + gnome-base/gnome-menus + gnome-base/libgnomeui ) +" +DEPEND="${RDEPEND} + >=sys-apps/sed-4 + x11-proto/xproto + x11-proto/xextproto + doc? ( app-text/linuxdoc-tools ) + nls? ( >=sys-devel/gettext-0.19.2 ) + truetype? ( >=media-libs/freetype-2.0.9 ) + xinerama? ( x11-proto/xineramaproto ) +" + +pkg_setup() { + if use truetype && use minimal; then + ewarn "You have both 'truetype' and 'minimal' use flags enabled." + ewarn "If you really want a minimal install, you will have to turn off" + ewarn "the truetype flag for this package." + fi +} + +PATCHES=( + # Fedora patches + "${FILESDIR}"/${PN}-1.3.8-menu.patch + "${FILESDIR}"/${PN}-1.3.9-fribidi.patch + "${FILESDIR}"/${PN}-1.3.8-deprecated.patch + + # Debian patch fixing multiple build issues, like bug #470148 + #"${FILESDIR}"/${PN}-1.3.8-build-fixes.patch +) + +src_prepare() { + epatch ${PATCHES[@]} + + # Fix bug #486710 + use uclibc && epatch "${FILESDIR}/${PN}-1.3.8-uclibc.patch" + + if ! use doc ; then + sed '/^SUBDIRS =/s@ doc@@' -i Makefile.am || die + fi + + eautoreconf +} + +src_configure() { + if use truetype + then + myconf="${myconf} --enable-gradients --enable-shape --enable-shaped-decorations" + else + myconf="${myconf} --disable-xfreetype --enable-corefonts + $(use_enable minimal lite)" + fi + + myconf="${myconf} + --with-libdir=/usr/share/icewm + --with-cfgdir=/etc/icewm + --with-docdir=/usr/share/doc/${PF}/html + $(use_enable bidi fribidi) + $(use_enable debug) + $(use_enable gnome menus-gnome2) + $(use_enable nls i18n) + $(use_enable nls) + $(use_enable xinerama)" + + CXXFLAGS="${CXXFLAGS}" econf ${myconf} + + sed -i "s:/icewm-\$(VERSION)::" src/Makefile || die "patch failed" + sed -i "s:ungif:gif:" src/Makefile || die "libungif fix failed" +} + +src_install(){ + default + + if use gnome; then + dobin "${FILESDIR}"/icewm-xdg-menu + exeinto /usr/share/icewm/ + newexe "${FILESDIR}"/icewm-startup startup + fi + + dodoc AUTHORS BUGS CHANGES PLATFORMS README* TODO VERSION + + if ! use doc ; then + dohtml -a html,sgml doc/* + cp doc/${PN}.man "${T}"/${PN}.1 + doman "${T}"/${PN}.1 + fi + + exeinto /etc/X11/Sessions + doexe "${FILESDIR}/icewm" + + insinto /usr/share/xsessions + doins "${FILESDIR}/IceWM.desktop" +} diff --git a/x11-wm/icewm/metadata.xml b/x11-wm/icewm/metadata.xml new file mode 100644 index 000000000000..175a10c99c1b --- /dev/null +++ b/x11-wm/icewm/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>polynomial-c@gentoo.org</email> + <name>Lars Wendler</name> + </maintainer> + <longdescription> + IceWM is a window manager designed for speed, usability, and consistency. + It is able to emulate the looks of Motif, OS/2, and Windows, and allows you + to have a customizable look using pixmaps. + </longdescription> + <upstream> + <remote-id type="github">bbidulock/icewm</remote-id> + </upstream> +</pkgmetadata> |