From 3cec5bd675c583b39c72eb2df45bc8f2ea342a12 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyfox@gentoo.org>
Date: Thu, 29 Oct 2020 07:55:46 +0000
Subject: sys-libs/timezone-data: add USE=zic-slim (disable by default)

Many programs can't handle "slim" format of /usr/share/zoneinfo.

Expose an USE flag to allow ease switching back and forth while
using up to date zoneinfo data.

Bug: https://bugs.gentoo.org/749591
Bug: https://bugs.gentoo.org/747538
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
 sys-libs/timezone-data/metadata.xml               | 4 ++++
 sys-libs/timezone-data/timezone-data-2020d.ebuild | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

(limited to 'sys-libs/timezone-data')

diff --git a/sys-libs/timezone-data/metadata.xml b/sys-libs/timezone-data/metadata.xml
index a74a2f3c9066..0cca351e7a09 100644
--- a/sys-libs/timezone-data/metadata.xml
+++ b/sys-libs/timezone-data/metadata.xml
@@ -15,5 +15,9 @@
       when counting seconds since the epoch (while POSIX does not) as they are
       based on the TAI (International Atomic Time) clock
     </flag>
+    <flag name="zic-slim">
+      Default to 'slim' file format for /usr/share/zoneinfo. Otherise 'fat' format
+      is used. Not all programs can handle 'slim' format'.
+    </flag>
   </use>
 </pkgmetadata>
diff --git a/sys-libs/timezone-data/timezone-data-2020d.ebuild b/sys-libs/timezone-data/timezone-data-2020d.ebuild
index d6de39e14978..8b4bec52eb7c 100644
--- a/sys-libs/timezone-data/timezone-data-2020d.ebuild
+++ b/sys-libs/timezone-data/timezone-data-2020d.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.t
 LICENSE="BSD public-domain"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls leaps-timezone elibc_FreeBSD"
+IUSE="nls leaps-timezone elibc_FreeBSD zic-slim"
 
 DEPEND="nls? ( virtual/libintl )"
 RDEPEND="${DEPEND}
@@ -43,6 +43,11 @@ src_configure() {
 	fi
 
 	append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"'
+
+	# Upstream default is 'slim', but it breaks quite a few programs
+	# that parse /etc/localtime directly: bug# 747538.
+	append-cppflags -DZIC_BLOAT_DEFAULT='\"'$(usex zic-slim slim fat)'\"'
+
 	LDLIBS=""
 	if use nls ; then
 		# See if an external libintl is available. #154181 #578424
-- 
cgit v1.2.3-65-gdbad