You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.9 KiB
73 lines
1.9 KiB
# 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
|
|
}
|