# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-apps/man/man-1.6g-r1.ebuild,v 1.1 2015/05/08 03:22:04 vapier Exp $ EAPI="4" inherit eutils toolchain-funcs user flag-o-matic prefix 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="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="+lzma nls selinux" DEPEND="nls? ( sys-devel/gettext )" RDEPEND="|| ( >=sys-apps/groff-1.19.2-r1 app-doc/heirloom-doctools ) !sys-apps/man-db ! epatch "${FILESDIR}"/man-1.6g-bsdish.patch # Solaris needs fcntl.h included for O_CREAT etc, like SYSV epatch "${FILESDIR}"/man-1.6e-solaris.patch # Results in grabbing as much tools from the prefix, instead of main # system in a prefixed environment epatch "${FILESDIR}"/man-1.6g-prefix-path.patch # Fix the makewhatis script for prefix. cp "${FILESDIR}"/makewhatis.cron "${T}"/ pushd "${T}" > /dev/null epatch "${FILESDIR}"/makewhatis.cron-prefix.patch popd > /dev/null eprefixify "${T}"/makewhatis.cron # fix man.conf file, bug #351245 sed -i \ -e "/^MANPATH\t/s:\t/:\t${EPREFIX}/:" \ -e "/^MANPATH_MAP\t/s:\t/:\t${EPREFIX}/:g" \ src/man.conf.in || die if use prefix ; then ebegin "Allowing unpriviliged install" sed -i \ -e 's/@man_install_flags@//g' \ "${S}"/src/Makefile.in eend $? ( local d cat=() dflt dflt=( $(sed -n '/^tmpsections=/s/^[^"]\+"\([^"]\+\)".*$/\1/p' \ configure) ) IFS=: for d in /usr/share/man/man* ; do [[ -d ${d} ]] || continue [[ ":${dflt[*]}:" == *":${d##*man}:"* ]] \ || cat+=( ${d##*man} ) done if [[ ${#cat[@]} -gt 0 ]] ; then einfo "Adding host manpage sections: ${cat[*]}" sed -i -e "/^MANSECT\t/s/\$/:${cat[*]}/" src/man.conf.in || die fi ) fi } echoit() { echo "$@" ; "$@" ; } src_configure() { strip-linguas $(eval $(grep ^LANGUAGES= configure) ; echo ${LANGUAGES//,/ }) unset NLSPATH #175258 tc-export CC BUILD_CC local mylang= if use nls ; then if [[ -z ${LINGUAS} ]] ; then mylang="all" else mylang="${LINGUAS// /,}" fi else mylang="none" fi local myconf= use prefix || myconf="${myconf} +sgid" export COMPRESS if use lzma ; then COMPRESS="${EPREFIX}"/usr/bin/xz else COMPRESS="${EPREFIX}"/bin/bzip2 fi echoit \ ./configure \ -prefix="${EPREFIX}/usr" \ -confdir="${EPREFIX}"/etc \ ${myconf} \ +fhs \ +lang ${mylang} \ || die "configure failed" } src_install() { unset NLSPATH #175258 emake DESTDIR="${D}" install || die "make install failed" dosym man /usr/bin/manpath dodoc LSM README* TODO # Make all Solaris man-pages available if [[ ${CHOST} == *-solaris* && -e /usr/share/man/man.cf ]] ; then source /usr/share/man/man.cf sed -i -e 's/^\(MANSECT.*\)$/\1:'"${MANSECTS//,/:}"'/' \ "${ED}"/etc/man.conf || die "failed to adapt to Solaris" fi # makewhatis only adds man-pages from the last 24hrs exeinto /etc/cron.daily newexe "${T}"/makewhatis.cron makewhatis keepdir /var/cache/man use prefix || diropts -m0775 -g man && diropts -m0775 local mansects=$(grep ^MANSECT "${ED}"/etc/man.conf | cut -f2-) for x in ${mansects//:/ } ; do keepdir /var/cache/man/cat${x} done } pkg_postinst() { if use !prefix ; then einfo "Forcing sane permissions onto ${EROOT}var/cache/man (Bug #40322)" chown -R root:man "${EROOT}"/var/cache/man [[ -e ${EROOT}/var/cache/man/whatis ]] \ && chown root:0 "${EROOT}"/var/cache/man/whatis fi # end lame indenting chmod -R g+w "${EROOT}"/var/cache/man echo local f files=$(ls "${EROOT}"/etc/cron.{daily,weekly}/makewhatis{,.cron} 2>/dev/null) for f in ${files} ; do [[ ${f} == */etc/cron.daily/makewhatis ]] && continue [[ $(md5sum "${f}") == "8b2016cc778ed4e2570b912c0f420266 "* ]] \ && rm -f "${f}" done files=$(ls "${EROOT}"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:" ewarn ${files} fi if has_version app-doc/heirloom-doctools; then ewarn "Please note that the /etc/man.conf file installed will not" ewarn "work with heirloom's nroff by default (yet)." ewarn "" ewarn "Check app-doc/heirloom-doctools elog messages for the proper" ewarn "configuration." fi }