summaryrefslogtreecommitdiff
path: root/x11-wm/afterstep
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /x11-wm/afterstep
reinit the tree, so we can have metadata
Diffstat (limited to 'x11-wm/afterstep')
-rw-r--r--x11-wm/afterstep/Manifest14
-rw-r--r--x11-wm/afterstep/afterstep-2.2.12.ebuild121
-rw-r--r--x11-wm/afterstep/afterstep-2.2.9.ebuild134
-rw-r--r--x11-wm/afterstep/files/afterstep2
-rw-r--r--x11-wm/afterstep/files/afterstep-2.2.12-gcc5.patch227
-rw-r--r--x11-wm/afterstep/files/afterstep-2.2.9-alpha.patch15
-rw-r--r--x11-wm/afterstep/files/afterstep-2.2.9-ldflags.patch37
-rw-r--r--x11-wm/afterstep/files/afterstep-2.2.9-libpng15.patch31
-rw-r--r--x11-wm/afterstep/files/afterstep-2.2.9-make_session_data_file.patch14
-rw-r--r--x11-wm/afterstep/files/no-alternatives-2.2.9.patch29
-rw-r--r--x11-wm/afterstep/metadata.xml8
11 files changed, 632 insertions, 0 deletions
diff --git a/x11-wm/afterstep/Manifest b/x11-wm/afterstep/Manifest
new file mode 100644
index 000000000000..21232df9aa05
--- /dev/null
+++ b/x11-wm/afterstep/Manifest
@@ -0,0 +1,14 @@
+AUX afterstep 29 SHA256 c6e31f7e4912188f1ce7c41298cb66178944960628e1451efd42331236cbc3c5 SHA512 194b2af81df48b4c87704bee1db1d01c4cfac3a529f76d8d073fb1358aa95eb9e84a9c2a7da12983a64d61b63e2689b93a79b778007bb8bcdfad8574086ba852 WHIRLPOOL 15e5739cf470a100616019fcc53326b8a9ba2aef560b2ecf732a388175765ccdf0f9c0b0d6c4cf92aa4ee2a5445e635e5c1b4db36fdd75244fedf78310e71e55
+AUX afterstep-2.2.12-gcc5.patch 9374 SHA256 cc9178ff4c65b32b59972d9475b8e0e16943819d3eafa7fb0ae032ca4d57e564 SHA512 81f0998409d9d45f8a25d66cd1c0ae07d23f6ed40f77f56241aae9085d0098510058807f24310c557825ebd67a513cb0c67ff0430cb2f33d2e355e6482c2b491 WHIRLPOOL 674f4e3529260efb74d39eb0e36183ffd488dbf74af4f32ac0457dfbf2fc4370973a40b435896f2df24bc32e9d1837231c7cbf47aa02468b7d197dec73704918
+AUX afterstep-2.2.9-alpha.patch 475 SHA256 3208d1126ba14fc8c39c537cea701b2c89bcf9f778645add0e3465ce74139cd6 SHA512 7c963518b307346608948b956ef747c5cd5e437ee47682eb0352149dc4fc1a1995902097091882e1600bad1b0edd26e2ca2af797217372122b24b8cfbcd3ead1 WHIRLPOOL ba84f91426f2541a4b08ee006b64dd82edd0327091118ab44610bce48e0424d915996556bd73b26467bd00dade7cee43121267daef9583e45e797a97cd09d5f1
+AUX afterstep-2.2.9-ldflags.patch 1374 SHA256 80d9ff3b0106ff9315eb2f4406d29c6f95a10818f7821866e39a405c1cc3b562 SHA512 92640bfebcbb7f813112268ac18cf750530014b0bc1f187a57333b665f4234da4d0eb996b81517fc59ed3b507fced4a6ae8b0a9c255f2ae809cf1ecbaee43cdf WHIRLPOOL 74dbb3565401b6c15ebf004f2174f66a22de284403ca6730fbc8c6628b8c90fc4ddfd4fcd6abeefbf2cc7691b4209c5e49bac6fbcc274b55105cea41ffe02fc3
+AUX afterstep-2.2.9-libpng15.patch 1132 SHA256 4b08424b98d0b18f744f0a5fe0000f9149963b84bc28487a3e3f8eae1804560d SHA512 9f025d870b7b16bbb63e7097847b528b70e54e3174e1b71b4f8925f9a79f472c4ee8dda957394708d6c65c94068f0ed81273dff4c57bf11d6cf08fff895a6c22 WHIRLPOOL 1f4d861584b991b7002760f52e8198335cf7410d6fdb6101612830f2dc3a25089f0275173938627d5c6b07ebae73d6f3fc5d49fac2a170b6f5abac92ceaea7e0
+AUX afterstep-2.2.9-make_session_data_file.patch 422 SHA256 3fa0e494903d374db0da66de432e407889356cd50d1072aa4078516f5d31b5a3 SHA512 966955ed4bc74e727a2c3b2f521b322a32e29a14f1974aee1bedde5cbd06ac104509ed397ba5f2dda1cb6ee3a8aa63d0c90be1c243dd81704a4297403c6092f6 WHIRLPOOL ce33fca0e46a874e4d6bd5dcaab3d06766b211eaec83225a1c5fb585d1823d9bdb0544c3be53d87f03ce8a41efeddf7b99cde908b9a3c61bd06a477de79fcf59
+AUX no-alternatives-2.2.9.patch 1214 SHA256 f7a87859d043b210dd309128c9338e938f695cf248d2987ae2b8535243405e4f SHA512 d8d98d2f9cdab4818fbbc4050c0e5a6b244365e401996ffc2cd24e97fdb4f795ff396dd12766cd7c180bf0b717ac7f55c7072afc0761a526e529c300970b07fa WHIRLPOOL a94163a1dd362706f983f025a8621ae3a6427bc89e6fe94060ffd6b846f3d4dea269fecf8c7d0e7d13e844790bd6caf8255e9d579d41fc1b41a6e36fa7b98217
+DIST AfterStep-2.2.12.tar.bz2 6132233 SHA256 ff15da51d4122b8e0286567052951e11a746e7d878dade9ce37f9217439ffbc8 SHA512 5cac6ce74b24cbcc5b8e8a6f7cc9308e110f0d09597af1fa0a8730d5f5111932a23332629bc4d372fc8d9583a514d97e35f747b17decf8d4ebfe5e3f20cdbbee WHIRLPOOL eca804facc37252ebd8e3b8d02f23b6fc66f8a8895337bcfd5cbd1f88f4e09868d0e2005a8be29be785b1259914bca132da7ac63f584964e535c3108a0182028
+DIST AfterStep-2.2.9.tar.bz2 6094706 SHA256 678493cd3ec44eee219d65fee0e612f2d1e36f8b93cbabdf40a22133c0617148 SHA512 1191d918785d3e57f1921b1df21639eeae3298fb5f0f6e23a551f47afc5f0e0c945bae17b1ab8ba908ab0bd8476f5d358051593ff977c442783f94bd2e655ea5 WHIRLPOOL 49bae7a57f7f25703a8f3cbe4d8f18ba59131c9f1e5018de28f01eaee08e1f39b2f26e685d3d27f2d15ab7623fe88b61fa0997885a8a79b580a5225902bf6381
+EBUILD afterstep-2.2.12.ebuild 3451 SHA256 6a6bb907adac52dfd3d620a1e28d737b0195b94e2458f9e26e21ec0ea692006a SHA512 29a42713aa8b6e034177c9d782faa7f223881fea2e7e69e6c8f047e5fac9e1efad60b7a4a7894fb38447e6d75be5d6260792fab391da139451a94e40a7fe1031 WHIRLPOOL 9e6ab9d85c141c328fb75a0fe69fbc16683d788b9b24e2b7efaf1312091dea2dc4a7fdb3745fd52f6c7f7cc2e96f6eec70f0d331033f2d812d268df4e8541246
+EBUILD afterstep-2.2.9.ebuild 3557 SHA256 4b33da4a3076fb18f7671719cfe7f7cef6caa20ffd82b7202ebd4900068e3673 SHA512 9ed6878f48ef88704f51727a69a2f1ec6cc697007a40ba0755b8d8997d7941e2bf4dd85b037fdcf1df12ea9dbe2a1e3424e972162c72919b841800ff1dfb4cc0 WHIRLPOOL 99f51731df0487d41b1cfb9acdb22d40113232a82884acedbe8bc1443949508f42142c11a14e7c13350f99b5de9df4866e10a5e9bd4dc46dac6e3ba506f5a6b5
+MISC ChangeLog 3947 SHA256 9668625c783629edfaa423136bd1cadc3462ab43863afdbbd201944f7f3d8bcb SHA512 149a33ac1a440b093842e1a5704c318c12589fe49fc6faab0f35db64eb6e4e3a9471051246ed0da8487e7a03465fe3457dbf5b1affb587e6c16eb837ad276934 WHIRLPOOL 2dfc5af678e47ee603e21e132df8458d45bc2631ecc133c8cbec18880b7b83a53c7d7ef7dc8e0221f954ddf4b056c0fd268a92cee1bb7292ea6450adbe49db77
+MISC ChangeLog-2015 15462 SHA256 249cb29f925f4f261ca712eae67eec1300f4a3ce2713aa4e168aced5bdb53e0c SHA512 a312bd3aed8035cce53cbcfeb0225d8b29ffb83e012fde30b9ca992b68dabea5844f60c0b99212c7f50bba5b97a36fb750d6dfcab6fe2d57744f9d6a50d076c0 WHIRLPOOL c115ffde392adebec3756f39a6ce3a6e5df801b1ad020af0cc1ae45e1a45a8cc9ecdd0baa238fa12f10162785e3e8c7eb907bfeb01d727a674a5321d231176cd
+MISC metadata.xml 245 SHA256 df6d6782fd9d5b1a322b4acf1433c3961216bed7a274948566f41a57f3905fe4 SHA512 9e09ae84ab10dd84251f53e570c7d5bef4a7e3cbfcbba3548d8e3f2a00545b69fb3d01a5905c0d95826b6d0bef822c5c20158c0e70314be191d1d47456aa9a43 WHIRLPOOL 553e44dfba711e188d1babe52756642db8cdc45755fb2f3d203c014aeeb6db8ae2fc8a0e9d1751e16a7791c1ab1a83dc25c1ba704316bd66b9258f78d40951c0
diff --git a/x11-wm/afterstep/afterstep-2.2.12.ebuild b/x11-wm/afterstep/afterstep-2.2.12.ebuild
new file mode 100644
index 000000000000..ecc8881ac2ba
--- /dev/null
+++ b/x11-wm/afterstep/afterstep-2.2.12.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="A feature rich NeXTish window manager"
+HOMEPAGE="http://www.afterstep.org/"
+SRC_URI="ftp://ftp.afterstep.org/stable/AfterStep-${PV}.tar.bz2
+ mirror://sourceforge/${PN}/AfterStep-${PV}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~arm ~hppa ia64 ~mips ~ppc ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="alsa debug dbus gif gtk jpeg cpu_flags_x86_mmx nls png svg tiff xinerama"
+
+RDEPEND="media-libs/freetype
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ jpeg? ( virtual/jpeg:= )
+ gif? ( >=media-libs/giflib-4.1.0 )
+ gtk? ( x11-libs/gtk+:2 )
+ png? ( media-libs/libpng:0= )
+ svg? ( gnome-base/librsvg:2 )
+ tiff? ( media-libs/tiff:0 )
+ x11-libs/libICE
+ x11-libs/libXext
+ x11-libs/libSM
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXpm
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${RDEPEND}
+ !!media-libs/libafterimage
+ x11-proto/xextproto
+ x11-proto/xproto
+ xinerama? ( x11-proto/xineramaproto )"
+
+S=${WORKDIR}/${PN}-devel-${PV}
+
+src_prepare() {
+ sed -i -e '/^install:/s:install.alternative ::' Makefile.in || die
+ sed -i -e '/CFLAGS="-O3"/d' libAfter{Base,Image}/configure || die
+ sed -i -e '/STRIP_BINARIES/s:-s::' autoconf/configure.in || die #252119
+ sed -i -e '/--with-builtin-gif/s/$with_gif/no/' autoconf/configure.in || die #253259
+ sed -i -e 's/install.bin install.alternative/install.bin/' src/afterstep/Makefile.in || die #568694
+ epatch "${FILESDIR}"/${P}-gcc5.patch #574184
+
+ pushd autoconf >/dev/null
+ eautoreconf
+ cp autoconf/config.h.in ./ || die
+ cp configure ../ || die
+ popd >/dev/null
+
+ pushd libAfterBase >/dev/null
+ eautoreconf
+ popd >/dev/null
+}
+
+src_configure() {
+ local myconf
+
+ use debug && myconf="--enable-gdb --enable-warn --enable-gprof
+ --enable-audit --enable-trace --enable-trace-x"
+
+ # Explanation of configure options
+ # ================================
+ # --with-helpcommand="xterm -e man" - Avoid installing xiterm
+ # --with-xpm - Contained in xfree
+ # --disable-availability - So we can use complete paths for menuitems
+ # --enable-ascp - The AfterStep ControlPanel is abandoned
+ # LDCONFIG - bug #265841
+
+ LDCONFIG=/bin/true econf \
+ $(use_enable alsa) \
+ $(use_enable cpu_flags_x86_mmx mmx-optimization) \
+ $(use_enable nls i18n) \
+ $(use_enable xinerama) \
+ $(use_with dbus dbus1) \
+ $(use_with gif) \
+ $(use_with gtk) \
+ $(use_with jpeg) \
+ $(use_with png) \
+ $(use_with tiff) \
+ $(use_with svg) \
+ --with-helpcommand="xterm -e man" \
+ --disable-availability \
+ --disable-staticlibs \
+ --enable-ascp=no \
+ ${myconf}
+}
+
+src_compile() {
+ # gcc: ../libAfterConf/libAfterConf.a: No such file or directory
+ # make[1]: *** [PrintDesktopEntries] Error 1
+ emake -j1
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # Create a symlink from MonitorWharf to Wharf
+ rm "${D}"/usr/bin/MonitorWharf
+ dosym /usr/bin/Wharf /usr/bin/MonitorWharf
+
+ # Handle the documentation
+ dodoc ChangeLog INSTALL NEW* README* TEAM
+ cp -pPR TODO "${D}"/usr/share/doc/${PF}/
+ dodir /usr/share/doc/${PF}/html
+ cp -pPR doc/* "${D}"/usr/share/doc/${PF}/html
+ rm "${D}"/usr/share/doc/${PF}/html/{Makefile*,afterstepdoc.in}
+
+ insinto /usr/share/xsessions
+ newins AfterStep.desktop.final AfterStep.desktop
+
+ # For desktop managers like GDM or KDE
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/${PN}
+}
diff --git a/x11-wm/afterstep/afterstep-2.2.9.ebuild b/x11-wm/afterstep/afterstep-2.2.9.ebuild
new file mode 100644
index 000000000000..4a450484b1f4
--- /dev/null
+++ b/x11-wm/afterstep/afterstep-2.2.9.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools flag-o-matic eutils
+
+DESCRIPTION="A feature rich NeXTish window manager"
+HOMEPAGE="http://www.afterstep.org/"
+SRC_URI="ftp://ftp.afterstep.org/stable/AfterStep-${PV}.tar.bz2"
+
+# libAfterBase/libAfterImage are LGPL
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE="alsa debug dbus gif gtk jpeg cpu_flags_x86_mmx nls png svg tiff xinerama"
+
+RDEPEND="
+ media-libs/freetype
+ alsa? ( media-libs/alsa-lib )
+ dbus? ( sys-apps/dbus )
+ jpeg? ( virtual/jpeg )
+ gif? ( >=media-libs/giflib-4.1.0 )
+ gtk? ( x11-libs/gtk+:2 )
+ png? ( media-libs/libpng:0 )
+ svg? ( gnome-base/librsvg:2 )
+ tiff? ( media-libs/tiff:0 )
+ x11-libs/libICE
+ x11-libs/libXext
+ x11-libs/libSM
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXpm
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )"
+
+DEPEND="${RDEPEND}
+ x11-proto/xextproto
+ x11-proto/xproto
+ xinerama? ( x11-proto/xineramaproto )
+ !!media-libs/libafterimage"
+
+S=${WORKDIR}/AfterStep-${PV}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/no-alternatives-${PV}.patch \
+ "${FILESDIR}"/${P}-make_session_data_file.patch \
+ "${FILESDIR}"/${P}-alpha.patch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-libpng15.patch
+
+ sed -i \
+ -e '/CFLAGS="-O3"/d' \
+ libAfter{Base,Image}/configure || die
+
+ sed -i \
+ -e "/STRIP_BINARIES/s/-s//" \
+ autoconf/configure.in || die #252119
+
+ sed -i \
+ -e '/--with-builtin-gif/s/$with_gif/no/' \
+ autoconf/configure.in || die #253259
+
+ cd "${S}"/autoconf || die
+ eautoreconf
+ cp "${S}"/autoconf/autoconf/config.h.in "${S}"/autoconf || die
+ cp "${S}"/autoconf/configure "${S}" || die
+}
+
+src_configure() {
+ local myconf
+
+ use debug && myconf="--enable-gdb --enable-warn --enable-gprof
+ --enable-audit --enable-trace --enable-trace-x"
+
+ #implied intent of debug means you need the frame pointers.
+ use debug && filter-flags -fomit-frame-pointer
+
+ # Explanation of configure options
+ # ================================
+ # --with-helpcommand="xterm -e man" - Avoid installing xiterm
+ # --with-xpm - Contained in xfree
+ # --disable-availability - So we can use complete paths for menuitems
+ # --enable-ascp - The AfterStep ControlPanel is abandoned
+ # LDCONFIG - bug #265841
+
+ LDCONFIG=/bin/true econf \
+ $(use_enable alsa) \
+ $(use_enable cpu_flags_x86_mmx mmx-optimization) \
+ $(use_enable nls i18n) \
+ $(use_enable xinerama) \
+ $(use_with dbus dbus1) \
+ $(use_with gif) \
+ $(use_with gtk) \
+ $(use_with jpeg) \
+ $(use_with png) \
+ $(use_with tiff) \
+ $(use_with svg) \
+ --with-helpcommand="xterm -e man" \
+ --disable-availability \
+ --disable-staticlibs \
+ --enable-ascp=no \
+ ${myconf}
+}
+
+src_compile() {
+ # gcc: ../libAfterConf/libAfterConf.a: No such file or directory
+ # make[1]: *** [PrintDesktopEntries] Error 1
+ emake -j1
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # Create a symlink from MonitorWharf to Wharf
+ rm "${D}"/usr/bin/MonitorWharf
+ dosym /usr/bin/Wharf /usr/bin/MonitorWharf
+
+ # Handle the documentation
+ dodoc ChangeLog INSTALL NEW* README* TEAM UPGRADE
+ cp -pPR "${S}"/TODO "${D}"/usr/share/doc/${PF}/
+ dodir /usr/share/doc/${PF}/html
+ cp -pPR "${S}"/doc/* "${D}"/usr/share/doc/${PF}/html
+ rm "${D}"/usr/share/doc/${PF}/html/{Makefile*,afterstepdoc.in}
+
+ insinto /usr/share/xsessions
+ newins "${S}"/AfterStep.desktop.final AfterStep.desktop
+
+ # For desktop managers like GDM or KDE
+ exeinto /etc/X11/Sessions
+ doexe "${FILESDIR}"/afterstep
+}
diff --git a/x11-wm/afterstep/files/afterstep b/x11-wm/afterstep/files/afterstep
new file mode 100644
index 000000000000..22bc4441ea42
--- /dev/null
+++ b/x11-wm/afterstep/files/afterstep
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/bin/afterstep
diff --git a/x11-wm/afterstep/files/afterstep-2.2.12-gcc5.patch b/x11-wm/afterstep/files/afterstep-2.2.12-gcc5.patch
new file mode 100644
index 000000000000..9447bcf990d9
--- /dev/null
+++ b/x11-wm/afterstep/files/afterstep-2.2.12-gcc5.patch
@@ -0,0 +1,227 @@
+From: Robert Luberda <robert@debian.org>
+Date: Sun, 22 Mar 2015 16:35:31 +0100
+Subject: 44 Fix build with gcc 5
+
+Remove `inline' keywords from header files, and fix implicit
+declaration warnings to make the code compile with gcc 5, which
+have the c99 standard enabled by default.
+
+Bug-Debian: https://bugs.debian.org/777768
+---
+ libAfterBase/asvector.h | 2 +-
+ libAfterBase/output.h | 2 +-
+ libAfterBase/parse.h | 2 +-
+ libAfterConf/Feel.c | 2 ++
+ libAfterStep/colorscheme.c | 2 +-
+ libAfterStep/event.c | 2 +-
+ libAfterStep/functions.h | 2 +-
+ libAfterStep/mylook.h | 8 ++++----
+ libAfterStep/session.h | 2 +-
+ src/WinList2/WinList.c | 2 +-
+ src/afterstep/asinternals.h | 9 +++++++--
+ src/afterstep/events.c | 1 +
+ src/afterstep/menuitem.c | 2 ++
+ 13 files changed, 24 insertions(+), 14 deletions(-)
+
+diff --git a/libAfterBase/asvector.h b/libAfterBase/asvector.h
+index 242bbb8..ec83231 100644
+--- a/libAfterBase/asvector.h
++++ b/libAfterBase/asvector.h
+@@ -38,7 +38,7 @@ ASVector *append_vector( ASVector *v, void * data, size_t size );
+ /* returns index on success, -1 on failure */
+ int vector_insert_elem( ASVector *v, void *data, size_t size, void *sibling, int before );
+ int vector_relocate_elem (ASVector *v, unsigned int index, unsigned int new_index);
+-inline size_t vector_find_data (ASVector *v, void *data );
++size_t vector_find_data (ASVector *v, void *data );
+ int vector_find_elem( ASVector *v, void *data );
+ /* returns 1 on success, 0 on failure */
+ int vector_remove_elem( ASVector *v, void *data );
+diff --git a/libAfterBase/output.h b/libAfterBase/output.h
+index fd186a7..ef21919 100644
+--- a/libAfterBase/output.h
++++ b/libAfterBase/output.h
+@@ -56,7 +56,7 @@ Bool show_debug( const char *file, const char *func, int line, const char *msg_f
+
+
+ void nonGNUC_debugout( const char *format, ...);
+-inline void nonGNUC_debugout_stub( const char *format, ...);
++void nonGNUC_debugout_stub( const char *format, ...);
+ /* may be used below in case compilation problems occur.
+ * Please submit a bug report if usage of any of the following generates errors on
+ * your compiler . Thanks!!! */
+diff --git a/libAfterBase/parse.h b/libAfterBase/parse.h
+index 193fbba..e4db499 100644
+--- a/libAfterBase/parse.h
++++ b/libAfterBase/parse.h
+@@ -73,7 +73,7 @@ format_geometry ( int x, int y, unsigned int width, unsigned int height, int fla
+
+ double parse_math(const char* str, char** endptr, double size);
+
+-inline int unsigned_int2buffer_end (char *buffer, int buffer_size, unsigned int val);
++int unsigned_int2buffer_end (char *buffer, int buffer_size, unsigned int val);
+ char *string_from_int (int param);
+ char *hex_to_buffer_reverse(void *data, size_t bytes, char* buffer);
+ char *hex_to_buffer(void *data, size_t bytes, char* buffer);
+diff --git a/libAfterConf/Feel.c b/libAfterConf/Feel.c
+index 0f2224b..787964d 100644
+--- a/libAfterConf/Feel.c
++++ b/libAfterConf/Feel.c
+@@ -29,6 +29,8 @@
+
+ #include "afterconf.h"
+
++#include <X11/XKBlib.h>
++
+
+ flag_options_xref WindowBoxFlagsXref[] = {
+ {ASA_Virtual, WINDOWBOX_Virtual_ID, 0}
+diff --git a/libAfterStep/colorscheme.c b/libAfterStep/colorscheme.c
+index 6cdeb56..5b93107 100644
+--- a/libAfterStep/colorscheme.c
++++ b/libAfterStep/colorscheme.c
+@@ -162,7 +162,7 @@ static inline ARGB32 MAKE_ARGB32_SHADE100 (CARD32 a, int s100)
+ return MAKE_ARGB32_GREY8 (a, s8);
+ }
+
+-inline void
++static inline void
+ make_mono_grad_argb (ARGB32 * grad, ARGB32 base_alpha16, int shade100,
+ int *val_ret)
+ {
+diff --git a/libAfterStep/event.c b/libAfterStep/event.c
+index a27759b..8c7a449 100644
+--- a/libAfterStep/event.c
++++ b/libAfterStep/event.c
+@@ -202,7 +202,7 @@ void sync_event_queue (Bool forget)
+ /****************************************************************************
+ * Records the time of the last processed event. Used in XSetInputFocus
+ ****************************************************************************/
+-inline Time stash_event_time (XEvent * xevent)
++static inline Time stash_event_time (XEvent * xevent)
+ {
+ if (xevent->type < LASTEvent) {
+ register Time *ptime =
+diff --git a/libAfterStep/functions.h b/libAfterStep/functions.h
+index fb565f1..a50f4e3 100644
+--- a/libAfterStep/functions.h
++++ b/libAfterStep/functions.h
+@@ -314,7 +314,7 @@ FunctionCode change_func_code (const char *func_name, FunctionCode new_code);
+ void init_func_data (FunctionData * data);
+ void copy_func_data (FunctionData * dst, FunctionData * src);
+ void dup_func_data (FunctionData * dst, FunctionData * src);
+-inline FunctionData *create_named_function( int func, char *name);
++FunctionData *create_named_function( int func, char *name);
+ void set_func_val (FunctionData * data, int arg, int value);
+ int free_func_data (FunctionData * data);
+ void destroy_func_data( FunctionData **pdata );
+diff --git a/libAfterStep/mylook.h b/libAfterStep/mylook.h
+index 7bff0b8..a002aa8 100644
+--- a/libAfterStep/mylook.h
++++ b/libAfterStep/mylook.h
+@@ -397,7 +397,7 @@ void myback_delete( MyBackground **myback, ASImageManager *imman );
+ MyDesktopConfig *create_mydeskconfig( int desk, char *data );
+ void init_deskconfigs_list( MyLook *look );
+ void mydeskconfig_delete( MyDesktopConfig **dc );
+-inline MyDesktopConfig *add_deskconfig_to_list( ASHashTable *list, MyDesktopConfig *dc );
++MyDesktopConfig *add_deskconfig_to_list( ASHashTable *list, MyDesktopConfig *dc );
+ MyDesktopConfig *add_deskconfig( MyLook *look, MyDesktopConfig *dc );
+
+ ARGB32 get_random_tint_color();
+@@ -411,9 +411,9 @@ void mylook_set_font_size_var (MyLook * look);
+
+
+ struct MyStyle *mylook_get_style(MyLook *look, const char *name);
+-inline MyBackground *mylook_get_desk_back(MyLook *look, long desk);
+-inline MyBackground *mylook_get_back(MyLook *look, char *name);
+-inline MyDesktopConfig *mylook_get_desk_config(MyLook *look, long desk);
++MyBackground *mylook_get_desk_back(MyLook *look, long desk);
++MyBackground *mylook_get_back(MyLook *look, char *name);
++MyDesktopConfig *mylook_get_desk_config(MyLook *look, long desk);
+
+
+
+diff --git a/libAfterStep/session.h b/libAfterStep/session.h
+index 536e225..73945d8 100644
+--- a/libAfterStep/session.h
++++ b/libAfterStep/session.h
+@@ -49,7 +49,7 @@ void destroy_assession (ASSession * session);
+ void update_default_session ( ASSession *session, int func);
+
+ void set_session_override(ASSession * session, const char *overriding_file, int function );
+-inline const char *get_session_override(ASSession * session, int function );
++const char *get_session_override(ASSession * session, int function );
+
+ void change_default_session (ASSession * session, const char *new_val, int function);
+ void change_desk_session (ASSession * session, int desk, const char *new_val, int function);
+diff --git a/src/WinList2/WinList.c b/src/WinList2/WinList.c
+index 6db35ac..6c98f38 100644
+--- a/src/WinList2/WinList.c
++++ b/src/WinList2/WinList.c
+@@ -976,7 +976,7 @@ moveresize_main_canvas( int width, int height )
+ void
+ postponed_rearrange_winlist( void *vdata )
+ {
+- Bool dont_resize_main_canvas = (Bool)vdata ;
++ Bool dont_resize_main_canvas = vdata != NULL;
+ rearrange_winlist_window( dont_resize_main_canvas );
+ }
+
+diff --git a/src/afterstep/asinternals.h b/src/afterstep/asinternals.h
+index 81b3249..9f75fd8 100644
+--- a/src/afterstep/asinternals.h
++++ b/src/afterstep/asinternals.h
+@@ -575,6 +575,7 @@ void asdbus_shutdown();
+ void asdbus_process_messages ();
+
+ char *asdbus_RegisterSMClient(const char *sm_client_id);
++void asdbus_UnregisterSMClient (const char *sm_client_path);
+ void asdbus_Notify(const char *summary, const char *body, int timeout);
+
+ typedef enum {
+@@ -585,6 +586,10 @@ typedef enum {
+
+ Bool asdbus_GetCanLogout ();
+ Bool asdbus_Logout (ASDbusLogoutMode mode, int timeout);
++Bool asdbus_GetCanSuspend ();
++Bool asdbus_Suspend (int timeout);
++Bool asdbus_GetCanHibernate ();
++Bool asdbus_Hibernate (int timeout);
+ Bool asdbus_GetCanShutdown ();
+ Bool asdbus_Shutdown (int timeout);
+ Bool get_gnome_autosave ();
+@@ -689,8 +694,8 @@ void ParsePopupEntry (char *tline, FILE * fd, char **junk, int *junk2);
+
+
+ /*************************** misc.c *********************************/
+-inline void ungrab_window_buttons( Window w );
+-inline void ungrab_window_keys (Window w );
++void ungrab_window_buttons( Window w );
++void ungrab_window_keys (Window w );
+ void MyXGrabButton ( unsigned button, unsigned modifiers,
+ Window grab_window, Bool owner_events, unsigned event_mask,
+ int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor);
+diff --git a/src/afterstep/events.c b/src/afterstep/events.c
+index 5588ffb..19e5441 100644
+--- a/src/afterstep/events.c
++++ b/src/afterstep/events.c
+@@ -46,6 +46,7 @@
+ #include "../../libAfterStep/moveresize.h"
+
+ #include <X11/keysym.h>
++#include <X11/XKBlib.h>
+ #ifdef XSHMIMAGE
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+diff --git a/src/afterstep/menuitem.c b/src/afterstep/menuitem.c
+index 1adcb65..8a35186 100644
+--- a/src/afterstep/menuitem.c
++++ b/src/afterstep/menuitem.c
+@@ -55,6 +55,8 @@
+
+ #include "dirtree.h"
+
++#include <X11/XKBlib.h>
++
+ /***************************************************************************/
+ /* Menu functions */
+ /***************************************************************************/
diff --git a/x11-wm/afterstep/files/afterstep-2.2.9-alpha.patch b/x11-wm/afterstep/files/afterstep-2.2.9-alpha.patch
new file mode 100644
index 000000000000..307180b9bae0
--- /dev/null
+++ b/x11-wm/afterstep/files/afterstep-2.2.9-alpha.patch
@@ -0,0 +1,15 @@
+libAfterStep/alpha_header.h:15: error: conflicting types for 'strlen'
+
+--- libAfterStep/asapp.h
++++ libAfterStep/asapp.h
+@@ -15,10 +15,6 @@
+ #include "sun_headers.h"
+ #endif
+
+-#if defined(__alpha)
+-#include "alpha_header.h"
+-#endif /* NEEDS_ALPHA_HEADER */
+-
+ /* Some people say that AIX and AIXV3 need 3 preceding underscores, other say
+ * no. I'll do both */
+ #if defined ___AIX || defined _AIX || defined __QNX__ || defined ___AIXV3 || defined AIXV3 || defined _SEQUENT_ \ No newline at end of file
diff --git a/x11-wm/afterstep/files/afterstep-2.2.9-ldflags.patch b/x11-wm/afterstep/files/afterstep-2.2.9-ldflags.patch
new file mode 100644
index 000000000000..5d27d7d8293f
--- /dev/null
+++ b/x11-wm/afterstep/files/afterstep-2.2.9-ldflags.patch
@@ -0,0 +1,37 @@
+Respect LDFLAGS
+
+http://bugs.gentoo.org/show_bug.cgi?id=325309
+
+--- autoconf/Makefile.common.lib.in
++++ autoconf/Makefile.common.lib.in
+@@ -245,7 +245,7 @@
+ $(LN_S) -f $(LIB_SHARED).$(LIBVER) $(LIB_SHARED).$(LIBVERMAJOR)
+
+ $(LIB_SHARED).$(LIBVER): $(LIB_OBJS) $(LIB_INCS)
+- $(CC) -shared -Wl,-soname,$(LIB_SHARED).$(LIBVERMAJOR) -o $(LIB_SHARED).$(LIBVER) \
++ $(CC) -shared $(LDFLAGS) -Wl,-soname,$(LIB_SHARED).$(LIBVERMAJOR) -o $(LIB_SHARED).$(LIBVER) \
+ $(LIB_OBJS)
+
+ install: install.lib install.bin
+--- libAfterImage/Makefile.in
++++ libAfterImage/Makefile.in
+@@ -395,7 +395,7 @@
+ $(LN_S) -f $(LIB_SHARED).$(LIBVER) $(LIB_SHARED).$(LIBVERMAJOR)
+
+ $(LIB_SHARED).$(LIBVER): $(LIB_OBJS) $(LIB_INCS) config.h
+- $(CC) -shared -Wl,-soname,$(LIB_SHARED).$(LIBVERMAJOR) -o $(LIB_SHARED).$(LIBVER) \
++ $(CC) -shared $(LDFLAGS) -Wl,-soname,$(LIB_SHARED).$(LIBVERMAJOR) -o $(LIB_SHARED).$(LIBVER) \
+ $(LIB_OBJS)
+
+ install.man:
+--- libAfterBase/Makefile.in
++++ libAfterBase/Makefile.in
+@@ -325,7 +325,7 @@
+ $(LN_S) -f $(LIB_SHARED).$(LIBVER) $(LIB_SHARED).$(LIBVERMAJOR)
+
+ $(LIB_SHARED).$(LIBVER): $(LIB_OBJS) $(LIB_INCS)
+- $(CC) -shared -Wl,-soname,$(LIB_SHARED).$(LIBVERMAJOR) -o $(LIB_SHARED).$(LIBVER) \
++ $(CC) -shared $(LDFLAGS) -Wl,-soname,$(LIB_SHARED).$(LIBVERMAJOR) -o $(LIB_SHARED).$(LIBVER) \
+ $(USER_LD_FLAGS) $(LIBS_X) $(LIB_OBJS)
+
+ install: install.lib
diff --git a/x11-wm/afterstep/files/afterstep-2.2.9-libpng15.patch b/x11-wm/afterstep/files/afterstep-2.2.9-libpng15.patch
new file mode 100644
index 000000000000..b420489b3266
--- /dev/null
+++ b/x11-wm/afterstep/files/afterstep-2.2.9-libpng15.patch
@@ -0,0 +1,31 @@
+--- libAfterImage/export.c
++++ libAfterImage/export.c
+@@ -483,7 +483,7 @@
+ png_ptr = png_create_write_struct( PNG_LIBPNG_VER_STRING, NULL, NULL, NULL );
+ if ( png_ptr != NULL )
+ if( (info_ptr = png_create_info_struct(png_ptr)) != NULL )
+- if( setjmp(png_ptr->jmpbuf) )
++ if( setjmp(png_jmpbuf(png_ptr)) )
+ {
+ png_destroy_info_struct(png_ptr, (png_infopp) &info_ptr);
+ info_ptr = NULL ;
+--- libAfterImage/import.c
++++ libAfterImage/import.c
+@@ -1251,7 +1251,7 @@
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if ( !setjmp (png_ptr->jmpbuf))
++ if ( !setjmp (png_jmpbuf(png_ptr)))
+ {
+ ASFlagType rgb_flags = ASStorage_RLEDiffCompress|ASStorage_32Bit ;
+
+@@ -1468,7 +1468,7 @@
+
+ static void asim_png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
+ {
+- ASImPNGReadBuffer *buf = (ASImPNGReadBuffer *)png_ptr->io_ptr;
++ ASImPNGReadBuffer *buf = (ASImPNGReadBuffer *)png_get_io_ptr(png_ptr);
+ memcpy(data, buf->buffer, length);
+ buf->buffer += length;
+ }
diff --git a/x11-wm/afterstep/files/afterstep-2.2.9-make_session_data_file.patch b/x11-wm/afterstep/files/afterstep-2.2.9-make_session_data_file.patch
new file mode 100644
index 000000000000..2c2f8bfeee3d
--- /dev/null
+++ b/x11-wm/afterstep/files/afterstep-2.2.9-make_session_data_file.patch
@@ -0,0 +1,14 @@
+http://bugs.gentoo.org/308649
+
+asgtklookedit.c:658:3: warning: implicit declaration of function ‘make_session_data_file’
+
+--- libASGTK/asgtklookedit.c
++++ libASGTK/asgtklookedit.c
+@@ -28,6 +28,7 @@
+ #include "../libAfterStep/parser.h"
+ #include "../libAfterStep/freestor.h"
+ #include "../libAfterStep/mystyle.h"
++#include "../libAfterStep/session.h"
+ #include "../libAfterConf/afterconf.h"
+
+ #include <unistd.h>
diff --git a/x11-wm/afterstep/files/no-alternatives-2.2.9.patch b/x11-wm/afterstep/files/no-alternatives-2.2.9.patch
new file mode 100644
index 000000000000..4195413c5eed
--- /dev/null
+++ b/x11-wm/afterstep/files/no-alternatives-2.2.9.patch
@@ -0,0 +1,29 @@
+--- Makefile.in.orig 2008-08-08 18:59:39.000000000 +0200
++++ Makefile.in 2008-08-08 19:00:51.000000000 +0200
+@@ -71,7 +71,8 @@
+
+ module.clean:
+
+-install: install.alternative install.desktop install.wmprops mkdir
++#install: install.alternative install.desktop install.wmprops mkdir
++install: install.desktop install.wmprops mkdir
+ @for I in ${subdirs} ; do if [ -d $$I ]; then (cd $$I; ${MAKE} install || exit 1); fi; done
+
+ install.bin: mkdir.bin
+@@ -86,11 +87,11 @@
+ install.script: mkdir.bin
+ @for I in ${subdirs}; do if [ -d $$I ]; then (cd $$I; ${MAKE} install.script || exit 1); fi; done
+
+-install.alternative:
+- @if update-alternatives --version > /dev/null 2>&1 ; then \
+- update-alternatives --install /etc/alternatives/x-window-manager x-window-manager $(AFTER_BIN_DIR)/afterstep 100; \
+- echo "added AfterStep as an x-window-manager alternative"; \
+- fi
++#install.alternative:
++# @if update-alternatives --version > /dev/null 2>&1 ; then \
++# update-alternatives --install /etc/alternatives/x-window-manager x-window-manager $(AFTER_BIN_DIR)/afterstep 100; \
++# echo "added AfterStep as an x-window-manager alternative"; \
++# fi
+
+
+ install.desktop: AfterStep.desktop.final mkdir.share
diff --git a/x11-wm/afterstep/metadata.xml b/x11-wm/afterstep/metadata.xml
new file mode 100644
index 000000000000..ffe0e9223de5
--- /dev/null
+++ b/x11-wm/afterstep/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="sourceforge">afterstep</remote-id>
+ </upstream>
+</pkgmetadata>