summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/noweb/noweb-2.11b-r4.ebuild')
-rw-r--r--app-text/noweb/noweb-2.11b-r4.ebuild100
1 files changed, 100 insertions, 0 deletions
diff --git a/app-text/noweb/noweb-2.11b-r4.ebuild b/app-text/noweb/noweb-2.11b-r4.ebuild
new file mode 100644
index 000000000000..78391b729fc0
--- /dev/null
+++ b/app-text/noweb/noweb-2.11b-r4.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils toolchain-funcs elisp-common
+
+DESCRIPTION="a literate programming tool, lighter than web"
+HOMEPAGE="http://www.eecs.harvard.edu/~nr/noweb/"
+SRC_URI="http://www.eecs.harvard.edu/~nr/noweb/dist/${P}.tgz"
+
+LICENSE="noweb emacs? ( GPL-2 )"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86 ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="emacs examples"
+
+DEPEND="virtual/tex-base
+ dev-lang/icon
+ sys-apps/debianutils
+ emacs? ( virtual/emacs )"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${P}/src
+
+SITEFILE=50${PN}-gentoo.el
+
+src_prepare() {
+ # glibc2.10 compat (bug 270757)
+# mkdir d && cp -r c/* d/
+ sed "s:getline (:getline_nonlibc (:" -i c/getline.{c,h} || die
+ sed "s:getline(:getline_nonlibc(:" -i c/{notangle.c,getline.c,finduses.c} || die
+# diff -u d/ c/
+
+ epatch "${FILESDIR}"/${PN}-2.9-security.patch
+ # dont run texhash...
+ sed -i -e "s/texhash/true/" Makefile
+ # dont strip...
+ sed -i -e "s/strip/true/" Makefile
+
+ cd "${WORKDIR}/${P}"
+ epatch "${FILESDIR}"/${P}-recmake.patch
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+}
+
+src_compile() {
+ # noweb tries to use notangle and noweb; see bug #50429
+ ( cd c; emake ICONC="icont" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LIBSRC="icon" ) || die
+ export PATH="${PATH}:${T}"
+ emake ICONC="icont" CC="$(tc-getCC)" BIN="${T}" LIB="${T}" LIBSRC="icon" install-code \
+ || die "make temporal install failed."
+
+ emake ICONC="icont" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LIBSRC="icon" || die "make failed"
+ # Set awk to awk not nawk
+ ./awkname awk
+
+ if use emacs; then
+ elisp-compile elisp/noweb-mode.el || die "elisp-compile failed"
+ fi
+}
+
+src_install () {
+ # It needs the directories to exist first...
+ dodir /usr/bin
+ dodir /usr/libexec/${PN}
+ dodir /usr/share/man
+ dodir /usr/share/texmf-site/tex/inputs
+ emake ICONC="icont" \
+ BIN="${ED}/usr/bin" \
+ LIBSRC="icon" \
+ LIBNAME="${EPREFIX}/usr/libexec/${PN}" \
+ LIB="${ED}/usr/libexec/${PN}" \
+ MAN="${ED}/usr/share/man" \
+ TEXNAME="${EPREFIX}/usr/share/texmf-site/tex/inputs" \
+ TEXINPUTS="${ED}/usr/share/texmf-site/tex/inputs" \
+ install || die "make install failed"
+ cd "${WORKDIR}/${P}"
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*
+ fi
+ dodoc CHANGES README
+
+ if use emacs; then
+ elisp-install ${PN} src/elisp/noweb-mode.{el,elc} \
+ || die "elisp-install failed"
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
+ || die "elisp-site-file-install failed"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+ einfo "Running texhash to complete installation.."
+ texhash
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}