summaryrefslogtreecommitdiff
path: root/dev-lang/c-intercal
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/c-intercal')
-rw-r--r--dev-lang/c-intercal/Manifest6
-rw-r--r--dev-lang/c-intercal/c-intercal-30.0.ebuild79
-rw-r--r--dev-lang/c-intercal/files/50c-intercal-gentoo.el4
-rw-r--r--dev-lang/c-intercal/files/c-intercal-30.0-version.patch11
-rw-r--r--dev-lang/c-intercal/files/c-intercal-30.0-yywrap.patch17
-rw-r--r--dev-lang/c-intercal/metadata.xml14
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>