Merge pull request #42762 from jtojnar/libical-3

libical: 2.0.0 → 3.0.3
This commit is contained in:
Jan Tojnar 2018-06-29 21:35:01 +02:00 committed by GitHub
commit 29bcc391e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 61 additions and 14 deletions

@ -23,6 +23,11 @@ in stdenv.mkDerivation rec {
url = https://src.fedoraproject.org/rpms/california/raw/c00bf9924d8fa8cb0a9ec06564d1a1b00c9055af/f/0002-Build-with-evolution-data-server-3.13.90.patch;
sha256 = "0g9923n329p32gzr1q52ad30f8vyz8vrri4rih0w8klmf02ga4pm";
})
# Apply Fedora patch to build with libical > 3.0
(fetchurl {
url = https://src.fedoraproject.org/rpms/california/raw/2af9a6a1b67b53f3fca1472c5350dc11a1acf28f/f/california-0.4.0-libical-3.0.patch;
sha256 = "0cxycfaql0bsiz9hzanns33pwdqpb5n44znfcfa66i1bin34r4n6";
})
];
passthru = {

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib
{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib
, libnotify, popt, xfce
}:
@ -13,6 +13,15 @@ stdenv.mkDerivation rec {
sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
};
patches = [
# Fix build with libical 3.0
(fetchpatch {
name = "fix-libical3.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f;
sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
})
];
nativeBuildInputs = [ pkgconfig intltool bison flex ];
buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util

@ -1,4 +1,4 @@
{ lib, mkXfceDerivation, dbus_glib ? null, gtk2, libical, libnotify ? null
{ lib, fetchpatch, mkXfceDerivation, dbus_glib ? null, gtk2, libical, libnotify ? null
, popt ? null, libxfce4ui ? null, xfce4-panel ? null, withPanelPlugin ? true }:
assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null;
@ -15,4 +15,13 @@ mkXfceDerivation rec {
sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m";
buildInputs = [ dbus_glib gtk2 libical libnotify popt ]
++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ];
patches = [
# Fix build with libical 3.0
(fetchpatch {
name = "fix-libical3.patch";
url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f;
sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
})
];
}

@ -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 ];
};

@ -1,9 +1,9 @@
--- a/src/libical/icaltz-util.c
+++ b/src/libical/icaltz-util.c
@@ -96,9 +96,9 @@ typedef struct
static char *zdir = NULL;
@@ -94,9 +94,9 @@
static const char *zdir = NULL;
static char *search_paths[] = {
static const char *search_paths[] = {
+ "/etc/zoneinfo",
"/usr/share/zoneinfo",
"/usr/lib/zoneinfo",
@ -11,13 +11,13 @@
"/usr/share/lib/zoneinfo"
};
@@ -179,6 +179,15 @@ static void set_zonedir(void)
@@ -178,6 +178,15 @@
const char *fname = ZONES_TAB_SYSTEM_FILENAME;
size_t i, num_search_paths;
+ const char *env_tzdir = getenv ("TZDIR");
+ if (env_tzdir) {
+ snprintf(file_path, MAXPATHLEN, "%s/%s", env_tzdir, fname);
+ sprintf (file_path, "%s/%s", env_tzdir, fname);
+ if (!access (file_path, F_OK|R_OK)) {
+ zdir = env_tzdir;
+ return;