summaryrefslogtreecommitdiff
path: root/dev-lang/maude
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/maude')
-rw-r--r--dev-lang/maude/Manifest7
-rw-r--r--dev-lang/maude/files/maude-2.5.0-prll.patch24
-rw-r--r--dev-lang/maude/files/maude-2.6-search-datadir.patch37
-rw-r--r--dev-lang/maude/files/maude-2.7-bison-parse-param.patch39
-rw-r--r--dev-lang/maude/maude-2.7.ebuild57
-rw-r--r--dev-lang/maude/metadata.xml16
6 files changed, 180 insertions, 0 deletions
diff --git a/dev-lang/maude/Manifest b/dev-lang/maude/Manifest
new file mode 100644
index 000000000000..69bebdc7b06f
--- /dev/null
+++ b/dev-lang/maude/Manifest
@@ -0,0 +1,7 @@
+AUX maude-2.5.0-prll.patch 627 BLAKE2B 7a6b32561207a3f8fb13ad955f386970cfba84e9fbd59792a832a268e5350ef2f451a62d64bbc19e191deb756a9100f221e8e6ea493fdbfdaaa8640ca0ff3545 SHA512 640dc2d784b3010af41ea7c186f27ef71d96efa26ab68b9371a990c442ca4d33d7925cf9c2a096487c1d7bc38e920333a71d969aa683ee2231d3ce954a9ff1e4
+AUX maude-2.6-search-datadir.patch 1124 BLAKE2B 620382dd567eb4bf2c944af83a209cc01b6b571024da0435995ab76c10ee0c1527a68d21ed171696d659092bb2a3cfb0593ceaded7d96351da2c0e067f4d4fcb SHA512 3bdaa49e6312d965c753450c5fec39c1175e6a5a57c570bce56f10d6bf3a56027fc8eb17c3d899aa752d4094eae4bbc7d1eec0022adc656894beef759c151cc5
+AUX maude-2.7-bison-parse-param.patch 1027 BLAKE2B b8144c07c219987cd09d3555f05868d91c0727d905efd63ffe6cbdd0d9265c91a470db424b9f9719f7b0edb9f186656b6bab61e44cb40166c9d7802bd98ce368 SHA512 553c1e96fd72687025b71d04c476d853e0e2c8bab48f91f98ce1cb515562d27b7bbcb4e20ffb56c2dc3c7ee9cdbfe7c2da1d6d609b4bba34823c0637375f012c
+DIST Maude-2.7.tar.gz 1663708 BLAKE2B 5fd87cbd7ef2f86f4a7095334fd996109c72caaed44a894138803b76220325400920654924cb8645ed846b4d997dd2cf827d489ef7c4eef73ee22cb4e6e5a5dc SHA512 eb5225a7ec75df5f79d1e9c0d78c33427c0cf07bea83dae9e559d6d4cfc85fb03985596daf0c9c8794b34859510482f93b855254c1a3c650ee7520a3530a2070
+DIST maude-2.6-extras.tar.xz 3157004 BLAKE2B d735366071194eb7fd22c11628672aba38cc8c7f4460e4ec8806e27c2e1416e1a2a5fa93efd01c305bf36e0ce799578688c5ac87b5459e979323df6f60305902 SHA512 0533f0f226057d2668052f360245f296d36129ec242ff0bfa91fada9db5bc347d276d3468c86fbac92f019f3a2f152c7cb4e58a7f1265c1fb5a8b1b496fac5cd
+EBUILD maude-2.7.ebuild 1317 BLAKE2B 226f251a1c91d3043000e8624e0fd3470b9f2690071697f1496de3461f22ea2d7054efed86bde8fd123f115e115287ed63713a9a2a745fe0558f266bc49ae7f5 SHA512 6c3d4efa0212d2a933d25f07d200cbe26ce9245d20b0af5707562b517ae9da3c4cbd4692d05ca1a65ff40d95dab35faf81892a0b8b5a056e1ab00f5bb383d838
+MISC metadata.xml 708 BLAKE2B 45ec7072bcd0509e34ef2b5d3abd3a67abe84cf91f6dbc9e45fdc3d07bf4bebe520c40440b977e2eabdd06ec1d9fede487c74cc69df57819975cd75f8ca75016 SHA512 da572363e08716b890656c160e415a4e01bd0a0effaaa3a535108295fdbbc67210315b9c0f81e4fd4c9dc8a8b8a3cc454f5d2225be0d666dbc630752ea0e2cc2
diff --git a/dev-lang/maude/files/maude-2.5.0-prll.patch b/dev-lang/maude/files/maude-2.5.0-prll.patch
new file mode 100644
index 000000000000..5499af3eb764
--- /dev/null
+++ b/dev-lang/maude/files/maude-2.5.0-prll.patch
@@ -0,0 +1,24 @@
+diff --git a/src/Mixfix/Makefile.am b/src/Mixfix/Makefile.am
+index d811631..295f0c6 100644
+--- a/src/Mixfix/Makefile.am
++++ b/src/Mixfix/Makefile.am
+@@ -72,7 +72,7 @@ libmixfix_a_SOURCES = \
+ EXTRA_libmixfix_a_SOURCES = \
+ compiler.cc
+
+-BUILT_SOURCES = surface.yy surface.cc surface.h lexer.cc
++BUILT_SOURCES = surface.cc lexer.cc
+ CLEANFILES = surface.yy surface.cc surface.h lexer.cc
+
+ surface.yy: \
+@@ -87,7 +87,9 @@ surface.yy: \
+ $(srcdir)/bottom.yy \
+ > surface.yy
+
+-surface.cc surface.h: surface.yy
++surface.h: surface.yy
++
++surface.cc: surface.h
+ $(BISON) -dv surface.yy -o surface.c
+ mv surface.c surface.cc
+
diff --git a/dev-lang/maude/files/maude-2.6-search-datadir.patch b/dev-lang/maude/files/maude-2.6-search-datadir.patch
new file mode 100644
index 000000000000..f5522eda2a05
--- /dev/null
+++ b/dev-lang/maude/files/maude-2.6-search-datadir.patch
@@ -0,0 +1,37 @@
+Have maude search in datadir for its files.
+--- a/src/Main/main.cc
++++ b/src/Main/main.cc
+@@ -263,6 +263,11 @@
+ {
+ if (directoryManager.searchPath(MAUDE_LIB, directory, fileName, R_OK))
+ return true;
++ if (directoryManager.checkAccess(DATADIR, fileName, R_OK))
++ {
++ directory = DATADIR;
++ return true;
++ }
+ if (!(executableDirectory.empty()) &&
+ directoryManager.checkAccess(executableDirectory, fileName, R_OK))
+ {
+--- a/src/Mixfix/global.cc
++++ b/src/Mixfix/global.cc
+@@ -83,6 +83,9 @@
+ return true;
+ if (directoryManager.searchPath(MAUDE_LIB, directory, fileName, R_OK, ext))
+ return true;
++ directory = DATADIR;
++ if (directoryManager.checkAccess(directory, fileName, R_OK, ext))
++ return true;
+ if (!(executableDirectory.empty()) &&
+ directoryManager.checkAccess(executableDirectory, fileName, R_OK, ext))
+ {
+--- a/src/Mixfix/global.hh
++++ b/src/Mixfix/global.hh
+@@ -36,6 +36,7 @@
+
+ #define PRELUDE_NAME "prelude.maude"
+ #define MAUDE_LIB "MAUDE_LIB"
++#define DATADIR "/usr/share/maude"
+
+ bool
+ findPrelude(string& directory, string& fileName);
diff --git a/dev-lang/maude/files/maude-2.7-bison-parse-param.patch b/dev-lang/maude/files/maude-2.7-bison-parse-param.patch
new file mode 100644
index 000000000000..2aa77f01c4e8
--- /dev/null
+++ b/dev-lang/maude/files/maude-2.7-bison-parse-param.patch
@@ -0,0 +1,39 @@
+Author: Jakub Wilk <jwilk@debian.org>
+Last-Update: Tue, 20 May 2014 13:35:26 +0200
+Bug-Debian: http://bugs.debian.org/733407
+Description: this is quick and dirty patch to use %parse-param instead
+ of deprecated YYPARSE_PARAM (and eventually removed in Bison 3.0).
+ %parse-param was added in bison 1.875, over a decade ago, so no
+ Build-Depends adjustments are needed. :-)
+
+--- a/src/Mixfix/top.yy
++++ b/src/Mixfix/top.yy
+@@ -24,6 +24,8 @@
+ // Parser for Maude surface syntax.
+ //
+
++%parse-param {void* YYPARSE_PARAM}
++
+ %{
+ #include <string>
+ #include <stack>
+@@ -91,7 +93,7 @@ SyntaxContainer* oldSyntaxContainer = 0;
+ Int64 number;
+ Int64 number2;
+
+-static void yyerror(char *s);
++static void yyerror(void *, char *s);
+
+ void cleanUpModuleExpression();
+ void cleanUpParser();
+--- a/src/Mixfix/bottom.yy
++++ b/src/Mixfix/bottom.yy
+@@ -23,7 +23,7 @@
+ %%
+
+ static void
+-yyerror(char *s)
++yyerror(void *, char *s)
+ {
+ if (!(UserLevelRewritingContext::interrupted()))
+ IssueWarning(LineNumber(lineNumber) << ": " << s);
diff --git a/dev-lang/maude/maude-2.7.ebuild b/dev-lang/maude/maude-2.7.ebuild
new file mode 100644
index 000000000000..c871a47748f1
--- /dev/null
+++ b/dev-lang/maude/maude-2.7.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="High-level specification language for equational and logic programming"
+HOMEPAGE="http://maude.cs.uiuc.edu/"
+SRC_URI="
+ http://maude.cs.illinois.edu/w/images/2/2d/${P^}.tar.gz
+ https://dev.gentoo.org/~jlec/distfiles/${PN}-2.6-extras.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples"
+
+RDEPEND="
+ dev-libs/gmp:0=[cxx]
+ dev-libs/libsigsegv
+ dev-libs/libtecla
+ sci-libs/buddy"
+DEPEND="${RDEPEND}
+ sys-devel/bison
+ sys-devel/flex"
+
+S="${WORKDIR}/${P^}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.0-prll.patch"
+ "${FILESDIR}/${PN}-2.6-search-datadir.patch"
+ "${FILESDIR}/${PN}-2.7-bison-parse-param.patch"
+)
+
+src_prepare() {
+ default
+ sed -i -e "s:/usr:${EPREFIX}/usr:g" src/Mixfix/global.hh || die
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ # install data and full maude
+ insinto /usr/share/${PN}
+ doins -r src/Main/*.maude
+ doins "${WORKDIR}"/${PN}-2.6-extras/full-maude.maude
+
+ # install docs and examples
+ use doc && dodoc -r "${WORKDIR}"/${PN}-2.6-extras/pdfs/.
+ if use examples; then
+ docinto examples
+ dodoc -r "${WORKDIR}"/${PN}-2.6-extras/{manual,primer}-examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-lang/maude/metadata.xml b/dev-lang/maude/metadata.xml
new file mode 100644
index 000000000000..2a557bd7618e
--- /dev/null
+++ b/dev-lang/maude/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription>
+ Maude is a high-performance reflective language and system supporting
+ both equational and rewriting logic specification and programming for a
+ wide range of applications. Maude has been influenced in important ways
+ by the OBJ3 language, which can be regarded as an equational logic
+ sublanguage. Besides supporting equational specification and
+ programming, Maude also supports rewriting logic computation.
+ </longdescription>
+</pkgmetadata>