public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-text/evince/, app-text/evince/files/
@ 2017-07-13 17:43 Mart Raudsepp
  0 siblings, 0 replies; 4+ messages in thread
From: Mart Raudsepp @ 2017-07-13 17:43 UTC (permalink / raw
  To: gentoo-commits

commit:     25ad9706a5046f3b3373762ba457772daa3af80d
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 13 17:42:47 2017 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Thu Jul 13 17:42:47 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25ad9706

app-text/evince: remove support for tar-like compressed comics files (CBT) for security

The support for tar compressed comics files will come back in a future version via
libarchive. Until then this is disabled due to security issue CVE-2017-1000083.
Other comics formats should still work.

Gentoo-bug: 624876
Package-Manager: Portage-2.3.5, Repoman-2.3.2

 app-text/evince/evince-3.22.1-r1.ebuild            | 102 ++++++++++++++++
 .../evince/files/3.22.1-CVE-2017-1000083.patch     | 130 +++++++++++++++++++++
 2 files changed, 232 insertions(+)

diff --git a/app-text/evince/evince-3.22.1-r1.ebuild b/app-text/evince/evince-3.22.1-r1.ebuild
new file mode 100644
index 00000000000..862b8c1b9f1
--- /dev/null
+++ b/app-text/evince/evince-3.22.1-r1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 systemd
+
+DESCRIPTION="Simple document viewer for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Evince"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+# subslot = evd3.(suffix of libevdocument3)-evv3.(suffix of libevview3)
+SLOT="0/evd3.4-evv3.3"
+IUSE="djvu dvi gstreamer gnome gnome-keyring +introspection nautilus nsplugin +postscript t1lib tiff xps"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris"
+
+# atk used in libview
+# gdk-pixbuf used all over the place
+COMMON_DEPEND="
+	dev-libs/atk
+	>=dev-libs/glib-2.36:2[dbus]
+	>=dev-libs/libxml2-2.5:2
+	sys-libs/zlib:=
+	x11-libs/gdk-pixbuf:2
+	>=x11-libs/gtk+-3.16.0:3[introspection?]
+	gnome-base/gsettings-desktop-schemas
+	>=x11-libs/cairo-1.10:=
+	>=app-text/poppler-0.33[cairo]
+	djvu? ( >=app-text/djvu-3.5.22:= )
+	dvi? (
+		virtual/tex-base
+		dev-libs/kpathsea:=
+		t1lib? ( >=media-libs/t1lib-5:= ) )
+	gstreamer? (
+		media-libs/gstreamer:1.0
+		media-libs/gst-plugins-base:1.0
+		media-libs/gst-plugins-good:1.0 )
+	gnome? ( gnome-base/gnome-desktop:3= )
+	gnome-keyring? ( >=app-crypt/libsecret-0.5 )
+	introspection? ( >=dev-libs/gobject-introspection-1:= )
+	nautilus? ( >=gnome-base/nautilus-2.91.4[introspection?] )
+	postscript? ( >=app-text/libspectre-0.2:= )
+	tiff? ( >=media-libs/tiff-3.6:0= )
+	xps? ( >=app-text/libgxps-0.2.1:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	gnome-base/gvfs
+	gnome-base/librsvg
+	|| (
+		>=x11-themes/adwaita-icon-theme-2.17.1
+		>=x11-themes/hicolor-icon-theme-0.10 )
+"
+DEPEND="${COMMON_DEPEND}
+	app-text/docbook-xml-dtd:4.3
+	app-text/yelp-tools
+	dev-util/gdbus-codegen
+	>=dev-util/gtk-doc-am-1.13
+	>=dev-util/intltool-0.35
+	dev-util/itstool
+	sys-devel/gettext
+	virtual/pkgconfig
+"
+# eautoreconf needs:
+#  app-text/yelp-tools
+
+PATCHES=(
+	"${FILESDIR}"/${PV}-CVE-2017-1000083.patch
+)
+
+src_prepare() {
+	gnome2_src_prepare
+
+	# Do not depend on adwaita-icon-theme, bug #326855, #391859
+	# https://bugs.freedesktop.org/show_bug.cgi?id=29942
+	sed -e 's/adwaita-icon-theme >= $ADWAITA_ICON_THEME_REQUIRED//g' \
+		-i configure || die "sed failed"
+}
+
+src_configure() {
+	gnome2_src_configure \
+		--disable-static \
+		--enable-pdf \
+		--enable-comics \
+		--enable-thumbnailer \
+		--with-platform=gnome \
+		--enable-dbus \
+		$(use_enable djvu) \
+		$(use_enable dvi) \
+		$(use_enable gstreamer multimedia) \
+		$(use_enable gnome libgnome-desktop) \
+		$(use_with gnome-keyring keyring) \
+		$(use_enable introspection) \
+		$(use_enable nautilus) \
+		$(use_enable nsplugin browser-plugin) \
+		$(use_enable postscript ps) \
+		$(use_enable t1lib) \
+		$(use_enable tiff) \
+		$(use_enable xps) \
+		BROWSER_PLUGIN_DIR="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins \
+		--with-systemduserunitdir="$(systemd_get_userunitdir)"
+}

diff --git a/app-text/evince/files/3.22.1-CVE-2017-1000083.patch b/app-text/evince/files/3.22.1-CVE-2017-1000083.patch
new file mode 100644
index 00000000000..9164c618145
--- /dev/null
+++ b/app-text/evince/files/3.22.1-CVE-2017-1000083.patch
@@ -0,0 +1,130 @@
+From: Bastien Nocera
+Date: Thu, 6 Jul 2017 20:02:00 +0200
+Subject: comics: Remove support for tar and tar-like commands
+
+When handling tar files, or using a command with tar-compatible syntax,
+to open comic-book archives, both the archive name (the name of the
+comics file) and the filename (the name of a page within the archive)
+are quoted to not be interpreted by the shell.
+
+But the filename is completely with the attacker's control and can start
+with "--" which leads to tar interpreting it as a command line flag.
+
+This can be exploited by creating a CBT file (a tar archive with the
+.cbt suffix) with an embedded file named something like this:
+"--checkpoint-action=exec=bash -c 'touch ~/hacked;'.jpg"
+
+CBT files are infinitely rare (CBZ is usually used for DRM-free
+commercial releases, CBR for those from more dubious provenance), so
+removing support is the easiest way to avoid the bug triggering. All
+this code was rewritten in the development release for GNOME 3.26 to not
+shell out to any command, closing off this particular attack vector.
+
+This also removes the ability to use libarchive's bsdtar-compatible
+binary for CBZ (ZIP), CB7 (7zip), and CBR (RAR) formats. The first two
+are already supported by unzip and 7zip respectively. libarchive's RAR
+support is limited, so unrar is a requirement anyway.
+
+Discovered by Felix Wilhelm from the Google Security Team.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=784630
+---
+ backend/comics/comics-document.c | 40 +---------------------------------------
+ configure.ac                     |  2 +-
+ 2 files changed, 2 insertions(+), 40 deletions(-)
+
+diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c
+index 96ed26e..3af119a 100644
+--- a/backend/comics/comics-document.c
++++ b/backend/comics/comics-document.c
+@@ -56,8 +56,7 @@ typedef enum
+ 	RARLABS,
+ 	GNAUNRAR,
+ 	UNZIP,
+-	P7ZIP,
+-	TAR
++	P7ZIP
+ } ComicBookDecompressType;
+ 
+ typedef struct _ComicsDocumentClass ComicsDocumentClass;
+@@ -117,9 +116,6 @@ static const ComicBookDecompressCommand command_usage_def[] = {
+ 
+         /* 7zip */
+ 	{NULL               , "%s l -- %s"     , "%s x -y %s -o%s", FALSE, OFFSET_7Z},
+-
+-        /* tar */
+-	{"%s -xOf"          , "%s -tf %s"      , NULL             , FALSE, NO_OFFSET}
+ };
+ 
+ static GSList*    get_supported_image_extensions (void);
+@@ -364,13 +360,6 @@ comics_check_decompress_command	(gchar          *mime_type,
+ 			comics_document->command_usage = GNAUNRAR;
+ 			return TRUE;
+ 		}
+-		comics_document->selected_command =
+-				g_find_program_in_path ("bsdtar");
+-		if (comics_document->selected_command) {
+-			comics_document->command_usage = TAR;
+-			return TRUE;
+-		}
+-
+ 	} else if (g_content_type_is_a (mime_type, "application/x-cbz") ||
+ 		   g_content_type_is_a (mime_type, "application/zip")) {
+ 		/* InfoZIP's unzip program */
+@@ -396,12 +385,6 @@ comics_check_decompress_command	(gchar          *mime_type,
+ 			comics_document->command_usage = P7ZIP;
+ 			return TRUE;
+ 		}
+-		comics_document->selected_command =
+-				g_find_program_in_path ("bsdtar");
+-		if (comics_document->selected_command) {
+-			comics_document->command_usage = TAR;
+-			return TRUE;
+-		}
+ 
+ 	} else if (g_content_type_is_a (mime_type, "application/x-cb7") ||
+ 		   g_content_type_is_a (mime_type, "application/x-7z-compressed")) {
+@@ -425,27 +408,6 @@ comics_check_decompress_command	(gchar          *mime_type,
+ 			comics_document->command_usage = P7ZIP;
+ 			return TRUE;
+ 		}
+-		comics_document->selected_command =
+-				g_find_program_in_path ("bsdtar");
+-		if (comics_document->selected_command) {
+-			comics_document->command_usage = TAR;
+-			return TRUE;
+-		}
+-	} else if (g_content_type_is_a (mime_type, "application/x-cbt") ||
+-		   g_content_type_is_a (mime_type, "application/x-tar")) {
+-		/* tar utility (Tape ARchive) */
+-		comics_document->selected_command =
+-				g_find_program_in_path ("tar");
+-		if (comics_document->selected_command) {
+-			comics_document->command_usage = TAR;
+-			return TRUE;
+-		}
+-		comics_document->selected_command =
+-				g_find_program_in_path ("bsdtar");
+-		if (comics_document->selected_command) {
+-			comics_document->command_usage = TAR;
+-			return TRUE;
+-		}
+ 	} else {
+ 		g_set_error (error,
+ 			     EV_DOCUMENT_ERROR,
+diff --git a/configure.ac b/configure.ac
+index 36e866a..26a1a7d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -795,7 +795,7 @@ AC_SUBST(TIFF_MIME_TYPES)
+ AC_SUBST(APPDATA_TIFF_MIME_TYPES)
+ AM_SUBST_NOTMAKE(APPDATA_TIFF_MIME_TYPES)
+ if test "x$enable_comics" = "xyes"; then
+-        COMICS_MIME_TYPES="application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;application/x-ext-cbr;application/x-ext-cbz;application/vnd.comicbook+zip;application/x-ext-cb7;application/x-ext-cbt"
++        COMICS_MIME_TYPES="application/x-cbr;application/x-cbz;application/x-cb7;application/x-ext-cbr;application/x-ext-cbz;application/vnd.comicbook+zip;application/x-ext-cb7;"
+         APPDATA_COMICS_MIME_TYPES=$(echo "<mimetype>$COMICS_MIME_TYPES</mimetype>" | sed -e 's/;/<\/mimetype>\n    <mimetype>/g')
+         if test -z "$EVINCE_MIME_TYPES"; then
+            EVINCE_MIME_TYPES="${COMICS_MIME_TYPES}"
+-- 
+cgit v0.12
+


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/evince/, app-text/evince/files/
@ 2018-01-27  9:38 Mart Raudsepp
  0 siblings, 0 replies; 4+ messages in thread
From: Mart Raudsepp @ 2018-01-27  9:38 UTC (permalink / raw
  To: gentoo-commits

commit:     84765235371fae63f3762797eb56b0f64d5941f8
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 09:36:39 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Jan 27 09:38:15 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84765235

app-text/evince: remove old

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 app-text/evince/Manifest                           |   1 -
 app-text/evince/evince-3.22.1-r1.ebuild            | 102 ----------------
 .../evince/files/3.22.1-CVE-2017-1000083.patch     | 130 ---------------------
 3 files changed, 233 deletions(-)

diff --git a/app-text/evince/Manifest b/app-text/evince/Manifest
index 1f3e3ce6f4b..4fda50ef273 100644
--- a/app-text/evince/Manifest
+++ b/app-text/evince/Manifest
@@ -1,2 +1 @@
-DIST evince-3.22.1.tar.xz 3365004 BLAKE2B 89d909d6ce4bf5c370ca1777993855b70e924108aab4f1f467601165545ae74647ce77c9ba9cb7145e30d1dff00749f41df5fd461be84e51db5f01a293c68294 SHA512 c36a90bf98f25b4f9f05536f1a09c38be30b814529e17a4ab159ba7c1e952402a211f335d4cdf1928ace8a5b46d6d019fbbd457ce11c2ffa264d8bb7c32d5a18
 DIST evince-3.24.2.tar.xz 3509216 BLAKE2B 3bcb9e15a6576650d17d6ea1df638c4b16759ddd2353ca47b425c1fec04f90b85ff7f338472e5e18defc01ab066ef241eff40e8f493fa2238814933703636e7b SHA512 77e099ff60188f982a49f5c8287eb2ed8d42402a15a54ccf8367b3814e7e16ba31354363d3f101117153792daa96f653f24bb06193b5e749d0ebfaac7d7c1e0f

diff --git a/app-text/evince/evince-3.22.1-r1.ebuild b/app-text/evince/evince-3.22.1-r1.ebuild
deleted file mode 100644
index 7ce30ec41a4..00000000000
--- a/app-text/evince/evince-3.22.1-r1.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_LA_PUNT="yes"
-
-inherit gnome2 systemd
-
-DESCRIPTION="Simple document viewer for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Evince"
-
-LICENSE="GPL-2+ CC-BY-SA-3.0"
-# subslot = evd3.(suffix of libevdocument3)-evv3.(suffix of libevview3)
-SLOT="0/evd3.4-evv3.3"
-IUSE="djvu dvi gstreamer gnome gnome-keyring +introspection nautilus nsplugin +postscript t1lib tiff xps"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-solaris"
-
-# atk used in libview
-# gdk-pixbuf used all over the place
-COMMON_DEPEND="
-	dev-libs/atk
-	>=dev-libs/glib-2.36:2[dbus]
-	>=dev-libs/libxml2-2.5:2
-	sys-libs/zlib:=
-	x11-libs/gdk-pixbuf:2
-	>=x11-libs/gtk+-3.16.0:3[introspection?]
-	gnome-base/gsettings-desktop-schemas
-	>=x11-libs/cairo-1.10:=
-	>=app-text/poppler-0.33[cairo]
-	djvu? ( >=app-text/djvu-3.5.22:= )
-	dvi? (
-		virtual/tex-base
-		dev-libs/kpathsea:=
-		t1lib? ( >=media-libs/t1lib-5:= ) )
-	gstreamer? (
-		media-libs/gstreamer:1.0
-		media-libs/gst-plugins-base:1.0
-		media-libs/gst-plugins-good:1.0 )
-	gnome? ( gnome-base/gnome-desktop:3= )
-	gnome-keyring? ( >=app-crypt/libsecret-0.5 )
-	introspection? ( >=dev-libs/gobject-introspection-1:= )
-	nautilus? ( >=gnome-base/nautilus-2.91.4[introspection?] )
-	postscript? ( >=app-text/libspectre-0.2:= )
-	tiff? ( >=media-libs/tiff-3.6:0= )
-	xps? ( >=app-text/libgxps-0.2.1:= )
-"
-RDEPEND="${COMMON_DEPEND}
-	gnome-base/gvfs
-	gnome-base/librsvg
-	|| (
-		>=x11-themes/adwaita-icon-theme-2.17.1
-		>=x11-themes/hicolor-icon-theme-0.10 )
-"
-DEPEND="${COMMON_DEPEND}
-	app-text/docbook-xml-dtd:4.3
-	app-text/yelp-tools
-	dev-util/gdbus-codegen
-	>=dev-util/gtk-doc-am-1.13
-	>=dev-util/intltool-0.35
-	dev-util/itstool
-	sys-devel/gettext
-	virtual/pkgconfig
-"
-# eautoreconf needs:
-#  app-text/yelp-tools
-
-PATCHES=(
-	"${FILESDIR}"/${PV}-CVE-2017-1000083.patch
-)
-
-src_prepare() {
-	gnome2_src_prepare
-
-	# Do not depend on adwaita-icon-theme, bug #326855, #391859
-	# https://bugs.freedesktop.org/show_bug.cgi?id=29942
-	sed -e 's/adwaita-icon-theme >= $ADWAITA_ICON_THEME_REQUIRED//g' \
-		-i configure || die "sed failed"
-}
-
-src_configure() {
-	gnome2_src_configure \
-		--disable-static \
-		--enable-pdf \
-		--enable-comics \
-		--enable-thumbnailer \
-		--with-platform=gnome \
-		--enable-dbus \
-		$(use_enable djvu) \
-		$(use_enable dvi) \
-		$(use_enable gstreamer multimedia) \
-		$(use_enable gnome libgnome-desktop) \
-		$(use_with gnome-keyring keyring) \
-		$(use_enable introspection) \
-		$(use_enable nautilus) \
-		$(use_enable nsplugin browser-plugin) \
-		$(use_enable postscript ps) \
-		$(use_enable t1lib) \
-		$(use_enable tiff) \
-		$(use_enable xps) \
-		BROWSER_PLUGIN_DIR="${EPREFIX}"/usr/$(get_libdir)/nsbrowser/plugins \
-		--with-systemduserunitdir="$(systemd_get_userunitdir)"
-}

diff --git a/app-text/evince/files/3.22.1-CVE-2017-1000083.patch b/app-text/evince/files/3.22.1-CVE-2017-1000083.patch
deleted file mode 100644
index 9164c618145..00000000000
--- a/app-text/evince/files/3.22.1-CVE-2017-1000083.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From: Bastien Nocera
-Date: Thu, 6 Jul 2017 20:02:00 +0200
-Subject: comics: Remove support for tar and tar-like commands
-
-When handling tar files, or using a command with tar-compatible syntax,
-to open comic-book archives, both the archive name (the name of the
-comics file) and the filename (the name of a page within the archive)
-are quoted to not be interpreted by the shell.
-
-But the filename is completely with the attacker's control and can start
-with "--" which leads to tar interpreting it as a command line flag.
-
-This can be exploited by creating a CBT file (a tar archive with the
-.cbt suffix) with an embedded file named something like this:
-"--checkpoint-action=exec=bash -c 'touch ~/hacked;'.jpg"
-
-CBT files are infinitely rare (CBZ is usually used for DRM-free
-commercial releases, CBR for those from more dubious provenance), so
-removing support is the easiest way to avoid the bug triggering. All
-this code was rewritten in the development release for GNOME 3.26 to not
-shell out to any command, closing off this particular attack vector.
-
-This also removes the ability to use libarchive's bsdtar-compatible
-binary for CBZ (ZIP), CB7 (7zip), and CBR (RAR) formats. The first two
-are already supported by unzip and 7zip respectively. libarchive's RAR
-support is limited, so unrar is a requirement anyway.
-
-Discovered by Felix Wilhelm from the Google Security Team.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=784630
----
- backend/comics/comics-document.c | 40 +---------------------------------------
- configure.ac                     |  2 +-
- 2 files changed, 2 insertions(+), 40 deletions(-)
-
-diff --git a/backend/comics/comics-document.c b/backend/comics/comics-document.c
-index 96ed26e..3af119a 100644
---- a/backend/comics/comics-document.c
-+++ b/backend/comics/comics-document.c
-@@ -56,8 +56,7 @@ typedef enum
- 	RARLABS,
- 	GNAUNRAR,
- 	UNZIP,
--	P7ZIP,
--	TAR
-+	P7ZIP
- } ComicBookDecompressType;
- 
- typedef struct _ComicsDocumentClass ComicsDocumentClass;
-@@ -117,9 +116,6 @@ static const ComicBookDecompressCommand command_usage_def[] = {
- 
-         /* 7zip */
- 	{NULL               , "%s l -- %s"     , "%s x -y %s -o%s", FALSE, OFFSET_7Z},
--
--        /* tar */
--	{"%s -xOf"          , "%s -tf %s"      , NULL             , FALSE, NO_OFFSET}
- };
- 
- static GSList*    get_supported_image_extensions (void);
-@@ -364,13 +360,6 @@ comics_check_decompress_command	(gchar          *mime_type,
- 			comics_document->command_usage = GNAUNRAR;
- 			return TRUE;
- 		}
--		comics_document->selected_command =
--				g_find_program_in_path ("bsdtar");
--		if (comics_document->selected_command) {
--			comics_document->command_usage = TAR;
--			return TRUE;
--		}
--
- 	} else if (g_content_type_is_a (mime_type, "application/x-cbz") ||
- 		   g_content_type_is_a (mime_type, "application/zip")) {
- 		/* InfoZIP's unzip program */
-@@ -396,12 +385,6 @@ comics_check_decompress_command	(gchar          *mime_type,
- 			comics_document->command_usage = P7ZIP;
- 			return TRUE;
- 		}
--		comics_document->selected_command =
--				g_find_program_in_path ("bsdtar");
--		if (comics_document->selected_command) {
--			comics_document->command_usage = TAR;
--			return TRUE;
--		}
- 
- 	} else if (g_content_type_is_a (mime_type, "application/x-cb7") ||
- 		   g_content_type_is_a (mime_type, "application/x-7z-compressed")) {
-@@ -425,27 +408,6 @@ comics_check_decompress_command	(gchar          *mime_type,
- 			comics_document->command_usage = P7ZIP;
- 			return TRUE;
- 		}
--		comics_document->selected_command =
--				g_find_program_in_path ("bsdtar");
--		if (comics_document->selected_command) {
--			comics_document->command_usage = TAR;
--			return TRUE;
--		}
--	} else if (g_content_type_is_a (mime_type, "application/x-cbt") ||
--		   g_content_type_is_a (mime_type, "application/x-tar")) {
--		/* tar utility (Tape ARchive) */
--		comics_document->selected_command =
--				g_find_program_in_path ("tar");
--		if (comics_document->selected_command) {
--			comics_document->command_usage = TAR;
--			return TRUE;
--		}
--		comics_document->selected_command =
--				g_find_program_in_path ("bsdtar");
--		if (comics_document->selected_command) {
--			comics_document->command_usage = TAR;
--			return TRUE;
--		}
- 	} else {
- 		g_set_error (error,
- 			     EV_DOCUMENT_ERROR,
-diff --git a/configure.ac b/configure.ac
-index 36e866a..26a1a7d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -795,7 +795,7 @@ AC_SUBST(TIFF_MIME_TYPES)
- AC_SUBST(APPDATA_TIFF_MIME_TYPES)
- AM_SUBST_NOTMAKE(APPDATA_TIFF_MIME_TYPES)
- if test "x$enable_comics" = "xyes"; then
--        COMICS_MIME_TYPES="application/x-cbr;application/x-cbz;application/x-cb7;application/x-cbt;application/x-ext-cbr;application/x-ext-cbz;application/vnd.comicbook+zip;application/x-ext-cb7;application/x-ext-cbt"
-+        COMICS_MIME_TYPES="application/x-cbr;application/x-cbz;application/x-cb7;application/x-ext-cbr;application/x-ext-cbz;application/vnd.comicbook+zip;application/x-ext-cb7;"
-         APPDATA_COMICS_MIME_TYPES=$(echo "<mimetype>$COMICS_MIME_TYPES</mimetype>" | sed -e 's/;/<\/mimetype>\n    <mimetype>/g')
-         if test -z "$EVINCE_MIME_TYPES"; then
-            EVINCE_MIME_TYPES="${COMICS_MIME_TYPES}"
--- 
-cgit v0.12
-


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/evince/, app-text/evince/files/
@ 2021-04-13  4:40 Matt Turner
  0 siblings, 0 replies; 4+ messages in thread
From: Matt Turner @ 2021-04-13  4:40 UTC (permalink / raw
  To: gentoo-commits

commit:     7ccdbea27457da611c7aa7dfb9008d087b1aef77
Author:     Chris Mayo <aklhfex <AT> gmail <DOT> com>
AuthorDate: Tue Apr 13 02:39:15 2021 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Apr 13 04:39:36 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ccdbea2

app-text/evince: Version bump to 40.0

Closes: https://bugs.gentoo.org/774345
Signed-off-by: Chris Mayo <aklhfex <AT> gmail.com>
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 app-text/evince/Manifest                           |   1 +
 app-text/evince/evince-40.0.ebuild                 | 131 +++++++++++++++++++++
 .../evince/files/40.0-avoid-changing-soname.patch  |  66 +++++++++++
 app-text/evince/files/40.0-internal-synctex.patch  |  28 +++++
 4 files changed, 226 insertions(+)

diff --git a/app-text/evince/Manifest b/app-text/evince/Manifest
index 5417d246ea3..f277a2a0884 100644
--- a/app-text/evince/Manifest
+++ b/app-text/evince/Manifest
@@ -1,3 +1,4 @@
 DIST evince-3.36.10.tar.xz 2430584 BLAKE2B 7c8b5e3dec7168f4ab6976022bb85041fd8cc9f55b8c032bbf03cf492d243dc49f00d6913c1f2f09498c1b4091b4be126a9367dd3ed235635e9d08e6a9ae5a0d SHA512 2a17fc1fbd18e2685c254194d0e195ec0c6126f37212ae64297fb06f30f2e07f926cb768affb4d5c9c407c4dfc43db3578ffd244c9a6e121d1d3c9b5e653b4d2
 DIST evince-3.36.7.tar.xz 2580208 BLAKE2B 76ba6d206289f9981af24e5d82c9567c05984ad71efe83391aa1f8fdd94d31c284e600cf81eab9868e01f120f71cde1ae9b6ee6b7a4b1da47458d17b95b78d87 SHA512 dacc26d2d75c3dcadceb0a35c995ae3501bd91e84632cdf87decd359350e74032444707ea152e24c01fb57fe0ef2a426813a33919833cefdeb8699f8c642d910
 DIST evince-3.36.9.tar.xz 2429740 BLAKE2B 7154d473561955df9be545bbda520034e7de1556ea241dd30833ac014af2bb20fc3ef1d7fe6777cdcfab90553eb3f0562e1452df62c1c1eeb6b47b5bb64298bf SHA512 54f2dfc287fa627e1474c4bb23e6127bc5daa7044c2158805e5af487b7d65e776da9b86adbb83ec63fad3ce4c339f57483a3a2d7b95ad14de2dc76e29a29a8fb
+DIST evince-40.0.tar.xz 2928668 BLAKE2B 852c532b595f50e849893670b536b5b8c25f0407a719cbe659faa3f72b51f43a0471c3df9197fa5bd11735c14e0779d8cf28a88cd79aabec4dffa797443b9819 SHA512 995693e4a6e1a3bb31e1d4f3538dc53519102a5a6afa58ba61454a1e2ca582df26bd368876210fce6fab8ff4e218305644fa7a7a88c99e1a1ca5bda8d8f1ece2

diff --git a/app-text/evince/evince-40.0.ebuild b/app-text/evince/evince-40.0.ebuild
new file mode 100644
index 00000000000..6236265c87f
--- /dev/null
+++ b/app-text/evince/evince-40.0.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org meson systemd
+
+DESCRIPTION="Simple document viewer for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/Evince"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+# subslot = evd3.(suffix of libevdocument3)-evv3.(suffix of libevview3)
+SLOT="0/evd3.4-evv3.3"
+IUSE="cups djvu dvi gstreamer gnome gnome-keyring gtk-doc +introspection nautilus nsplugin postscript spell t1lib tiff xps"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+# atk used in libview
+# bundles unarr
+DEPEND="
+	dev-libs/atk
+	>=dev-libs/glib-2.44.0:2
+	>=gui-libs/libhandy-1.0:1=
+	>=dev-libs/libxml2-2.5:2
+	sys-libs/zlib:=
+	>=x11-libs/gdk-pixbuf-2.40:2
+	>=x11-libs/gtk+-3.22.0:3[cups?,introspection?]
+	gnome-base/gsettings-desktop-schemas
+	>=x11-libs/cairo-1.10:=
+	>=app-text/poppler-0.76.0[cairo]
+	>=app-arch/libarchive-3.2.0
+	djvu? ( >=app-text/djvu-3.5.22:= )
+	dvi? (
+		>=app-text/libspectre-0.2:=
+		dev-libs/kpathsea:=
+		t1lib? ( >=media-libs/t1lib-5:= ) )
+	gstreamer? (
+		media-libs/gstreamer:1.0
+		media-libs/gst-plugins-base:1.0
+		media-libs/gst-plugins-good:1.0 )
+	gnome? ( gnome-base/gnome-desktop:3= )
+	gnome-keyring? ( >=app-crypt/libsecret-0.5 )
+	introspection? ( >=dev-libs/gobject-introspection-1:= )
+	nautilus? ( >=gnome-base/nautilus-3.28.0 )
+	postscript? ( >=app-text/libspectre-0.2:= )
+	spell? ( >=app-text/gspell-1.6.0:= )
+	tiff? ( >=media-libs/tiff-3.6:0= )
+	xps? ( >=app-text/libgxps-0.2.1:= )
+"
+RDEPEND="${DEPEND}
+	gnome-base/gvfs
+	gnome-base/librsvg
+	|| (
+		>=x11-themes/adwaita-icon-theme-2.17.1
+		>=x11-themes/hicolor-icon-theme-0.10
+	)
+"
+BDEPEND="
+	gtk-doc? ( >=dev-util/gtk-doc-1.33 )
+	app-text/docbook-xml-dtd:4.3
+	dev-libs/appstream-glib
+	dev-util/gdbus-codegen
+	dev-util/glib-utils
+	dev-util/itstool
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+"
+
+PATCHES=(
+	"${FILESDIR}"/40.0-internal-synctex.patch
+	"${FILESDIR}"/40.0-avoid-changing-soname.patch
+)
+
+src_prepare() {
+	default
+
+	# Do not depend on adwaita-icon-theme, bug #326855, #391859
+	# https://gitlab.freedesktop.org/xdg/default-icon-theme/issues/7
+	sed -i '/adwaita_icon_theme_dep/d' meson.build shell/meson.build || die
+
+	# https://gitlab.gnome.org/GNOME/evince/-/merge_requests/336
+	sed -i -e 's:T1_initLib:T1_InitLib:' meson.build || die
+}
+
+src_configure() {
+	local emesonargs=(
+		-Dplatform=gnome
+
+		-Dviewer=true
+		-Dpreviewer=false
+		-Dthumbnailer=true
+		$(meson_use nsplugin browser_plugin)
+		$(meson_use nautilus)
+
+		-Dcomics=enabled
+		$(meson_feature djvu)
+		$(meson_feature dvi)
+		-Dpdf=enabled
+		$(meson_feature postscript ps)
+		$(meson_feature tiff)
+		$(meson_feature xps)
+
+		$(meson_use gtk-doc gtk_doc)
+		-Duser_doc=true
+		$(meson_use introspection)
+		-Ddbus=true
+		$(meson_feature gnome-keyring keyring)
+		$(meson_feature cups gtk_unix_print)
+		$(meson_feature gnome thumbnail_cache)
+		$(meson_feature gstreamer multimedia)
+		$(meson_feature spell gspell)
+
+		$(meson_feature t1lib)
+
+		-Dbrowser_plugin_dir="${EPREFIX}/usr/$(get_libdir)/nsbrowser/plugins"
+		-Dsystemduserunitdir="$(systemd_get_userunitdir)"
+
+	)
+	meson_src_configure
+}
+
+src_compile() {
+	meson_src_compile
+}
+
+src_test() {
+	meson_src_test
+}
+
+src_install() {
+	meson_src_install
+}

diff --git a/app-text/evince/files/40.0-avoid-changing-soname.patch b/app-text/evince/files/40.0-avoid-changing-soname.patch
new file mode 100644
index 00000000000..6742d967b10
--- /dev/null
+++ b/app-text/evince/files/40.0-avoid-changing-soname.patch
@@ -0,0 +1,66 @@
+From ca4b7aaff690095971de96370317fdf1bcd3af8f Mon Sep 17 00:00:00 2001
+From: Kalev Lember <klember@redhat.com>
+Date: Fri, 26 Mar 2021 14:48:51 +0100
+Subject: [PATCH] Avoid changing soname
+
+Bumping the major version to 40 in commit
+288be740b5bbb59757db5038ab435ceb7a334dcf inadvertently changed the
+soname for shared libevdocument and libevview.
+
+Fix this by making the soname calculation independent from the project
+version as the library ABI hasn't actually changed.
+---
+ libdocument/meson.build | 2 +-
+ libview/meson.build     | 2 +-
+ meson.build             | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libdocument/meson.build b/libdocument/meson.build
+index 74fe2fb1..e09de7fc 100644
+--- a/libdocument/meson.build
++++ b/libdocument/meson.build
+@@ -138,7 +138,7 @@ cflags = [
+ ]
+ 
+ libevdocument = shared_library(
+-  'evdocument' + ev_major_version.to_string(),
++  'evdocument3',
+   version: ev_document_version,
+   sources: sources + enum_sources + [version_header],
+   include_directories: top_inc,
+diff --git a/libview/meson.build b/libview/meson.build
+index 20179aff..74c86d51 100644
+--- a/libview/meson.build
++++ b/libview/meson.build
+@@ -82,7 +82,7 @@ if enable_multimedia
+ endif
+ 
+ libevview = shared_library(
+-  'evview' + ev_major_version.to_string(),
++  'evview3',
+   version: ev_view_version,
+   sources: sources + marshal_sources + enum_sources,
+   include_directories: top_inc,
+diff --git a/meson.build b/meson.build
+index 1ed37e96..cafb9023 100644
+--- a/meson.build
++++ b/meson.build
+@@ -43,13 +43,13 @@ ev_document_version = '@0@.@1@.@2@'.format(ev_document_current, ev_document_revi
+ ev_document_current_minus_age = ev_document_current - ev_document_age
+ 
+ # Libtool version of the view library
+-ev_view_current = ev_major_version
++ev_view_current = 3
+ ev_view_revision = 0
+ ev_view_age = 0
+ ev_view_version = '@0@.@1@.@2@'.format(ev_view_current, ev_view_revision, ev_view_age)
+ ev_view_current_minus_age = ev_view_current - ev_view_age
+ 
+-ev_api_version = '@0@.0'.format(ev_major_version)
++ev_api_version = '3.0'
+ 
+ ev_include_subdir = join_paths(ev_name, ev_api_version)
+ 
+-- 
+GitLab
+

diff --git a/app-text/evince/files/40.0-internal-synctex.patch b/app-text/evince/files/40.0-internal-synctex.patch
new file mode 100644
index 00000000000..8c45548c639
--- /dev/null
+++ b/app-text/evince/files/40.0-internal-synctex.patch
@@ -0,0 +1,28 @@
+From ce976d98317535d17d8aabd67729918a94b24cea Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Mon, 12 Apr 2021 23:07:50 -0400
+Subject: [PATCH] build: always use internal synctex instead of automagically
+
+We don't have a separate synctex package and would have to pull in
+all of texlive-core; so instead of fixing the automagic use of it,
+just remove support for external synctex, as that's easier.
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index abee124d..63c5040c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -251,7 +251,7 @@ config_h.set('HAVE_DESKTOP_SCHEMAS', gsettings_desktop_schemas_dep.found())
+ 
+ # *** libsynctex ***
+ synctex_dep = dependency('synctex', version: '>= 1.19', required: false)
+-external_synctex = synctex_dep.found()
++external_synctex = false
+ 
+ # *** Mime types list ***
+ mime_types_list = {
+-- 
+2.26.3
+


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-text/evince/, app-text/evince/files/
@ 2022-01-25  0:49 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2022-01-25  0:49 UTC (permalink / raw
  To: gentoo-commits

commit:     e1102afb93f6b26501cab2a27b77ed39eef8f65a
Author:     Christophe Lermytte <gentoo <AT> lermytte <DOT> be>
AuthorDate: Mon Jan 24 22:37:52 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 25 00:49:09 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1102afb

app-text/evince: fix build with meson-0.61

Closes: https://bugs.gentoo.org/831853
Signed-off-by: Christophe Lermytte <gentoo <AT> lermytte.be>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-text/evince/evince-41.3.ebuild                 |  4 ++
 .../files/41.3-fix-build-with-meson-0.61.1.patch   | 54 ++++++++++++++++++++++
 2 files changed, 58 insertions(+)

diff --git a/app-text/evince/evince-41.3.ebuild b/app-text/evince/evince-41.3.ebuild
index 11777c63ccda..75e615774832 100644
--- a/app-text/evince/evince-41.3.ebuild
+++ b/app-text/evince/evince-41.3.ebuild
@@ -67,6 +67,10 @@ BDEPEND="
 	virtual/pkgconfig
 "
 
+PATCHES=(
+	"${FILESDIR}/${PV}"-fix-build-with-meson-0.61.1.patch
+)
+
 src_prepare() {
 	xdg_src_prepare
 

diff --git a/app-text/evince/files/41.3-fix-build-with-meson-0.61.1.patch b/app-text/evince/files/41.3-fix-build-with-meson-0.61.1.patch
new file mode 100644
index 000000000000..fa0a5cd82914
--- /dev/null
+++ b/app-text/evince/files/41.3-fix-build-with-meson-0.61.1.patch
@@ -0,0 +1,54 @@
+https://gitlab.gnome.org/GNOME/evince/-/commit/1060b24d051607f14220f148d2f7723b29897a54
+https://bugs.gentoo.org/831853
+
+From: r-value <i@rvalue.moe>
+Date: Wed, 17 Nov 2021 18:22:45 +0800
+Subject: [PATCH] Remove incorrect args for i18n.merge_file
+
+`i18n.merge_file` has been ignoring positional arguments for
+a time and explicitly rejects with error since meson 0.60.0
+---
+ backend/meson.build | 1 -
+ data/meson.build    | 1 -
+ meson.build         | 1 -
+ 3 files changed, 3 deletions(-)
+
+diff --git a/backend/meson.build b/backend/meson.build
+index e44c1d6d7..ab3df9acf 100644
+--- a/backend/meson.build
++++ b/backend/meson.build
+@@ -50,7 +50,6 @@ foreach backend, backend_mime_types: backends
+   )
+ 
+   i18n.merge_file(
+-    appstream,
+     input: appstream_in,
+     output: appstream,
+     po_dir: po_dir,
+diff --git a/data/meson.build b/data/meson.build
+index 8a308b853..afc302098 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -15,7 +15,6 @@ foreach desktop: desktops
+   )
+ 
+   i18n.merge_file(
+-    desktop,
+     type: 'desktop',
+     input: desktop_in,
+     output: desktop,
+diff --git a/meson.build b/meson.build
+index 34c86661f..f74efb3c4 100644
+--- a/meson.build
++++ b/meson.build
+@@ -492,7 +492,6 @@ install_headers(
+ appdata = ev_namespace + '.appdata.xml'
+ 
+ i18n.merge_file(
+-  appdata,
+   input: appdata + '.in',
+   output: appdata,
+   po_dir: po_dir,
+-- 
+GitLab
+


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-25  0:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-25  0:49 [gentoo-commits] repo/gentoo:master commit in: app-text/evince/, app-text/evince/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2021-04-13  4:40 Matt Turner
2018-01-27  9:38 Mart Raudsepp
2017-07-13 17:43 Mart Raudsepp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox