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/Manifest8
-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.xml17
6 files changed, 136 insertions, 0 deletions
diff --git a/dev-lang/c-intercal/Manifest b/dev-lang/c-intercal/Manifest
new file mode 100644
index 000000000000..6886a7c61b9a
--- /dev/null
+++ b/dev-lang/c-intercal/Manifest
@@ -0,0 +1,8 @@
+AUX 50c-intercal-gentoo.el 191 SHA256 c8d2bb894ef97e3a9c85b51276cb918636e2aaed3930189035093ea7eecca378 SHA512 957e43fb8ada732ae9224313456d750df25484b8bc8d0d3b1ffcd547542de99ffcffdc8dabbebda0fbaa0a760e799b403a6e1a5160e5359e15072a72e9c19ab2 WHIRLPOOL a8c408b94bae01faba9370ce55991792cdd023e706039307c98eb32319ce5086f94c3120af55bf4eee23588a65dcbff88427de83f4536457634aa7286eb54489
+AUX c-intercal-30.0-version.patch 279 SHA256 00c6e87f98f46ed7073d0af765800cd9d342ede0d8bc0e81fdc1411abba4ea26 SHA512 ba38939f207587ae7b99a2dab63e395c27a01ee6e8495c8b10eee3c9d48ee9848cc2e240cb123abd93e69d1f516cf779f41f5b888ee194641df50001ac446a60 WHIRLPOOL 6492a0707bf43c7a45d79d27cd759369fde31f6a7c02988307aac55c46361ae034c6dd7d0686fd235e23c042c84ac3b7736c84885a144599b11b2a9823b565d1
+AUX c-intercal-30.0-yywrap.patch 282 SHA256 730015aaa73bc91a4534a2e6235ee5ad54c23a24aeaa85f22288ee4c1e4af110 SHA512 b181da7c93268ece0db9244ed7bc0d085d12dfeb92e6f4b6af9b8fe17fed8e5ef432006bb097fc568a401e74540c97a3afa738510f76f78052332c573ae1999c WHIRLPOOL 2617f176a81b070bdd583320ff6716afc8d4d05ab3a605b81f91559208aaf7d2c672cc3d39c0254b98dd59312d4f10266f10018a1d082a1952849b56fea94467
+DIST intercal-0.30.tar.gz 930759 SHA256 b38b62a61a3cb5b0d3ce9f2d09c97bd74796979d532615073025a7fff6be1715 SHA512 e82f52082a73e0eb6116026f78fdcc38369f54af828b9ed0d3ca6ed6c40550bfa81db4ca7c4d09015b5db5104a1c06229cfed52e1d202c3a7443f933fbcc0498 WHIRLPOOL b76542b81d8322c5791a30573e0b7efdd7793a298970b29f074e49fa061e3a28f38fdbf7732f74a77d940e8167650182d3366f657ed525d079feb0c3d47d7dc2
+EBUILD c-intercal-30.0.ebuild 1712 SHA256 88bba03fe1cf5441d89278ac8904764158ef02042e59cd7cbf5c22485d6839ef SHA512 e086415af60d5f2b6c0a97806e320e6af07c990d384f76859232c221e1592c3d9d27a5d0ce4829b3d85070c77901324d1ba09f20f43c291d29be083e49926c48 WHIRLPOOL 3f9ffecb38108b6b38f8fcf79fdd4fe78a77621351394e13e01007d607c6764530edbe8412e3a75c5e902b3a446dab3acf89ca623cd866b79ffadeea2e919959
+MISC ChangeLog 2691 SHA256 5a1c03fee88cb648fdef8fd85cac914defd0b26f7934869104c8accf762f4d9c SHA512 b5b6537ed6201c66b48cf478792aebec5672f864fde9471486adb348975e4c01a9cc662bd281aecbf684348147682df21b6d12e4f0dbc1bd2be44a2cc0b3ab9c WHIRLPOOL 459daffa4b903f928d006184b92c4ab5d136dac59e241eb0c56d351c300749e562578d2ad4f8cd7225741a6deb2251743dd22a8a04d14c6104713ba643d3dab9
+MISC ChangeLog-2015 1588 SHA256 8bd7c4ba677e02172b8fc313d0c2c6bf5a55bb985053dd7027ebd3ebcdf06715 SHA512 a6320a07faba809ab865acc21c3f1cdfd6e42cc34b82ad326d9f54252fb6d78f5171236594498bfdb18966c10388e1be88b07b91379dcc9f6da269673691eaa3 WHIRLPOOL a9c218b68fbb9409006e452dbab170cfe8e92506cdc2720c34835b1c3979db7e79f5729dda89fa1ab1f7e9e3d070fac9d91dd8a00602c69530a89542cc900009
+MISC metadata.xml 669 SHA256 0c9301423112da2ee9f249f7dc94c3c2b7653aa96db4898e9258fa2cc0f3967a SHA512 4e2ab95dd4c7fd02a504dfe1b16a4048bcd1c481fd1a1526927b2e6739738c4977f50449226e6974258382e04505aebfc44c1d9329b56d502b4b0cddd5ba9f82 WHIRLPOOL 40b03aa42a18ce0a362815693bfec6103f69b66b333d2ddf95abb900fa6a809ef2af3f1a08f9d231acde48e50712f2e5d20f4725755d3c139b96649364f71c7c
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..ca95d6d2a97c
--- /dev/null
+++ b/dev-lang/c-intercal/metadata.xml
@@ -0,0 +1,17 @@
+<?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>
+<maintainer type="person">
+ <email>pchrist@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>