nixpkgs/pkgs/by-name/gp/gprename/package.nix
2024-01-23 16:20:40 +01:00

79 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchzip,
makeWrapper,
moreutils,
perlPackages,
gettext,
glib,
gtk3,
gobject-introspection,
pango,
harfbuzz,
gdk-pixbuf,
at-spi2-atk,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gprename";
version = "20230429";
src = fetchzip {
url = "mirror://sourceforge/gprename/gprename-${finalAttrs.version}.zip";
hash = "sha256-Du9OO2qeB1jUEJFcVYmLbJAGi2p/IVe3sqladq09AyY=";
};
nativeBuildInputs = [
makeWrapper
moreutils
];
postPatch = ''
grep -Ev 'desktop-file-install|update-desktop-database' Makefile | sponge Makefile
substituteInPlace Makefile \
--replace '/usr/share' '$(DESTDIR)/share'
substituteInPlace bin/gprename \
--replace '/usr/share' $out/share \
--replace '/usr/local/share' $out/share
'';
makeFlags = [ "DESTDIR=$(out)" ];
buildInputs = [
perlPackages.perl
pango
];
postInstall = ''
wrapProgram $out/bin/gprename \
--set PERL5LIB ${
perlPackages.makeFullPerlPath (
with perlPackages; [
Pango
Glib
Gtk3
LocaleGettext
libintl-perl
]
)
} \
--prefix GI_TYPELIB_PATH : ${
lib.makeSearchPath "/lib/girepository-1.0" [
gtk3
pango.out
harfbuzz
gdk-pixbuf
at-spi2-atk
]
}
'';
meta = {
description = "Complete batch renamer for files and directories";
homepage = "https://gprename.sourceforge.net/index.php";
license = lib.licenses.gpl3Plus;
mainProgram = "gprename";
maintainers = with lib.maintainers; [ quantenzitrone ];
};
})