7 , gobject-introspection
20 stdenv.mkDerivation rec {
24 outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
26 src = fetchFromGitLab {
27 domain = "gitlab.freedesktop.org";
31 sha256 = "sha256-92F30DfdSJvO5C9EmNtiC/H6Fa6qQHecYSx59JKp8vA=";
35 # Allow installing installed tests to a separate output.
36 ./installed-tests-path.patch
38 # Do not build things that are part of malcontent-ui package
39 ./better-separation.patch
56 (python3.withPackages (pp: with pp; [
61 propagatedBuildInputs = [
66 "-Dinstalled_tests=true"
67 "-Dinstalled_test_prefix=${placeholder "installedTests"}"
68 "-Dpamlibdir=${placeholder "pam"}/lib/security"
73 substituteInPlace libmalcontent/tests/app-filter.c \
74 --replace "/usr/bin/true" "${coreutils}/bin/true" \
75 --replace "/bin/true" "${coreutils}/bin/true" \
76 --replace "/usr/bin/false" "${coreutils}/bin/false" \
77 --replace "/bin/false" "${coreutils}/bin/false"
81 # `giDiscoverSelf` only picks up paths in `out` output.
82 # This needs to be in `postInstall` so that it runs before
83 # `gappsWrapperArgsHook` that runs as one of `preFixupPhases`.
84 addToSearchPath GI_TYPELIB_PATH "$lib/lib/girepository-1.0"
89 installedTests = nixosTests.installed-tests.malcontent;
94 # We need to install Polkit & AccountsService data files in `out`
95 # but `buildEnv` only uses `bin` when both `bin` and `out` are present.
96 outputsToInstall = [ "bin" "out" "man" ];
98 description = "Parental controls library";
99 homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
100 license = licenses.lgpl21Plus;
101 maintainers = with maintainers; [ jtojnar ];
102 platforms = platforms.unix;