{ lib, stdenv, fetchFromGitHub, docbook_xsl, libxslt, meson, ninja, pkg-config, bash-completion, libcap, libselinux, }: stdenv.mkDerivation rec { pname = "bubblewrap"; version = "0.8.0"; src = fetchFromGitHub { owner = "rhendric"; repo = "bubblewrap"; rev = "23ff0f875b3a0200c1796daa01173ecec7deaf88"; hash = "sha256-EWsuAGsShaHEmLi0jUHX2bFQZkinIOsRbgB7tZSfq8E="; }; postPatch = '' substituteInPlace tests/libtest.sh \ --replace "/var/tmp" "$TMPDIR" ''; # GCC 15 (nixpkgs 26.05) defaults to -std=gnu23, where `bool`/`true`/`false` # are keywords; this old bubblewrap fork still does `typedef int bool;`. env.NIX_CFLAGS_COMPILE = "-std=gnu17"; nativeBuildInputs = [ docbook_xsl libxslt meson ninja pkg-config ]; buildInputs = [ bash-completion libcap libselinux ]; # incompatible with Nix sandbox doCheck = false; meta = with lib; { changelog = "https://github.com/containers/bubblewrap/releases/tag/${src.rev}"; description = "Unprivileged sandboxing tool"; homepage = "https://github.com/containers/bubblewrap"; license = licenses.lgpl2Plus; maintainers = with maintainers; [ dotlambda ]; platforms = platforms.linux; mainProgram = "bwrap"; }; }