diff options
Diffstat (limited to 'dev-lang/c-intercal')
-rw-r--r-- | dev-lang/c-intercal/Manifest | 6 | ||||
-rw-r--r-- | dev-lang/c-intercal/c-intercal-30.0.ebuild | 79 | ||||
-rw-r--r-- | dev-lang/c-intercal/files/50c-intercal-gentoo.el | 4 | ||||
-rw-r--r-- | dev-lang/c-intercal/files/c-intercal-30.0-version.patch | 11 | ||||
-rw-r--r-- | dev-lang/c-intercal/files/c-intercal-30.0-yywrap.patch | 17 | ||||
-rw-r--r-- | dev-lang/c-intercal/metadata.xml | 14 |
6 files changed, 131 insertions, 0 deletions
diff --git a/dev-lang/c-intercal/Manifest b/dev-lang/c-intercal/Manifest new file mode 100644 index 000000000000..be35e355d636 --- /dev/null +++ b/dev-lang/c-intercal/Manifest @@ -0,0 +1,6 @@ +AUX 50c-intercal-gentoo.el 191 BLAKE2B 3575c7ecac45d7023f727e559bbcfeb311c45c720a54c23661ec13a71272b748dbe499d500f0e8bd4aff3d871c96eafbf2f80e4d7bb2c402ffe3b628d2243398 SHA512 957e43fb8ada732ae9224313456d750df25484b8bc8d0d3b1ffcd547542de99ffcffdc8dabbebda0fbaa0a760e799b403a6e1a5160e5359e15072a72e9c19ab2 +AUX c-intercal-30.0-version.patch 279 BLAKE2B 12f448dc7dbc5ede3f6537564f0477b2166e3e456bb750cf75813f30fecf74bd446f04b28def7556d16630f02d5e15e2289f0c39deb07915d39f77ab0856ffe8 SHA512 ba38939f207587ae7b99a2dab63e395c27a01ee6e8495c8b10eee3c9d48ee9848cc2e240cb123abd93e69d1f516cf779f41f5b888ee194641df50001ac446a60 +AUX c-intercal-30.0-yywrap.patch 282 BLAKE2B 0417757240a476c845398db4e2644c5333d851e1107ceb09f3b8f4a7c3d4ade553331ea36663906ecf11dc739d47b66ae1b70f5d32bae34cd42584d68db8552c SHA512 b181da7c93268ece0db9244ed7bc0d085d12dfeb92e6f4b6af9b8fe17fed8e5ef432006bb097fc568a401e74540c97a3afa738510f76f78052332c573ae1999c +DIST intercal-0.30.tar.gz 930759 BLAKE2B c8c9b77c31901da8f7dbd5a76c2d6fa900962c69f4ca56835f750f40370d5161f6311cbe5473cdb7342772c1cc5317e51d91e174cb16985565adacd001fc1f29 SHA512 e82f52082a73e0eb6116026f78fdcc38369f54af828b9ed0d3ca6ed6c40550bfa81db4ca7c4d09015b5db5104a1c06229cfed52e1d202c3a7443f933fbcc0498 +EBUILD c-intercal-30.0.ebuild 1712 BLAKE2B 114eec03009fd21fb32088a03ad89112e5e310cc0136a9a255938337364ba2403bc8882477c56eb5c05e45432001f2391c518c1a6f91a843e7fbba7059cf08fc SHA512 e086415af60d5f2b6c0a97806e320e6af07c990d384f76859232c221e1592c3d9d27a5d0ce4829b3d85070c77901324d1ba09f20f43c291d29be083e49926c48 +MISC metadata.xml 592 BLAKE2B 8d07802ff5f3cbedb9643b61c469214284c5d21dbaf7aa2afa1c706cf0c9ebe0af2903f3bada0145fd0fe648fe46678919a730f88a2c38c84d149416a8095b11 SHA512 d2b9dad8dd7a03744904ccee87ba17ed726b0005b6bd685d7b926b4657e57c9456d8a7f57deedf260efd543b42c157c13876cf6942cd1f47fee88f0782dac13d diff --git a/dev-lang/c-intercal/c-intercal-30.0.ebuild b/dev-lang/c-intercal/c-intercal-30.0.ebuild new file mode 100644 index 000000000000..52876eed0055 --- /dev/null +++ b/dev-lang/c-intercal/c-intercal-30.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools elisp-common + +# 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_PN="${PN#c-}" +MY_PV="$(get_intercal_version)" +DESCRIPTION="C-INTERCAL - INTERCAL to binary (via C) compiler" +HOMEPAGE="http://www.catb.org/~esr/intercal/" +SRC_URI="http://www.catb.org/~esr/intercal/${MY_PN}-${MY_PV}.tar.gz" + +LICENSE="GPL-2+ FDL-1.2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="emacs examples" + +RDEPEND="emacs? ( virtual/emacs )" +DEPEND="${RDEPEND} + sys-devel/flex + virtual/yacc" + +S="${WORKDIR}/${MY_PN}-${MY_PV}" +SITEFILE="50${PN}-gentoo.el" + +src_prepare() { + eapply "${FILESDIR}"/${P}-version.patch + eapply "${FILESDIR}"/${P}-yywrap.patch + eapply_user + eautoreconf +} + +src_compile() { + emake + + if use emacs; then + elisp-compile etc/intercal.el + fi +} + +src_install() { + emake DESTDIR="${D}" install + dodoc BUGS NEWS HISTORY README doc/THEORY.txt + + if use emacs; then + elisp-install ${PN} etc/intercal.{el,elc} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r pit + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/c-intercal/files/50c-intercal-gentoo.el b/dev-lang/c-intercal/files/50c-intercal-gentoo.el new file mode 100644 index 000000000000..c376230eb41a --- /dev/null +++ b/dev-lang/c-intercal/files/50c-intercal-gentoo.el @@ -0,0 +1,4 @@ +(add-to-list 'load-path "@SITELISP@") +(autoload 'intercal-mode "intercal" + "A major editing mode for the language Intercal." t) +;;(add-to-list 'auto-mode-alist '("\\.i\\'" . intercal-mode)) diff --git a/dev-lang/c-intercal/files/c-intercal-30.0-version.patch b/dev-lang/c-intercal/files/c-intercal-30.0-version.patch new file mode 100644 index 000000000000..3fe8d026e23a --- /dev/null +++ b/dev-lang/c-intercal/files/c-intercal-30.0-version.patch @@ -0,0 +1,11 @@ +--- intercal-0.30-orig/configure.ac ++++ intercal-0.30/configure.ac +@@ -14,7 +14,7 @@ + subdir-objects no-texinfo.tex -Wall -Wno-override]) + + dnl Information about this version of INTERCAL. +-PACKAGE_VERSION=0.29 ++PACKAGE_VERSION=0.30 + + dnl Checks for programs. + AC_PROG_YACC diff --git a/dev-lang/c-intercal/files/c-intercal-30.0-yywrap.patch b/dev-lang/c-intercal/files/c-intercal-30.0-yywrap.patch new file mode 100644 index 000000000000..9d46a91beceb --- /dev/null +++ b/dev-lang/c-intercal/files/c-intercal-30.0-yywrap.patch @@ -0,0 +1,17 @@ +https://bugs.gentoo.org/604848 + +--- intercal-0.30-orig/src/lexer.l ++++ intercal-0.30/src/lexer.l +@@ -38,12 +38,10 @@ + /*#undef wchar_t*/ + /*#define wchar_t unsigned char*/ + +-#ifndef yywrap + static int yywrap(void) + { + return 1; + } +-#endif /* yywrap */ + + int iyylineno = 1; + diff --git a/dev-lang/c-intercal/metadata.xml b/dev-lang/c-intercal/metadata.xml new file mode 100644 index 000000000000..3789335be519 --- /dev/null +++ b/dev-lang/c-intercal/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>ulm@gentoo.org</email> +</maintainer> +<longdescription> + An implementation of the language INTERCAL, legendary for its perversity + and horribleness (this version adds COME FROM for extra flavor). Comes with + language manual and examples including possibly the entire extant body of + INTERCAL code. Now supports i18n and l14n (to Ancient Roman locale only). + Now with fix patch by Donald Knuth. +</longdescription> +</pkgmetadata> |