python312Packages.llama-index: 0.12.9 -> 0.12.9.post1 (#371957)
[NixPkgs.git] / pkgs / by-name / li / libyuv / package.nix
blob67d4bd43720f85ba14cef99d2f65ecb436eb6e81
2   lib,
3   stdenv,
4   fetchgit,
5   cmake,
6   libjpeg,
7 }:
9 stdenv.mkDerivation rec {
10   pname = "libyuv";
11   version = "1787"; # Defined in: include/libyuv/version.h
13   src = fetchgit {
14     url = "https://chromium.googlesource.com/libyuv/libyuv.git";
15     rev = "eb6e7bb63738e29efd82ea3cf2a115238a89fa51"; # refs/heads/stable
16     hash = "sha256-DtRYoaAXb9ZD2OLiKbzKzH5vzuu+Lzu4eHaDgPB9hjU=";
17   };
19   nativeBuildInputs = [
20     cmake
21   ];
23   # NEON does not work on aarch64, we disable it
24   cmakeFlags = lib.optionals stdenv.hostPlatform.isAarch64 [
25     "-DCMAKE_CXX_FLAGS=-DLIBYUV_DISABLE_NEON"
26   ];
28   buildInputs = [ libjpeg ];
30   patches = [
31     ./link-library-against-libjpeg.patch
32   ];
34   postPatch = ''
35     mkdir -p $out/lib/pkgconfig
36     cp ${./yuv.pc} $out/lib/pkgconfig/libyuv.pc
38     substituteInPlace $out/lib/pkgconfig/libyuv.pc \
39       --replace "@PREFIX@" "$out" \
40       --replace "@VERSION@" "$version"
41   '';
43   meta = with lib; {
44     homepage = "https://chromium.googlesource.com/libyuv/libyuv";
45     description = "Open source project that includes YUV scaling and conversion functionality";
46     mainProgram = "yuvconvert";
47     platforms = platforms.unix;
48     maintainers = with maintainers; [ leixb ];
49     license = licenses.bsd3;
50   };