diff --git a/changelog/updates/2022-01-01-timezone-data-2021a-update.md b/changelog/updates/2022-01-01-timezone-data-2021a-update.md new file mode 100644 index 00000000000..1876cf88717 --- /dev/null +++ b/changelog/updates/2022-01-01-timezone-data-2021a-update.md @@ -0,0 +1 @@ +- timezone-data ([2021a](https://mm.icann.org/pipermail/tz-announce/2021-January/000065.html)) diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest index d555b63529a..95722eb438f 100644 --- a/sys-libs/timezone-data/Manifest +++ b/sys-libs/timezone-data/Manifest @@ -1,4 +1,2 @@ -DIST tzcode2019b.tar.gz 251196 BLAKE2B 73ed8d44675a25e0497b77cc20ca3cc5b137297e48ce679cb6e8d809f4f25d73631064e0f1c2d917b986baa10bad9369bac42d583573519e7f3a94c864b18886 SHA512 bcfb417fe3b7c39e702da0090291db0489744f733010ae183007fce5e441bfce885fb25ed11730cf7f363572e107d7ff0c4b38691bb99def2d8cf7017c05720f -DIST tzcode2019c.tar.gz 253560 BLAKE2B 62552e7e78ebb50c111f9a99119843fe9b5dad9e1abb5ba0f1cf0a931cf00fc49684a6b378f5ea4cb31aca8af5b0c3b697b87048ef36a445536ec2fc5b943440 SHA512 61ef36385f501c338c263081486de0d1fccd454b86f8777b0dbad4ea3f21bbde059d0a91c23e207b167ed013127d3db8b7528f0188814a8b44d1f946b19d9b8b -DIST tzdata2019b.tar.gz 384667 BLAKE2B c045d137cbb09e1109916dfdb1265ceb560d589ded9b05aa0cfe75f5fcb19057ded4d4f12f47c895020ed02bc4138de995eadac497eb3663579b094164d7e3ad SHA512 c0104078d994e501d80a41bea31364b1390a75c2fbf42968a8343a090e2ac2eddbc58770ca470b192ea19dec89fcc634141a1de703ea2ffa0325176a64afe1fc -DIST tzdata2019c.tar.gz 392087 BLAKE2B d7a21e57391d321b5c84e1ba2286ff0dd154c435d40015d999c8c6f2f1bea3c13d832c0752af313c9aa4dafe6a261e1e92bfd79523448fcd585188a53454e31a SHA512 2921cbb2fd44a6b8f7f2ed42c13fbae28195aa5c2eeefa70396bc97cdbaad679c6cc3c143da82cca5b0279065c02389e9af536904288c12886bf345baa8c6565 +DIST tzcode2021a.tar.gz 262204 BLAKE2B 4072685f2344602ffcfe32a7bf92d3b0d93e38ffca842f1c07a60db5e26f1f18ab32fc7b5f155b0bdab49f8d0bfcd5b58f4a192b4d06d7d9639893e5cb596328 SHA512 bf1d53bcbfecd3b09d57a9e6d3cb49b5dc5f8e1b6674b67e7f974e1a268c2aaf13ca89a7ef12f49d0665aff782bd72685e00c22a41ca88a028da0429f972fd45 +DIST tzdata2021a.tar.gz 411892 BLAKE2B b8d177e90e22bd8a3fd23c9a9c19896cb245efd8e768b59ab8c63e56ab141e67331f3231e3a7c802f844375049cfd902e14e912ce677b3aea38fc0d968905e87 SHA512 7cdd762ec90ce12a30fa36b1d66d1ea82d9fa21e514e2b9c7fcbe2541514ee0fadf30843ff352c65512fb270857b51d1517b45e1232b89c6f954ba9ff1833bb3 diff --git a/sys-libs/timezone-data/metadata.xml b/sys-libs/timezone-data/metadata.xml index a74a2f3c906..0e4c5ee4f0a 100644 --- a/sys-libs/timezone-data/metadata.xml +++ b/sys-libs/timezone-data/metadata.xml @@ -1,10 +1,6 @@ - + - - djc@gentoo.org - Dirkjan Ochtman - toolchain@gentoo.org Gentoo Toolchain Project @@ -15,5 +11,9 @@ when counting seconds since the epoch (while POSIX does not) as they are based on the TAI (International Atomic Time) clock + + Default to 'slim' file format for /usr/share/zoneinfo. Otherwise 'fat' format + is used. Not all programs can handle 'slim' format'. + diff --git a/sys-libs/timezone-data/timezone-data-2019b-r2.ebuild b/sys-libs/timezone-data/timezone-data-2019b-r2.ebuild deleted file mode 100644 index 7b0606faa54..00000000000 --- a/sys-libs/timezone-data/timezone-data-2019b-r2.ebuild +++ /dev/null @@ -1,178 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -inherit toolchain-funcs flag-o-matic - -code_ver=${PV} -data_ver=${PV} -DESCRIPTION="Timezone data (/usr/share/zoneinfo) and utilities (tzselect/zic/zdump)" -HOMEPAGE="https://www.iana.org/time-zones" -SRC_URI="https://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.tar.gz - https://www.iana.org/time-zones/repository/releases/tzcode${code_ver}.tar.gz" - -LICENSE="BSD public-domain" -SLOT="0" -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" -IUSE="nls leaps-timezone" - -DEPEND="nls? ( virtual/libintl )" -RDEPEND="${DEPEND} - !sys-libs/glibc[vanilla(+)]" - -S=${WORKDIR} - -src_prepare() { - default - - # check_web contacts validator.w3.org - sed -i -e 's/check_tables check_web/check_tables/g' \ - Makefile || die "Failed to disable check_web" - - tc-is-cross-compiler && cp -pR "${S}" "${S}"-native -} - -src_configure() { - tc-export CC - - append-lfs-flags #471102 - - if use elibc_Darwin ; then - append-cppflags -DSTD_INSPIRED #138251 - fi - - append-cppflags -DHAVE_GETTEXT=$(usex nls 1 0) -DTZ_DOMAIN='\"libc\"' - LDLIBS="" - if use nls ; then - # See if an external libintl is available. #154181 #578424 - local c="${T}/test" - echo 'main(){}' > "${c}.c" - if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} "${c}.c" -o "${c}" -lintl 2>/dev/null ; then - LDLIBS+=" -lintl" - fi - fi -} - -_emake() { - emake \ - REDO=$(usex leaps-timezone posix_right posix_only) \ - TZDATA_TEXT= \ - TOPDIR="${EPREFIX}" \ - ZICDIR='$(TOPDIR)/usr/bin' \ - "$@" -} - -src_compile() { - _emake \ - AR="$(tc-getAR)" \ - cc="$(tc-getCC)" \ - RANLIB="$(tc-getRANLIB)" \ - CFLAGS="${CFLAGS} -std=gnu99 ${CPPFLAGS}" \ - LDFLAGS="${LDFLAGS}" \ - LDLIBS="${LDLIBS}" - if tc-is-cross-compiler ; then - _emake -C "${S}"-native \ - AR="$(tc-getBUILD_AR)" \ - cc="$(tc-getBUILD_CC)" \ - RANLIB="$(tc-getBUILD_RANLIB)" \ - CFLAGS="${BUILD_CFLAGS} ${BUILD_CPPFLAGS}" \ - LDFLAGS="${BUILD_LDFLAGS}" \ - LDLIBS="${LDLIBS}" \ - zic - fi -} - -src_test() { - # VALIDATE_ENV is used for extended/web based tests. Punt on them. - emake check VALIDATE_ENV=true -} - -src_install() { - local zic="" - tc-is-cross-compiler && zic="zic=${S}-native/zic" - _emake install ${zic} DESTDIR="${D}" LIBDIR="/nukeit" - rm -rf "${D}/nukeit" "${ED}/etc" || die - - insinto /usr/share/zoneinfo - doins "${S}"/leap-seconds.list - - # Delete man pages installed by man-pages package. - rm "${ED}"/usr/share/man/man5/tzfile.5* "${ED}"/usr/share/man/man8/{tzselect,zdump,zic}.8 || die - dodoc CONTRIBUTING README NEWS *.html -} - -get_TIMEZONE() { - local tz src="${EROOT}/etc/timezone" - if [[ -e ${src} ]] ; then - tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") - else - tz="FOOKABLOIE" - fi - [[ -z ${tz} ]] && return 1 || echo "${tz}" -} - -pkg_preinst() { - local tz=$(get_TIMEZONE) - if [[ ${tz} == right/* || ${tz} == posix/* ]] ; then - eerror "The right & posix subdirs are no longer installed as subdirs -- they have been" - eerror "relocated to match upstream paths as sibling paths. Further, posix/xxx is the" - eerror "same as xxx, so you should simply drop the posix/ prefix. You also should not" - eerror "be using right/xxx for the system timezone as it breaks programs." - die "Please fix your timezone setting" - fi - - # Trim the symlink by hand to avoid portage's automatic protection checks. - rm -f "${EROOT}"/usr/share/zoneinfo/posix - - if has_version "<=${CATEGORY}/${PN}-2015c" ; then - elog "Support for accessing posix/ and right/ directly has been dropped to match" - elog "upstream. There is no need to set TZ=posix/xxx as it is the same as TZ=xxx." - elog "For TZ=right/, you can use TZ=../zoneinfo-leaps/xxx instead. See this post" - elog "for details: https://mm.icann.org/pipermail/tz/2015-February/022024.html" - fi -} - -configure_tz_data() { - # make sure the /etc/localtime file does not get stale #127899 - local tz src="${EROOT}/etc/timezone" etc_lt="${EROOT}/etc/localtime" - - # If it's a symlink, assume the user knows what they're doing and - # they're managing it themselves. #511474 - if [[ -L "${etc_lt}" ]] ; then - einfo "Assuming your ${etc_lt} symlink is what you want; skipping update." - return 0 - fi - - if ! tz=$(get_TIMEZONE) ; then - einfo "Assuming your empty ${etc_lt} file is what you want; skipping update." - return 0 - fi - if [[ "${tz}" == "FOOKABLOIE" ]] ; then - elog "You do not have TIMEZONE set in ${src}." - - if [[ ! -e "${etc_lt}" ]] ; then - cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}" - elog "Setting ${etc_lt} to Factory." - else - elog "Skipping auto-update of ${etc_lt}." - fi - return 0 - fi - - if [[ ! -e "${EROOT}/usr/share/zoneinfo/${tz}" ]] ; then - elog "You have an invalid TIMEZONE setting in ${src}" - elog "Your ${etc_lt} has been reset to Factory; enjoy!" - tz="Factory" - fi - einfo "Updating ${etc_lt} with ${EROOT}/usr/share/zoneinfo/${tz}" - cp -f "${EROOT}/usr/share/zoneinfo/${tz}" "${etc_lt}" -} - -pkg_config() { - configure_tz_data -} - -pkg_postinst() { - configure_tz_data -} diff --git a/sys-libs/timezone-data/timezone-data-2019c.ebuild b/sys-libs/timezone-data/timezone-data-2021a-r1.ebuild similarity index 82% rename from sys-libs/timezone-data/timezone-data-2019c.ebuild rename to sys-libs/timezone-data/timezone-data-2021a-r1.ebuild index 736b9888a13..2d30e145a42 100644 --- a/sys-libs/timezone-data/timezone-data-2019c.ebuild +++ b/sys-libs/timezone-data/timezone-data-2021a-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -14,14 +14,17 @@ 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 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" -IUSE="nls leaps-timezone" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="nls leaps-timezone zic-slim" DEPEND="nls? ( virtual/libintl )" RDEPEND="${DEPEND} !sys-libs/glibc[vanilla(+)]" -S=${WORKDIR} +src_unpack() { + mkdir -p "${S}" && cd "${S}" || die + default +} src_prepare() { default @@ -43,6 +46,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 @@ -57,7 +65,6 @@ src_configure() { _emake() { emake \ REDO=$(usex leaps-timezone posix_right posix_only) \ - TZDATA_TEXT= \ TOPDIR="${EPREFIX}" \ ZICDIR='$(TOPDIR)/usr/bin' \ "$@"