nixpkgs/pkgs/by-name/ch/chromaprint/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

58 lines
1.7 KiB
Nix

{ lib
, stdenv
, fetchurl
, fetchpatch
, fetchpatch2
, cmake
, ninja
, ffmpeg
, darwin
, zlib
}:
stdenv.mkDerivation rec {
pname = "chromaprint";
version = "1.5.1";
src = fetchurl {
url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "sha256-oarY+juLGLeNN1Wzdn+v+au2ckLgG0eOyaZOGQ8zXhw=";
};
patches = [
# Use FFmpeg 5.x
# https://github.com/acoustid/chromaprint/pull/120
(fetchpatch {
url = "https://github.com/acoustid/chromaprint/commit/8ccad6937177b1b92e40ab8f4447ea27bac009a7.patch";
hash = "sha256-yO2iWmU9s2p0uJfwIdmk3jZ5HXBIQZ/NyOqG+Y5EHdg=";
excludes = [ "package/build.sh" ];
})
# ffmpeg5 fix for issue #122
# https://github.com/acoustid/chromaprint/pull/125
(fetchpatch {
url = "https://github.com/acoustid/chromaprint/commit/aa67c95b9e486884a6d3ee8b0c91207d8c2b0551.patch";
hash = "sha256-dLY8FBzBqJehAofE924ayZK0HA/aKiuFhEFxL7dg6rY=";
})
# Fix for FFmpeg 7
(fetchpatch2 {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/chromaprint/-/raw/74ae4c7faea2114f2d70a57755f714e348476d28/ffmpeg-7.patch";
hash = "sha256-io+dzhDNlz+2hWhNfsyePKLQjiUvSzbv10lHVKumTEk=";
})
];
nativeBuildInputs = [ cmake ninja ];
buildInputs = [ ffmpeg ] ++ lib.optionals stdenv.hostPlatform.isDarwin
(with darwin.apple_sdk.frameworks; [ Accelerate CoreGraphics CoreVideo zlib ]);
cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];
meta = with lib; {
homepage = "https://acoustid.org/chromaprint";
description = "AcoustID audio fingerprinting library";
mainProgram = "fpcalc";
license = licenses.lgpl21Plus;
platforms = platforms.unix;
};
}