6 , gobject-introspection
20 stdenv.mkDerivation rec {
24 outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
26 src = fetchFromGitLab {
27 domain = "gitlab.freedesktop.org";
31 hash = "sha256-DVoTJrpXk5AoRMz+TxEP3NIAA/OOGRzZurLyGp0UBUo=";
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-fail "/usr/bin/true" "${coreutils}/bin/true" \
75 --replace-fail "/bin/true" "${coreutils}/bin/true" \
76 --replace-fail "/usr/bin/false" "${coreutils}/bin/false" \
77 --replace-fail "/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;
90 inherit malcontent-ui;
95 # We need to install Polkit & AccountsService data files in `out`
96 # but `buildEnv` only uses `bin` when both `bin` and `out` are present.
97 outputsToInstall = [ "bin" "out" "man" ];
99 description = "Parental controls library";
100 mainProgram = "malcontent-client";
101 homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
102 license = licenses.lgpl21Plus;
103 maintainers = with maintainers; [ jtojnar ];
104 platforms = platforms.unix;