summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-04-11 21:46:02 -0400
committerMike Frysinger <vapier@gentoo.org>2016-04-11 21:46:12 -0400
commit2b655fbf6745c4ac8e5219a8ac2289ab9ad6c09f (patch)
tree50155b1fbe3ca32fcb1ab3f239c53022bc07db3a /sys-libs
parentsci-astronomy/wcslib: Version bump (diff)
downloadgentoo-2b655fbf6745c4ac8e5219a8ac2289ab9ad6c09f.tar.gz
gentoo-2b655fbf6745c4ac8e5219a8ac2289ab9ad6c09f.tar.bz2
gentoo-2b655fbf6745c4ac8e5219a8ac2289ab9ad6c09f.zip
sys-libs/timezone-data: rework libintl detection #578424
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/timezone-data/files/timezone-data-2016c-makefile.patch81
-rw-r--r--sys-libs/timezone-data/timezone-data-2016c.ebuild37
2 files changed, 106 insertions, 12 deletions
diff --git a/sys-libs/timezone-data/files/timezone-data-2016c-makefile.patch b/sys-libs/timezone-data/files/timezone-data-2016c-makefile.patch
new file mode 100644
index 000000000000..b099e0504bc7
--- /dev/null
+++ b/sys-libs/timezone-data/files/timezone-data-2016c-makefile.patch
@@ -0,0 +1,81 @@
+ - Fix up default paths
+ - Support env CC
+ - Don't build/install libtz.a
+ - Don't install man-pages provided by sys-apps/man-pages
+ - Move tzselect, zic, and zdump to bin
+ - Do not run network based unittests
+
+--- a/Makefile
++++ b/Makefile
+@@ -45,21 +45,21 @@ POSIXRULES= America/New_York
+
+ # Everything gets put in subdirectories of. . .
+
+-TOPDIR= /usr/local
++TOPDIR= /usr
+
+ # "Compiled" time zone information is placed in the "TZDIR" directory
+ # (and subdirectories).
+ # Use an absolute path name for TZDIR unless you're just testing the software.
+
+ TZDIR_BASENAME= zoneinfo
+-TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME)
++TZDIR= $(TOPDIR)/share/$(TZDIR_BASENAME)
+
+ # Types to try, as an alternative to time_t. int64_t should be first.
+ TIME_T_ALTERNATIVES= int64_t int32_t uint32_t uint64_t
+
+ # The "tzselect", "zic", and "zdump" commands get installed in. . .
+
+-ETCDIR= $(TOPDIR)/etc
++SBINDIR= $(TOPDIR)/sbin
+
+ # If you "make INSTALL", the "date" command gets installed in. . .
+
+@@ -67,7 +67,7 @@ BINDIR= $(TOPDIR)/bin
+
+ # Manual pages go in subdirectories of. . .
+
+-MANDIR= $(TOPDIR)/man
++MANDIR= $(TOPDIR)/share/man
+
+ # Library functions are put in an archive in LIBDIR.
+
+@@ -298,8 +298,7 @@ GZIPFLAGS= -9n
+
+ #MAKE= make
+
+-cc= cc
+-CC= $(cc) -DTZDIR=\"$(TZDIR)\"
++CPPFLAGS+= -DTZDIR=\"$(TZDIR)\"
+
+ AR= ar
+
+@@ -352,16 +354,12 @@ ALL: all date
+ install: all $(DATA) $(REDO) $(MANS)
+ mkdir -p $(DESTDIR)$(ETCDIR) $(DESTDIR)$(TZDIR) \
+- $(DESTDIR)$(LIBDIR) \
++ $(DESTDIR)$(BINDIR) \
+ $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
+ $(DESTDIR)$(MANDIR)/man8
+ $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES)
+ cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/.
+- cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
++ cp tzselect zic zdump $(DESTDIR)$(BINDIR)/.
+- cp libtz.a $(DESTDIR)$(LIBDIR)/.
+- $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a
+ cp -f newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/.
+- cp -f tzfile.5 $(DESTDIR)$(MANDIR)/man5/.
+- cp -f tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/.
+
+ INSTALL: ALL install date.1
+ mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
+@@ -440,7 +438,7 @@ tzselect: tzselect.ksh
+ chmod +x $@
+
+ check: check_character_set check_white_space check_links check_sorted \
+- check_tables check_web
++ check_tables
+
+ check_character_set: $(ENCHILADA)
+ LC_ALL=en_US.utf8 && export LC_ALL && \
diff --git a/sys-libs/timezone-data/timezone-data-2016c.ebuild b/sys-libs/timezone-data/timezone-data-2016c.ebuild
index 822ec694ddee..70d4f5c49b25 100644
--- a/sys-libs/timezone-data/timezone-data-2016c.ebuild
+++ b/sys-libs/timezone-data/timezone-data-2016c.ebuild
@@ -16,9 +16,11 @@ SRC_URI="http://www.iana.org/time-zones/repository/releases/tzdata${data_ver}.ta
LICENSE="BSD public-domain"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="nls leaps_timezone elibc_FreeBSD elibc_glibc"
+IUSE="nls leaps_timezone elibc_FreeBSD"
-RDEPEND="!sys-libs/glibc[vanilla(+)]"
+DEPEND="nls? ( virtual/libintl )"
+RDEPEND="${DEPEND}
+ !sys-libs/glibc[vanilla(+)]"
S=${WORKDIR}
@@ -27,6 +29,27 @@ src_prepare() {
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 \
TOPDIR="${EPREFIX}/usr" \
@@ -35,16 +58,6 @@ _emake() {
}
src_compile() {
- local LDLIBS
- tc-export CC
- append-lfs-flags #471102
- if use elibc_FreeBSD || use elibc_Darwin ; then
- append-cppflags -DSTD_INSPIRED #138251
- fi
- export NLS=$(usex nls 1 0)
- if use nls && ! use elibc_glibc ; then
- LDLIBS+=" -lintl" #154181
- fi
# TOPDIR is used in some utils when compiling.
_emake \
AR="$(tc-getAR)" \