summary refs log tree commit diff
path: root/pkgs/development/libraries/libical/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/libical/default.nix')
-rw-r--r--pkgs/development/libraries/libical/default.nix36
1 files changed, 30 insertions, 6 deletions
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index fd9c8dc9a5e3..1efc16b2bf5c 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -1,29 +1,53 @@
-{ stdenv, fetchFromGitHub, perl, cmake }:
+{ stdenv, fetchFromGitHub, perl, pkgconfig, cmake, ninja, vala, gobjectIntrospection
+, python3, tzdata, gtk-doc, docbook_xsl, docbook_xml_dtd_43, glib, libxml2, icu }:
 
 stdenv.mkDerivation rec {
   name = "libical-${version}";
-  version = "2.0.0";
+  version = "3.0.3";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "0xsvqy1hzmwxn783wrb2k8p751544pzv39v9ynr9pj4yzkwjzsvb";
+    sha256 = "0dhlfn6n136di4fbqd74gdaibyh5zz1vac5x8ii3bjc2d5h7hw8h";
   };
 
-  nativeBuildInputs = [ perl cmake ];
+  nativeBuildInputs = [
+    perl pkgconfig cmake ninja vala gobjectIntrospection
+    (python3.withPackages (pkgs: with pkgs; [ pygobject3 ])) # running libical-glib tests
+    gtk-doc docbook_xsl docbook_xml_dtd_43 # docs
+  ];
+  buildInputs = [ glib libxml2 icu ];
+
+  cmakeFlags = [
+    "-DGOBJECT_INTROSPECTION=True"
+    "-DICAL_GLIB_VAPI=True"
+  ];
 
   patches = [
     # TODO: upstream this patch
+    # https://github.com/libical/libical/issues/350
     ./respect-env-tzdir.patch
   ];
 
-  doCheck = false; # fails all the tests (ctest)
+  # Using install check so we do not have to manually set
+  # LD_LIBRARY_PATH and GI_TYPELIB_PATH variables
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    export TZDIR=${tzdata}/share/zoneinfo
+    ctest --output-on-failure
+
+    runHook postInstallCheck
+  '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/libical/libical;
     description = "An Open Source implementation of the iCalendar protocols";
-    license = licenses.mpl10;
+    license = licenses.mpl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ wkennington ];
   };