{ lib, stdenv, fetchFromGitLab, fetchpatch, glib, meson, ninja, pkg-config, rustc, libbsd, libcamera, gtk3, libtiff, zbar, libjpeg, libexif, libraw, libpulseaudio, ffmpeg-headless, v4l-utils, makeWrapper, python3, }: stdenv.mkDerivation rec { pname = "millipixels"; version = "0.22.0"; src = fetchFromGitLab { owner = "Librem5"; repo = pname; rev = "v${version}"; domain = "source.puri.sm"; hash = "sha256-pRREQRYyD9+dpRvcfsNiNthFy08Yeup9xDn+x+RWDrE="; }; patches = [ # fix for https://source.puri.sm/Librem5/millipixels/-/issues/87, can be removed with the next release (if there ever will be one) (fetchpatch { url = "https://source.puri.sm/Librem5/millipixels/-/commit/5a0776993051a0af54c148702f36dbbf1064b917.patch?merge_request_iid=105"; hash = "sha256-OdjTFHMx64eb94/kSCaxeM/Ju/JxOPoorw2ogwTPP3s="; }) ]; nativeBuildInputs = [ glib meson ninja pkg-config rustc makeWrapper ]; buildInputs = [ libbsd libcamera gtk3 libtiff zbar libpulseaudio libraw libexif libjpeg python3 ]; postInstall = '' wrapProgram $out/bin/millipixels \ --prefix PATH : ${ lib.makeBinPath [ v4l-utils ffmpeg-headless ] } ''; meta = with lib; { description = "Camera application for the Librem 5"; homepage = "https://source.puri.sm/Librem5/millipixels"; license = licenses.gpl3Only; maintainers = with maintainers; [ _999eagle ]; platforms = platforms.linux; }; }