libical: 1.0.1 → 2.0.0

This commit is contained in:
Jan Tojnar 2017-09-18 03:25:11 +02:00
parent f5d5c13ad7
commit a51f6474d2
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
2 changed files with 31 additions and 26 deletions

View File

@ -2,18 +2,21 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libical-${version}"; name = "libical-${version}";
version = "1.0.1"; version = "2.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "libical"; owner = "libical";
repo = "libical"; repo = "libical";
rev = "v${version}"; rev = "v${version}";
sha256 = "1y6rbw24m133d984pyqzx2bi7f37dsw6f33l6arwn6yd4zlqdib9"; sha256 = "0xsvqy1hzmwxn783wrb2k8p751544pzv39v9ynr9pj4yzkwjzsvb";
}; };
nativeBuildInputs = [ perl cmake ]; nativeBuildInputs = [ perl cmake ];
patches = [ ./respect-env-tzdir.patch ]; patches = [
# TODO: upstream this patch
./respect-env-tzdir.patch
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://github.com/libical/libical; homepage = https://github.com/libical/libical;

View File

@ -1,27 +1,29 @@
--- a/src/libical/icaltz-util.c 2015-06-11 15:40:58.843138630 +0200 --- a/src/libical/icaltz-util.c
+++ b/src/libical/icaltz-util.c 2015-06-11 15:43:12.722046252 +0200 +++ b/src/libical/icaltz-util.c
@@ -107,7 +107,7 @@ @@ -96,9 +96,9 @@ typedef struct
char charcnt[4];
} tzinfo;
-static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"};
+static char *search_paths [] = {"/etc/zoneinfo","/usr/share/zoneinfo","/usr/lib/zoneinfo","/usr/share/lib/zoneinfo"};
static char *zdir = NULL; static char *zdir = NULL;
#define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0])) static char *search_paths[] = {
@@ -194,6 +194,15 @@ + "/etc/zoneinfo",
"/usr/share/zoneinfo",
"/usr/lib/zoneinfo",
- "/etc/zoneinfo",
"/usr/share/lib/zoneinfo"
};
@@ -179,6 +179,15 @@ static void set_zonedir(void)
const char *fname = ZONES_TAB_SYSTEM_FILENAME; const char *fname = ZONES_TAB_SYSTEM_FILENAME;
unsigned int i; size_t i, num_search_paths;
+ const char *env_tzdir = getenv ("TZDIR"); + const char *env_tzdir = getenv ("TZDIR");
+ if (env_tzdir) { + if (env_tzdir) {
+ sprintf (file_path, "%s/%s", env_tzdir, fname); + snprintf(file_path, MAXPATHLEN, "%s/%s", env_tzdir, fname);
+ if (!access (file_path, F_OK|R_OK)) { + if (!access (file_path, F_OK|R_OK)) {
+ zdir = env_tzdir; + zdir = env_tzdir;
+ return; + return;
+ } + }
+ } + }
+ +
for (i = 0; i < NUM_SEARCH_PATHS; i++) { num_search_paths = sizeof(search_paths) / sizeof(search_paths[0]);
sprintf (file_path, "%s/%s", search_paths [i], fname); for (i = 0; i < num_search_paths; i++) {
if (!access (file_path, F_OK|R_OK)) { snprintf(file_path, MAXPATHLEN, "%s/%s", search_paths[i], fname);