aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstroFloyd <AstroFloyd@gmail.com>2013-03-20 14:17:22 +0100
committerAstroFloyd <AstroFloyd@gmail.com>2013-03-20 14:17:22 +0100
commit232cabe37500a71a30880c4957ba0bfc28b1bf01 (patch)
treee92b1365b61a7212333b48dbd274b3ab76b83f5b /app-text
parentAdded evince-3.4.0.ebuild from attic (diff)
downloadAstroFloyd-232cabe37500a71a30880c4957ba0bfc28b1bf01.tar.gz
AstroFloyd-232cabe37500a71a30880c4957ba0bfc28b1bf01.tar.bz2
AstroFloyd-232cabe37500a71a30880c4957ba0bfc28b1bf01.zip
Added files to app-text/evince
Diffstat (limited to 'app-text')
-rw-r--r--app-text/evince/Manifest14
-rw-r--r--app-text/evince/files/evince-0.7.1-display-menu.patch11
-rw-r--r--app-text/evince/files/evince-2.32.0-create_thumbnail_frame-null.patch25
-rw-r--r--app-text/evince/files/evince-2.32.0-desktop-categories.patch20
-rw-r--r--app-text/evince/files/evince-2.32.0-dvi-CVEs.patch97
-rw-r--r--app-text/evince/files/evince-2.32.0-dvi-security.patch24
-rw-r--r--app-text/evince/files/evince-2.32.0-gold.patch52
-rw-r--r--app-text/evince/files/evince-2.32.0-libdocument-segfault.patch35
-rw-r--r--app-text/evince/files/evince-2.32.0-libview-crash.patch32
-rw-r--r--app-text/evince/files/evince-2.32.0-pk-fonts.patch37
-rw-r--r--app-text/evince/files/evince-2.32.0-stop-spinner.patch74
-rw-r--r--app-text/evince/files/evince-2.32.0-update-poppler.patch58
-rw-r--r--app-text/evince/files/evince-2.32.0-use-popup.patch21
-rw-r--r--app-text/evince/files/evince-3.6.0-evince.desktop.patch26
-rw-r--r--app-text/evince/files/gconf-2.m444
15 files changed, 570 insertions, 0 deletions
diff --git a/app-text/evince/Manifest b/app-text/evince/Manifest
index 78423e1..a99762f 100644
--- a/app-text/evince/Manifest
+++ b/app-text/evince/Manifest
@@ -1,3 +1,17 @@
+AUX evince-0.7.1-display-menu.patch 476 SHA256 1f450dfe57ef3325cb4642141d76fc8e7bf837c221d81a2593214913af058f4d SHA512 d9330d35674a7796738222a9bd29944491a756c4bf731d1b0e0030fb77b6d9f63f79e6df29dfe89dd1055246dfca827ccbf840f829ed4980e01e9765c24857fe WHIRLPOOL 8ae8da53bfae6124fa3e5ff739f5f398cb3980183d44df8f85ede28f1279f74be29455fe050f7171e63a463797d7be7b84b7158764481d2375b581de5b1d5d1d
+AUX evince-2.32.0-create_thumbnail_frame-null.patch 853 SHA256 3d6472d77e07602cca0e5834a3c132702facbaac1ae684fa86fa72893a7a0833 SHA512 fc132d48e24f70a48bc9a69ea511cbf28dfe4db502285ad04fb9f67f1b1387b3d1cbf0142ff4e8426dcb346bb6ee90b1492d0a1f5feb821687808dbba09d2177 WHIRLPOOL dbcf1b4df02f7995a19d0b7264ef5a5ad399116879dced6762a1a1b1e5439193ef59d8fb3557b4e4e631ff0f1523b8d1544dae9273226fc1a1d2b5804a3a542f
+AUX evince-2.32.0-desktop-categories.patch 709 SHA256 d95489555d5b48b4aba28b41265c2cb152dd5d5163e38df3e3b5dfbfbebcab53 SHA512 cfc5e697ed1cedd0ed160a060d9d4497bc58802a1b73ca7e53411489280a1970691f96a70784715c21c248526facf15f4fc473a1800f70f7f792d98ed7c3fc08 WHIRLPOOL 3694d5d937f970b74ad4a45e53ded2ecc5c5a0c3f21818a7730c8f4fd3f12c001c0556157e151d1da617d64edeb9b72eb8f08fadbad4554be580decff5ddb09e
+AUX evince-2.32.0-dvi-CVEs.patch 3386 SHA256 49d1ed8adc734a005d4d8fdc1912bb115d97f734071d64bcae0aae60f2b5626a SHA512 c2a3787e3bb4c680d2ebb999c93e2f2917bcc85aaa3122676e74ab6fe3367cb732752a8aee089fb870a84eab17b8fcff07a647d9680d64029441d30a694dcd2d WHIRLPOOL a2f9ab4cda23b76684d5fbeff38422d3d41eff12553c7f40d1103b993cceede7f3ffe2ab2faf5f63314b75a7fb32abd1f6b294d36ee06194e0f5bab16164b847
+AUX evince-2.32.0-dvi-security.patch 816 SHA256 86e1e3ae2af8471896594b063726d6e7390169c443864b11797b7e3b937caea8 SHA512 060f542f1489de75d14d8aa4fecfbea77764c45b3f1047113795bdbfe21102e8fc3a55ea69d5de706f1c14ff8d89d439f34865b4ca295dcd9fd637c3a687585e WHIRLPOOL f3dc731b0dde43247969dfacbef2b48a42a94ca17fa899b4d342e4c7645c7ca3ce5046962e6af692c2d42dca9217a97eaaffed60f272c014570c32f6810c8448
+AUX evince-2.32.0-gold.patch 1839 SHA256 1388fd6de5f76322e305a80d0770c29eba3fd78c9938cdcbea80e1b83c98587a SHA512 43f5abec792bbbfb9164408aea19ed39851921ea3bc2565982463f03d581a677870b30b8eaec0badf23972d8c73d051b40f199099132537ebd21222b791d33db WHIRLPOOL 1a8662df26e3f9508467b34eaf69bbcafa75c5717901b638c2c8e82672877d7e69d220a01723ab09087e090deff5fed715b617bf3d5a4d97f9fbb80aa4b4f01a
+AUX evince-2.32.0-libdocument-segfault.patch 1388 SHA256 e9889a7920a8e6bd16b168333d120dfff1a2a2fcfed559d0d2f3678d9d234e74 SHA512 54f63343c6dea0a50eecdc18a9bf277ee573c23ce8a6f9e6ed6ab65480e088db481f212ada61bb32e41755d6a4821702106ba990475d2a639676ff0a94508138 WHIRLPOOL b851ad96e9b26b9c9e70cd82d51476658c688aba9a24cd9bd279046b03ee3601cd72ed4b56867f53a69933c293b36d3ea696aa33e825624e6e04717a6a2da19e
+AUX evince-2.32.0-libview-crash.patch 1351 SHA256 f549f4b8bfa8078764d3fb11c3b8e3d9e9c7bc59ebc7e96ef9d6e63c35d3d35c SHA512 95645dd2016b7085eee3be234f5fa2d0bd98f95a8e4c130dc8086e2d95bcb779e7378696924bb2dc9aafd4cbff8efcc087a6ed176e1a3af60b1f3f66083b8478 WHIRLPOOL 1de448f247bda8319c0b62621a647fe8a02985e42221c354c2abc8f63c3511038168c780ff3fa7ff83eab33d83567f5f95835d6a7d14d0c18034b97814111475
+AUX evince-2.32.0-pk-fonts.patch 1005 SHA256 a8eba65d0a00fae77d85fec202b60762afa82a71695119a66f24a4ab0974fc82 SHA512 36af3365aade4cfbce8852f83589ea3106b7f73d6d11035718ac0fe401d8060e9c307ff90c80463b6d5385caa453adde1a8d2feab78d1171064fc97df4e6924b WHIRLPOOL 33fe99426593663bcd66fe757a45824ecab40c162b3e29f766d5c533f36ec7a6c52694c5cc9d8d97f3ad81a84b9f0dff0c10cf8a7898da07497d2071ddcdd8cc
+AUX evince-2.32.0-stop-spinner.patch 2370 SHA256 140395d3c667d9af422054ed02d2b971c5668e52cafac86b6496ecd47f33ac97 SHA512 ac3e523a9238bb8688070b8d3b680f5bafdca36b650207ee32ea28bb944d609fd78abcaf592d722d9bba77bf39921187ce25b1b1349aa5741ca247408a04c0a5 WHIRLPOOL 077618b301125f87e2f198680b537d2f6125d2ca39f5774d3d6c652816d789acb9e778f3ca058bc4154ae8864d77e1ec029ed0725ae2400c63a96e18d03d1831
+AUX evince-2.32.0-update-poppler.patch 1890 SHA256 2990c789c8cfd50e46f4dfa7a2406499b3ee26f4db9840c8b9a6e1dee40f61f4 SHA512 3dc4880529307b80e30752b6f63d883299ff2e78f5563072f77edd78c2b10ce5145203f61b2fd4985b1481b44ee0270b64a133d78e74b31810bc06580fe12e4d WHIRLPOOL 09be672d1f77e01f9636f717ff5916c6798ee01c4169c459a96017807a75a6e74877e107ee27263f8a2fae5ad9a782ecad88d86266b3c4d651d2ce8b137627cd
+AUX evince-2.32.0-use-popup.patch 766 SHA256 c53276beb4f975a9ed47fe35dd2756458d9e5e334234aeac2ff4d47ad790d9ea SHA512 8fa96764d9e1bfc21f21d5f6c10018eddfb60456e780dedd667136dda464e606dfdf454de2906e3956e9b5d26efb66ceddff628d567498b61f1d7961083fb208 WHIRLPOOL 120056b6a85492a8eba7193ee9e3c4067843882d1f9581fdfca1d5bbebe681c7255e30855e4a5390b2e41cc0f2defd841e4a5c5ea238ef5fdb6a2d5f32bfe0ff
+AUX evince-3.6.0-evince.desktop.patch 907 SHA256 751bbc6da720a8ef11dcdd302c4784849a8cff292e33507cf2e62cdb178b2960 SHA512 95fc243bec3da40887e26a7b402ce472409eb46756e44a77fb8f68483cbbc490e532a7d565b090b8f68107734e52fe28679218d1c1964cbc4ea16be70140edbc WHIRLPOOL 97fa0fdba67bb27eaa8f17732a57e12ae02d8bc7b31cafce04c8236788f76a33d7ef05cafa045c92fc653d54dd736e6fb575fa66cb6121639459e3e7ca4fa02c
+AUX gconf-2.m4 1579 SHA256 2c9a981afe5bba4486c8e0ddb66433aef4af953168bd254f6a5ba1c6692f80f8 SHA512 66a341f1c96634d7fddcb26c99e3ae6d44bb3e97f8d547aa1b03b170f2dad8d19a902fe6a945544b8a5a0e26f054a9d0a3f85380efd04e5dd8262bbcb32c4063 WHIRLPOOL 3509829bdecb1eb23ac21df58769f39f3216052f8cdd3ebd67c543d03e2c2a3d57084637152203b9eb5afc9e77f20401467db3cf3b728dc2c02f87abe072032e
DIST evince-3.4.0.tar.xz 6162936 SHA256 02f1c74c123ea0cb4c1a98cb9ba2b67d724e9f90d7ff15acbcd6b8dbeef0a129 SHA512 638170831a57ec6f64c65baa7e5766561ba5044f6a6e2b0ef86aeee526e07e30a5eef40b655158ad483935b127e00b41d12e4b3dda06f957887953d440c0642c WHIRLPOOL 10ba3bd7d23accb68682af890d62fa8ed63e7874f2f58854e44441d3a4d800eaf3cee930fcf68b6d9bc2d9e22767a8e74308df2511aa5cd70baef47ee0dbae24
EBUILD evince-3.4.0.ebuild 3359 SHA256 18c13b8a2483a71a02db81beb31e50dbb5eca4862015ffa49470a0a3b9c5cff4 SHA512 1a54658e60638acde9d0ff3b3b13edef68087ac319f8bbd96fcbacbe2e3e146ba0b2f7e9a50d4db105c0e63cd9dc877b86dd6b311df3deec6d2d5a45baab0607 WHIRLPOOL 797c967b3ba8876cba136660323236f0a2e5cd77fb9506bb0461ca12fd2487cbfc8d308bd533d31f6a545e147405487119b21d3e19bd0f8b54f86e54eba7edf1
MISC ChangeLog 39118 SHA256 8baba5a0c3242a3b6d3dc2081a8aeb3436186ae76bb118cf68836d47b87e43bf SHA512 94463900192df58f7ba124fbd77ff0e8000034b0b3ad9f8b10b9b665dab0dc8c121f809209d9beea6896b0d66b9a5bc869eb27c7a98f9bc14fb26fae51dadbf4 WHIRLPOOL 9796752194d3edc0f4d578cc80b2c75f7449758daffd68a42c87fcc37e9f835281a231fc10ea238ffad9fe23e1234b6c6ce3c3c58ac4bd399da449bc1fc171ba
diff --git a/app-text/evince/files/evince-0.7.1-display-menu.patch b/app-text/evince/files/evince-0.7.1-display-menu.patch
new file mode 100644
index 0000000..9edc43e
--- /dev/null
+++ b/app-text/evince/files/evince-0.7.1-display-menu.patch
@@ -0,0 +1,11 @@
+diff --exclude-from=/home/dang/.diffrc -up -ruN evince-0.7.1.orig/data/evince.desktop.in.in evince-0.7.1/data/evince.desktop.in.in
+--- evince-0.7.1.orig/data/evince.desktop.in.in 2007-01-10 11:04:20.000000000 -0500
++++ evince-0.7.1/data/evince.desktop.in.in 2007-01-18 17:30:52.000000000 -0500
+@@ -9,7 +9,6 @@ StartupNotify=true
+ Terminal=false
+ Type=Application
+ Icon=evince
+-NoDisplay=true
+ X-GNOME-DocPath=
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=evince
diff --git a/app-text/evince/files/evince-2.32.0-create_thumbnail_frame-null.patch b/app-text/evince/files/evince-2.32.0-create_thumbnail_frame-null.patch
new file mode 100644
index 0000000..19eaf1c
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-create_thumbnail_frame-null.patch
@@ -0,0 +1,25 @@
+From 0fd1f66767ab3b71bef571bf734ce0038d696f4f Mon Sep 17 00:00:00 2001
+From: José Aliste <jaliste@src.gnome.org>
+Date: Fri, 26 Nov 2010 14:56:45 +0000
+Subject: document: create_thumbnail_frame should return NULL when
+
+source_pixbuf is NULL and width and height are not positive.
+
+Fixes bug #594408
+(cherry picked from commit 3d8180a605e8c98172e9e0e739e22b7f50ed7bad)
+---
+diff --git a/libdocument/ev-document-misc.c b/libdocument/ev-document-misc.c
+index d597127..6099b7f 100644
+--- a/libdocument/ev-document-misc.c
++++ b/libdocument/ev-document-misc.c
+@@ -56,7 +56,7 @@ create_thumbnail_frame (int width,
+ }
+
+ /* make sure no one is passing us garbage */
+- g_assert (width_r >= 0 && height_r >= 0);
++ g_return_val_if_fail (width_r >= 0 && height_r >= 0, NULL);
+
+ retval = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
+ TRUE, 8,
+--
+cgit v0.9.0.2
diff --git a/app-text/evince/files/evince-2.32.0-desktop-categories.patch b/app-text/evince/files/evince-2.32.0-desktop-categories.patch
new file mode 100644
index 0000000..eaceaed
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-desktop-categories.patch
@@ -0,0 +1,20 @@
+From ed7cda334dddc08b4b10a4c1c49df3f6c0a1bc41 Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sat, 17 Dec 2011 10:28:19 +0000
+Subject: evince.desktop: Add Office category
+
+Fixes bug #666346.
+---
+diff --git a/data/evince.desktop.in.in b/data/evince.desktop.in.in
+index e3b0160..7106d97 100644
+--- a/data/evince.desktop.in.in
++++ b/data/evince.desktop.in.in
+@@ -13,5 +13,5 @@ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=evince
+ X-GNOME-Bugzilla-Component=BugBuddyBugs
+ X-GNOME-Bugzilla-Version=@VERSION@
+-Categories=GNOME;GTK;Graphics;VectorGraphics;Viewer;
++Categories=GNOME;GTK;Office;Viewer;Graphics;VectorGraphics;
+ MimeType=@EVINCE_MIME_TYPES@
+--
+cgit v0.9.0.2
diff --git a/app-text/evince/files/evince-2.32.0-dvi-CVEs.patch b/app-text/evince/files/evince-2.32.0-dvi-CVEs.patch
new file mode 100644
index 0000000..691ee41
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-dvi-CVEs.patch
@@ -0,0 +1,97 @@
+From 8e473c9796b9a61b811213e7892fd36fd570303a Mon Sep 17 00:00:00 2001
+From: José Aliste <jaliste@src.gnome.org>
+Date: Tue, 07 Dec 2010 18:56:47 +0000
+Subject: backends: Fix several security issues in the dvi-backend.
+
+See CVE-2010-2640, CVE-2010-2641, CVE-2010-2642 and CVE-2010-2643.
+---
+diff --git a/backend/dvi/mdvi-lib/afmparse.c b/backend/dvi/mdvi-lib/afmparse.c
+index 164366b..361e23d 100644
+--- a/backend/dvi/mdvi-lib/afmparse.c
++++ b/backend/dvi/mdvi-lib/afmparse.c
+@@ -160,7 +160,7 @@ static char *token(FILE *stream)
+
+ idx = 0;
+ while (ch != EOF && ch != ' ' && ch != lineterm
+- && ch != '\t' && ch != ':' && ch != ';')
++ && ch != '\t' && ch != ':' && ch != ';' && idx < MAX_NAME)
+ {
+ ident[idx++] = ch;
+ ch = fgetc(stream);
+diff --git a/backend/dvi/mdvi-lib/dviread.c b/backend/dvi/mdvi-lib/dviread.c
+index 97b7b84..ac98068 100644
+--- a/backend/dvi/mdvi-lib/dviread.c
++++ b/backend/dvi/mdvi-lib/dviread.c
+@@ -1537,6 +1537,10 @@ int special(DviContext *dvi, int opcode)
+ Int32 arg;
+
+ arg = dugetn(dvi, opcode - DVI_XXX1 + 1);
++ if (arg <= 0) {
++ dvierr(dvi, _("malformed special length\n"));
++ return -1;
++ }
+ s = mdvi_malloc(arg + 1);
+ dread(dvi, s, arg);
+ s[arg] = 0;
+diff --git a/backend/dvi/mdvi-lib/pk.c b/backend/dvi/mdvi-lib/pk.c
+index a579186..08377e6 100644
+--- a/backend/dvi/mdvi-lib/pk.c
++++ b/backend/dvi/mdvi-lib/pk.c
+@@ -469,6 +469,15 @@ static int pk_load_font(DviParams *unused, DviFont *font)
+ }
+ if(feof(p))
+ break;
++
++ /* Although the PK format support bigger char codes,
++ * XeTeX and other extended TeX engines support charcodes up to
++ * 65536, while normal TeX engine supports only charcode up to 255.*/
++ if (cc < 0 || cc > 65536) {
++ mdvi_error (_("%s: unexpected charcode (%d)\n"),
++ font->fontname,cc);
++ goto error;
++ }
+ if(cc < loc)
+ loc = cc;
+ if(cc > hic)
+@@ -512,7 +521,7 @@ static int pk_load_font(DviParams *unused, DviFont *font)
+ }
+
+ /* resize font char data */
+- if(loc > 0 || hic < maxch-1) {
++ if(loc > 0 && hic < maxch-1) {
+ memmove(font->chars, font->chars + loc,
+ (hic - loc + 1) * sizeof(DviFontChar));
+ font->chars = xresize(font->chars,
+diff --git a/backend/dvi/mdvi-lib/tfmfile.c b/backend/dvi/mdvi-lib/tfmfile.c
+index 73ebf26..8c2a30b 100644
+--- a/backend/dvi/mdvi-lib/tfmfile.c
++++ b/backend/dvi/mdvi-lib/tfmfile.c
+@@ -172,7 +172,8 @@ int tfm_load_file(const char *filename, TFMInfo *info)
+ /* We read the entire TFM file into core */
+ if(fstat(fileno(in), &st) < 0)
+ return -1;
+- if(st.st_size == 0)
++ /* according to the spec, TFM files are smaller than 16K */
++ if(st.st_size == 0 || st.st_size >= 16384)
+ goto bad_tfm;
+
+ /* allocate a word-aligned buffer to hold the file */
+diff --git a/backend/dvi/mdvi-lib/vf.c b/backend/dvi/mdvi-lib/vf.c
+index fb49847..a5ae3bb 100644
+--- a/backend/dvi/mdvi-lib/vf.c
++++ b/backend/dvi/mdvi-lib/vf.c
+@@ -165,6 +165,12 @@ static int vf_load_font(DviParams *params, DviFont *font)
+ cc = fuget1(p);
+ tfm = fuget3(p);
+ }
++ if (cc < 0 || cc > 65536) {
++ /* TeX engines do not support char codes bigger than 65535 */
++ mdvi_error(_("(vf) %s: unexpected character %d\n"),
++ font->fontname, cc);
++ goto error;
++ }
+ if(loc < 0 || cc < loc)
+ loc = cc;
+ if(hic < 0 || cc > hic)
+--
+cgit v0.8.3.1
diff --git a/app-text/evince/files/evince-2.32.0-dvi-security.patch b/app-text/evince/files/evince-2.32.0-dvi-security.patch
new file mode 100644
index 0000000..6bde382
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-dvi-security.patch
@@ -0,0 +1,24 @@
+From 9611cfcd6c2f39aafab10730c291efd736ab97e4 Mon Sep 17 00:00:00 2001
+From: Vincent Untz <vuntz@gnome.org>
+Date: Thu, 17 Feb 2011 14:23:39 +0000
+Subject: backends: Fix another security issue in the dvi-backend
+
+This is similar to one of the fixes from d4139205.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=640923
+---
+diff --git a/backend/dvi/mdvi-lib/afmparse.c b/backend/dvi/mdvi-lib/afmparse.c
+index 361e23d..e1cd115 100644
+--- a/backend/dvi/mdvi-lib/afmparse.c
++++ b/backend/dvi/mdvi-lib/afmparse.c
+@@ -190,7 +190,7 @@ static char *linetoken(FILE *stream)
+ while ((ch = fgetc(stream)) == ' ' || ch == '\t' );
+
+ idx = 0;
+- while (ch != EOF && ch != lineterm)
++ while (ch != EOF && ch != lineterm && idx < MAX_NAME)
+ {
+ ident[idx++] = ch;
+ ch = fgetc(stream);
+--
+cgit v0.9
diff --git a/app-text/evince/files/evince-2.32.0-gold.patch b/app-text/evince/files/evince-2.32.0-gold.patch
new file mode 100644
index 0000000..0388e9e
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-gold.patch
@@ -0,0 +1,52 @@
+From 11b951614a6b6cf567f33b04872b9d663989d2fe Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Sat, 3 Nov 2012 02:25:09 -0400
+Subject: [PATCH] build: link libdocument against libm and gmodule, and
+ smclient against libICE
+
+Needed for building with gnu gold
+---
+ configure.ac | 6 ++++--
+ libdocument/Makefile.am | 1 +
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4bf438d..b5d8e8b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -163,8 +163,10 @@ dnl Check dependencies
+ # SHELL_CFLAGS for shell implementation.
+ # SHELL_LIBS
+
++AC_CHECK_LIBM
++AC_SUBST(LIBM)
+
+-PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED)
++PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gmodule-2.0)
+ PKG_CHECK_MODULES(LIBVIEW, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED gail$GAIL_API_VERSION >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
+ PKG_CHECK_MODULES(BACKEND, cairo >= $CAIRO_REQUIRED gtk+-$GTK_API_VERSION >= $GTK_REQUIRED)
+ PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED)
+@@ -221,7 +223,7 @@ if test "$with_smclient" != "no"; then
+ AC_DEFINE([WITH_SMCLIENT],[1],[Define if smclient is enabled])
+
+ case "$with_smclient" in
+- xsmp) SMCLIENT_PKGS="sm >= 1.0.0" ;;
++ xsmp) SMCLIENT_PKGS="sm >= 1.0.0 ice" ;;
+ *) SMCLIENT_PKGS="" ;;
+ esac
+
+diff --git a/libdocument/Makefile.am b/libdocument/Makefile.am
+index facf17c..3944fb7 100644
+--- a/libdocument/Makefile.am
++++ b/libdocument/Makefile.am
+@@ -114,6 +114,7 @@ libevdocument_la_LDFLAGS = \
+
+ libevdocument_la_LIBADD = \
+ $(LIBDOCUMENT_LIBS) \
++ $(LIBM) \
+ $(top_builddir)/cut-n-paste/synctex/libsynctex.la
+
+
+--
+1.7.12.4
+
diff --git a/app-text/evince/files/evince-2.32.0-libdocument-segfault.patch b/app-text/evince/files/evince-2.32.0-libdocument-segfault.patch
new file mode 100644
index 0000000..bef8d80
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-libdocument-segfault.patch
@@ -0,0 +1,35 @@
+From a933a516e9b6a4199d22055f9041747e00498901 Mon Sep 17 00:00:00 2001
+From: José Aliste <jaliste@src.gnome.org>
+Date: Wed, 29 Sep 2010 16:22:32 +0000
+Subject: [libdocument] Check for NULL in synctex_backward_search.
+
+Fixes bug #630845
+---
+diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c
+index 70349dc..742b51c 100644
+--- a/libdocument/ev-document.c
++++ b/libdocument/ev-document.c
+@@ -419,11 +419,16 @@ ev_document_synctex_backward_search (EvDocument *document,
+ /* We assume that a backward search returns either zero or one result_node */
+ node = synctex_next_result (scanner);
+ if (node != NULL) {
+- result = g_new (EvSourceLink, 1);
+- result->filename = synctex_scanner_get_name (scanner,
+- synctex_node_tag (node));
+- result->line = synctex_node_line (node);
+- result->col = synctex_node_column (node);
++ const gchar *filename;
++
++ filename = synctex_scanner_get_name (scanner, synctex_node_tag (node));
++
++ if (filename) {
++ result = g_new (EvSourceLink, 1);
++ result->filename = filename;
++ result->line = synctex_node_line (node);
++ result->col = synctex_node_column (node);
++ }
+ }
+ }
+
+--
+cgit v0.8.3.1
diff --git a/app-text/evince/files/evince-2.32.0-libview-crash.patch b/app-text/evince/files/evince-2.32.0-libview-crash.patch
new file mode 100644
index 0000000..65d0775
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-libview-crash.patch
@@ -0,0 +1,32 @@
+commit a3b87cb28e46958b37e384a47604032ea0889807
+Author: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sun Nov 21 12:27:21 2010 +0100
+
+ libview: Make sure we have a valid page range before getting/setting selection list
+
+ Fixes bug #630999.
+
+diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c
+index 367f70d..ee68354 100644
+--- a/libview/ev-pixbuf-cache.c
++++ b/libview/ev-pixbuf-cache.c
+@@ -1035,6 +1035,9 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache,
+ if (!EV_IS_SELECTION (pixbuf_cache->document))
+ return;
+
++ if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1)
++ return;
++
+ /* We check each area to see what needs updating, and what needs freeing; */
+ page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size;
+ for (i = 0; i < pixbuf_cache->preload_cache_size; i++) {
+@@ -1114,6 +1117,9 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache)
+
+ g_return_val_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache), NULL);
+
++ if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1)
++ return NULL;
++
+ /* We check each area to see what needs updating, and what needs freeing; */
+ page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size;
+ for (i = 0; i < pixbuf_cache->preload_cache_size; i++) {
diff --git a/app-text/evince/files/evince-2.32.0-pk-fonts.patch b/app-text/evince/files/evince-2.32.0-pk-fonts.patch
new file mode 100644
index 0000000..8379e74
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-pk-fonts.patch
@@ -0,0 +1,37 @@
+From 0a6e8aabcc46d47b5d84e5414cd0e07d57ef171b Mon Sep 17 00:00:00 2001
+From: José Aliste <jaliste@src.gnome.org>
+Date: Mon, 17 Jan 2011 17:30:00 +0000
+Subject: Fix problem with some pk fonts.
+
+---
+diff --git a/backend/dvi/mdvi-lib/pk.c b/backend/dvi/mdvi-lib/pk.c
+index 08377e6..a911613 100644
+--- a/backend/dvi/mdvi-lib/pk.c
++++ b/backend/dvi/mdvi-lib/pk.c
+@@ -328,13 +328,14 @@ static int pk_load_font(DviParams *unused, DviFont *font)
+ {
+ int i;
+ int flag_byte;
+- int loc, hic, maxch;
++ int hic, maxch;
+ Int32 checksum;
+ FILE *p;
+ #ifndef NODEBUG
+ char s[256];
+ #endif
+ long alpha, beta, z;
++ unsigned int loc;
+
+ font->chars = xnalloc(DviFontChar, 256);
+ p = font->in;
+@@ -521,7 +522,7 @@ static int pk_load_font(DviParams *unused, DviFont *font)
+ }
+
+ /* resize font char data */
+- if(loc > 0 && hic < maxch-1) {
++ if(loc > 0 || hic < maxch-1) {
+ memmove(font->chars, font->chars + loc,
+ (hic - loc + 1) * sizeof(DviFontChar));
+ font->chars = xresize(font->chars,
+--
+cgit v0.8.3.1
diff --git a/app-text/evince/files/evince-2.32.0-stop-spinner.patch b/app-text/evince/files/evince-2.32.0-stop-spinner.patch
new file mode 100644
index 0000000..eb33019
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-stop-spinner.patch
@@ -0,0 +1,74 @@
+From 220956ee03fa37fb55079aff63675db26cd908f9 Mon Sep 17 00:00:00 2001
+From: Cristian KLEIN <cristiklein+gnome@gmail.com>
+Date: Thu, 16 Dec 2010 17:38:06 +0000
+Subject: libview: Stop the GtkSpinner when the loading window is hidden
+
+Fixes bug #637390.
+---
+diff --git a/libview/ev-loading-window.c b/libview/ev-loading-window.c
+index 4d5eaaf..434beac 100644
+--- a/libview/ev-loading-window.c
++++ b/libview/ev-loading-window.c
+@@ -33,6 +33,7 @@ struct _EvLoadingWindow {
+ GtkWindow base_instance;
+
+ GtkWindow *parent;
++ GtkWidget *spinner;
+
+ gint x;
+ gint y;
+@@ -69,7 +70,6 @@ ev_loading_window_init (EvLoadingWindow *window)
+ GtkWindow *gtk_window = GTK_WINDOW (window);
+ GtkWidget *widget = GTK_WIDGET (window);
+ GtkWidget *hbox;
+- GtkWidget *spinner;
+ GtkWidget *label;
+ GtkStyle *style;
+ GdkColor fg, bg;
+@@ -79,10 +79,9 @@ ev_loading_window_init (EvLoadingWindow *window)
+
+ hbox = gtk_hbox_new (FALSE, 12);
+
+- spinner = gtk_spinner_new ();
+- gtk_spinner_start (GTK_SPINNER (spinner));
+- gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0);
+- gtk_widget_show (spinner);
++ window->spinner = gtk_spinner_new ();
++ gtk_box_pack_start (GTK_BOX (hbox), window->spinner, FALSE, FALSE, 0);
++ gtk_widget_show (window->spinner);
+
+ label = gtk_label_new (loading_text);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+@@ -222,10 +221,22 @@ ev_loading_window_hide (GtkWidget *widget)
+
+ window->x = window->y = 0;
+
++ gtk_spinner_stop (GTK_SPINNER (window->spinner));
++
+ GTK_WIDGET_CLASS (ev_loading_window_parent_class)->hide (widget);
+ }
+
+ static void
++ev_loading_window_show (GtkWidget *widget)
++{
++ EvLoadingWindow *window = EV_LOADING_WINDOW (widget);
++
++ gtk_spinner_start (GTK_SPINNER (window->spinner));
++
++ GTK_WIDGET_CLASS (ev_loading_window_parent_class)->show (widget);
++}
++
++static void
+ ev_loading_window_class_init (EvLoadingWindowClass *klass)
+ {
+ GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
+@@ -235,6 +246,7 @@ ev_loading_window_class_init (EvLoadingWindowClass *klass)
+ g_object_class->set_property = ev_loading_window_set_property;
+
+ gtk_widget_class->size_allocate = ev_loading_window_size_allocate;
++ gtk_widget_class->show = ev_loading_window_show;
+ gtk_widget_class->hide = ev_loading_window_hide;
+
+ g_object_class_install_property (g_object_class,
+--
+cgit v0.9
diff --git a/app-text/evince/files/evince-2.32.0-update-poppler.patch b/app-text/evince/files/evince-2.32.0-update-poppler.patch
new file mode 100644
index 0000000..29bcad6
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-update-poppler.patch
@@ -0,0 +1,58 @@
+From f77e6cf4fd7fef49ac91d8c62b6a9a993529adb8 Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Fri, 17 Sep 2010 11:21:16 +0000
+Subject: [pdf] Update to poppler api changes
+
+Linearized PopplerDocument property is now boolean rather than string.
+---
+diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc
+index aa080e6..ced3ef7 100644
+--- a/backend/pdf/ev-poppler.cc
++++ b/backend/pdf/ev-poppler.cc
+@@ -722,6 +722,9 @@ pdf_document_get_info (EvDocument *document)
+ PopplerPermissions permissions;
+ EvPage *page;
+ char *metadata;
++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED
++ gboolean linearized;
++#endif
+
+ info = g_new0 (EvDocumentInfo, 1);
+
+@@ -758,7 +761,11 @@ pdf_document_get_info (EvDocument *document)
+ "producer", &(info->producer),
+ "creation-date", &(info->creation_date),
+ "mod-date", &(info->modified_date),
++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED
++ "linearized", &linearized,
++#else
+ "linearized", &(info->linearized),
++#endif
+ "metadata", &metadata,
+ NULL);
+
+@@ -864,6 +871,10 @@ pdf_document_get_info (EvDocument *document)
+ info->security = g_strdup (_("No"));
+ }
+
++#ifdef HAVE_POPPLER_DOCUMENT_IS_LINEARIZED
++ info->linearized = linearized ? g_strdup (_("Yes")) : g_strdup (_("No"));
++#endif
++
+ return info;
+ }
+
+diff --git a/configure.ac b/configure.ac
+index 0faa16e..9619349 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -512,6 +512,7 @@ if test "x$enable_pdf" = "xyes"; then
+ AC_CHECK_FUNCS(poppler_page_get_text_layout)
+ AC_CHECK_FUNCS(poppler_page_get_selected_text)
+ AC_CHECK_FUNCS(poppler_page_add_annot)
++ AC_CHECK_FUNCS(poppler_document_is_linearized)
+ LIBS=$evince_save_LIBS
+ PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
+ if test x$enable_cairo_pdf = xyes; then
+--
+cgit v0.8.3.1
diff --git a/app-text/evince/files/evince-2.32.0-use-popup.patch b/app-text/evince/files/evince-2.32.0-use-popup.patch
new file mode 100644
index 0000000..8bb52c8
--- /dev/null
+++ b/app-text/evince/files/evince-2.32.0-use-popup.patch
@@ -0,0 +1,21 @@
+From 464ec9077f4bc709e50c83372c9d4e1703533efa Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <carlosgc@gnome.org>
+Date: Sun, 20 Feb 2011 10:29:19 +0000
+Subject: libview: Use a popup window instead of a toplevel for loading window
+
+Fixes focus stealing when scrolling. See bug #633475.
+---
+diff --git a/libview/ev-loading-window.c b/libview/ev-loading-window.c
+index b413431..94576ee 100644
+--- a/libview/ev-loading-window.c
++++ b/libview/ev-loading-window.c
+@@ -266,6 +266,7 @@ ev_loading_window_new (GtkWindow *parent)
+ g_return_val_if_fail (GTK_IS_WINDOW (parent), NULL);
+
+ window = g_object_new (EV_TYPE_LOADING_WINDOW,
++ "type", GTK_WINDOW_POPUP,
+ "parent", parent,
+ NULL);
+ return window;
+--
+cgit v0.9
diff --git a/app-text/evince/files/evince-3.6.0-evince.desktop.patch b/app-text/evince/files/evince-3.6.0-evince.desktop.patch
new file mode 100644
index 0000000..8fb7295
--- /dev/null
+++ b/app-text/evince/files/evince-3.6.0-evince.desktop.patch
@@ -0,0 +1,26 @@
+From a9f7ae46f2ea3d78cb53db4f0aad69bc7d0d163a Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Fri, 12 Oct 2012 19:15:18 -0400
+Subject: [PATCH] evince.desktop: add 2DGraphics category
+
+Needed to pass validation with desktop-file-utils-0.20
+
+https://bugzilla.gnome.org/show_bug.cgi?id=686062
+---
+ data/evince.desktop.in.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/evince.desktop.in.in b/data/evince.desktop.in.in
+index 7106d97..e38497e 100644
+--- a/data/evince.desktop.in.in
++++ b/data/evince.desktop.in.in
+@@ -13,5 +13,5 @@ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=evince
+ X-GNOME-Bugzilla-Component=BugBuddyBugs
+ X-GNOME-Bugzilla-Version=@VERSION@
+-Categories=GNOME;GTK;Office;Viewer;Graphics;VectorGraphics;
++Categories=GNOME;GTK;Office;Viewer;Graphics;2DGraphics;VectorGraphics;
+ MimeType=@EVINCE_MIME_TYPES@
+--
+1.7.12.3
+
diff --git a/app-text/evince/files/gconf-2.m4 b/app-text/evince/files/gconf-2.m4
new file mode 100644
index 0000000..4a0936e
--- /dev/null
+++ b/app-text/evince/files/gconf-2.m4
@@ -0,0 +1,44 @@
+dnl AM_GCONF_SOURCE_2
+dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
+dnl (i.e. pass to gconftool-2
+dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where
+dnl you should install foo.schemas files
+dnl
+
+AC_DEFUN([AM_GCONF_SOURCE_2],
+[
+ if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
+ GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
+ else
+ GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
+ fi
+
+ AC_ARG_WITH([gconf-source],
+ AC_HELP_STRING([--with-gconf-source=sourceaddress],
+ [Config database for installing schema files.]),
+ [GCONF_SCHEMA_CONFIG_SOURCE="$withval"],)
+
+ AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
+ AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
+
+ if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
+ GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
+ fi
+
+ AC_ARG_WITH([gconf-schema-file-dir],
+ AC_HELP_STRING([--with-gconf-schema-file-dir=dir],
+ [Directory for installing schema files.]),
+ [GCONF_SCHEMA_FILE_DIR="$withval"],)
+
+ AC_SUBST(GCONF_SCHEMA_FILE_DIR)
+ AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
+
+ AC_ARG_ENABLE(schemas-install,
+ AC_HELP_STRING([--disable-schemas-install],
+ [Disable the schemas installation]),
+ [case ${enableval} in
+ yes|no) ;;
+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-install]) ;;
+ esac])
+ AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
+])