nixpkgs/pkgs/applications/graphics/shutter/default.nix
2021-11-03 16:47:03 +02:00

110 lines
2 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, perlPackages
, wrapGAppsHook
, imagemagick
, gdk-pixbuf
, librsvg
, hicolor-icon-theme
, procps
, libwnck
, libappindicator-gtk3
, xdg-utils
}:
let
perlModules = with perlPackages; [
# Not sure if these are needed
# Gnome2 Gnome2Canvas Gnome2VFS Gtk2AppIndicator Gtk2Unique
ImageMagick
Cairo
FileBaseDir
FileWhich
FileCopyRecursive
XMLSimple
XMLTwig
XMLParser
SortNaturally
LocaleGettext
ProcProcessTable
X11Protocol
ProcSimple
ImageExifTool
JSON
JSONMaybeXS
NetOAuth
PathClass
LWP
LWPProtocolHttps
NetDBus
TryTiny
WWWMechanize
HTTPMessage
HTTPDate
HTMLForm
HTMLParser
HTMLTagset
HTTPCookies
EncodeLocale
URI
CarpAlways
GlibObjectIntrospection
NumberBytesHuman
CairoGObject
Readonly
Gtk3ImageView
Gtk3
Glib
Pango
GooCanvas2
GooCanvas2CairoTypes
commonsense
TypesSerialiser
];
in
stdenv.mkDerivation rec {
pname = "shutter";
version = "0.99.2";
src = fetchFromGitHub {
owner = "shutter-project";
repo = "shutter";
rev = "v${version}";
sha256 = "sha256-o95skSr6rszh0wsHQTpu1GjqCDmde7aygIP+i4XQW9A=";
};
nativeBuildInputs = [ wrapGAppsHook ];
buildInputs = [
perlPackages.perl
procps
gdk-pixbuf
librsvg
libwnck
libappindicator-gtk3
hicolor-icon-theme
] ++ perlModules;
makeFlags = [
"prefix=${placeholder "out"}"
];
postPatch = ''
patchShebangs po2mo.sh
'';
preFixup = ''
gappsWrapperArgs+=(
--set PERL5LIB ${perlPackages.makePerlPath perlModules} \
--prefix PATH : ${lib.makeBinPath [ imagemagick xdg-utils ] }
)
'';
meta = with lib; {
description = "Screenshot and annotation tool";
homepage = "https://shutter-project.org/";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = [ maintainers.bjornfor ];
};
}