Merge #193972: tzdata: enable cross-compilation for Windows

...into staging
This commit is contained in:
Vladimír Čunát 2022-10-13 19:26:48 +02:00
commit 6fdfb88f08
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
2 changed files with 26 additions and 12 deletions

View file

@ -0,0 +1,15 @@
diff --git a/Makefile b/Makefile
index a9a989e..4da737b 100644
--- a/Makefile
+++ b/Makefile
@@ -579,8 +579,8 @@ install: all $(DATA) $(REDO) $(MANS)
-t '$(DESTDIR)$(TZDEFAULT)'
cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
cp tzselect '$(DESTDIR)$(BINDIR)/.'
- cp zdump '$(DESTDIR)$(ZDUMPDIR)/.'
- cp zic '$(DESTDIR)$(ZICDIR)/.'
+ cp zdump.exe '$(DESTDIR)$(ZDUMPDIR)/.'
+ cp zic.exe '$(DESTDIR)$(ZICDIR)/.'
cp libtz.a '$(DESTDIR)$(LIBDIR)/.'
$(RANLIB) '$(DESTDIR)$(LIBDIR)/libtz.a'
cp -f newctime.3 newtzset.3 '$(DESTDIR)$(MANDIR)/man3/.'

View file

@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
sourceRoot = ".";
patches = lib.optionals stdenv.hostPlatform.isWindows [
./0001-Add-exe-extension-for-MS-Windows-binaries.patch
];
outputs = [ "out" "bin" "man" "dev" ];
propagatedBuildOutputs = [];
@ -34,22 +38,17 @@ stdenv.mkDerivation rec {
"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"
];
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=${stdenv.cc.nativePrefix}cc AR=${stdenv.cc.nativePrefix}ar zic
mv zic zic-native
mv zic.o.orig zic.o
mv zic.orig zic
'';
installFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"zic=${buildPackages.tzdata.bin}/bin/zic"
];
postInstall =
''