The xdg-open utility is only ever a runtime dependency and its dependents only expect that it accept a URI as a command line argument and do something with it that the user would expect. For such as a trivial relationship it should be possible for users to override xdg-open with something else in their PATH.
113 lines
2.1 KiB
Nix
113 lines
2.1 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 = ''
|
|
# make xdg-open overrideable at runtime
|
|
gappsWrapperArgs+=(
|
|
--set PERL5LIB ${perlPackages.makePerlPath perlModules} \
|
|
--prefix PATH : ${lib.makeBinPath [ imagemagick ] }
|
|
--suffix PATH : ${lib.makeBinPath [ xdg-utils ] }
|
|
)
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Screenshot and annotation tool";
|
|
homepage = "https://shutter-project.org/";
|
|
license = licenses.gpl3Plus;
|
|
platforms = platforms.all;
|
|
maintainers = [ maintainers.bjornfor ];
|
|
};
|
|
}
|