| # Copyright 1999-2007 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| 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" |
| |
| src_unpack() { |
| local infos state line i |
| unpack ${A} |
| cd ${S} |
| |
| # filter user-provided data to prevent cross-frame/site scripting attacks |
| # bug #91354 (fix from Werner Fink) |
| epatch ${FILESDIR}/info2html-2.0-xss.patch |
| |
| # 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 |
| } |