commit:     2b655fbf6745c4ac8e5219a8ac2289ab9ad6c09f
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 12 01:46:02 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Tue Apr 12 01:46:12 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b655fbf

sys-libs/timezone-data: rework libintl detection #578424

 .../files/timezone-data-2016c-makefile.patch       | 81 ++++++++++++++++++++++
 sys-libs/timezone-data/timezone-data-2016c.ebuild  | 37 ++++++----
 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 0000000..b099e05
--- /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 822ec69..70d4f5c 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)" \

Reply via email to