summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/gnome-online-accounts/default.nix103
1 files changed, 79 insertions, 24 deletions
diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix
index 82847853588..adbb714c7b2 100644
--- a/pkgs/development/libraries/gnome-online-accounts/default.nix
+++ b/pkgs/development/libraries/gnome-online-accounts/default.nix
@@ -1,42 +1,94 @@
-{ stdenv, fetchurl, pkgconfig, vala, glib, libxslt, gtk3, wrapGAppsHook
-, webkitgtk, json-glib, librest, libsecret, gtk-doc, gobject-introspection
-, gettext, icu, glib-networking
-, libsoup, docbook_xsl, docbook_xml_dtd_412, gnome3, gcr, kerberos
+{ stdenv
+, fetchFromGitLab
+, pkgconfig
+, vala
+, glib
+, meson
+, ninja
+, python3
+, libxslt
+, gtk3
+, webkitgtk
+, json-glib
+, librest
+, libsecret
+, gtk-doc
+, gobject-introspection
+, gettext
+, icu
+, glib-networking
+, libsoup
+, docbook_xsl
+, docbook_xml_dtd_412
+, gnome3
+, gcr
+, kerberos
+, gvfs
+, dbus
+, wrapGAppsHook
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "gnome-online-accounts";
-  version = "3.34.0";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  version = "3.34.1";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0mvz6wrw03zyp5sm46znkipncagb257xam29mfi06ixmxvjbqky4";
+  # https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues/87
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "gnome-online-accounts";
+    rev = version;
+    sha256 = "0ry06qw068rqn4y42953kwl6fkxpgfya58y87cd3zink6gj7q0fm";
   };
 
   outputs = [ "out" "man" "dev" "devdoc" ];
 
-  configureFlags = [
-    "--enable-media-server"
-    "--enable-kerberos"
-    "--enable-lastfm"
-    "--enable-todoist"
-    "--enable-gtk-doc"
-    "--enable-documentation"
+  mesonFlags = [
+    "-Dfedora=false" # not useful in NixOS or for NixOS users.
+    "-Dgtk_doc=true"
+    "-Dlastfm=true"
+    "-Dman=true"
+    "-Dmedia_server=true"
   ];
 
-  enableParallelBuilding = true;
-
   nativeBuildInputs = [
-    pkgconfig gobject-introspection vala gettext wrapGAppsHook
-    libxslt docbook_xsl docbook_xml_dtd_412 gtk-doc
+    dbus # used for checks and pkgconfig to install dbus service/s
+    docbook_xml_dtd_412
+    docbook_xsl
+    gettext
+    gobject-introspection
+    gtk-doc
+    libxslt
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    glib gtk3 webkitgtk json-glib librest libsecret glib-networking icu libsoup
-    gcr kerberos
+    gcr
+    glib
+    glib-networking
+    gtk3
+    gvfs # OwnCloud, Google Drive
+    icu
+    json-glib
+    kerberos
+    librest
+    libsecret
+    libsoup
+    webkitgtk
   ];
 
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
@@ -45,7 +97,10 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    homepage = "https://wiki.gnome.org/Projects/GnomeOnlineAccounts";
+    description = "Single sign-on framework for GNOME";
     platforms = platforms.linux;
+    license = licenses.lgpl2Plus;
     maintainers = gnome3.maintainers;
   };
 }