about summary refs log tree commit diff
path: root/pkgs/development/libraries/gsignond/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/gsignond/default.nix')
-rw-r--r--pkgs/development/libraries/gsignond/default.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gsignond/default.nix b/pkgs/development/libraries/gsignond/default.nix
new file mode 100644
index 000000000000..11dcc2a2ee91
--- /dev/null
+++ b/pkgs/development/libraries/gsignond/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchFromGitLab, pkgconfig, meson, ninja, glib, glib-networking
+, sqlite, gobjectIntrospection, vala, gtk-doc, libsecret, docbook_xsl
+, docbook_xml_dtd_43, docbook_xml_dtd_45, glibcLocales, makeWrapper
+, symlinkJoin, gsignondPlugins, plugins }:
+
+let
+unwrapped = stdenv.mkDerivation rec {
+  pname = "gsignond";
+  version = "39022c86ddb5062a10fb0503ad9d81a8e532d527";
+
+  name = "${pname}-2018-10-04";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchFromGitLab {
+    owner = "accounts-sso";
+    repo = pname;
+    rev = version;
+    sha256 = "1gw8vbj3j6wxqy759z97arm8lnqhmraw9s2frv3ar6crnfhlidff";
+  };
+
+  nativeBuildInputs = [
+    docbook_xml_dtd_43
+    docbook_xml_dtd_45
+    docbook_xsl
+    glibcLocales
+    gobjectIntrospection
+    gtk-doc
+    meson
+    ninja
+    pkgconfig
+    vala
+  ];
+
+  buildInputs = [
+    glib
+    glib-networking
+    libsecret
+  ];
+
+  propagatedBuildInputs = [ sqlite ];
+
+  mesonFlags = [
+    "-Dbus_type=session"
+    "-Dextension=desktop"
+  ];
+
+  LC_ALL = "en_US.UTF-8";
+
+  patches = [
+    ./conf.patch
+    ./plugin-load-env.patch
+  ];
+
+  meta = with stdenv.lib; {
+    description = "D-Bus service which performs user authentication on behalf of its clients";
+    homepage = https://gitlab.com/accounts-sso/gsignond;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ worldofpeace ];
+    platforms = platforms.linux;
+  };
+};
+
+in if plugins == [] then unwrapped
+    else import ./wrapper.nix {
+      inherit stdenv makeWrapper symlinkJoin gsignondPlugins plugins;
+      gsignond = unwrapped;
+    }
+