2022-11-29 23:23:11 +01:00
|
|
|
{ lib, stdenv, fetchurl, buildPackages }:
|
2012-09-18 19:14:22 +02:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-15 14:41:18 +02:00
|
|
|
pname = "tzdata";
|
2023-12-22 21:53:50 +01:00
|
|
|
version = "2023d";
|
2022-08-11 23:26:39 +02:00
|
|
|
|
|
|
|
srcs = [
|
|
|
|
(fetchurl {
|
|
|
|
url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
|
2023-12-22 21:53:50 +01:00
|
|
|
hash = "sha256-28ohlwsKi4wM7O7B17kfqQO+D27KWucytTKWciMqCPM=";
|
2022-08-11 23:26:39 +02:00
|
|
|
})
|
|
|
|
(fetchurl {
|
|
|
|
url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
|
2023-12-22 21:53:50 +01:00
|
|
|
hash = "sha256-6aX54RiIbS3pK2K7BVEKKMxsBY15HJO9a4TTKSw8Fh4=";
|
2022-08-11 23:26:39 +02:00
|
|
|
})
|
|
|
|
];
|
2012-09-18 19:14:22 +02:00
|
|
|
|
|
|
|
sourceRoot = ".";
|
2016-04-02 16:24:12 +02:00
|
|
|
|
2022-10-01 21:00:15 +02:00
|
|
|
patches = lib.optionals stdenv.hostPlatform.isWindows [
|
|
|
|
./0001-Add-exe-extension-for-MS-Windows-binaries.patch
|
|
|
|
];
|
|
|
|
|
2018-05-08 00:19:20 +02:00
|
|
|
outputs = [ "out" "bin" "man" "dev" ];
|
2023-11-03 02:25:25 +01:00
|
|
|
propagatedBuildOutputs = [ ];
|
2012-09-18 19:14:22 +02:00
|
|
|
|
2016-03-16 05:41:47 +01:00
|
|
|
makeFlags = [
|
|
|
|
"TOPDIR=$(out)"
|
|
|
|
"TZDIR=$(out)/share/zoneinfo"
|
2018-05-08 00:19:20 +02:00
|
|
|
"BINDIR=$(bin)/bin"
|
|
|
|
"ZICDIR=$(bin)/bin"
|
2016-03-16 05:41:47 +01:00
|
|
|
"ETCDIR=$(TMPDIR)/etc"
|
2021-12-19 01:01:23 +01:00
|
|
|
"TZDEFAULT=tzdefault-to-remove"
|
2016-04-02 16:24:12 +02:00
|
|
|
"LIBDIR=$(dev)/lib"
|
2017-07-11 13:06:49 +02:00
|
|
|
"MANDIR=$(man)/share/man"
|
2016-03-16 05:41:47 +01:00
|
|
|
"AWK=awk"
|
|
|
|
"CFLAGS=-DHAVE_LINK=0"
|
2020-11-05 17:13:59 +01:00
|
|
|
"CFLAGS+=-DZIC_BLOAT_DEFAULT=\\\"fat\\\""
|
2018-02-28 20:50:17 +01:00
|
|
|
"cc=${stdenv.cc.targetPrefix}cc"
|
|
|
|
"AR=${stdenv.cc.targetPrefix}ar"
|
2022-10-01 21:00:15 +02:00
|
|
|
] ++ lib.optionals stdenv.hostPlatform.isWindows [
|
|
|
|
"CFLAGS+=-DHAVE_DIRECT_H"
|
2023-03-23 00:48:22 +01:00
|
|
|
"CFLAGS+=-DHAVE_SETENV=0"
|
2022-10-01 21:00:15 +02:00
|
|
|
"CFLAGS+=-DHAVE_SYMLINK=0"
|
|
|
|
"CFLAGS+=-DRESERVE_STD_EXT_IDS"
|
2016-03-16 05:41:47 +01:00
|
|
|
];
|
2012-09-18 19:14:22 +02:00
|
|
|
|
2018-04-25 05:20:18 +02:00
|
|
|
doCheck = false; # needs more tools
|
|
|
|
|
2022-10-01 21:00:15 +02:00
|
|
|
installFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
|
|
|
"zic=${buildPackages.tzdata.bin}/bin/zic"
|
|
|
|
];
|
2018-02-28 20:50:17 +01:00
|
|
|
|
2012-09-18 19:14:22 +02:00
|
|
|
postInstall =
|
|
|
|
''
|
2014-04-29 15:57:31 +02:00
|
|
|
rm $out/share/zoneinfo-posix
|
2021-12-19 01:01:23 +01:00
|
|
|
rm $out/share/zoneinfo/tzdefault-to-remove
|
2017-11-22 10:04:41 +01:00
|
|
|
mkdir $out/share/zoneinfo/posix
|
|
|
|
( cd $out/share/zoneinfo/posix; ln -s ../* .; rm posix )
|
2012-09-18 19:14:22 +02:00
|
|
|
mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
|
2014-03-10 21:36:43 +01:00
|
|
|
|
2023-11-03 02:25:25 +01:00
|
|
|
cp leap-seconds.list $out/share/zoneinfo
|
|
|
|
|
2016-04-02 16:24:12 +02:00
|
|
|
mkdir -p "$dev/include"
|
|
|
|
cp tzfile.h "$dev/include/tzfile.h"
|
2012-09-18 19:14:22 +02:00
|
|
|
'';
|
|
|
|
|
2017-12-01 18:15:10 +01:00
|
|
|
setupHook = ./tzdata-setup-hook.sh;
|
|
|
|
|
2021-01-11 08:54:33 +01:00
|
|
|
meta = with lib; {
|
2020-04-01 03:11:51 +02:00
|
|
|
homepage = "http://www.iana.org/time-zones";
|
2012-09-18 19:14:22 +02:00
|
|
|
description = "Database of current and historical time zones";
|
2020-12-29 21:41:01 +01:00
|
|
|
changelog = "https://github.com/eggert/tz/blob/${version}/NEWS";
|
2021-06-03 14:35:04 +02:00
|
|
|
license = with licenses; [
|
|
|
|
bsd3 # tzcode
|
|
|
|
publicDomain # tzdata
|
|
|
|
];
|
2018-05-08 00:19:20 +02:00
|
|
|
platforms = platforms.all;
|
2021-10-02 01:34:47 +02:00
|
|
|
maintainers = with maintainers; [ ajs124 fpletz ];
|
2012-09-18 19:14:22 +02:00
|
|
|
};
|
|
|
|
}
|