nixpkgs/pkgs/by-name/fl/flac2all/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

47 lines
1.2 KiB
Nix

{ python3Packages, fetchPypi, lib, flac, lame, opusTools, vorbis-tools, ffmpeg }:
python3Packages.buildPythonApplication rec {
pname = "flac2all";
version = "5.1";
src = fetchPypi {
inherit pname version;
sha256 = "OBjlr7cbSx2WOIfZUNwHy5Hpb2Fmh3vmZdc70JiWsiI=";
};
# Not sure why this is needed, but setup.py expects this to be set
postPatch = ''
echo ${version} > ./flac2all_pkg/version
'';
propagatedBuildInputs = [
python3Packages.pyzmq
];
postInstall = ''
wrapProgram $out/bin/flac2all \
--set PATH ${lib.makeBinPath [
# Hard requirements
flac
lame
# Optional deps depending on encoding types
opusTools
vorbis-tools
ffmpeg
]}
'';
# Has no standard tests, so we verify a few imports instead.
doCheck = false;
pythonImportsCheck = [ "flac2all_pkg.vorbis" "flac2all_pkg.mp3" ];
meta = with lib; {
description = "Multi process, clustered, FLAC to multi codec audio converter with tagging support";
mainProgram = "flac2all";
homepage = "https://github.com/ZivaVatra/flac2all";
license = licenses.gpl3;
# TODO: This has only been tested on Linux, but may work on Mac too.
platforms = platforms.linux;
};
}