nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv
2, fetchgit
3, lib
4, meson
5, ninja
6, pkg-config
7, makeFontsConf
8, boost
9, gnutls
10, openssl
11, libdrm
12, libevent
13, lttng-ust
14, gst_all_1
15, gtest
16, graphviz
17, doxygen
18, python3
19, python3Packages
20, systemd # for libudev
21}:
22
23stdenv.mkDerivation {
24 pname = "libcamera";
25 version = "unstable-2022-01-03";
26
27 src = fetchgit {
28 url = "https://git.libcamera.org/libcamera/libcamera.git";
29 rev = "1db1e31e664c1f613dc964d8519fe75d67b154b6";
30 hash = "sha256-pXYPIU9xDWA870Gp1Jgizi5xnUHRvTqEq/ofFXdVZdg=";
31 };
32
33 postPatch = ''
34 patchShebangs utils/
35 '';
36
37 strictDeps = true;
38
39 buildInputs = [
40 # IPA and signing
41 gnutls
42 boost
43
44 # gstreamer integration
45 gst_all_1.gstreamer
46 gst_all_1.gst-plugins-base
47
48 # cam integration
49 libevent
50 libdrm
51
52 # hotplugging
53 systemd
54
55 # lttng tracing
56 lttng-ust
57
58 gtest
59 ];
60
61 nativeBuildInputs = [
62 meson
63 ninja
64 pkg-config
65 python3
66 python3Packages.jinja2
67 python3Packages.pyyaml
68 python3Packages.ply
69 python3Packages.sphinx
70 graphviz
71 doxygen
72 openssl
73 ];
74
75 mesonFlags = [
76 "-Dv4l2=true"
77 "-Dqcam=disabled"
78 "-Dlc-compliance=disabled" # tries unconditionally to download gtest when enabled
79 ];
80
81 # Fixes error on a deprecated declaration
82 NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
83
84 # Silence fontconfig warnings about missing config
85 FONTCONFIG_FILE = makeFontsConf { fontDirectories = []; };
86
87 meta = with lib; {
88 description = "An open source camera stack and framework for Linux, Android, and ChromeOS";
89 homepage = "https://libcamera.org";
90 license = licenses.lgpl2Plus;
91 maintainers = with maintainers; [ citadelcore ];
92 };
93}