Added patch from Debian that should fix amd64 problems. This may affect other arches...
authorKristopher Kersey <augustus@gentoo.org>
Sat, 8 Jan 2005 20:44:45 +0000 (20:44 +0000)
committerKristopher Kersey <augustus@gentoo.org>
Sat, 8 Jan 2005 20:44:45 +0000 (20:44 +0000)
x11-wm/windowmaker/Manifest
x11-wm/windowmaker/files/20_endian+64bit.diff [new file with mode: 0644]
x11-wm/windowmaker/files/digest-windowmaker-0.91.0-r2 [new file with mode: 0644]
x11-wm/windowmaker/windowmaker-0.91.0-r1.ebuild
x11-wm/windowmaker/windowmaker-0.91.0-r2.ebuild [new file with mode: 0644]

index fb54149207ce57ca27c18b935b6936fc8a41732e..28752a4c69c5f9a7810e4a7ae003e25c3be852a0 100644 (file)
@@ -1,34 +1,27 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 58b92f8943bac08e53aeeb01f640537a windowmaker-0.80.2-r2.ebuild 3437
-MD5 43e9d0c5bf62aaf821ba9624fd2e9e57 windowmaker-0.91.0.ebuild 4475
 MD5 3cb02c5d22b8d7f7ec107f5da9880a10 ChangeLog 9383
-MD5 20ba3ee0e4036e307342671f74921913 windowmaker-0.80.2-r3.ebuild 3749
 MD5 091028d21186597cb01d1440ed387951 metadata.xml 221
-MD5 e843e235a5057f861aa1ed9dc43fa863 windowmaker-0.90.0.ebuild 4490
-MD5 3c3d6a630b21bdf50c422943b2cc79fe windowmaker-0.80.2-r4.ebuild 4034
-MD5 f3c7f7695710a6a3ed27107a1d35e9cc windowmaker-0.91.0-r1.ebuild 6196
 MD5 ecb31937eebc5b0afa6785ec0afefe4d windowmaker-0.80.2-r1.ebuild 3408
-MD5 8cb3b3bf7cef606cb356c4ba82744a50 files/digest-windowmaker-0.90.0 144
-MD5 37aefa1e6f793583e8fa7890231d1721 files/wmfpo.patch 7696
-MD5 f70c1e1b121cfc32dbd802678f3b111f files/wmaker.desktop 221
-MD5 c8eb68627dc7b53b10143626018ff597 files/gtk2flickerfix.patch 1969
-MD5 8b11b75a0ece3b854bf47e03ded7e0ba files/digest-windowmaker-0.91.0-r1 144
+MD5 58b92f8943bac08e53aeeb01f640537a windowmaker-0.80.2-r2.ebuild 3437
+MD5 20ba3ee0e4036e307342671f74921913 windowmaker-0.80.2-r3.ebuild 3749
+MD5 3c3d6a630b21bdf50c422943b2cc79fe windowmaker-0.80.2-r4.ebuild 4034
+MD5 e843e235a5057f861aa1ed9dc43fa863 windowmaker-0.90.0.ebuild 4490
+MD5 d485b5d660a22b121a4ad7a56249baae windowmaker-0.91.0-r1.ebuild 6199
+MD5 43e9d0c5bf62aaf821ba9624fd2e9e57 windowmaker-0.91.0.ebuild 4475
+MD5 b925fd8c8b26f23d56d48b895d6769fb windowmaker-0.91.0-r2.ebuild 6277
 MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r1 144
+MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r2 144
+MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r3 144
 MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r4 144
-MD5 a062e261bd5aaca39bc17be01f07f1b6 files/wlist.patch 2776
-MD5 8b11b75a0ece3b854bf47e03ded7e0ba files/digest-windowmaker-0.91.0 144
+MD5 c8eb68627dc7b53b10143626018ff597 files/gtk2flickerfix.patch 1969
 MD5 a42a33a349ca84fb6e2cc5fdbd627b99 files/trance.patch.WM-0.80.2.diff 9738
-MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r3 144
 MD5 9a5c9f1b2b44a678526f0fd71b2cf51d files/windowmaker-0.80.2-r1-gentoo.patch 4331
-MD5 b5304655d4ff5441989ab94a1bdc9506 files/digest-windowmaker-0.80.2-r2 144
+MD5 a062e261bd5aaca39bc17be01f07f1b6 files/wlist.patch 2776
+MD5 37aefa1e6f793583e8fa7890231d1721 files/wmfpo.patch 7696
 MD5 915c0fe65c24d54a1507f662d7b24114 files/xinerama.patch 26662
+MD5 8cb3b3bf7cef606cb356c4ba82744a50 files/digest-windowmaker-0.90.0 144
+MD5 8b11b75a0ece3b854bf47e03ded7e0ba files/digest-windowmaker-0.91.0 144
+MD5 8b11b75a0ece3b854bf47e03ded7e0ba files/digest-windowmaker-0.91.0-r1 144
+MD5 f70c1e1b121cfc32dbd802678f3b111f files/wmaker.desktop 221
 MD5 c41215f830e33a636a440ce389db01eb files/menufocus.patch 1554
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
-
-iD8DBQFBq9ZUugEuf3OQ0akRAsDdAJ0SOwO+m0/TDuFAG7gKmQxE6RWpGQCfRZ4F
-T01tkNoHq3Skry74uOJYkNs=
-=K6Oo
------END PGP SIGNATURE-----
+MD5 f0ba434033b1f1e0956a037076da0b9c files/20_endian+64bit.diff 2740
+MD5 8b11b75a0ece3b854bf47e03ded7e0ba files/digest-windowmaker-0.91.0-r2 144
diff --git a/x11-wm/windowmaker/files/20_endian+64bit.diff b/x11-wm/windowmaker/files/20_endian+64bit.diff
new file mode 100644 (file)
index 0000000..1acf3d9
--- /dev/null
@@ -0,0 +1,82 @@
+--- WindowMaker-0.91.0/src/wmspec.c.old        2004-10-24 21:36:15.000000000 +0200
++++ WindowMaker-0.91.0/src/wmspec.c    2004-12-09 18:29:00.000000000 +0100
+@@ -27,6 +27,7 @@
+ 
+ #include <X11/Xlib.h>
+ #include <X11/Xatom.h>
++#include <X11/Xarch.h>
+ #include <string.h>
+ 
+ #include "WindowMaker.h"
+@@ -382,40 +383,54 @@
+                                 &nitems_return, &bytes_after_return, &prop_return);
+ 
+     if (rc==Success && prop_return) {
+-        unsigned int *data = (unsigned int *)prop_return;
++        unsigned long *data = (unsigned long *)prop_return;
+         unsigned int pos = 0, len = 0;
+         unsigned int best_pos = 0, best_tmp = ~0;
++        unsigned int tmp;
+         extern WPreferences wPreferences;
+         unsigned int pref_size = wPreferences.icon_size;
+         unsigned int pref_sq = pref_size*pref_size;
+-        char *src, *dst;
++        unsigned char *src, *dst;
+         RImage *new_rimage;
+ 
+         do {
+             len = data[pos+0]*data[pos+1];
+-            unsigned int tmp = pref_sq-len;
++            tmp = pref_sq-len;
+             if (tmp < best_tmp && tmp > 0) {
+                 best_tmp = tmp;
+-                best_pos = pos;
++                best_pos = pos+2;
+             }
+             pos += 2+len;
+         } while (pos < nitems_return && len != 0);
+ 
+-        new_rimage = RCreateImage(data[best_pos+0], data[best_pos+1], True);
+-        len = data[best_pos+0] * data[best_pos+1];
+-        src = (char*)&data[best_pos+2];
+-        dst = new_rimage->data;
+-        for (pos=0; pos<len; ++pos, src+=4, dst+=4) {
+-            dst[0] = src[2]; /* R */
+-            dst[1] = src[1]; /* G */
+-            dst[2] = src[0]; /* B */
+-            dst[3] = src[3]; /* A */
+-        }
++      if ( best_pos < 2 )  best_pos = 2;
++
++        new_rimage = RCreateImage(data[best_pos-2], data[best_pos-1], True);
+ 
+         if (new_rimage) {
+-            if (wwin->net_icon_image)
+-                RReleaseImage(wwin->net_icon_image);
+-            wwin->net_icon_image = new_rimage;
++          len = data[best_pos-2] * data[best_pos-1];
++          dst = new_rimage->data;
++
++        for (pos = best_pos; pos < best_pos + len; pos++, dst += 4) {
++          src = (unsigned char *) &data[pos];
++
++#if BYTE_ORDER == BIG_ENDIAN
++          src += sizeof(unsigned long) - 4;
++          dst[0] = src[1]; /* R */
++          dst[1] = src[2]; /* G */
++          dst[2] = src[3]; /* B */
++          dst[3] = src[0]; /* A */
++#else /* Little endian */
++          dst[0] = src[2]; /* R */
++          dst[1] = src[1]; /* G */
++          dst[2] = src[0]; /* B */
++          dst[3] = src[3]; /* A */
++#endif /* endianness */
++        }
++
++        if (wwin->net_icon_image)
++          RReleaseImage(wwin->net_icon_image);
++        wwin->net_icon_image = new_rimage;
+         }
+ 
+         XFree(prop_return);
diff --git a/x11-wm/windowmaker/files/digest-windowmaker-0.91.0-r2 b/x11-wm/windowmaker/files/digest-windowmaker-0.91.0-r2
new file mode 100644 (file)
index 0000000..8973161
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 be07953e905d1e42fe7a65ac2193a5f9 WindowMaker-0.91.0.tar.gz 2742380
+MD5 07c7700daaaf232bc490f5abaabef085 WindowMaker-extra-0.1.tar.gz 238018
index e139b83eed347b454201da34eee1d2096488c4df..9402064e1feb7ea24c930640bf83e6525457a7b3 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2004 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.91.0-r1.ebuild,v 1.8 2004/11/30 02:09:03 kloeri Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.91.0-r1.ebuild,v 1.9 2005/01/08 20:44:45 augustus Exp $
 
 inherit eutils gnustep-funcs
 
@@ -24,7 +24,7 @@ RDEPEND="nls? ( >=sys-devel/gettext-0.10.39 )
 
 SLOT="0"
 LICENSE="GPL-2"
-KEYWORDS="x86 ppc sparc amd64 ~mips alpha"
+KEYWORDS="x86 ppc sparc ~amd64 ~mips alpha"
 
 if use gnustep; then
        egnustep_install_domain "System"
diff --git a/x11-wm/windowmaker/windowmaker-0.91.0-r2.ebuild b/x11-wm/windowmaker/windowmaker-0.91.0-r2.ebuild
new file mode 100644 (file)
index 0000000..17b1ca4
--- /dev/null
@@ -0,0 +1,191 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/windowmaker/windowmaker-0.91.0-r2.ebuild,v 1.1 2005/01/08 20:44:45 augustus Exp $
+
+inherit eutils gnustep-funcs
+
+S=${WORKDIR}/${P/windowm/WindowM}
+
+DESCRIPTION="The fast and light GNUstep window manager"
+SRC_URI="ftp://ftp.windowmaker.org/pub/source/release/${P/windowm/WindowM}.tar.gz
+       http://www.windowmaker.org/pub/source/release/WindowMaker-extra-0.1.tar.gz"
+HOMEPAGE="http://www.windowmaker.org/"
+
+IUSE="gif gnustep jpeg nls png tiff modelock vdesktop xinerama"
+DEPEND="x11-base/xorg-x11
+       media-libs/fontconfig
+       gif? ( || ( >=media-libs/libungif-4.1.0
+                       >=media-libs/giflib-4.1.0-r3))
+       png? ( >=media-libs/libpng-1.2.1 )
+       jpeg? ( >=media-libs/jpeg-6b-r2 )
+       tiff? ( >=media-libs/tiff-3.6.1-r2 )"
+RDEPEND="nls? ( >=sys-devel/gettext-0.10.39 )
+       gnustep? ( gnustep-base/gnustep-env )"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~ppc ~sparc ~amd64 ~mips ~alpha"
+
+if use gnustep; then
+       egnustep_install_domain "System"
+fi
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${FILESDIR}/menufocus.patch || die "menu focus patch failed"
+       epatch ${FILESDIR}/20_endian+64bit.diff || die "64-bit fix patch failed"
+}
+
+src_compile() {
+       local myconf
+       local gs_user_postfix
+
+       # image format types
+       # xpm is provided by X itself
+       myconf="--enable-xpm $(use_enable png) $(use_enable jpeg) $(use_enable gif) $(use_enable tiff)"
+
+       # non required X capabilities
+       myconf="${myconf} $(use_enable modelock) $(use_enable vdesktop) $(use_enable xinerama)"
+
+       # integrate with GNUstep environment, or not
+       if use gnustep ; then
+               egnustep_env
+               myconf="${myconf} --with-appspath=$(egnustep_system_root)/Applications"
+       else
+               # no change from wm-0.80* ebuilds, as to not pollute things more
+               myconf="${myconf} --with-appspath=/usr/lib/GNUstep/Applications"
+       fi
+
+       use nls \
+               && export LINGUAS="`ls po/*.po | sed 's:po/\(.*\)\.po$:\1:'`" \
+               || myconf="${myconf} --disable-nls --disable-locale"
+
+       # default settings with $myconf appended
+       econf \
+               --sysconfdir=/etc/X11 \
+               --with-x \
+               --enable-usermenu \
+               --with-pixmapdir=/usr/share/pixmaps \
+               ${myconf} || die
+
+       # don't know if zh_TW is still non-functional, but leaving it out still
+       #  for now
+       cd ${S}/po
+       cp Makefile Makefile.orig
+       sed 's:zh_TW.*::' \
+               Makefile.orig > Makefile
+
+       cd ${S}/WPrefs.app/po
+       cp Makefile Makefile.orig
+       sed 's:zh_TW.*::' \
+               Makefile.orig > Makefile
+
+       cd ${S}
+       for file in ${S}/WindowMaker/*menu*; do
+               if [ -r $file ]; then
+                       if use gnustep ; then
+                               sed -e "s/\/usr\/local\/GNUstep/`cat ${TMP}/sed.gs_prefix`System/g;
+                                       s/XXX_SED_FSLASH/\//g;" < $file > $file.tmp
+                       else
+                               sed -e 's/\/usr\/local\/GNUstep/\/usr\/lib\/GNUstep/g;' < $file > $file.tmp
+                       fi
+                       mv $file.tmp $file;
+
+                       sed -e 's/\/usr\/local\/share\/WindowMaker/\/usr\/share\/WindowMaker/g;' < $file > $file.tmp;
+                       mv $file.tmp $file;
+               fi;
+       done;
+
+       cd ${S}
+       emake -j1 || die "windowmaker: make has failed"
+
+       cd ${S}
+       for file in ${S}/WindowMaker/Defaults/W*; do
+               if [ -r $file ]; then
+                       if use gnustep; then
+                               sed -e "s/\$HOME\/GNUstep\//\$HOME`cat ${TMP}/sed.gs_user_root_suffix`/g;
+                                               s/XXX_SED_FSLASH/\//g;" < $file > $file.tmp
+                               mv $file.tmp $file;
+
+                               sed -e "s/~\/GNUstep\//~`cat ${TMP}/sed.gs_user_root_suffix`/g;
+                                               s/XXX_SED_FSLASH/\//g;" < $file > $file.tmp
+                               mv $file.tmp $file;
+                       fi
+               fi
+       done;
+
+       # WindowMaker Extra Package (themes and icons)
+       cd ../WindowMaker-extra-0.1
+       econf || die "windowmaker-extra: configure has failed"
+       emake || die "windowmaker-extra: make has failed"
+}
+
+src_install() {
+       emake install DESTDIR=${D} || die "windowmaker: install has failed."
+
+       dodoc AUTHORS BUGFORM BUGS ChangeLog COPYING* INSTALL* FAQ* \
+             MIRRORS README* NEWS TODO
+
+       # WindowMaker Extra
+       cd ../WindowMaker-extra-0.1
+       emake install DESTDIR=${D} || die "windowmaker-extra: install failed"
+
+       newdoc README README.extra
+
+       # create wmaker session shell script
+       echo "#!/bin/bash" > wmaker
+       echo "/usr/bin/wmaker" >> wmaker
+       exeinto /etc/X11/Sessions/
+       doexe wmaker
+
+       insinto /etc/X11/dm/Sessions
+       doins ${FILESDIR}/wmaker.desktop
+}
+
+pkg_postinst() {
+       einfo "If you are using 'startx' from the command line, and require"
+       einfo "  .xinitrc, you may need to execute 'wmaker.inst', which will"
+       einfo "  setup default configurations for you."
+       einfo ""
+
+       if use gnustep ; then
+               einfo "WPrefs.app is installed in you GNUstep System Applications directory."
+               einfo ""
+               ewarn "*** IMPORTANT ***"
+               ewarn "If you changed the GNUstep user root, via a use flag like 'layout-osx-like' in gnustep-make"
+               ewarn "  you will have to repair the personal WindowMaker config files you have.  For example,"
+               ewarn "  if you changed the default user root as above, \$HOME/GNUstep to ~/, these commands"
+               ewarn "  will help you:"
+               ewarn "cd ; cp -a ./GNUstep/.AppInfo . ; cp -a ./GNUstep/Defaults/W* ./Defaults/ ;"
+               ewarn "  cp -a ./GNUstep/Library/Icons ./GNUstep/Library/WindowMaker ./Library/"
+               ewarn "The above commands are specifically to help repair your WindowMaker install;"
+               ewarn "  a less elegant, but reasonable method is to simply run wmaker.inst again,"
+               ewarn "  **after sourcing GNUstep.sh**, as this env script sets the GNUSTEP_USER_ROOT variable."
+               ewarn "Generally, other config files in your old ~/GNUstep directory, can simply be"
+               ewarn "  moved to the new GNUSTEP_USER_ROOT."
+               ewarn "^^^ IMPORTANT ^^^"
+               ewarn ""
+       else
+               einfo "Even though you are not using the GNUstep environment, wmaker.inst will"
+               einfo "  create a 'GNUstep' directory in your home -- it uses this dirctory"
+               einfo "  to store your WindowMaker configuration files."
+               einfo "WPrefs.app can be launched at /usr/lib/GNUstep/Applications/WPrefs.app/WPrefs"
+               einfo "  or by simply **clicking on it in the WindowMaker default dock.**"
+               einfo ""
+       fi
+
+       if use vdesktop ; then
+               ewarn "Note that enabling support for NETWM virtual desktops will make"
+               ewarn "  menus that should be autoscrolling seem to not scroll, as they"
+               ewarn "  are not off the screen, but rather in another virtual desktop."
+               ewarn ""
+       fi
+
+       ewarn "This package provides libwraster.so.3.  Packages depending on"
+       ewarn "  libwraster.so.2 will have to be rebuilt, i.e. 'revdep-rebuild'"
+
+       ebeep 4
+       epause 4
+}
+