# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=3 inherit eutils autotools DESCRIPTION="Gnulib is a library of common routines intended to be shared at the source level" HOMEPAGE="https://www.gnu.org/software/gnulib" # This tar.gz is created on-the-fly when downloaded from # http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=${GNULIB_COMMIT_GITID};sf=tgz # So to have persistent checksums, we need to download once and cache it. # # To get a new version, download a "snapshot" from # http://git.savannah.gnu.org/gitweb/?p=gnulib.git # take the commit-id as GNULIB_COMMIT_GITID # and the committer's timestamp (not the author's one), year to second, UTC # as the ebuild version. # # To see what the last commit message for the current version was, use # http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=${GNULIB_COMMIT_GITID} # GNULIB_COMMIT_GITID=8d2524ce78ca107074727cbd8780c26a203a107c SRC_URI="https://dev.gentoo.org/~drizzt/distfiles/${PN}-${GNULIB_COMMIT_GITID}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="~ppc-aix ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="doc" DEPEND="" RDEPEND="" S="${WORKDIR}"/${PN} MY_S="${WORKDIR}"/${P} src_prepare() { local requested_gnulib_modules case ${CHOST} in *-freebsd*) requested_gnulib_modules="mathl strndup" ;; *-solaris2.8|*-solaris2.9) # Don't remove dirfd! requested_gnulib_modules="alphasort dirfd getopt scandir setenv strcasestr stdint strndup xvasprintf" ;; *-solaris2.10|*-solaris2.11) requested_gnulib_modules="dirfd getopt strcasestr strndup xvasprintf" ;; *-aix*) requested_gnulib_modules="alphasort dirfd getopt scandir strcasestr strndup xvasprintf" ;; *-hpux*) requested_gnulib_modules="atoll dirfd getopt setenv strcasestr strndup xvasprintf" ;; *-interix*) requested_gnulib_modules="atoll getopt scandir setenv strcasestr strndup xvasprintf" ;; *-irix*) requested_gnulib_modules="getopt strcasestr strndup xvasprintf" ;; esac epatch "${FILESDIR}"/${PN}-2008.07.23-rpl_getopt.patch epatch "${FILESDIR}"/${P}-scandir.patch # Solaris 9 ksh makes gnulib-tool to coredump sed -i "1s:/bin/sh:${EPREFIX}/bin/sh:" gnulib-tool || die "sed failed" # Remove the broken pxref sed -i '$d' doc/ld-version-script.texi || die "cannot fix ld-version-script.texi" [[ -z "$requested_gnulib_modules" ]] && return "${S}"/gnulib-tool --create-testdir --dir="${MY_S}" \ ${requested_gnulib_modules} || die cd "${MY_S}" || die # define both libgnu.a and the headers as to-be-installed LANG=C \ sed -e ' s,noinst_HEADERS,include_HEADERS,; s,noinst_LIBRARIES,lib_LIBRARIES,; s,noinst_LTLIBRARIES,lib_LTLIBRARIES,; s,EXTRA_DIST =$,&\ EXTRA_HEADERS =,; s,BUILT_SOURCES += \([/a-zA-Z0-9_-][/a-zA-Z0-9_-]*\.h\|\$([_A-Z0-9][_A-Z0-9]*_H)\)$,&\ include_HEADERS += \1,; ' -i gllib/Makefile.am || die "cannot fix gllib/Makefile.am" eautoreconf } src_configure() { cd "${MY_S}" || return econf --prefix="${EPREFIX}"/usr/$(get_libdir)/${PN} } src_compile() { if use doc; then emake -C doc info html || die "emake failed" fi cd "${MY_S}" || return emake || die "cannot make ${P}" } src_install() { dodoc README ChangeLog if use doc; then dohtml doc/gnulib.html doinfo doc/gnulib.info fi insinto /usr/share/${PN} doins -r lib doins -r m4 doins -r modules doins -r build-aux doins -r top # install the real script exeinto /usr/share/${PN} doexe gnulib-tool # create and install the wrapper dosym /usr/share/${PN}/gnulib-tool /usr/bin/gnulib-tool cd "${MY_S}" || return emake install DESTDIR="${D}" || die "make install failed" }