diff options
Diffstat (limited to 'dev-lang/c-intercal/c-intercal-28.65535.65534.0.ebuild')
-rw-r--r-- | dev-lang/c-intercal/c-intercal-28.65535.65534.0.ebuild | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/dev-lang/c-intercal/c-intercal-28.65535.65534.0.ebuild b/dev-lang/c-intercal/c-intercal-28.65535.65534.0.ebuild new file mode 100644 index 000000000000..ef9f1daf3115 --- /dev/null +++ b/dev-lang/c-intercal/c-intercal-28.65535.65534.0.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/c-intercal/c-intercal-28.65535.65534.0.ebuild,v 1.1 2010/09/11 09:57:37 ulm Exp $ + +inherit elisp-common eutils multilib versionator + +# C-INTERCAL uses minor-major ordering of version components and +# negative version numbers. We map version components -1, -2, ... +# to 65535, 65534, ..., and subtract one from the next component. +# For example, upstream version 0.28 is mapped to Gentoo version 28.0 +# and 0.-2.0.29 is mapped to 28.65535.65534.0. +get_intercal_version() { + local i=.${1:-${PV}} j k c=0 + while [[ ${i} ]]; do + (( k = ${i##*.} + c )) + (( (c = (k >= 32768)) && (k -= 65536) )) + i=${i%.*} + j=${j}.${k} + done + echo ${j#.} +} + +MY_PV=$(get_intercal_version) +DESCRIPTION="C-INTERCAL - INTERCAL to binary (via C) compiler" +HOMEPAGE="http://c.intercal.org.uk" +SRC_URI="http://overload.intercal.org.uk/c/ick-${MY_PV}.pax.gz" + +LICENSE="GPL-2 FDL-1.2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="emacs examples" + +DEPEND="emacs? ( virtual/emacs )" +RDEPEND="${DEPEND}" + +MY_PV2=${MY_PV%.${MY_PV##*.}} +S="${WORKDIR}/ick-${MY_PV2##*.}.${MY_PV##*.}" +SITEFILE="50${PN}-gentoo.el" + +src_unpack() { + tar xzf "${DISTDIR}/${A}" || die "tar failed" +} + +src_compile() { + econf + emake || die + + if use emacs; then + elisp-compile etc/intercal.el || die + fi +} + +src_install() { + # Thinks the directories exist, won't as this is done to a DESTDIR... + #dodir /usr/bin + #dodir /usr/$(get_libdir) + emake DESTDIR="${D}" install || die "emake install failed" + dodoc BUGS NEWS README doc/THEORY.txt + + if use emacs; then + elisp-install ${PN} etc/intercal.{el,elc} || die + elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r pit || die + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} |