Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

sys-libs/timezone-data: bump to 2019c to fix timezone issue in Brazil for edge #118

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 4 additions & 2 deletions sys-libs/timezone-data/Manifest
@@ -1,2 +1,4 @@
DIST tzcode2018i.tar.gz 242962 BLAKE2B 682a23c324b6d8e1a0d63c6140c82ca3a24017c0972e7f915ecad5e0838f8f57743ffa2c5d9cc9744739a0e7d791ddb21947618cd11635767800ac99307c9548 SHA512 1a3d53043f20b8252f7598f547d78e7294d9e0cf1fcdd2159354d9769f824c8c8a03cef9cbb7fa579345fdb41372335117d2ef782ecd9c107dd0526e59492d9d
DIST tzdata2018i.tar.gz 377009 BLAKE2B fa28fdac145756368d4760c418742efd558e63fd9900fc4649971b683b162df5e566c6214a79ec46b48fc65af488a7e0e95ddb6176a4f9adb5b39bc634426143 SHA512 6afcacb377842190648ed26f01abcf3db37aa2e7c63d8c509c29b4bc0078b7ff2d4e5375291b9f53498215b9e2f04936bc6145e2f651ae0be6d8166d8d336f6a
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
2 changes: 1 addition & 1 deletion sys-libs/timezone-data/metadata.xml
Expand Up @@ -10,7 +10,7 @@
<name>Gentoo Toolchain Project</name>
</maintainer>
<use>
<flag name="leaps_timezone">
<flag name="leaps-timezone">
Install the set of "right" timezones; these timezones include leap seconds
when counting seconds since the epoch (while POSIX does not) as they are
based on the TAI (International Atomic Time) clock
Expand Down
178 changes: 178 additions & 0 deletions sys-libs/timezone-data/timezone-data-2019b-r2.ebuild
@@ -0,0 +1,178 @@
# 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 elibc_FreeBSD"

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_FreeBSD || 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
}
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="6"
EAPI="7"

inherit toolchain-funcs flag-o-matic

Expand All @@ -14,8 +14,8 @@ 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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
IUSE="nls leaps_timezone elibc_FreeBSD"
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 elibc_FreeBSD"

DEPEND="nls? ( virtual/libintl )"
RDEPEND="${DEPEND}
Expand Down Expand Up @@ -56,7 +56,7 @@ src_configure() {

_emake() {
emake \
REDO=$(usex leaps_timezone posix_right posix_only) \
REDO=$(usex leaps-timezone posix_right posix_only) \
TZDATA_TEXT= \
TOPDIR="${EPREFIX}" \
ZICDIR='$(TOPDIR)/usr/bin' \
Expand Down Expand Up @@ -85,7 +85,7 @@ src_compile() {

src_test() {
# VALIDATE_ENV is used for extended/web based tests. Punt on them.
emake -j1 check VALIDATE_ENV=true
emake check VALIDATE_ENV=true
}

src_install() {
Expand Down