about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/malcontent
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-01-10 07:13:44 +0000
committerAlyssa Ross <hi@alyssa.is>2021-01-12 14:07:16 +0000
commite2698550456abba83c6dcd5d5e5a9990a0b96f8a (patch)
tree79a56f0df3fa55e470d84b4dff6059fbf487ec18 /nixpkgs/pkgs/development/libraries/malcontent
parent1cdc42df888dc98c347e03bd942ed9825a55bcb3 (diff)
parent84d74ae9c9cbed73274b8e4e00be14688ffc93fe (diff)
downloadnixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.gz
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.bz2
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.lz
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.xz
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.zst
nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.zip
Merge commit '84d74ae9c9cbed73274b8e4e00be14688ffc93fe'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/malcontent')
-rw-r--r--nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch45
-rw-r--r--nixpkgs/pkgs/development/libraries/malcontent/default.nix29
-rw-r--r--nixpkgs/pkgs/development/libraries/malcontent/ui.nix6
3 files changed, 56 insertions, 24 deletions
diff --git a/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch b/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch
index cd91760bff59..ef42650e249d 100644
--- a/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch
+++ b/nixpkgs/pkgs/development/libraries/malcontent/better-separation.patch
@@ -1,18 +1,42 @@
+commit 363c5be465dd6dde35c3d31abd7b5cca9b1f3a9f
+Author: Jan Tojnar <jtojnar@gmail.com>
+Date:   Thu Jul 23 18:49:03 2020 +0200
+
+    Improve separation between malcontent and malcontent-ui packages
+    
+    These artefacts go into both packages by default:
+    
+    * malcontent-control – a CLI tool
+    * PAM module
+    * gettext locale data
+    * help pages ✨
+    * AccountService/D-Bus interfaces
+    * Polkit com.endlessm.ParentalControls rules and policy
+    
+    Items marked with ✨ will go to ui package, while the rest is installed with the base library.
+    
+    See also the packaging done by upstream in Endless:
+    https://github.com/endlessm/malcontent/tree/5482b7eb99aee9b8c344629bc078e193d3c26ffc/debian
+    
+    Cannot upstream this since they are worried about maintainability:
+    https://gitlab.freedesktop.org/pwithnall/malcontent/merge_requests/38#note_437946
+
 diff --git a/meson.build b/meson.build
-index a6c477d..f7b2f0a 100644
+index 6e1dfa5..196350b 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -125,8 +125,8 @@ test_env = [
+@@ -123,9 +123,8 @@ test_env = [
    'LC_ALL=C.UTF-8',
  ]
  
 -subdir('accounts-service')
+-subdir('help')
  if not get_option('use_system_libmalcontent')
 +  subdir('accounts-service')
    subdir('libmalcontent')
  else
    libmalcontent_api_version = '0'
-@@ -137,11 +137,17 @@ endif
+@@ -136,11 +135,16 @@ endif
  if get_option('ui').enabled()
    subdir('libmalcontent-ui')
  endif
@@ -22,14 +46,13 @@ index a6c477d..f7b2f0a 100644
 +endif
  if get_option('ui').enabled()
    subdir('malcontent-control')
- endif
--subdir('pam')
++  subdir('help')
++endif
 +if not get_option('use_system_libmalcontent')
 +  subdir('pam')
-+endif
- subdir('po')
++  subdir('po')
+ endif
+-subdir('pam')
+-subdir('po')
  
--meson.add_install_script('build-aux/meson_post_install.py')
-+if get_option('ui').enabled()
-+  meson.add_install_script('build-aux/meson_post_install.py')
-+endif
+ meson.add_install_script('build-aux/meson_post_install.py')
diff --git a/nixpkgs/pkgs/development/libraries/malcontent/default.nix b/nixpkgs/pkgs/development/libraries/malcontent/default.nix
index f574ab196930..97cc4f7ff2a6 100644
--- a/nixpkgs/pkgs/development/libraries/malcontent/default.nix
+++ b/nixpkgs/pkgs/development/libraries/malcontent/default.nix
@@ -3,7 +3,7 @@
 , fetchpatch
 , meson
 , ninja
-, pkgconfig
+, pkg-config
 , gobject-introspection
 , wrapGAppsHook
 , glib
@@ -19,16 +19,16 @@
 
 stdenv.mkDerivation rec {
   pname = "malcontent";
-  version = "0.7.0";
+  version = "0.9.0";
 
-  outputs = [ "bin" "out" "dev" "man" "installedTests" ];
+  outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "pwithnall";
     repo = pname;
     rev = version;
-    sha256 = "0lxakzj75pvpgwbjfyfkg0gyzvry00zhc9h9cd8f0wksg7mabzbh";
+    sha256 = "DEtibrGgHSgRjaarAzizzLN1xsJKXl+LCQ29FmpPoJo=";
   };
 
   patches = [
@@ -37,19 +37,12 @@ stdenv.mkDerivation rec {
 
     # Do not build things that are part of malcontent-ui package
     ./better-separation.patch
-
-    # Fix pam installed test
-    # https://gitlab.freedesktop.org/pwithnall/malcontent/merge_requests/50
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/pwithnall/malcontent/commit/5d102eeb0604e65fc977ca77d4b249e986e634cc.patch";
-      sha256 = "1vs35zfp2sa2rps5h1240h73kvlspmv7mfr6f8mcbzvhj1wgzw74";
-    })
   ];
 
   nativeBuildInputs = [
     meson
     ninja
-    pkgconfig
+    pkg-config
     gobject-introspection
     wrapGAppsHook
   ];
@@ -72,6 +65,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dinstalled_tests=true"
     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+    "-Dpamlibdir=${placeholder "pam"}/lib/security"
     "-Dui=disabled"
   ];
 
@@ -83,6 +77,13 @@ stdenv.mkDerivation rec {
       --replace "/bin/false" "${coreutils}/bin/false"
   '';
 
+  postInstall = ''
+    # `giDiscoverSelf` only picks up paths in `out` output.
+    # This needs to be in `postInstall` so that it runs before
+    # `gappsWrapperArgsHook` that runs as one of `preFixupPhases`.
+    addToSearchPath GI_TYPELIB_PATH "$lib/lib/girepository-1.0"
+  '';
+
   passthru = {
     tests = {
       installedTests = nixosTests.installed-tests.malcontent;
@@ -90,6 +91,10 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    # We need to install Polkit & AccountsService data files in `out`
+    # but `buildEnv` only uses `bin` when both `bin` and `out` are present.
+    outputsToInstall = [ "bin" "out" "man" ];
+
     description = "Parental controls library";
     homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
     license = licenses.lgpl21Plus;
diff --git a/nixpkgs/pkgs/development/libraries/malcontent/ui.nix b/nixpkgs/pkgs/development/libraries/malcontent/ui.nix
index af1fa6b41387..54382cfc0d57 100644
--- a/nixpkgs/pkgs/development/libraries/malcontent/ui.nix
+++ b/nixpkgs/pkgs/development/libraries/malcontent/ui.nix
@@ -3,6 +3,7 @@
 , ninja
 , pkg-config
 , gobject-introspection
+, itstool
 , wrapGAppsHook
 , glib
 , accountsservice
@@ -10,6 +11,7 @@
 , flatpak
 , malcontent
 , gtk3
+, appstream-glib
 , desktop-file-utils
 , polkit
 , glib-testing
@@ -20,7 +22,7 @@ stdenv.mkDerivation rec {
 
   inherit (malcontent) version src;
 
-  outputs = [ "bin" "out" "dev" ];
+  outputs = [ "out" "lib" "dev" ];
 
   patches = [
     # Allow installing installed tests to a separate output.
@@ -35,11 +37,13 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     gobject-introspection
+    itstool
     desktop-file-utils
     wrapGAppsHook
   ];
 
   buildInputs = [
+    appstream-glib
     dbus
     polkit
     glib-testing