73 lines
1.8 KiB
Nix
73 lines
1.8 KiB
Nix
|
{ stdenv, fetchurl, buildPackages }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "tzdata";
|
||
|
version = "2019c";
|
||
|
|
||
|
srcs =
|
||
|
[ (fetchurl {
|
||
|
url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
|
||
|
sha256 = "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr";
|
||
|
})
|
||
|
(fetchurl {
|
||
|
url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
|
||
|
sha256 = "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn";
|
||
|
})
|
||
|
];
|
||
|
|
||
|
sourceRoot = ".";
|
||
|
|
||
|
outputs = [ "out" "bin" "man" "dev" ];
|
||
|
propagatedBuildOutputs = [];
|
||
|
|
||
|
makeFlags = [
|
||
|
"TOPDIR=$(out)"
|
||
|
"TZDIR=$(out)/share/zoneinfo"
|
||
|
"BINDIR=$(bin)/bin"
|
||
|
"ZICDIR=$(bin)/bin"
|
||
|
"ETCDIR=$(TMPDIR)/etc"
|
||
|
"TZDEFAULT=$(TMPDIR)/etc"
|
||
|
"LIBDIR=$(dev)/lib"
|
||
|
"MANDIR=$(man)/share/man"
|
||
|
"AWK=awk"
|
||
|
"CFLAGS=-DHAVE_LINK=0"
|
||
|
"cc=${stdenv.cc.targetPrefix}cc"
|
||
|
"AR=${stdenv.cc.targetPrefix}ar"
|
||
|
];
|
||
|
|
||
|
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||
|
|
||
|
doCheck = false; # needs more tools
|
||
|
|
||
|
installFlags = [ "ZIC=./zic-native" ];
|
||
|
|
||
|
preInstall = ''
|
||
|
mv zic.o zic.o.orig
|
||
|
mv zic zic.orig
|
||
|
make $makeFlags cc=cc AR=ar zic
|
||
|
mv zic zic-native
|
||
|
mv zic.o.orig zic.o
|
||
|
mv zic.orig zic
|
||
|
'';
|
||
|
|
||
|
postInstall =
|
||
|
''
|
||
|
rm $out/share/zoneinfo-posix
|
||
|
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 stdenv.lib; {
|
||
|
homepage = "http://www.iana.org/time-zones";
|
||
|
description = "Database of current and historical time zones";
|
||
|
platforms = platforms.all;
|
||
|
maintainers = with maintainers; [ fpletz ];
|
||
|
};
|
||
|
}
|