summaryrefslogtreecommitdiff
path: root/app-text/info2html/info2html-2.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/info2html/info2html-2.0.ebuild')
-rw-r--r--app-text/info2html/info2html-2.0.ebuild71
1 files changed, 71 insertions, 0 deletions
diff --git a/app-text/info2html/info2html-2.0.ebuild b/app-text/info2html/info2html-2.0.ebuild
new file mode 100644
index 000000000000..f106bc188e13
--- /dev/null
+++ b/app-text/info2html/info2html-2.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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
+}