summary refs log tree commit diff
path: root/pkgs/desktops/gnome/core/evolution-data-server/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome/core/evolution-data-server/default.nix')
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
new file mode 100644
index 00000000000..0ed3565d7f0
--- /dev/null
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -0,0 +1,66 @@
+{ fetchurl, lib, stdenv, substituteAll, pkg-config, gnome, python3, gobject-introspection
+, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3, gcr, p11-kit
+, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre, vala, cmake, ninja
+, libkrb5, openldap, webkitgtk, libaccounts-glib, json-glib, glib, gtk3, libphonenumber
+, gnome-online-accounts, libgweather, libgdata, gsettings-desktop-schemas, boost, protobuf }:
+
+stdenv.mkDerivation rec {
+  pname = "evolution-data-server";
+  version = "3.40.1";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "08iykha7zhk21b3axsp3v1jfwda612v0m8rz8zlzppm5i8s5ziza";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit tzdata;
+    })
+  ];
+
+  prePatch = ''
+    substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch --subst-var-by ESD_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
+      --subst-var-by GDS_GSETTINGS_PATH ${glib.getSchemaPath gsettings-desktop-schemas}
+    patches="$patches $PWD/hardcode-gsettings.patch"
+  '';
+
+  nativeBuildInputs = [
+    cmake ninja pkg-config intltool python3 gperf wrapGAppsHook gobject-introspection vala
+  ];
+  buildInputs = [
+    glib libsoup libxml2 gtk3 gnome-online-accounts
+    gcr p11-kit libgweather libgdata libaccounts-glib json-glib
+    icu sqlite libkrb5 openldap webkitgtk glib-networking
+    libcanberra-gtk3 pcre libphonenumber boost protobuf
+  ];
+
+  propagatedBuildInputs = [ libsecret nss nspr libical db libsoup ];
+
+  cmakeFlags = [
+    "-DENABLE_UOA=OFF"
+    "-DENABLE_VALA_BINDINGS=ON"
+    "-DENABLE_INTROSPECTION=ON"
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+    "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
+    "-DWITH_PHONENUMBER=ON"
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = "evolution-data-server";
+      versionPolicy = "odd-unstable";
+    };
+  };
+
+  meta = with lib; {
+    description = "Unified backend for programs that work with contacts, tasks, and calendar information";
+    homepage = "https://wiki.gnome.org/Apps/Evolution";
+    license = licenses.lgpl2;
+    maintainers = teams.gnome.members;
+    platforms = platforms.linux;
+  };
+}