summary refs log tree commit diff
path: root/pkgs/development/libraries/malcontent
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-03-26 02:02:20 +0100
committerJan Tojnar <jtojnar@gmail.com>2020-04-08 17:08:15 +0200
commitf3d1333f0d9e65bb5c9480c257bb71d34ee87c7c (patch)
tree6334bd9a6bb49329839cc1a3c41b8f19733b4078 /pkgs/development/libraries/malcontent
parent4b4c0164f018ff612a296c2f33f8492d9597c5cc (diff)
downloadnixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.tar
nixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.tar.gz
nixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.tar.bz2
nixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.tar.lz
nixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.tar.xz
nixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.tar.zst
nixpkgs-f3d1333f0d9e65bb5c9480c257bb71d34ee87c7c.zip
malcontent-ui: split from malcontent
The 0.7.0 update allows us to split the package.
Diffstat (limited to 'pkgs/development/libraries/malcontent')
-rw-r--r--pkgs/development/libraries/malcontent/better-separation.patch35
-rw-r--r--pkgs/development/libraries/malcontent/default.nix10
-rw-r--r--pkgs/development/libraries/malcontent/installed-tests-path.patch11
-rw-r--r--pkgs/development/libraries/malcontent/ui.nix70
4 files changed, 116 insertions, 10 deletions
diff --git a/pkgs/development/libraries/malcontent/better-separation.patch b/pkgs/development/libraries/malcontent/better-separation.patch
new file mode 100644
index 00000000000..cd91760bff5
--- /dev/null
+++ b/pkgs/development/libraries/malcontent/better-separation.patch
@@ -0,0 +1,35 @@
+diff --git a/meson.build b/meson.build
+index a6c477d..f7b2f0a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -125,8 +125,8 @@ test_env = [
+   'LC_ALL=C.UTF-8',
+ ]
+ 
+-subdir('accounts-service')
+ if not get_option('use_system_libmalcontent')
++  subdir('accounts-service')
+   subdir('libmalcontent')
+ else
+   libmalcontent_api_version = '0'
+@@ -137,11 +137,17 @@ endif
+ if get_option('ui').enabled()
+   subdir('libmalcontent-ui')
+ endif
+-subdir('malcontent-client')
++if not get_option('use_system_libmalcontent')
++  subdir('malcontent-client')
++endif
+ if get_option('ui').enabled()
+   subdir('malcontent-control')
+ endif
+-subdir('pam')
++if not get_option('use_system_libmalcontent')
++  subdir('pam')
++endif
+ 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
diff --git a/pkgs/development/libraries/malcontent/default.nix b/pkgs/development/libraries/malcontent/default.nix
index 8bc2ada9b65..b7413c6dede 100644
--- a/pkgs/development/libraries/malcontent/default.nix
+++ b/pkgs/development/libraries/malcontent/default.nix
@@ -9,10 +9,7 @@
 , coreutils
 , accountsservice
 , dbus
-, flatpak
-, gtk3
 , pam
-, desktop-file-utils
 , polkit
 , glib-testing
 , python3
@@ -36,6 +33,9 @@ stdenv.mkDerivation rec {
   patches = [
     # Allow installing installed tests to a separate output.
     ./installed-tests-path.patch
+
+    # Do not build things that are part of malcontent-ui package
+    ./better-separation.patch
   ];
 
   nativeBuildInputs = [
@@ -43,15 +43,12 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     gobject-introspection
-    desktop-file-utils
     wrapGAppsHook
   ];
 
   buildInputs = [
     accountsservice
     dbus
-    flatpak
-    gtk3
     pam
     polkit
     glib-testing
@@ -67,6 +64,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dinstalled_tests=true"
     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+    "-Dui=disabled"
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/malcontent/installed-tests-path.patch b/pkgs/development/libraries/malcontent/installed-tests-path.patch
index ac87ddf6ccb..5d26c0f864f 100644
--- a/pkgs/development/libraries/malcontent/installed-tests-path.patch
+++ b/pkgs/development/libraries/malcontent/installed-tests-path.patch
@@ -22,12 +22,12 @@ index 610bc35..13e0713 100644
 \ No newline at end of file
 +endforeach
 diff --git a/meson_options.txt b/meson_options.txt
-index 06329d4..72aa505 100644
+index d516c70..583cb94 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -9,3 +9,9 @@ option(
-   type: 'string',
-   description: 'directory for PAM modules'
+@@ -4,6 +4,12 @@ option(
+   value: false,
+   description: 'enable installed tests'
  )
 +option(
 +  'installed_test_prefix',
@@ -35,6 +35,9 @@ index 06329d4..72aa505 100644
 +  value: '',
 +  description: 'Prefix for installed tests'
 +)
+ option(
+   'pamlibdir',
+   type: 'string',
 diff --git a/pam/tests/meson.build b/pam/tests/meson.build
 index 0560dcb..a74dab2 100644
 --- a/pam/tests/meson.build
diff --git a/pkgs/development/libraries/malcontent/ui.nix b/pkgs/development/libraries/malcontent/ui.nix
new file mode 100644
index 00000000000..af1fa6b4138
--- /dev/null
+++ b/pkgs/development/libraries/malcontent/ui.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, wrapGAppsHook
+, glib
+, accountsservice
+, dbus
+, flatpak
+, malcontent
+, gtk3
+, desktop-file-utils
+, polkit
+, glib-testing
+}:
+
+stdenv.mkDerivation rec {
+  pname = "malcontent-ui";
+
+  inherit (malcontent) version src;
+
+  outputs = [ "bin" "out" "dev" ];
+
+  patches = [
+    # Allow installing installed tests to a separate output.
+    ./installed-tests-path.patch
+
+    # Do not build things that are part of malcontent package
+    ./better-separation.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    desktop-file-utils
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    dbus
+    polkit
+    glib-testing
+    flatpak
+  ];
+
+  propagatedBuildInputs = [
+    accountsservice
+    malcontent
+    glib
+    gtk3
+  ];
+
+  mesonFlags = [
+    "-Dinstalled_tests=true"
+    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
+    "-Duse_system_libmalcontent=true"
+    "-Dui=enabled"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "UI components for parental controls library";
+    homepage = "https://gitlab.freedesktop.org/pwithnall/malcontent";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}