# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit eutils webapp DESCRIPTION="Converts GNU .info files to HTML" HOMEPAGE="http://info2html.sourceforge.net/" SRC_URI="mirror://sourceforge/info2html/${P}.tar" LICENSE="freedist" # webapp.eclass deals with SLOTting #SLOT="0" IUSE="" KEYWORDS="~alpha ~amd64 ~hppa ~sparc ~x86" RDEPEND="dev-lang/perl" PATCHES=( # filter user-provided data to prevent cross-frame/site scripting attacks # bug #91354 (fix from Werner Fink) "${FILESDIR}"/info2html-2.0-xss.patch ) src_prepare() { default # Fixup INFODIR for paths in /etc/profile.env INFOPATH infos=$(grep "^export INFOPATH=" /etc/profile.env | tail -n 1 |\ sed -e "s:^export INFOPATH=:INFOPATH=:;s:'::g") # Default path to /usr/share/info and /usr/local/share/info [[ -z ${infos} ]] && export infos="/usr/share/info" infos=( ${INFOPATH//:/ } ) mv "${S}"/info2html.conf "${S}"/info2html.conf.orig touch "${S}"/info2html.conf state="copy" inserted="no" while read line; do [[ ${line} == "@INFODIR = (" ]] && state="insert" [[ ${line} == ");" ]] && state="copy" case ${state} in "copy") echo ${line} >> ${S}/info2html.conf ;; "insert") echo ${line} >> ${S}/info2html.conf for info in "${infos[@]}"; do echo " '${info}'," >> ${S}/info2html.conf done echo " '/usr/local/share/info'" >> ${S}/info2html.conf state="skip" inserted="yes" ;; "skip") ;; esac done < "${S}"/info2html.conf.orig [[ ${state} == "copy" && ${inserted} == "yes" ]] || die "Setting up info2html.conf failed" } src_install() { webapp_src_preinst exeinto ${MY_CGIBINDIR} cp info2html infocat info2html.css info2html.conf "${D}"/${MY_CGIBINDIR} # README zapped by info2html-gentoo.patch; it only listed # the homepage so it doesn't add anything useful. # dodoc README webapp_src_install }