summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Shakaryan <omp@gentoo.org>2007-09-08 05:20:14 +0000
committerDavid Shakaryan <omp@gentoo.org>2007-09-08 05:20:14 +0000
commit83033e8bd47aec56db178426b38a3e495ce1f01c (patch)
treea659aef16e746a4146ae2e399c00c1f00e6bd704 /app-text/epdfview
parentHere's a 6.8 prerelease with RandR 1.2 support, TV-out, improved connector-ta... (diff)
downloadgentoo-2-83033e8bd47aec56db178426b38a3e495ce1f01c.tar.gz
gentoo-2-83033e8bd47aec56db178426b38a3e495ce1f01c.tar.bz2
gentoo-2-83033e8bd47aec56db178426b38a3e495ce1f01c.zip
Fix segmentation fault when printing; thanks to Daniel Pielmeier.
(Portage version: 2.1.3.8)
Diffstat (limited to 'app-text/epdfview')
-rw-r--r--app-text/epdfview/ChangeLog8
-rw-r--r--app-text/epdfview/epdfview-0.1.6-r1.ebuild51
-rw-r--r--app-text/epdfview/files/digest-epdfview-0.1.6-r13
-rw-r--r--app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch95
4 files changed, 156 insertions, 1 deletions
diff --git a/app-text/epdfview/ChangeLog b/app-text/epdfview/ChangeLog
index 070f77360934..3d67105ad753 100644
--- a/app-text/epdfview/ChangeLog
+++ b/app-text/epdfview/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-text/epdfview
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/epdfview/ChangeLog,v 1.18 2007/07/15 15:40:05 angelos Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/epdfview/ChangeLog,v 1.19 2007/09/08 05:20:14 omp Exp $
+
+*epdfview-0.1.6-r1 (08 Sep 2007)
+
+ 08 Sep 2007; David Shakaryan <omp@gentoo.org>
+ +files/epdfview-0.1.6-print-segfault.patch, +epdfview-0.1.6-r1.ebuild:
+ Fix segmentation fault when printing; thanks to Daniel Pielmeier.
15 Jul 2007; Christoph Mende <angelos@gentoo.org> epdfview-0.1.6.ebuild:
Stable on amd64 wrt bug #184961
diff --git a/app-text/epdfview/epdfview-0.1.6-r1.ebuild b/app-text/epdfview/epdfview-0.1.6-r1.ebuild
new file mode 100644
index 000000000000..e01f4cf78b3b
--- /dev/null
+++ b/app-text/epdfview/epdfview-0.1.6-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/epdfview/epdfview-0.1.6-r1.ebuild,v 1.1 2007/09/08 05:20:14 omp Exp $
+
+inherit eutils
+
+DESCRIPTION="Lightweight PDF viewer using Poppler and GTK+ libraries."
+HOMEPAGE="http://trac.emma-soft.com/epdfview/"
+SRC_URI="http://trac.emma-soft.com/epdfview/chrome/site/releases/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cups nls test"
+
+COMMON_DEPEND=">=app-text/poppler-bindings-0.5.0
+ >=x11-libs/gtk+-2.6
+ cups? ( >=net-print/cups-1.1 )"
+DEPEND="${COMMON_DEPEND}
+ >=dev-util/pkgconfig-0.9
+ nls? ( sys-devel/gettext )
+ test? ( dev-util/cppunit )"
+RDEPEND="${COMMON_DEPEND}
+ nls? ( virtual/libintl )"
+
+pkg_setup() {
+ if ! built_with_use app-text/poppler-bindings gtk; then
+ eerror "Please re-emerge app-text/poppler-bindings with the gtk USE flag set."
+ die "poppler-bindings needs gtk flag set."
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-print-segfault.patch"
+}
+
+src_compile() {
+ econf \
+ $(use_enable cups) \
+ $(use_with nls) \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc AUTHORS NEWS README THANKS
+}
diff --git a/app-text/epdfview/files/digest-epdfview-0.1.6-r1 b/app-text/epdfview/files/digest-epdfview-0.1.6-r1
new file mode 100644
index 000000000000..709db5752317
--- /dev/null
+++ b/app-text/epdfview/files/digest-epdfview-0.1.6-r1
@@ -0,0 +1,3 @@
+MD5 cce9edb41b4a8308e0ef0eea24b5a1ab epdfview-0.1.6.tar.bz2 406037
+RMD160 69484cd68c1d344dfc38d321abd1e07fd22521e3 epdfview-0.1.6.tar.bz2 406037
+SHA256 61d041afc953e0570ddae934179e92edf800f69f043d78058073806504e4137f epdfview-0.1.6.tar.bz2 406037
diff --git a/app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch b/app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch
new file mode 100644
index 000000000000..498febbd5f48
--- /dev/null
+++ b/app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch
@@ -0,0 +1,95 @@
+--- src/PrintPter.cxx (revision 262)
++++ src/PrintPter.cxx (revision 281)
+@@ -231,17 +231,24 @@
+ view.clearPageSizeList ();
+ int pageSizeToSelect = 0;
+- ppd_choice_t *pageSizeChoice = pageSizeOption->choices;
+- for ( int currentSize = 0 ;
+- currentSize < pageSizeOption->num_choices ;
+- ++currentSize, ++pageSizeChoice )
+- {
+- const gchar *sizeName = pageSizeChoice->text;
+- const gchar *sizeValue = pageSizeChoice->choice;
+-
+- view.addPageSize (_(sizeName), sizeValue);
+- if ( pageSizeChoice->marked )
++ if ( 0 != pageSizeOption )
++ {
++ ppd_choice_t *pageSizeChoice = pageSizeOption->choices;
++ for ( int currentSize = 0 ;
++ currentSize < pageSizeOption->num_choices ;
++ ++currentSize, ++pageSizeChoice )
+ {
+- pageSizeToSelect = currentSize;
++ const gchar *sizeName = pageSizeChoice->text;
++ const gchar *sizeValue = pageSizeChoice->choice;
++
++ view.addPageSize (_(sizeName), sizeValue);
++ if ( pageSizeChoice->marked )
++ {
++ pageSizeToSelect = currentSize;
++ }
+ }
++ }
++ else
++ {
++ view.addPageSize (_("A4"), "A4");
+ }
+ view.selectPageSize (pageSizeToSelect);
+@@ -252,17 +259,24 @@
+ view.clearResolutionList ();
+ int resolutionToSelect = 0;
+- ppd_choice_t *resolutionChoice = resolutionOption->choices;
+- for ( int currentRes = 0 ;
+- currentRes < resolutionOption->num_choices ;
+- ++currentRes, ++resolutionChoice )
+- {
+- const gchar *resName = resolutionChoice->text;
+- const gchar *resValue = resolutionChoice->choice;
+-
+- view.addResolution (_(resName), resValue);
+- if ( resolutionChoice->marked )
++ if ( 0 != resolutionOption )
++ {
++ ppd_choice_t *resolutionChoice = resolutionOption->choices;
++ for ( int currentRes = 0 ;
++ currentRes < resolutionOption->num_choices ;
++ ++currentRes, ++resolutionChoice )
+ {
+- resolutionToSelect = currentRes;
++ const gchar *resName = resolutionChoice->text;
++ const gchar *resValue = resolutionChoice->choice;
++
++ view.addResolution (_(resName), resValue);
++ if ( resolutionChoice->marked )
++ {
++ resolutionToSelect = currentRes;
++ }
+ }
++ }
++ else
++ {
++ view.addResolution (_("300 DPI"), "300x300dpi");
+ }
+ view.selectResolution (resolutionToSelect);
+@@ -272,7 +286,7 @@
+ ppdFindOption (printerPPD, "ColorModel");
+ view.clearColorModelList ();
++ int colorModelToSelect = 0;
+ if ( NULL != colorModelOption )
+ {
+- int colorModelToSelect = 0;
+ ppd_choice_t *colorModelChoice = colorModelOption->choices;
+ for ( int currentColor = 0 ;
+@@ -289,5 +303,4 @@
+ }
+ }
+- view.selectColorModel (colorModelToSelect);
+ }
+ else
+@@ -295,4 +308,5 @@
+ view.addColorModel (_("Grayscale"), "Gray");
+ }
++ view.selectColorModel (colorModelToSelect);
+ ppdClose (printerPPD);
+ }