summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorJim Ramsay <lack@gentoo.org>2007-05-07 15:22:25 +0000
committerJim Ramsay <lack@gentoo.org>2007-05-07 15:22:25 +0000
commit0cefe9c99c3a01caffcb6829aeadd8765e619fb0 (patch)
tree885759a5ec8ad189a348314972fdfb89bc280df2 /x11-wm
parentMigrate to split-ant. (diff)
downloadgentoo-2-0cefe9c99c3a01caffcb6829aeadd8765e619fb0.tar.gz
gentoo-2-0cefe9c99c3a01caffcb6829aeadd8765e619fb0.tar.bz2
gentoo-2-0cefe9c99c3a01caffcb6829aeadd8765e619fb0.zip
Added patch from bug 177114 to fix possible segfaults for certain apps.
(Portage version: 2.1.2.5)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/fluxbox/ChangeLog9
-rw-r--r--x11-wm/fluxbox/files/1.0_rc3/fluxbox-1.0_rc3-textproperties_segfault.patch41
-rw-r--r--x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3-r13
-rw-r--r--x11-wm/fluxbox/fluxbox-1.0_rc3-r1.ebuild168
4 files changed, 220 insertions, 1 deletions
diff --git a/x11-wm/fluxbox/ChangeLog b/x11-wm/fluxbox/ChangeLog
index 5647f704ec23..4c68198b3790 100644
--- a/x11-wm/fluxbox/ChangeLog
+++ b/x11-wm/fluxbox/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-wm/fluxbox
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/ChangeLog,v 1.213 2007/04/24 18:42:56 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/ChangeLog,v 1.214 2007/05/07 15:22:25 lack Exp $
+
+*fluxbox-1.0_rc3-r1 (07 May 2007)
+
+ 07 May 2007; Jim Ramsay <lack@gentoo.org>
+ +files/1.0_rc3/fluxbox-1.0_rc3-textproperties_segfault.patch,
+ +fluxbox-1.0_rc3-r1.ebuild:
+ Added patch from bug 177114 to fix possible segfaults for certain apps.
24 Apr 2007; Tobias Scherbaum <dertobi123@gentoo.org>
fluxbox-1.0_rc3.ebuild:
diff --git a/x11-wm/fluxbox/files/1.0_rc3/fluxbox-1.0_rc3-textproperties_segfault.patch b/x11-wm/fluxbox/files/1.0_rc3/fluxbox-1.0_rc3-textproperties_segfault.patch
new file mode 100644
index 000000000000..c44c6a420887
--- /dev/null
+++ b/x11-wm/fluxbox/files/1.0_rc3/fluxbox-1.0_rc3-textproperties_segfault.patch
@@ -0,0 +1,41 @@
+--- src/FbTk/FbWindow.cc 2007-03-19 15:57:07.000000000 -0400
++++ ../src/src/FbTk/FbWindow.cc 2007-05-05 18:41:03.000000000 -0400
+@@ -19,7 +19,7 @@
+ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ // DEALINGS IN THE SOFTWARE.
+
+-// $Id: fluxbox-1.0_rc3-textproperties_segfault.patch,v 1.1 2007/05/07 15:22:25 lack Exp $
++// $Id: fluxbox-1.0_rc3-textproperties_segfault.patch,v 1.1 2007/05/07 15:22:25 lack Exp $
+
+ #include "FbWindow.hh"
+ #include "FbPixmap.hh"
+@@ -465,7 +465,7 @@
+ std::string FbWindow::textProperty(Atom property) const {
+ XTextProperty text_prop;
+ char ** stringlist = 0;
+- int count;
++ int count = 0;
+ std::string ret;
+
+ static Atom m_utf8string = XInternAtom(display(), "UTF8_STRING", False);
+@@ -483,16 +483,17 @@
+ } else if (text_prop.encoding == m_utf8string && text_prop.format == 8) {
+ #ifdef X_HAVE_UTF8_STRING
+ Xutf8TextPropertyToTextList(display(), &text_prop, &stringlist, &count);
+- if (count == 0)
++ if (count == 0 || stringlist == 0)
+ return "";
+ #else
+- if (XTextPropertyToStringList(&text_prop, &stringlist, &count) == 0 || count == 0)
++ if (XTextPropertyToStringList(&text_prop, &stringlist, &count) == 0 || count == 0 || stringlist == 0)
+ return "";
+ #endif
+ ret = stringlist[0];
+ } else {
+ // still returns a "StringList" despite the different name
+- if (XmbTextPropertyToTextList(display(), &text_prop, &stringlist, &count) == 0 || count == 0)
++ XmbTextPropertyToTextList(display(), &text_prop, &stringlist, &count);
++ if (count == 0 || stringlist == 0)
+ return "";
+
+ ret = FbStringUtil::LocaleStrToFb(stringlist[0]);
diff --git a/x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3-r1 b/x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3-r1
new file mode 100644
index 000000000000..a68891bf80b5
--- /dev/null
+++ b/x11-wm/fluxbox/files/digest-fluxbox-1.0_rc3-r1
@@ -0,0 +1,3 @@
+MD5 8ed52d10d7de72efab0948eaaa4a6a50 fluxbox-1.0rc3.tar.bz2 780622
+RMD160 5086545ea2c2b0dd71f17d314838d04f197a1294 fluxbox-1.0rc3.tar.bz2 780622
+SHA256 cf1e2aa77716e42b2457b19989c2b2d2fc5f7d900cc16a3621a2e42372f474b6 fluxbox-1.0rc3.tar.bz2 780622
diff --git a/x11-wm/fluxbox/fluxbox-1.0_rc3-r1.ebuild b/x11-wm/fluxbox/fluxbox-1.0_rc3-r1.ebuild
new file mode 100644
index 000000000000..04635809f4a3
--- /dev/null
+++ b/x11-wm/fluxbox/fluxbox-1.0_rc3-r1.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/fluxbox/fluxbox-1.0_rc3-r1.ebuild,v 1.1 2007/05/07 15:22:25 lack Exp $
+
+inherit eutils
+
+IUSE="nls xinerama truetype kde gnome imlib disableslit disabletoolbar"
+
+DESCRIPTION="Fluxbox is an X11 window manager featuring tabs and an iconbar"
+MY_P="fluxbox-1.0rc3"
+
+S="${WORKDIR}/${MY_P}"
+SRC_URI="mirror://sourceforge/fluxbox/${MY_P}.tar.bz2"
+HOMEPAGE="http://www.fluxbox.org"
+
+# Please note that USE="kde gnome" simply adds support for the respective
+# protocols, and does not depend on external libraries. They do, however,
+# make the binary a fair bit bigger, so we don't want to turn them on unless
+# the user actually wants them.
+
+RDEPEND="|| ( ( x11-libs/libXpm
+ x11-libs/libXrandr
+ xinerama? ( x11-libs/libXinerama )
+ x11-apps/xmessage
+ )
+ virtual/x11
+ )
+ virtual/xft
+ truetype? ( media-libs/freetype )
+ imlib? ( >=media-libs/imlib2-1.2.0 )
+ !<x11-themes/fluxbox-styles-fluxmod-20040809-r1"
+DEPEND=">=sys-devel/autoconf-2.52
+ nls? ( sys-devel/gettext )
+ || ( ( x11-proto/xextproto
+ xinerama? ( x11-proto/xineramaproto )
+ )
+ virtual/x11
+ )
+ ${RDEPEND}"
+PROVIDE="virtual/blackbox"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+pkg_setup() {
+ if use imlib ; then
+ if ! built_with_use media-libs/imlib2 X ; then
+ eerror "To build fluxbox with imlib in USE, you need an X enabled"
+ eerror "media-libs/imlib2 . Either recompile imlib2 with the X"
+ eerror "USE flag turned on or disable the imlib USE flag for fluxbox."
+ die "USE=imlib requires imlib2 with USE=X"
+ fi
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # We need to be able to include directories rather than just plain
+ # files in menu [include] items. This patch will allow us to do clever
+ # things with style ebuilds.
+ epatch "${FILESDIR}/1.0_rc3/${PN}-1.0_rc3-our-styles-go-over-here.patch" || die "Patch failed"
+
+ # Bug 177114 - Segfault for certain locales
+ epatch "${FILESDIR}/1.0_rc3/${PN}-1.0_rc3-textproperties_segfault.patch" || die "Patch failed"
+
+ # Add in the Gentoo -r number to fluxbox -version output.
+ if [[ "${PR}" == "r0" ]] ; then
+ suffix="gentoo"
+ else
+ suffix="gentoo-${PR}"
+ fi
+ sed -i \
+ -e "s~\(__fluxbox_version .@VERSION@\)~\1-${suffix}~" \
+ version.h.in || die "version sed failed"
+
+ # Turn on aa by default if possible. Fluxbox fonts are really frickin'
+ # broken, we'll do what we can to make it less painful by default.
+ use truetype 1>/dev/null && \
+ echo "session.screen0.antialias: true" >> data/init.in
+
+ # Fix broken styles
+ ebegin "Fixing backgrounds..."
+ for style in "${S}/data/styles/"* ; do
+ [[ -f "${style}" ]] || continue
+ sed -i -e 's,\([^f]\)bsetroot,\1fbsetroot,' "${style}" \
+ || die "styles sed failed on ${style}"
+ done
+ eend 0
+}
+
+src_compile() {
+ export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig:/usr/lib/pkgconfig
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable xinerama) \
+ $(use_enable truetype xft) \
+ $(use_enable kde) \
+ $(use_enable gnome) \
+ $(use_enable imlib imlib2) \
+ $(use_enable !disableslit slit ) \
+ $(use_enable !disabletoolbar toolbar ) \
+ --sysconfdir=/etc/X11/${PN} \
+ --with-style=/usr/share/fluxbox/styles/Emerge \
+ ${myconf} || die "configure failed"
+
+ emake || die "make failed"
+
+ ebegin "Creating a menu file (may take a while)"
+ mkdir -p "${T}/home/.fluxbox" || die "mkdir home failed"
+ MENUFILENAME="${S}/data/menu" MENUTITLE="Fluxbox ${PV}" \
+ CHECKINIT="no. go away." HOME="${T}/home" \
+ "${S}/util/fluxbox-generate_menu" -is -ds \
+ || die "menu generation failed"
+ eend $?
+}
+
+src_install() {
+ dodir /usr/share/fluxbox
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc README* AUTHORS TODO* ChangeLog NEWS
+
+ dodir /usr/share/xsessions
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/${PN}.desktop"
+
+ dodir /etc/X11/Sessions
+ echo "/usr/bin/startfluxbox" > "${D}/etc/X11/Sessions/fluxbox"
+ fperms a+x /etc/X11/Sessions/fluxbox
+
+ dodir /usr/share/fluxbox/menu.d
+
+ # Styles menu framework
+ dodir /usr/share/fluxbox/menu.d/styles
+ insinto /usr/share/fluxbox/menu.d/styles
+ doins "${FILESDIR}/styles-menu-fluxbox" || die
+ doins "${FILESDIR}/styles-menu-commonbox" || die
+ doins "${FILESDIR}/styles-menu-user" || die
+}
+
+pkg_postinst() {
+ einfo "As of fluxbox 0.9.10-r3, we are using an improved layout for"
+ einfo "styles to avoid problems with huge menus. Use the following"
+ einfo "in the menu for your menu styles section:"
+ echo
+ einfo " [submenu] (Styles) {Select a Style}"
+ einfo " [include] (/usr/share/fluxbox/menu.d/styles/)"
+ einfo " [end]"
+ echo
+ einfo "If you use fluxbox-generate_menu or the default global fluxbox"
+ einfo "menu file, this will already be present."
+ echo
+ einfo "Note that menumaker and similar utilities do *not* support"
+ einfo "this out of the box."
+ echo
+ einfo "As of fluxbox 0.9.14_pre1, Fluxbox uses XFT for font rendering. If"
+ einfo "you experience font problems, try tinkering with your theme files."
+ einfo "You can check the validity of a font name using:"
+ echo
+ einfo " XFT_DEBUG=1 xfd -fa 'whatever-12:bold'"
+ echo
+ einfo "The slow startup issues in previous versions should now be fixed;"
+ einfo "if you still encounter problems, please report bugs upstream."
+}
+