Package Details: shutter 0.94.3-1

Git Clone URL: https://aur.archlinux.org/shutter.git (read-only, click to copy)
Package Base: shutter
Description: A featureful screenshot tool (formerly gscrot)
Upstream URL: https://shutter-project.org/
Licenses: GPL3
Submitter: City-busz
Maintainer: PhotonX
Last Packager: PhotonX
Votes: 92
Popularity: 2.28
First Submitted: 2017-01-24 12:16
Last Updated: 2020-06-26 13:48

Required by (0)

Sources (1)

Pinned Comments

Ralf_Mardorf commented on 2017-09-03 13:25

Follow the announcement to "get a list of affected packages":

[rocketmouse@archlinux ~]$ pacman -Qqo '/usr/lib/perl5/vendor_perl'
gnome-perl
gnome-vfs-perl
gnomecanvas-perl
perl-gnome2-wnck
perl-goo-canvas
perl-gtk2-imageview
perl-gtk2-unique

Check dependencies:

[rocketmouse@archlinux ~]$ pacman -Qi gnome-perl | grep Depends\ On
Depends On : gnomecanvas-perl gnome-vfs-perl libgnomeui perl

Proper would be to check build dependencies.

Build after increasing the pkgrel of the PKGBUILDs:

[rocketmouse@archlinux ~]$ yaourt -S gnomecanvas-perl gnome-vfs-perl
[snip]
[rocketmouse@archlinux ~]$ yaourt -S gnome-perl perl-gnome2-wnck perl-goo-canvas perl-gtk2-imageview perl-gtk2-unique
[snip]

Then launch shutter:

[rocketmouse@archlinux ~]$ shutter >/dev/null 2>&1

Take a screenshot and edit the screenshot.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 ... Next › Last »

Ralf_Mardorf commented on 2019-06-12 10:51

I missed invidian's comment from 2019-06-07 20:41 :D.

PhotonX commented on 2019-06-12 10:33

@reuixiy: libgnomecanvas seems to have been kicked out from the repos, I will have a look into it and reupload it as an AUR package.

@Ralf_Mardorf: I will release a new version including the patch by invidian asap which solves this issue.

Ralf_Mardorf commented on 2019-06-12 10:23

To update from official repositories we first need to remove perl-gtk2-unique.

$ sudo pacman -Rdd perl-gtk2-unique

Then we can update from official repositories and everything from AUR and after that build perl-gtk2-unique. After that run

$ pacman -Qqo '/usr/lib/perl5/5.28'
gnome-perl
gnome-vfs-perl
gnomecanvas-perl
perl-gnome2-wnck
perl-goo-canvas
perl-gtk2-imageview
perl-json-maybexs

So in my case an order to rebuild everything is at first building

gnomecanvas-perl gnome-vfs-perl

followed by

gnome-perl perl-gnome2-wnck perl-goo-canvas perl-gtk2-imageview perl-json-maybexs

I edited the releases to pkgrel=n.1.

Each time a 'http://search'-URL is used, I need to replace it by the direct download link.

However, now I get

$ shutter
"glob" is not exported by the File::Glob module
Can't continue after import errors at /usr/bin/shutter line 60.
BEGIN failed--compilation aborted at /usr/bin/shutter line 60.

before I rebuild shutter and with the rebuild version of shutter, too.

I found this https://bugs.launchpad.net/shutter/+bug/1831155 but didn't continue, since I don't have time for it right now.

reuixiy commented on 2019-06-12 08:55

Hi there,

==> Error: Could not find all required packages:
    libgnomecanvas (Wanted by: shutter -> gnome-perl -> gnomecanvas-perl)
    libgnomecanvas (Wanted by: shutter -> gnome-perl -> libgnomeui -> libbonoboui)

:(

PhotonX commented on 2019-06-08 04:54

Hi invidian, thanks a lot for the patch! Does the change from glob to bsd_glob also work well for Perl versions lower than 5.30?

invidian commented on 2019-06-07 20:41

Here is the patch for perl 5.30, which restores basic functionality:

From eba74e97ad811a29d2db5bdf7f5337da3320ac36 Mon Sep 17 00:00:00 2001
From: Mateusz Gozdek <mgozdekof@gmail.com>
Date: Fri, 7 Jun 2019 22:34:14 +0200
Subject: [PATCH] Patch shutter for Perl 5.30

---
 PKGBUILD       | 10 ++++---
 fix-glob.patch | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+), 4 deletions(-)
 create mode 100644 fix-glob.patch

diff --git a/PKGBUILD b/PKGBUILD
index f350862..d012ccb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@

 pkgname=shutter
 pkgver=0.94.2
-pkgrel=1
+pkgrel=3
 pkgdesc="A featureful screenshot tool (formerly gscrot)"
 arch=('any')
 url="http://shutter-project.org/"
@@ -28,8 +28,9 @@ optdepends=('gnome-web-photo: web screenshot support'
        'perl-net-oauth: Imgur and Dropbox upload support'
        'bc: 3D Rotate and 3D Reflection plugins support'
        'perl-webservice-gyazo-b: Gyazo upload support')
-source=("https://launchpad.net/shutter/0.9x/$pkgver/+download/shutter-$pkgver.tar.gz")
-sha512sums=('c04d180587cab7045f73d949498740a0f41e2fafb1aa72613bef5521eed7256077a00f058c9f3aab7b31a92394d493a38f451853dda76738a39eec8f8fa5edb7')
+source=("https://launchpad.net/shutter/0.9x/$pkgver/+download/shutter-$pkgver.tar.gz" "fix-glob.patch")
+sha512sums=('c04d180587cab7045f73d949498740a0f41e2fafb1aa72613bef5521eed7256077a00f058c9f3aab7b31a92394d493a38f451853dda76738a39eec8f8fa5edb7'
+            'f2bd33207a2dce3fd65458147e794ecb4ccb03842f1c5f297f817a3c6af503b291e88b5216816ed10f0c3bf43794f014ee3f95ad301038dfb68cdb1ff77d687c')
 prepare() {
   cd "$srcdir/$pkgname-$pkgver"

@@ -37,6 +38,8 @@ prepare() {
   sed -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:" \
       -i bin/shutter
+
+  patch --forward --strip=1 --input="${srcdir}/fix-glob.patch"
 }

 package() {
@@ -44,4 +47,3 @@ package() {
   install -Dm755 bin/$pkgname "$pkgdir/usr/bin/$pkgname"
   cp -a share "$pkgdir/usr/"
 }
-
diff --git a/fix-glob.patch b/fix-glob.patch
new file mode 100644
index 0000000..7531932
--- /dev/null
+++ b/fix-glob.patch
@@ -0,0 +1,78 @@
+diff --unified --recursive --text --color shutter-0.94.2.orig/bin/shutter shutter-0.94.2.new/bin/shutter
+--- shutter-0.94.2.orig/bin/shutter    2019-06-08 01:33:19.742250132 +0200
++++ shutter-0.94.2.new/bin/shutter 2019-06-08 01:33:39.512321524 +0200
+@@ -57,7 +57,7 @@
+ 
+ #File operations
+ use File::Copy qw/ cp mv /;
+-use File::Glob qw/ glob /;
++use File::Glob qw/ bsd_glob /;
+ use File::Basename qw/ fileparse dirname basename /;
+ use File::Temp qw/ tempfile tempdir /;
+ use File::Spec;
+@@ -968,7 +968,7 @@
+     my $combobox_settings_profiles = Gtk2::ComboBox->new_text;
+     my @current_profiles;
+     my $current_index = 0;
+-    foreach my $pfile ( sort glob("$ENV{'HOME'}/.shutter/profiles/*.xml") ) {
++    foreach my $pfile ( sort bsd_glob("$ENV{'HOME'}/.shutter/profiles/*.xml") ) {
+         utf8::decode $pfile;
+         next
+           if $pfile =~ /\_accounts.xml/;    #accounts file - we are looking for "real" profiles
+@@ -8212,7 +8212,7 @@
+         my $fb_pixbuf = $lp->load( $fb_pixbuf_path, Gtk2::IconSize->lookup('menu') );
+ 
+         foreach my $plugin_path (@plugin_paths) {
+-            my @plugins = glob($plugin_path);
++            my @plugins = bsd_glob($plugin_path);
+             foreach my $pkey (@plugins) {
+                 if ( -d $pkey ) {
+                     my $dir_name = $pkey;
+@@ -8354,7 +8354,7 @@
+         my @upload_plugin_paths = ("$shutter_root/share/shutter/resources/system/upload_plugins/upload/*");
+ 
+         foreach my $upload_plugin_path (@upload_plugin_paths) {
+-            my @upload_plugins = glob($upload_plugin_path);
++            my @upload_plugins = bsd_glob($upload_plugin_path);
+             foreach my $ukey (@upload_plugins) {
+ 
+                 #Checking if file exists
+@@ -9437,7 +9437,7 @@
+ 
+         #delete all files in this folder
+         #except the ones that are in the current session
+-        my @unsaved_files = glob( $sdir->get_cache_dir . "/*" );
++        my @unsaved_files = bsd_glob( $sdir->get_cache_dir . "/*" );
+         foreach my $unsaved_file (@unsaved_files) {
+             utf8::decode $unsaved_file;
+             print $unsaved_file, " checking \n" if $sc->get_debug;
+diff --unified --recursive --text --color shutter-0.94.2.orig/share/shutter/resources/modules/Shutter/Draw/DrawingTool.pm shutter-0.94.2.new/share/shutter/resources/modules/Shutter/Draw/DrawingTool.pm
+--- shutter-0.94.2.orig/share/shutter/resources/modules/Shutter/Draw/DrawingTool.pm    2019-06-08 01:33:19.722250061 +0200
++++ shutter-0.94.2.new/share/shutter/resources/modules/Shutter/Draw/DrawingTool.pm 2019-06-08 01:33:50.992364981 +0200
+@@ -35,7 +35,7 @@
+ use Exporter;
+ use Goo::Canvas;
+ use File::Basename qw/ fileparse dirname basename /;
+-use File::Glob qw/ glob /;
++use File::Glob qw/ bsd_glob /;
+ use File::Temp qw/ tempfile tempdir /;
+ use Data::Dumper;
+ 
+@@ -221,7 +221,7 @@
+     #
+     #cursors borrowed from inkscape
+     #http://www.inkscape.org
+-    my @cursors = glob( $self->{_dicons} . "/cursor/*" );
++    my @cursors = bsd_glob( $self->{_dicons} . "/cursor/*" );
+     foreach my $cursor_path (@cursors) {
+         my ( $cname, $folder, $type ) = fileparse( $cursor_path, qr/\.[^.]*/ );
+         $self->{_cursors}{$cname} = Gtk2::Gdk::Pixbuf->new_from_file($cursor_path);
+@@ -6567,7 +6567,7 @@
+     my $fd = TRUE;
+     my $ff = FALSE;
+ 
+-    my @objects = glob("$dobjects/*");
++    my @objects = bsd_glob("$dobjects/*");
+     foreach my $name ( sort { -d $a <=> -d $b } @objects ) {
+ 
+         #parse filename
-- 
2.21.0



Upstream merge request: https://code.launchpad.net/~invidian/shutter/perl-5.30/+merge/368569

PhotonX commented on 2019-03-19 18:48

Ralf, this seems to be a problem with gnome-vfs-perl so let's move this discussion to https://aur.archlinux.org/packages/gnome-vfs-perl/

Ralf_Mardorf commented on 2019-03-19 12:40

Hi,

shutter depends on libselinux, but it's not mentioned by the package, so I removed it, since nothing seemingly needed it.

[rocketmouse@archlinux ~]$ pacman -Q shutter
shutter 0.94.2-1
[rocketmouse@archlinux ~]$ pacman -Qi shutter | grep libselinux; echo $?
1
[rocketmouse@archlinux ~]$ shutter; echo $?
Can't load '/usr/lib/perl5/5.28/vendor_perl/auto/Gnome2/VFS/VFS.so' for module Gnome2::VFS: libselinux.so.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.28/core_perl/DynaLoader.pm line 193.
 at /usr/lib/perl5/5.28/vendor_perl/Gnome2.pm line 11.
Compilation failed in require at /usr/lib/perl5/5.28/vendor_perl/Gnome2.pm line 11.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.28/vendor_perl/Gnome2.pm line 11.
Compilation failed in require at /usr/bin/shutter line 37.
BEGIN failed--compilation aborted at /usr/bin/shutter line 37.
2
[rocketmouse@archlinux ~]$ yaourt -S libselinux
[snip]
[rocketmouse@archlinux ~]$ shutter; echo $?
[snip]
0
[rocketmouse@archlinux ~]$ pactree -r libselinux
libselinux
[rocketmouse@archlinux ~]$ grep -e libselinux /var/log/pacman.log | grep ALPM | tail -2
[2019-03-17 18:19] [ALPM] removed libselinux (2.8-1)
[2019-03-19 13:29] [ALPM] installed libselinux (2.9-1)

Regards,

Ralf

PhotonX commented on 2018-09-28 14:25

@ronjouch: Nevermind, the issue has been figured out in the forums, thanks for the followup though!

ronjouch commented on 2018-09-28 12:15

@PhotonX whoopsie, didn't see your last question. I don't know if I had revision 4 or 5, but I have rev 7 now and Shutter works fine for me.