summaryrefslogtreecommitdiff
path: root/sys-libs/timezone-data
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-11 11:44:03 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-11 11:44:03 +0000
commitdf26c7469c1f2af2e643d43e2e32a6c9142e4885 (patch)
tree1beee9b11d06bfcc69d1d6c8ab00566f8633aec1 /sys-libs/timezone-data
parentad391b961414c99124b93cb86695c04bd8d57937 (diff)
gentoo auto-resync : 11:01:2023 - 11:44:03
Diffstat (limited to 'sys-libs/timezone-data')
-rw-r--r--sys-libs/timezone-data/Manifest5
-rw-r--r--sys-libs/timezone-data/files/timezone-data-2022f-musl.patch181
-rw-r--r--sys-libs/timezone-data/timezone-data-2022f-r1.ebuild201
-rw-r--r--sys-libs/timezone-data/timezone-data-2022f.ebuild197
4 files changed, 0 insertions, 584 deletions
diff --git a/sys-libs/timezone-data/Manifest b/sys-libs/timezone-data/Manifest
index cddfc97c8d52..b7193f533d64 100644
--- a/sys-libs/timezone-data/Manifest
+++ b/sys-libs/timezone-data/Manifest
@@ -1,10 +1,5 @@
-AUX timezone-data-2022f-musl.patch 6278 BLAKE2B 3d05353a3c93766e36c2e54be39ecbd44e499b9455ae896182f39de8cdbb9e96714631b38705f9845ef00cabc38fdeaeffec0b6fd7815d422749027f7076387a SHA512 9c861038af92866627071cef20745fe0dc169046cbb04922838c194ca5e4f3a4cd151b7628838d927318a23d88a21127988a5a71b14cc81c1f515bd3d61751bf
AUX timezone-data-2022g-c23.patch 8221 BLAKE2B cb410a463fc411b1dd4d322e07a7e26067d088eeb405c8d198a0062b81ebb55413d8bd2623b8982c0e2510deb367865d288b778bb3c192c8cc6ac14815503ed1 SHA512 9ba487e1b87e3c9214bfc0c491a96d56ab0193145efb951e7d7e13f1466f0f4be0d60b74fc10862fd1e97436a08fa5830b5a3919726cf3b06224037e6fcdf71a
-DIST tzcode2022f.tar.gz 284816 BLAKE2B 3bfcc25323edbdd41aadcbb5c8b0d9179a809a87b22afc9dda88a53c6daab742778956af7aa30722429d34601fb2ad3c4222c48497e0a429926cd05b79b9acfb SHA512 3e2ef91b972f1872e3e8da9eae9d1c4638bfdb32600f164484edd7147be45a116db80443cd5ae61b5c34f8b841e4362f4beefd957633f6cc9b7def543ed6752b
DIST tzcode2022g.tar.gz 287901 BLAKE2B b67bb2020913c57cc6bc68d231c53ba645b95305256065e2645bce3b0d71adfaea865ed9bf40f1ec3b4a73aad7e6c48f5ecd0895de6e2d69bed6113d6b579e26 SHA512 5188edd8d05238a88da734cf78fadfb57640d4db3e7a0a9dddd70e3071e16b6eebc2e2ab17109b7dafafae68abfbc857df481cfdc3ffe63f7eb1569ea0b5997a
-DIST tzdata2022f.tar.gz 436352 BLAKE2B 8081972005ac84034957bb85013b373df67937c3f811e33c44fad7ecee0f504b946766fdb1f525d0512b9a8d8e727ee3d8d44640ff55bed3fcd1f3fb3c464c17 SHA512 72d05d05be999075cdf57b896c0f4238b1b862d4d0ed92cc611736592a4ada14d47bd7f0fc8be39e7938a7f5940a903c8af41e87859482bcfab787d889d429f6
DIST tzdata2022g.tar.gz 439731 BLAKE2B 582b79cc2317d27f3883042cbca25801397d9e2808ad8d3a340017d635372ef20316ce646a25a43b0ea5d4024841b54925ecc4510613295c39c28647989645cb SHA512 7f79394295e00e3a24ebdbf9af3bc454a65f432a93b517e7e96c7f9db9949f6f5fdae9892a9d3789ff44ae0eb1bfe4744d36976b4624659af951d26414f94e65
-EBUILD timezone-data-2022f-r1.ebuild 5404 BLAKE2B 79f29b58dd33dc80b5a9307f39c4cb8797d37b5e4281e5bd6b0f566744932f06f196ecbaa1349f63eb5bc965a8363a4807ac07e263b034b0d3a8c11838c6b978 SHA512 e3da2dffffbec3cb0bc6e0a866ea274a7a247285d8a269941bad131cc46ee157ce545c5bf76343b681317e6ab85ebf32ca5dbdf904787ad270a3daefbc14ba67
-EBUILD timezone-data-2022f.ebuild 5360 BLAKE2B b5de4f3fa1dd5597588b77417beb804b93993d541e518257c67e48c82891dad4a9fe23b991d817267ffd2ae61680818e2d8879ef3d0e5c799a35e36b663302a0 SHA512 c0053d962645131ebebe8d8053c2f7f1a80bbb3842a18e60b3ef8a563a377e0d5a4153335d6135f969207c90ab85ef17e122f209b27cab27769ed29e2a5265bf
EBUILD timezone-data-2022g.ebuild 5403 BLAKE2B 862aec93a7deeb88a370cb8799fcc2d4ffd81d6efa3d728f53bfe0145bc4494e6a90508fe4af07ee8b8046ecdd53ad8931e7d82e804c2ce9e64d2d4052332456 SHA512 ecd20530fe1e0058d71a9a50c89c4d19b5d2c6685561def8a5e8a32121514a39966c6156fe0dc8dc7123b3c991a1fbb7ae8079fd6eb838ff14752ae554e88657
MISC metadata.xml 807 BLAKE2B 24b09c4228c232b607e6e6c165a20e364136d77aa970e72c70124636a038cd3b672bad16ddd68c0b75373be6a09f969e59bc38f7e451bb2869cd46c521e2ca82 SHA512 0b95b32d79651493a04032f175f3320d8975cea714b43fa56aa528f10f51a7c52b58a934828f98a770855485af6f8db048bd2bfa3010802cff8c26ae05bb16e2
diff --git a/sys-libs/timezone-data/files/timezone-data-2022f-musl.patch b/sys-libs/timezone-data/files/timezone-data-2022f-musl.patch
deleted file mode 100644
index 3bbb1ea2a772..000000000000
--- a/sys-libs/timezone-data/files/timezone-data-2022f-musl.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-https://github.com/eggert/tz/commit/a91830b783db3bb481930c67914d3c16b821f717
-https://github.com/eggert/tz/commit/dbe87fe421f76a3d1ac31082868ce60dfcbdefc4
-https://github.com/eggert/tz/commit/b037132599996358fe4774912b7405db0f5b0ee1
-https://github.com/eggert/tz/commit/317cc2c05a0acd02597e9db2b97af078630c1dde
-https://github.com/eggert/tz/commit/f4808ee8fa61b0df82337e8f0fa02ca3db598cb8
-
-From a91830b783db3bb481930c67914d3c16b821f717 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 28 Oct 2022 22:55:10 -0700
-Subject: [PATCH] Fix tzalloc bug on platforms lacking tm_zone
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Đoàn Trần Công Danh in:
-https://mm.icann.org/pipermail/tz/2022-October/032153.html
-* zdump.c (tzalloc) [!USE_LOCALTIME_RZ && HAVE_SETENV]:
-Return a nonnull pointer.
---- a/zdump.c
-+++ b/zdump.c
-@@ -234,7 +234,7 @@ tzalloc(char const *val)
- exit(EXIT_FAILURE);
- }
- tzset();
-- return NULL;
-+ return &progname; /* Any valid non-null char ** will do. */
- # else
- enum { TZeqlen = 3 };
- static char const TZeq[TZeqlen] = "TZ=";
-
-From dbe87fe421f76a3d1ac31082868ce60dfcbdefc4 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 28 Oct 2022 23:22:26 -0700
-Subject: [PATCH] Port struct tm guessing to musl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Prompted by report from Đoàn Trần Công Danh in:
-https://mm.icann.org/pipermail/tz/2022-October/032153.html
-* private.h (TM_GMTOFF, TM_ZONE): By default, assume they
-work on musl, which #defines __tm_zone.
---- a/private.h
-+++ b/private.h
-@@ -613,6 +613,7 @@ time_t posix2time(time_t);
- /* Infer TM_ZONE on systems where this information is known, but suppress
- guessing if NO_TM_ZONE is defined. Similarly for TM_GMTOFF. */
- #if (defined __GLIBC__ \
-+ || defined __tm_zone /* musl */ \
- || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ \
- || (defined __APPLE__ && defined __MACH__))
- # if !defined TM_GMTOFF && !defined NO_TM_GMTOFF
-
-From b037132599996358fe4774912b7405db0f5b0ee1 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 28 Oct 2022 23:52:59 -0700
-Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20assume=20nonempty=20argv?=
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Don’t dump core if argv[0] is NULL, which is allowed on
-GNU/Linux if the invoker is sufficiently perverse.
-* zdump.c (progname): Now char const *, so that it can be given
-the address of a string constant.
-(tzalloc): Use optarg, not progname, since progname’s type is no
-longer correct.
-* zdump.c, zic.c (main): Initialize progname to non-null.
---- a/zdump.c
-+++ b/zdump.c
-@@ -84,7 +84,7 @@ static time_t const absolute_max_time =
- ? (((time_t) 1 << atime_shift) - 1 + ((time_t) 1 << atime_shift))
- : -1);
- static int longest;
--static char * progname;
-+static char const *progname;
- static bool warned;
- static bool errout;
-
-@@ -234,7 +234,7 @@ tzalloc(char const *val)
- exit(EXIT_FAILURE);
- }
- tzset();
-- return &progname; /* Any valid non-null char ** will do. */
-+ return &optarg; /* Any valid non-null char ** will do. */
- # else
- enum { TZeqlen = 3 };
- static char const TZeq[TZeqlen] = "TZ=";
-@@ -463,7 +463,7 @@ main(int argc, char *argv[])
- # endif /* defined TEXTDOMAINDIR */
- textdomain(TZ_DOMAIN);
- #endif /* HAVE_GETTEXT */
-- progname = argv[0];
-+ progname = argv[0] ? argv[0] : "zdump";
- for (i = 1; i < argc; ++i)
- if (strcmp(argv[i], "--version") == 0) {
- printf("zdump %s%s\n", PKGVERSION, TZVERSION);
---- a/zic.c
-+++ b/zic.c
-@@ -943,7 +943,7 @@ main(int argc, char **argv)
- textdomain(TZ_DOMAIN);
- #endif /* HAVE_GETTEXT */
- main_argv = argv;
-- progname = argv[0];
-+ progname = argv[0] ? argv[0] : "zic";
- if (TYPE_BIT(zic_t) < 64) {
- fprintf(stderr, "%s: %s\n", progname,
- _("wild compilation-time specification of zic_t"));
-
-From 317cc2c05a0acd02597e9db2b97af078630c1dde Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 31 Oct 2022 12:41:48 -0700
-Subject: [PATCH] Port better to old Linux kernels
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Problem reported by Igor Ivanov in:
-https://mm.icann.org/pipermail/tz/2022-October/032192.html
-* zic.c (get_rand_u64): Don’t use clock_gettime; it’s too much of
-a configuration hassle.
----
- zic.c | 15 +++------------
- 2 files changed, 5 insertions(+), 15 deletions(-)
-
-diff --git a/zic.c b/zic.c
-index a85f2a4c..14393a3d 100644
---- a/zic.c
-+++ b/zic.c
-@@ -1210,21 +1210,12 @@ get_rand_u64(void)
- #endif
-
- /* getrandom didn't work, so fall back on portable code that is
-- not the best because the seed doesn't necessarily have enough bits,
-- the seed isn't cryptographically random on platforms lacking
-- getrandom, and 'rand' might not be cryptographically secure. */
-+ not the best because the seed isn't cryptographically random and
-+ 'rand' might not be cryptographically secure. */
- {
- static bool initialized;
- if (!initialized) {
-- unsigned seed;
--#ifdef CLOCK_REALTIME
-- struct timespec now;
-- clock_gettime (CLOCK_REALTIME, &now);
-- seed = now.tv_sec ^ now.tv_nsec;
--#else
-- seed = time(NULL);
--#endif
-- srand(seed);
-+ srand(time(NULL));
- initialized = true;
- }
- }
-
-
-From f4808ee8fa61b0df82337e8f0fa02ca3db598cb8 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 4 Nov 2022 19:57:00 -0700
-Subject: [PATCH] Fix unlikely conversion bug in zic
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* zic.c (puttzcode): Arg is zic_t, not int_fast32_t. This fixes a
-portability bug on platforms where int_fast32_t is a 32-bit ones’
-complement or signed-magnitude integer, and where the argument is
--2**31 before conversion to int_fast32_t. Although I don’t know
-of any such platforms, the C standard allows them.
---- a/zic.c
-+++ b/zic.c
-@@ -2216,7 +2216,7 @@ convert64(uint_fast64_t val, char *buf)
- }
-
- static void
--puttzcode(const int_fast32_t val, FILE *const fp)
-+puttzcode(zic_t val, FILE *fp)
- {
- char buf[4];
-
-
diff --git a/sys-libs/timezone-data/timezone-data-2022f-r1.ebuild b/sys-libs/timezone-data/timezone-data-2022f-r1.ebuild
deleted file mode 100644
index 9c512ba4f1cb..000000000000
--- a/sys-libs/timezone-data/timezone-data-2022f-r1.ebuild
+++ /dev/null
@@ -1,201 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs flag-o-matic
-
-MY_CODE_VER=${PV}
-MY_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${MY_DATA_VER}.tar.gz
- https://www.iana.org/time-zones/repository/releases/tzcode${MY_CODE_VER}.tar.gz"
-
-LICENSE="BSD public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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(+)]
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-musl.patch
-)
-
-src_unpack() {
- mkdir "${S}" && cd "${S}" || die
- default
-}
-
-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"
-
- if tc-is-cross-compiler ; then
- cp -pR "${S}" "${S}"-native || die
- fi
-}
-
-src_configure() {
- tc-export CC
-
- # bug #471102
- append-lfs-flags
-
- if use elibc_Darwin ; then
- # bug #138251
- append-cppflags -DSTD_INSPIRED
- 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. bug #154181, bug #578424
- local c="${T}/test"
- echo 'main(){}' > "${c}.c" || die
- 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) \
- 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
-}
-
-configure_tz_data() {
- # Make sure the /etc/localtime file does not get stale, bug #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, bug #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 ${src} file is what you want; skipping update."
- return 0
- fi
-
- if [[ "${tz}" == "FOOKABLOIE" ]] ; then
- einfo "You do not have a timezone set in ${src}; skipping update."
- return 0
- fi
-
- local tzpath="${EROOT}/usr/share/zoneinfo/${tz}"
-
- if [[ ! -e ${tzpath} ]]; then
- ewarn "The timezone specified in ${src} is not valid!"
- return 1
- fi
-
- if [[ -f ${etc_lt} ]]; then
- # If a regular file already exists, copy over it.
- ewarn "Found a regular file at ${etc_lt}."
- ewarn "Some software may expect a symlink instead."
- ewarn "You may convert it to a symlink by removing the file and running:"
- ewarn " emerge --config sys-libs/timezone-data"
- einfo "Copying ${tzpath} to ${etc_lt}."
- cp -f "${tzpath}" "${etc_lt}"
- else
- # Otherwise, create a symlink and remove the timezone file.
- tzpath="../usr/share/zoneinfo/${tz}"
- einfo "Linking ${tzpath} at ${etc_lt}."
- if ln -snf "${tzpath}" "${etc_lt}"; then
- einfo "Removing ${src}."
- rm -f "${src}"
- fi
- fi
-}
-
-pkg_config() {
- configure_tz_data
-}
-
-pkg_postinst() {
- configure_tz_data
-}
diff --git a/sys-libs/timezone-data/timezone-data-2022f.ebuild b/sys-libs/timezone-data/timezone-data-2022f.ebuild
deleted file mode 100644
index 6d369322df92..000000000000
--- a/sys-libs/timezone-data/timezone-data-2022f.ebuild
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs flag-o-matic
-
-MY_CODE_VER=${PV}
-MY_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${MY_DATA_VER}.tar.gz
- https://www.iana.org/time-zones/repository/releases/tzcode${MY_CODE_VER}.tar.gz"
-
-LICENSE="BSD public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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(+)]
-"
-
-src_unpack() {
- mkdir "${S}" && cd "${S}" || die
- default
-}
-
-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"
-
- if tc-is-cross-compiler ; then
- cp -pR "${S}" "${S}"-native || die
- fi
-}
-
-src_configure() {
- tc-export CC
-
- # bug #471102
- append-lfs-flags
-
- if use elibc_Darwin ; then
- # bug #138251
- append-cppflags -DSTD_INSPIRED
- 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. bug #154181, bug #578424
- local c="${T}/test"
- echo 'main(){}' > "${c}.c" || die
- 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) \
- 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
-}
-
-configure_tz_data() {
- # Make sure the /etc/localtime file does not get stale, bug #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, bug #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 ${src} file is what you want; skipping update."
- return 0
- fi
-
- if [[ "${tz}" == "FOOKABLOIE" ]] ; then
- einfo "You do not have a timezone set in ${src}; skipping update."
- return 0
- fi
-
- local tzpath="${EROOT}/usr/share/zoneinfo/${tz}"
-
- if [[ ! -e ${tzpath} ]]; then
- ewarn "The timezone specified in ${src} is not valid!"
- return 1
- fi
-
- if [[ -f ${etc_lt} ]]; then
- # If a regular file already exists, copy over it.
- ewarn "Found a regular file at ${etc_lt}."
- ewarn "Some software may expect a symlink instead."
- ewarn "You may convert it to a symlink by removing the file and running:"
- ewarn " emerge --config sys-libs/timezone-data"
- einfo "Copying ${tzpath} to ${etc_lt}."
- cp -f "${tzpath}" "${etc_lt}"
- else
- # Otherwise, create a symlink and remove the timezone file.
- tzpath="../usr/share/zoneinfo/${tz}"
- einfo "Linking ${tzpath} at ${etc_lt}."
- if ln -snf "${tzpath}" "${etc_lt}"; then
- einfo "Removing ${src}."
- rm -f "${src}"
- fi
- fi
-}
-
-pkg_config() {
- configure_tz_data
-}
-
-pkg_postinst() {
- configure_tz_data
-}