nixpkgs/pkgs/by-name/co/convmv/package.nix
2025-05-13 18:56:27 -05:00

76 lines
1.5 KiB
Nix

{
lib,
stdenv,
fetchzip,
makeWrapper,
perl,
perlPackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "convmv";
version = "2.06";
outputs = [
"bin"
"man"
"out"
];
src = fetchzip {
url = "https://www.j3e.de/linux/convmv/convmv-${finalAttrs.version}.tar.gz";
hash = "sha256-36UPh+eZBT/J2rkvOcHeqkVKSl4yO9GJp/BxWGDrgGU=";
};
strictDeps = true;
nativeBuildInputs = [
makeWrapper
perl
];
buildInputs = [
perl
perlPackages.EncodeHanExtra
perlPackages.EncodeIMAPUTF7
perlPackages.EncodeJIS2K
];
makeFlags = [
"PREFIX=${placeholder "bin"}"
"MANDIR=${placeholder "man"}/share/man"
];
checkTarget = "test";
# testsuite.tar contains filenames that aren't valid UTF-8. Extraction of
# testsuite.tar will fail as APFS enforces that filenames are valid UTF-8.
doCheck = !stdenv.hostPlatform.isDarwin;
prePatch =
lib.optionalString finalAttrs.finalPackage.doCheck ''
tar -xf testsuite.tar
''
+ ''
patchShebangs --host .
'';
dontPatchShebangs = true;
postFixup = ''
wrapProgram "$bin/bin/convmv" --prefix PERL5LIB : "$PERL5LIB"
'';
meta = with lib; {
description = "Converts filenames from one encoding to another";
downloadPage = "https://www.j3e.de/linux/convmv/";
license = with licenses; [
gpl2Only
gpl3Only
];
maintainers = with maintainers; [ al3xtjames ];
mainProgram = "convmv";
platforms = platforms.unix;
};
})