123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- # Copyright 1999-2014 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- 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
- }
|