summaryrefslogtreecommitdiff
path: root/x11-misc/shutter
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/shutter')
-rw-r--r--x11-misc/shutter/files/shutter-0.93.1-insecure_use_of_system.patch19
-rw-r--r--x11-misc/shutter/shutter-0.93.1-r2.ebuild86
2 files changed, 105 insertions, 0 deletions
diff --git a/x11-misc/shutter/files/shutter-0.93.1-insecure_use_of_system.patch b/x11-misc/shutter/files/shutter-0.93.1-insecure_use_of_system.patch
new file mode 100644
index 00000000000..e71a44f21c0
--- /dev/null
+++ b/x11-misc/shutter/files/shutter-0.93.1-insecure_use_of_system.patch
@@ -0,0 +1,19 @@
+Description: Fix insecure use of system()
+Author: Luke Faraone <lfaraone@debian.org>
+Bug: https://bugs.launchpad.net/shutter/+bug/1495163
+Debian-Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798862
+
+Index: shutter/share/shutter/resources/modules/Shutter/App/HelperFunctions.pm
+===================================================================
+--- shutter.orig/share/shutter/resources/modules/Shutter/App/HelperFunctions.pm 2015-11-05 21:34:34.222313258 -0500
++++ shutter/share/shutter/resources/modules/Shutter/App/HelperFunctions.pm 2015-11-05 21:35:37.299461116 -0500
+@@ -53,7 +53,8 @@
+
+ sub xdg_open {
+ my ( $self, $dialog, $link, $user_data ) = @_;
+- system("xdg-open $link");
++ my @args = ("xdg-open", $link);
++ system(@args);
+ if($?){
+ my $response = $self->{_dialogs}->dlg_error_message(
+ sprintf( $self->{_d}->get("Error while executing %s."), "'xdg-open'"),
diff --git a/x11-misc/shutter/shutter-0.93.1-r2.ebuild b/x11-misc/shutter/shutter-0.93.1-r2.ebuild
new file mode 100644
index 00000000000..c43a3fd22fc
--- /dev/null
+++ b/x11-misc/shutter/shutter-0.93.1-r2.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit eutils
+
+DESCRIPTION="Feature-rich screenshot program"
+HOMEPAGE="http://shutter-project.org/"
+SRC_URI="http://shutter-project.org/wp-content/uploads/releases/tars/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="drawing"
+
+RDEPEND="dev-lang/perl
+ drawing? ( dev-perl/Goo-Canvas )
+ || ( media-gfx/imagemagick[perl] media-gfx/graphicsmagick[imagemagick,perl] )
+ dev-perl/libxml-perl
+ dev-perl/gnome2-canvas
+ dev-perl/gnome2-perl
+ dev-perl/gnome2-wnck
+ dev-perl/Gtk2-Unique
+ dev-perl/Gtk2-ImageView
+ dev-perl/File-DesktopEntry
+ dev-perl/File-HomeDir
+ dev-perl/File-Which
+ dev-perl/JSON
+ dev-perl/File-Copy-Recursive
+ dev-perl/File-MimeInfo
+ dev-perl/Locale-gettext
+ dev-perl/Net-DBus
+ dev-perl/Proc-Simple
+ dev-perl/Proc-ProcessTable
+ dev-perl/Sort-Naturally
+ dev-perl/WWW-Mechanize
+ dev-perl/X11-Protocol
+ dev-perl/XML-Simple
+ dev-perl/libwww-perl"
+
+src_prepare() {
+ default
+
+ eapply "${FILESDIR}"/${PN}-0.90-webphoto.patch
+ use drawing || eapply "${FILESDIR}"/${PN}-0.90-goocanvas.patch
+
+ # 560426
+ eapply "${FILESDIR}"/${P}-insecure_use_of_system.patch
+
+ #Fix tray icon because it doesn't pick the right icon using various themes
+ sed -i -e "/\$tray->set_from_icon_name/s:set_from_icon_name:set_from_file:" \
+ -e "s:shutter-panel:/usr/share/icons/hicolor/scalable/apps/&.svg:" \
+ bin/shutter || die "failed to fix trayicon"
+}
+
+src_install() {
+ dobin bin/${PN} || die "dobin failed"
+ insinto /usr/share/${PN}
+ doins -r share/${PN}/* || die "doins failed"
+ dodoc README || die "dodoc failed"
+ domenu share/applications/${PN}.desktop
+ # Man page is broken. Reconstruct it.
+ gunzip share/man/man1/${PN}.1.gz || die "gunzip failed"
+ doman share/man/man1/${PN}.1 || die "doman failed"
+ doicon share/pixmaps/${PN}.png
+ doins -r share/locale || die "doins failed"
+ insinto /usr/share/icons/hicolor
+ doins -r share/icons/hicolor/* || die "doins failed"
+ find "${D}"/usr/share/shutter/resources/system/plugins/ -type f ! -name '*.*' -exec chmod 755 {} \; \
+ || die "failed to make plugins executables"
+ find "${D}"/usr/share/shutter/resources/system/upload_plugins/upload -type f \
+ -name "*.pm" -exec chmod 755 {} \; || die "failed to make upload plugins executables"
+}
+
+pkg_postinst() {
+ elog ""
+ elog "The following optional dependencies can be used to provide"
+ elog "additional functionality:"
+ elog ""
+ elog "- media-libs/exiftool : Writing Exif information"
+ elog "- dev-libs/libappindicator : Status icon support for Unity"
+ elog "- dev-perl/{Net-OAuth,Path-Class}: Dropbox support"
+ elog "- dev-perl/JSON-XS : vgy.me image hosting support"
+ elog""
+}