Merge pull request #132565 from Artturin/shutter

authored by

Sandro and committed by
GitHub
3a0047ac 659fa39c

+109 -31
+90 -26
pkgs/applications/graphics/shutter/default.nix
··· 1 - { lib, stdenv, fetchurl, perlPackages, makeWrapper, imagemagick, gdk-pixbuf, librsvg 2 - , hicolor-icon-theme, procps 3 }: 4 5 let 6 - perlModules = with perlPackages; 7 - [ Gnome2 Gnome2Canvas Gtk2 Glib Pango Gnome2VFS Gnome2Wnck Gtk2ImageView 8 - Gtk2Unique FileBaseDir FileWhich FileCopyRecursive XMLSimple NetDBus XMLTwig 9 - XMLParser HTTPMessage ProcSimple SortNaturally LocaleGettext 10 - ProcProcessTable URI ImageExifTool Gtk2AppIndicator LWP JSON 11 - ImageMagick WWWMechanize HTTPDate HTMLForm HTMLParser HTMLTagset JSONMaybeXS 12 - commonsense HTTPCookies NetOAuth PathClass GooCanvas X11Protocol Cairo 13 - EncodeLocale TryTiny TypesSerialiser LWPMediaTypes 14 ]; 15 in 16 - stdenv.mkDerivation { 17 - name = "shutter-0.94.3"; 18 19 - src = fetchurl { 20 - url = "https://launchpad.net/shutter/0.9x/0.94.3/+download/shutter-0.94.3.tar.gz"; 21 - sha256 = "01wv5k6zqfqa2rss461lpdpjxpfk4awzfdc6j2qk6bh4g4zgmgl5"; 22 }; 23 24 - nativeBuildInputs = [ makeWrapper ]; 25 - buildInputs = [ perlPackages.perl procps gdk-pixbuf librsvg ] ++ perlModules; 26 27 - installPhase = '' 28 - mkdir -p "$out" 29 - cp -a . "$out" 30 - (cd "$out" && mv CHANGES README COPYING "$out/share/doc/shutter") 31 32 - wrapProgram $out/bin/shutter \ 33 - --set PERL5LIB "${perlPackages.makePerlPath perlModules}" \ 34 - --prefix PATH : "${imagemagick.out}/bin" \ 35 - --suffix XDG_DATA_DIRS : "${hicolor-icon-theme}/share" \ 36 - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" 37 ''; 38 39 meta = with lib; {
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , perlPackages 5 + , wrapGAppsHook 6 + , imagemagick 7 + , gdk-pixbuf 8 + , librsvg 9 + , hicolor-icon-theme 10 + , procps 11 + , libwnck 12 + , libappindicator-gtk3 13 }: 14 15 let 16 + perlModules = with perlPackages; [ 17 + # Not sure if these are needed 18 + # Gnome2 Gnome2Canvas Gnome2VFS Gtk2AppIndicator Gtk2Unique 19 + ImageMagick 20 + Cairo 21 + FileBaseDir 22 + FileWhich 23 + FileCopyRecursive 24 + XMLSimple 25 + XMLTwig 26 + XMLParser 27 + SortNaturally 28 + LocaleGettext 29 + ProcProcessTable 30 + X11Protocol 31 + ProcSimple 32 + ImageExifTool 33 + JSON 34 + JSONMaybeXS 35 + NetOAuth 36 + PathClass 37 + LWP 38 + LWPProtocolHttps 39 + NetDBus 40 + TryTiny 41 + WWWMechanize 42 + HTTPMessage 43 + HTTPDate 44 + HTMLForm 45 + HTMLParser 46 + HTMLTagset 47 + HTTPCookies 48 + EncodeLocale 49 + URI 50 + CarpAlways 51 + GlibObjectIntrospection 52 + NumberBytesHuman 53 + CairoGObject 54 + Readonly 55 + Gtk3ImageView 56 + Gtk3 57 + Glib 58 + Pango 59 + GooCanvas2 60 + GooCanvas2CairoTypes 61 + commonsense 62 + TypesSerialiser 63 ]; 64 in 65 + stdenv.mkDerivation rec { 66 + pname = "shutter"; 67 + version = "0.97"; 68 69 + src = fetchFromGitHub { 70 + owner = "shutter-project"; 71 + repo = "shutter"; 72 + rev = "v${version}"; 73 + sha256 = "sha256-/2eQLJJZP0ArQUrxcFdogv/4wy+O021hODkJYLQmLY8="; 74 }; 75 76 + nativeBuildInputs = [ wrapGAppsHook ]; 77 + buildInputs = [ 78 + perlPackages.perl 79 + procps 80 + gdk-pixbuf 81 + librsvg 82 + libwnck 83 + libappindicator-gtk3 84 + ] ++ perlModules; 85 86 + makeFlags = [ 87 + "prefix=${placeholder "out"}" 88 + ]; 89 + 90 + postPatch = '' 91 + patchShebangs po2mo.sh 92 + ''; 93 94 + preFixup = '' 95 + gappsWrapperArgs+=( 96 + --set PERL5LIB ${perlPackages.makePerlPath perlModules} \ 97 + --prefix PATH : ${lib.makeBinPath [ imagemagick ] } \ 98 + --suffix XDG_DATA_DIRS : ${hicolor-icon-theme}/share \ 99 + --set GDK_PIXBUF_MODULE_FILE $GDK_PIXBUF_MODULE_FILE 100 + ) 101 ''; 102 103 meta = with lib; {
+19 -5
pkgs/top-level/perl-packages.nix
··· 9008 }; 9009 }; 9010 9011 GoogleProtocolBuffers = buildPerlPackage { 9012 pname = "Google-ProtocolBuffers"; 9013 version = "0.12"; ··· 9237 }; 9238 }; 9239 9240 - Gtk3ImageView = buildPerlPackage { 9241 pname = "Gtk3-ImageView"; 9242 - version = "6"; 9243 src = fetchurl { 9244 - url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk3-ImageView-6.tar.gz"; 9245 - sha256 = "0krkif9i3hrgjdskw05pcks40fmb43d21lxf4h8aclv0g8z647f0"; 9246 }; 9247 buildInputs = [ pkgs.gtk3 ]; 9248 propagatedBuildInputs = [ Readonly Gtk3 ]; 9249 - checkInputs = [ TestDifferences ImageMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ]; 9250 checkPhase = '' 9251 ${pkgs.xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' \ 9252 make test
··· 9008 }; 9009 }; 9010 9011 + GooCanvas2CairoTypes = buildPerlPackage rec { 9012 + pname = "GooCanvas2-CairoTypes"; 9013 + version = "0.001"; 9014 + src = fetchurl { 9015 + url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/GooCanvas2-CairoTypes-${version}.tar.gz"; 9016 + sha256 = "sha256-uoBnNuvMnePYFBp2Omgr3quxy4cCveKZrf1XSs6HUFI="; 9017 + }; 9018 + propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ]; 9019 + meta = { 9020 + description = "Bridge between GooCanvas2 and Cairo types"; 9021 + license = with lib.licenses; [ artistic1 gpl1Plus ]; 9022 + }; 9023 + }; 9024 + 9025 GoogleProtocolBuffers = buildPerlPackage { 9026 pname = "Google-ProtocolBuffers"; 9027 version = "0.12"; ··· 9251 }; 9252 }; 9253 9254 + Gtk3ImageView = buildPerlPackage rec { 9255 pname = "Gtk3-ImageView"; 9256 + version = "9"; 9257 src = fetchurl { 9258 + url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/Gtk3-ImageView-${version}.tar.gz"; 9259 + sha256 = "sha256-0dxe0p1UQglq+xok7g4l2clJ9WqOHxCeAzWD65E0H9w="; 9260 }; 9261 buildInputs = [ pkgs.gtk3 ]; 9262 propagatedBuildInputs = [ Readonly Gtk3 ]; 9263 + checkInputs = [ TestDifferences TestDeep ImageMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ]; 9264 checkPhase = '' 9265 ${pkgs.xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' \ 9266 make test