# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-apps/man/man-1.6-r1.ebuild,v 1.2 2005/08/11 04:09:38 vapier Exp $ inherit eutils flag-o-matic toolchain-funcs DESCRIPTION="Standard commands to read man pages" HOMEPAGE="http://primates.ximian.com/~flucifredi/man/" SRC_URI="http://primates.ximian.com/~flucifredi/man/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" IUSE="nls unicode" DEPEND="" RDEPEND="sys-process/cronbase >=sys-apps/groff-1.18 nls? ( sys-devel/gettext )" src_unpack() { unpack ${A} cd "${S}" # Make sure we can build with -j :) epatch "${FILESDIR}"/man-1.6-parallel-make.patch # We love to cross-compile epatch "${FILESDIR}"/man-1.6-cross-compile.patch # Fix message order in en lang file which triggers segv's for # non-english users #97541 epatch "${FILESDIR}"/man-1.6-message-order.patch # Fix search order in man.conf so that system installed manpages # will be found first ... epatch "${FILESDIR}"/man-1.5p-search-order.patch # For groff-1.18 or later we need to call nroff with '-c' epatch "${FILESDIR}"/man-1.5m-groff-1.18.patch # makewhatis traverses manpages twice, as default manpath # contains two directories that are symlinked together epatch "${FILESDIR}"/man-1.5p-defmanpath-symlinks.patch # use non-lazy binds for man. And let portage handling stripping. append-ldflags -Wl,-z,now sed -i \ -e "/^LDFLAGS = -s/s:=.*:=${LDFLAGS}:" \ src/Makefile.in \ || die "failed to edit default LDLFAGS" # get list of languages supported by man SUP_LANGS=`./configure --help \ |grep 'where LANGUAGES' \ |sed -s s/where\ LANGUAGES\ is\ a\ substring\ of\ // \ |sed -s s/,/\ /g \ |sed -s s/sl./sl/` # select needed languages strip-linguas "${SUP_LANGS}" if use unicode; then echo "use unicode" cd msgs for mess in `ls mess.* | grep -v codeset`; do if [ -e ${mess}.codeset ]; then codeset=`sed s/\$\ codeset=//g ${mess}.codeset` echo "converted from $codeset to utf8" iconv -f $codeset -t utf8 $mess > ${mess}.utf8 mv $mess.utf8 $mess echo "$ codeset=utf8">${mess}.codeset fi done cd .. fi } src_compile() { tc-export CC BUILD_CC local myconf= if use nls ; then # strip-linguas $(cd man; echo ??) #this doing more correctly in src_unpack() if [[ -z ${LINGUAS} ]] ; then myconf="+lang all" else myconf="+lang ${LINGUAS// /,}" fi else myconf="+lang none" fi echo CONFIGURATION IS ${myconf} ./configure \ -confdir=/etc \ +sgid +fhs \ ${myconf} || die "configure failed" emake || die "emake failed" } src_install() { make PREFIX="${D}" install || die "make install failed" dosym man /usr/bin/manpath dodoc LSM README* TODO exeinto /etc/cron.weekly newexe "${FILESDIR}"/makewhatis.cron makewhatis keepdir /var/cache/man diropts -m0775 -g man local mansects=$(grep ^MANSECT "${D}"/etc/man.conf | cut -f2-) for x in ${mansects//:/ } ; do keepdir /var/cache/man/cat${x} done } pkg_postinst() { einfo "Forcing sane permissions onto ${ROOT}/var/cache/man (Bug #40322)" chown -R root:man "${ROOT}"/var/cache/man chmod -R g+w "${ROOT}"/var/cache/man [[ -e ${ROOT}/var/cache/man/whatis ]] \ && chown root:root "${ROOT}"/var/cache/man/whatis echo local files=$(ls "${ROOT}"/etc/cron.{daily,weekly}/makewhatis{,.cron} 2>/dev/null) if [[ ${files/$'\n'} != ${files} ]] ; then ewarn "You have multiple makewhatis cron files installed." ewarn "You might want to delete all but one of these:" echo ${files} fi }