summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Kennedy <mkennedy@gentoo.org>2006-07-25 14:17:12 +0000
committerMatthew Kennedy <mkennedy@gentoo.org>2006-07-25 14:17:12 +0000
commitb4f5d518e53bc06e736f47fa81a631d3f3810bcb (patch)
treedac521a4e40ceb26dd902faf09b5e869c7be9178 /app-editors
parentadded RDEPEND on selinux-wireshark for USE=selinux. Thanks to Petre bug #141156 (diff)
downloadgentoo-2-b4f5d518e53bc06e736f47fa81a631d3f3810bcb.tar.gz
gentoo-2-b4f5d518e53bc06e736f47fa81a631d3f3810bcb.tar.bz2
gentoo-2-b4f5d518e53bc06e736f47fa81a631d3f3810bcb.zip
Various GCC4 fixes; Resolves Bug #141292; Thanks to Christian 'Opfer' Faulhammer.
(Portage version: 2.1.1_pre3-r3)
Diffstat (limited to 'app-editors')
-rw-r--r--app-editors/qemacs/ChangeLog12
-rw-r--r--app-editors/qemacs/files/digest-qemacs-0.3.12
-rw-r--r--app-editors/qemacs/files/digest-qemacs-0.3.1-r12
-rw-r--r--app-editors/qemacs/files/digest-qemacs-0.3.1-r22
-rw-r--r--app-editors/qemacs/files/digest-qemacs-0.3.1-r33
-rw-r--r--app-editors/qemacs/files/qemacs-0.3.1-gcc4_charset_c.patch14
-rw-r--r--app-editors/qemacs/files/qemacs-0.3.1-gcc4_tty_c.patch14
-rw-r--r--app-editors/qemacs/files/qemacs-0.3.1-gcc4_x11_c.patch11
-rw-r--r--app-editors/qemacs/files/qemacs-0.3.1-libpng-1_2.patch73
-rw-r--r--app-editors/qemacs/qemacs-0.3.1-r3.ebuild101
10 files changed, 233 insertions, 1 deletions
diff --git a/app-editors/qemacs/ChangeLog b/app-editors/qemacs/ChangeLog
index 55c4ec481595..1e7b775c8a1c 100644
--- a/app-editors/qemacs/ChangeLog
+++ b/app-editors/qemacs/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for app-editors/qemacs
# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/qemacs/ChangeLog,v 1.17 2006/03/18 23:41:53 joshuabaergen Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/qemacs/ChangeLog,v 1.18 2006/07/25 14:17:12 mkennedy Exp $
+
+*qemacs-0.3.1-r3 (25 Jul 2006)
+
+ 25 Jul 2006; Matthew Kennedy <mkennedy@gentoo.org>
+ +files/qemacs-0.3.1-gcc4_charset_c.patch,
+ +files/qemacs-0.3.1-gcc4_tty_c.patch,
+ +files/qemacs-0.3.1-gcc4_x11_c.patch,
+ +files/qemacs-0.3.1-libpng-1_2.patch, +qemacs-0.3.1-r3.ebuild:
+ Various GCC4 fixes; Resolves Bug #141292; Thanks to Christian 'Opfer'
+ Faulhammer.
18 Mar 2006; Joshua Baergen <joshuabaergen@gentoo.org>
qemacs-0.3.1.ebuild, qemacs-0.3.1-r1.ebuild, qemacs-0.3.1-r2.ebuild:
diff --git a/app-editors/qemacs/files/digest-qemacs-0.3.1 b/app-editors/qemacs/files/digest-qemacs-0.3.1
index 86ccf24a3138..52039e47f4ea 100644
--- a/app-editors/qemacs/files/digest-qemacs-0.3.1
+++ b/app-editors/qemacs/files/digest-qemacs-0.3.1
@@ -1 +1,3 @@
MD5 74d85dee9861d494bf1f9c53bbc85298 qemacs-0.3.1.tar.gz 809124
+RMD160 05eaddf872cbf6c187a63c80ed1eb02a23a1a13d qemacs-0.3.1.tar.gz 809124
+SHA256 a3db57e09729d8c83be5ff9ab028ece173d8f5f10aaf61ca41f88aecb64996c7 qemacs-0.3.1.tar.gz 809124
diff --git a/app-editors/qemacs/files/digest-qemacs-0.3.1-r1 b/app-editors/qemacs/files/digest-qemacs-0.3.1-r1
index 86ccf24a3138..52039e47f4ea 100644
--- a/app-editors/qemacs/files/digest-qemacs-0.3.1-r1
+++ b/app-editors/qemacs/files/digest-qemacs-0.3.1-r1
@@ -1 +1,3 @@
MD5 74d85dee9861d494bf1f9c53bbc85298 qemacs-0.3.1.tar.gz 809124
+RMD160 05eaddf872cbf6c187a63c80ed1eb02a23a1a13d qemacs-0.3.1.tar.gz 809124
+SHA256 a3db57e09729d8c83be5ff9ab028ece173d8f5f10aaf61ca41f88aecb64996c7 qemacs-0.3.1.tar.gz 809124
diff --git a/app-editors/qemacs/files/digest-qemacs-0.3.1-r2 b/app-editors/qemacs/files/digest-qemacs-0.3.1-r2
index 86ccf24a3138..52039e47f4ea 100644
--- a/app-editors/qemacs/files/digest-qemacs-0.3.1-r2
+++ b/app-editors/qemacs/files/digest-qemacs-0.3.1-r2
@@ -1 +1,3 @@
MD5 74d85dee9861d494bf1f9c53bbc85298 qemacs-0.3.1.tar.gz 809124
+RMD160 05eaddf872cbf6c187a63c80ed1eb02a23a1a13d qemacs-0.3.1.tar.gz 809124
+SHA256 a3db57e09729d8c83be5ff9ab028ece173d8f5f10aaf61ca41f88aecb64996c7 qemacs-0.3.1.tar.gz 809124
diff --git a/app-editors/qemacs/files/digest-qemacs-0.3.1-r3 b/app-editors/qemacs/files/digest-qemacs-0.3.1-r3
new file mode 100644
index 000000000000..52039e47f4ea
--- /dev/null
+++ b/app-editors/qemacs/files/digest-qemacs-0.3.1-r3
@@ -0,0 +1,3 @@
+MD5 74d85dee9861d494bf1f9c53bbc85298 qemacs-0.3.1.tar.gz 809124
+RMD160 05eaddf872cbf6c187a63c80ed1eb02a23a1a13d qemacs-0.3.1.tar.gz 809124
+SHA256 a3db57e09729d8c83be5ff9ab028ece173d8f5f10aaf61ca41f88aecb64996c7 qemacs-0.3.1.tar.gz 809124
diff --git a/app-editors/qemacs/files/qemacs-0.3.1-gcc4_charset_c.patch b/app-editors/qemacs/files/qemacs-0.3.1-gcc4_charset_c.patch
new file mode 100644
index 000000000000..5c8942bc2318
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.3.1-gcc4_charset_c.patch
@@ -0,0 +1,14 @@
+# This patch has been taken from the Debian bug tracker found at
+# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=288175
+# resolving compile problems with GCC 4, see bug #141292
+--- /tmp/charset.c 2006-07-25 09:30:28.000000000 +0200
++++ charset.c 2006-07-25 09:31:18.000000000 +0200
+@@ -20,7 +20,7 @@
+
+ QECharset *first_charset = NULL;
+
+-extern QECharset charset_7bit;
++static QECharset charset_7bit;
+
+ /* specific tables */
+ static unsigned short table_idem[256];
diff --git a/app-editors/qemacs/files/qemacs-0.3.1-gcc4_tty_c.patch b/app-editors/qemacs/files/qemacs-0.3.1-gcc4_tty_c.patch
new file mode 100644
index 000000000000..f7fe13f7d1bb
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.3.1-gcc4_tty_c.patch
@@ -0,0 +1,14 @@
+# This patch has been taken from the Debian bug tracker found at
+# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=288175
+# resolving compile problems with GCC 4, see bug #141292
+--- /tmp/tty.c 2006-07-25 09:26:08.000000000 +0200
++++ tty.c 2006-07-25 09:26:28.000000000 +0200
+@@ -69,7 +69,7 @@
+ return 1;
+ }
+
+-extern QEDisplay tty_dpy;
++static QEDisplay tty_dpy;
+
+ static int term_init(QEditScreen *s, int w, int h)
+ {
diff --git a/app-editors/qemacs/files/qemacs-0.3.1-gcc4_x11_c.patch b/app-editors/qemacs/files/qemacs-0.3.1-gcc4_x11_c.patch
new file mode 100644
index 000000000000..9dc8b011c306
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.3.1-gcc4_x11_c.patch
@@ -0,0 +1,11 @@
+--- /tmp/x11.c 2006-07-25 09:30:34.000000000 +0200
++++ x11.c 2006-07-25 09:31:13.000000000 +0200
+@@ -76,7 +76,7 @@
+ static CSSRect update_rects[UPDATE_MAX_REGIONS];
+ #endif
+
+-extern QEDisplay x11_dpy;
++static QEDisplay x11_dpy;
+ static int visual_depth;
+
+ static int force_tty = 0;
diff --git a/app-editors/qemacs/files/qemacs-0.3.1-libpng-1_2.patch b/app-editors/qemacs/files/qemacs-0.3.1-libpng-1_2.patch
new file mode 100644
index 000000000000..566677375d3f
--- /dev/null
+++ b/app-editors/qemacs/files/qemacs-0.3.1-libpng-1_2.patch
@@ -0,0 +1,73 @@
+# This patch has been taken from the openSUSE bug tracker found at
+# http://lists.opensuse.org/archive/opensuse-commit/2006-Jun/0984.html,
+# fixing the use of outdated functions of libpng, see bug #141566
+--- /tmp/html2png.c 2006-07-25 09:53:14.000000000 +0200
++++ html2png.c 2006-07-25 09:56:30.000000000 +0200
+@@ -186,13 +186,12 @@
+ }
+
+ #ifdef CONFIG_PNG_OUTPUT
+-extern void png_write_init();
+
+ int png_save(QEditScreen *s, const char *filename)
+ {
+ CFBContext *cfb = s->private;
+- png_struct * volatile png_ptr = NULL;
+- png_info * volatile info_ptr = NULL;
++ png_structp png_ptr = NULL;
++ png_infop info_ptr = NULL;
+ png_byte *row_ptr, *row_pointers[1], *row = NULL;
+ int w, h, x, y;
+ unsigned int r, g, b, v;
+@@ -202,32 +201,30 @@
+ row = malloc(3 * s->width);
+ if (!row)
+ goto fail;
+- png_ptr = malloc(sizeof (png_struct));
++ png_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ if (!png_ptr)
+ goto fail;
+- info_ptr = malloc(sizeof (png_info));
+- if (!info_ptr)
+- goto fail;
++ info_ptr = png_create_info_struct (png_ptr);
++ if (!info_ptr) {
++ png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
++ goto fail;
++ }
+
+ f = fopen(filename, "w");
+ if (!f)
+ goto fail;
+
+ if (setjmp(png_ptr->jmpbuf)) {
+- png_write_destroy(png_ptr);
++ png_destroy_write_struct(&png_ptr, &info_ptr);
+ fail:
+ /* free pointers before returning. Make sure you clean up
+ anything else you've done. */
+- free(png_ptr);
+- free(info_ptr);
+ free(row);
+ if (f)
+ fclose(f);
+ return -1;
+ }
+
+- png_info_init(info_ptr);
+- png_write_init(png_ptr);
+ png_init_io(png_ptr, f);
+
+ data = (unsigned int *)cfb->base;
+@@ -259,10 +256,8 @@
+ data = (void *)((char *)data + cfb->wrap);
+ }
+ png_write_end(png_ptr, info_ptr);
+- png_write_destroy(png_ptr);
++ png_destroy_write_struct (&png_ptr, &info_ptr);
+
+- free(png_ptr);
+- free(info_ptr);
+ free(row);
+ fclose(f);
+ return 0;
diff --git a/app-editors/qemacs/qemacs-0.3.1-r3.ebuild b/app-editors/qemacs/qemacs-0.3.1-r3.ebuild
new file mode 100644
index 000000000000..ecb64e99957d
--- /dev/null
+++ b/app-editors/qemacs/qemacs-0.3.1-r3.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/qemacs/qemacs-0.3.1-r3.ebuild,v 1.1 2006/07/25 14:17:12 mkennedy Exp $
+
+inherit eutils
+
+DESCRIPTION="QEmacs (for Quick Emacs) is a very small but powerful UNIX editor."
+HOMEPAGE="http://fabrice.bellard.free.fr/qemacs/"
+SRC_URI="http://fabrice.bellard.free.fr/qemacs/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~x86 ~amd64 ~ppc"
+IUSE="X png unicode xv"
+
+# For those so inclined, the libXv dep can probably
+# be made conditional on the xv USE flag somehow.
+RDEPEND="X? ( || ( x11-libs/libXv virtual/x11 ) )
+ png? ( =media-libs/libpng-1.2* )"
+DEPEND="${RDEPEND}
+ X? ( || ( ( x11-libs/libXft
+ x11-proto/xextproto )
+ virtual/x11 ) )"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ # Add a patch to install to DESTDIR, make directories during install
+ # and install the binary/man page using the qemacs name to avoid clash
+ # with app-editors/qe.
+ # Also removes forced march setting and align-functions on x86, as
+ # they would override user's CFLAGS..
+ epatch ${FILESDIR}/${P}-Makefile-gentoo.patch
+ # Change the references to the qe binary to reflect the installed name
+ # qemacs.
+ epatch ${FILESDIR}/${P}-manpage-ref-fix.patch
+ # Set the datadir to qemacs, upstream installs in to qe which conflicts
+ # with files installed in app-editors/qe. Currently no breakage
+ # occurs, but it makes sense to change before that happens.
+ epatch ${FILESDIR}/${P}-qemacs-datadir.patch
+ epatch ${FILESDIR}/${P}-configure-gentoo.patch
+ epatch ${FILESDIR}/${P}-make_backup.patch
+ useq unicode && epatch ${FILESDIR}/${P}-tty_utf8.patch
+ epatch ${FILESDIR}/${P}-gcc-3.4.patch
+ # Patches to avoid compilation errors with GCC 4, see bug #141292
+ epatch ${FILESDIR}/${P}-gcc4_tty_c.patch
+ epatch ${FILESDIR}/${P}-gcc4_x11_c.patch
+ epatch ${FILESDIR}/${P}-gcc4_charset_c.patch
+ # port to new libpng API, see bug #141566
+ useq png && epatch ${FILESDIR}/${P}-libpng-1_2.patch
+ # Change the manpage to reference a /real/ file instead of just an
+ # approximation. Purely cosmetic!
+ sed -i "s,^/usr/share/doc/qemacs,&-${PVR}," qe.1
+}
+
+src_compile() {
+ # when using any other CFLAGS than -O0, qemacs will segfault on startup, see bug #92011
+ CFLAGS="-O0"
+ econf $(use_enable X x11) \
+ $(use_enable png) \
+ $(use_enable xv) \
+ || die "econf failed"
+ emake -j1 || die
+}
+
+src_test() {
+ # There are some files purporting to be tests in the tarball, however
+ # there is no defined way to use them and I imagine even if there was
+ # it would require user interaction.
+ # The toplevel Makefile calls the test target from the non-existant
+ # tests/Makefile, so just noop to stop errors if maketest is set.
+ :
+}
+
+src_install() {
+ make install DESTDIR=${D} || die
+ dodoc Changelog README TODO config.eg
+ dohtml *.html
+
+ insinto /usr/share/doc/${PF}/plugin-example/
+ doins plugin-example/*
+
+ # Install headers so users can build their own plugins.
+ insinto /usr/include/qemacs
+ doins cfb.h config.h cutils.h display.h fbfrender.h libfbf.h qe.h \
+ qeconfig.h qestyles.h qfribidi.h
+ cd libqhtml
+ insinto /usr/include/qemacs/libqhtml
+ doins {css{,id},htmlent}.h
+}
+
+pkg_postinst() {
+ einfo "This version of qemacs is not entirely backwards compatible with"
+ einfo "versions prior to 0.3.1-r1."
+ echo
+ einfo "The name of the binary has been changed to qemacs, to fix a name"
+ einfo "clash with app-editors/qe."
+ echo
+ einfo "The location of user config files have been changed to ~/.qemacs, to"
+ einfo "remove some ambiguity."
+}