1{ stdenv, lib, fetchFromGitiles, libcap }:
2
3stdenv.mkDerivation rec {
4 pname = "minijail";
5 version = "18";
6
7 src = fetchFromGitiles {
8 url = "https://android.googlesource.com/platform/external/minijail";
9 rev = "linux-v${version}";
10 sha256 = "sha256-OpwzISZ5iZNQvJAX7UJJ4gELEaVfcQgY9cqMM0YvBzc=";
11 };
12
13 buildInputs = [ libcap ];
14
15 makeFlags = [ "ECHO=echo" "LIBDIR=$(out)/lib" ];
16
17 postPatch = ''
18 substituteInPlace Makefile --replace /bin/echo echo
19 patchShebangs platform2_preinstall.sh
20 '';
21
22 installPhase = ''
23 ./platform2_preinstall.sh ${version} $out/include/chromeos
24
25 mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin \
26 $out/share/minijail
27
28 cp -v *.so $out/lib
29 cp -v *.pc $out/lib/pkgconfig
30 cp -v libminijail.h scoped_minijail.h $out/include/chromeos
31 cp -v minijail0 $out/bin
32 '';
33
34 enableParallelBuilding = true;
35
36 meta = with lib; {
37 homepage = "https://android.googlesource.com/platform/external/minijail/";
38 description = "Sandboxing library and application using Linux namespaces and capabilities";
39 changelog = "https://android.googlesource.com/platform/external/minijail/+/refs/tags/linux-v${version}";
40 license = licenses.bsd3;
41 maintainers = with maintainers; [ pcarrier qyliss ];
42 platforms = platforms.linux;
43 };
44}