blob: 2d5100906ed25f9e60b7d08ebc96cbe599c06413 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
{ lib, stdenv, fetchurl, buildPackages }:
stdenv.mkDerivation rec {
pname = "tzdata";
version = "2022e";
srcs = [
(fetchurl {
url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
hash = "sha256-jeTCaG3OPRqukDBxnmgUkxwhai1eiR7D0zLm9lFq7M0=";
})
(fetchurl {
url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
hash = "sha256-1AKAJTmA6JFo5r5CdahSv5UhUk1HaE3jE1uaXKOHcQs=";
})
];
sourceRoot = ".";
patches = lib.optionals stdenv.hostPlatform.isWindows [
./0001-Add-exe-extension-for-MS-Windows-binaries.patch
];
outputs = [ "out" "bin" "man" "dev" ];
propagatedBuildOutputs = [];
makeFlags = [
"TOPDIR=$(out)"
"TZDIR=$(out)/share/zoneinfo"
"BINDIR=$(bin)/bin"
"ZICDIR=$(bin)/bin"
"ETCDIR=$(TMPDIR)/etc"
"TZDEFAULT=tzdefault-to-remove"
"LIBDIR=$(dev)/lib"
"MANDIR=$(man)/share/man"
"AWK=awk"
"CFLAGS=-DHAVE_LINK=0"
"CFLAGS+=-DZIC_BLOAT_DEFAULT=\\\"fat\\\""
"cc=${stdenv.cc.targetPrefix}cc"
"AR=${stdenv.cc.targetPrefix}ar"
] ++ lib.optionals stdenv.hostPlatform.isWindows [
"CFLAGS+=-DHAVE_DIRECT_H"
"CFLAGS+=-DHAVE_SYMLINK=0"
"CFLAGS+=-DRESERVE_STD_EXT_IDS"
];
doCheck = false; # needs more tools
installFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"zic=${buildPackages.tzdata.bin}/bin/zic"
];
postInstall =
''
rm $out/share/zoneinfo-posix
rm $out/share/zoneinfo/tzdefault-to-remove
mkdir $out/share/zoneinfo/posix
( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix )
mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
mkdir -p "$dev/include"
cp tzfile.h "$dev/include/tzfile.h"
'';
setupHook = ./tzdata-setup-hook.sh;
meta = with lib; {
homepage = "http://www.iana.org/time-zones";
description = "Database of current and historical time zones";
changelog = "https://github.com/eggert/tz/blob/${version}/NEWS";
license = with licenses; [
bsd3 # tzcode
publicDomain # tzdata
];
platforms = platforms.all;
maintainers = with maintainers; [ ajs124 fpletz ];
};
}
|