diff options
author | David Shakaryan <omp@gentoo.org> | 2007-09-08 05:20:14 +0000 |
---|---|---|
committer | David Shakaryan <omp@gentoo.org> | 2007-09-08 05:20:14 +0000 |
commit | 83033e8bd47aec56db178426b38a3e495ce1f01c (patch) | |
tree | a659aef16e746a4146ae2e399c00c1f00e6bd704 /app-text/epdfview | |
parent | Here's a 6.8 prerelease with RandR 1.2 support, TV-out, improved connector-ta... (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | app-text/epdfview/epdfview-0.1.6-r1.ebuild | 51 | ||||
-rw-r--r-- | app-text/epdfview/files/digest-epdfview-0.1.6-r1 | 3 | ||||
-rw-r--r-- | app-text/epdfview/files/epdfview-0.1.6-print-segfault.patch | 95 |
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); + } |