aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2014-09-03 19:58:36 +0000
committerThomas Zander <riggs@FreeBSD.org>2014-09-03 19:58:36 +0000
commit75b430129cdc6b608ab021e0b2b5639a5d33448c (patch)
treec05e43a0ae0eb262574e9ca98a12ffb2812d2fbd /lang
parent8eb0c5a71dd24473659702bf0ce8d609376caab3 (diff)
downloadports-75b430129cdc6b608ab021e0b2b5639a5d33448c.tar.gz
ports-75b430129cdc6b608ab021e0b2b5639a5d33448c.zip
Notes
Diffstat (limited to 'lang')
-rw-r--r--lang/maude/Makefile23
-rw-r--r--lang/maude/files/extra-patch-Mixfix-lexerAux22
-rw-r--r--lang/maude/files/patch-src__BuiltIn__stringOpSymbol.cc11
-rw-r--r--lang/maude/files/patch-src__Mixfix__bottom.yy11
-rw-r--r--lang/maude/files/patch-src__Mixfix__commands.yy17
-rw-r--r--lang/maude/files/patch-src__Mixfix__interact.cc18
-rw-r--r--lang/maude/files/patch-src__Mixfix__modules.yy11
-rw-r--r--lang/maude/files/patch-src__Mixfix__token.cc11
-rw-r--r--lang/maude/files/patch-src__Mixfix__top.yy25
-rw-r--r--lang/maude/files/patch-src__ObjectSystem__configSymbol.hh11
-rw-r--r--lang/maude/files/patch-src__ObjectSystem__objectMap.cc11
-rw-r--r--lang/maude/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh11
-rw-r--r--lang/maude/files/patch-src__Utility__ropeStuff.hh20
13 files changed, 197 insertions, 5 deletions
diff --git a/lang/maude/Makefile b/lang/maude/Makefile
index 4d99da4e3d68..2cc9be084653 100644
--- a/lang/maude/Makefile
+++ b/lang/maude/Makefile
@@ -3,6 +3,7 @@
PORTNAME= maude
PORTVERSION= 2.6
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://maude.cs.uiuc.edu/versions/${PORTVERSION}/
DISTNAME= Maude-${PORTVERSION}
@@ -10,6 +11,10 @@ DISTNAME= Maude-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= High-performance reflective language
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex
LIB_DEPENDS= libbdd.so:${PORTSDIR}/science/buddy \
libtecla.so:${PORTSDIR}/devel/libtecla \
libgmp.so:${PORTSDIR}/math/gmp \
@@ -22,16 +27,22 @@ GNU_CONFIGURE= yes
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS= --datadir=${DATADIR}
+MAKE_JOBS_UNSAFE= yes
FULL_MAUDE_VER= 26b
-OPTIONS_DEFINE= FULL_MAUDE
+OPTIONS_DEFINE= DOCS FULL_MAUDE
OPTIONS_DEFAULT= FULL_MAUDE
FULL_MAUDE_DESC= Install full-maude${FULL_MAUDE_VER}
-NO_STAGE= yes
+PORTDOCS= AUTHORS COPYING ChangeLog INSTALL NEWS README
+
.include <bsd.port.options.mk>
+.if ${OSVERSION} >= 1000000
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-Mixfix-lexerAux
+.endif
+
.if ${PORT_OPTIONS:MFULL_MAUDE}
MASTER_SITES+= http://maude.lcc.uma.es/FullMaude/FM${FULL_MAUDE_VER}/:fm
FULL_MAUDE= full-maude${FULL_MAUDE_VER}.maude
@@ -45,8 +56,8 @@ PLIST_SUB+= FULL_MAUDE_VER="${FULL_MAUDE_VER}"
PLIST_SUB+= FULL_MAUDE="@comment "
.endif
-.if ${PORT_OPTIONS:MFULL_MAUDE}
post-extract:
+.if ${PORT_OPTIONS:MFULL_MAUDE}
${UNZIP_CMD} ${DISTDIR}/${FULL_MAUDE_DIST} ${FULL_MAUDE} -d ${WRKDIR}
.endif
@@ -54,9 +65,11 @@ post-patch:
@${REINPLACE_CMD} -e 's|%%DATADIR%%|${DATADIR}|' \
${WRKSRC}/src/Mixfix/global.hh
-.if ${PORT_OPTIONS:MFULL_MAUDE}
post-install:
- ${INSTALL_DATA} ${WRKDIR}/${FULL_MAUDE} ${DATADIR}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+.if ${PORT_OPTIONS:MFULL_MAUDE}
+ ${INSTALL_DATA} ${WRKDIR}/${FULL_MAUDE} ${STAGEDIR}${DATADIR}
.endif
.include <bsd.port.mk>
diff --git a/lang/maude/files/extra-patch-Mixfix-lexerAux b/lang/maude/files/extra-patch-Mixfix-lexerAux
new file mode 100644
index 000000000000..f37b92b29821
--- /dev/null
+++ b/lang/maude/files/extra-patch-Mixfix-lexerAux
@@ -0,0 +1,22 @@
+--- ./src/Mixfix/lexerAux.cc.orig 2014-09-03 02:54:57.000000000 +0200
++++ ./src/Mixfix/lexerAux.cc 2014-09-03 02:55:40.000000000 +0200
+@@ -35,7 +35,7 @@
+ bool fakeNewlineStack[MAX_IN_DEPTH];
+
+ void
+-getInput(char* buf, int& result, int max_size)
++getInput(char* buf, size_t& result, size_t max_size)
+ {
+ result = YY_NULL;
+ if (UserLevelRewritingContext::interrupted())
+--- ./src/Mixfix/lexerAux.hh.orig 2014-09-03 02:56:33.000000000 +0200
++++ ./src/Mixfix/lexerAux.hh 2014-09-03 02:57:05.000000000 +0200
+@@ -27,7 +27,7 @@
+ //extern int inStackPtr;
+ //extern YY_BUFFER_STATE inStack[];
+
+-void getInput(char* buf, int& result, int max_size);
++void getInput(char* buf, size_t& result, size_t max_size);
+ void lexerIdMode();
+ void lexerTokenTreeMode(int terminatingTokens);
+ void lexerCmdMode();
diff --git a/lang/maude/files/patch-src__BuiltIn__stringOpSymbol.cc b/lang/maude/files/patch-src__BuiltIn__stringOpSymbol.cc
new file mode 100644
index 000000000000..f1d236663614
--- /dev/null
+++ b/lang/maude/files/patch-src__BuiltIn__stringOpSymbol.cc
@@ -0,0 +1,11 @@
+--- ./src/BuiltIn/stringOpSymbol.cc.orig 2014-09-03 02:36:06.000000000 +0200
++++ ./src/BuiltIn/stringOpSymbol.cc 2014-09-03 02:32:45.000000000 +0200
+@@ -472,7 +472,7 @@
+ const mpz_class& n0 = succSymbol->getNat(a0);
+ if (n0 <= 255)
+ {
+- char c = n0.get_si();
++ char c[2] = { n0.get_si(), 0 };
+ return rewriteToString(subject, context, crope(c));
+ }
+ }
diff --git a/lang/maude/files/patch-src__Mixfix__bottom.yy b/lang/maude/files/patch-src__Mixfix__bottom.yy
new file mode 100644
index 000000000000..5da5f16bd82f
--- /dev/null
+++ b/lang/maude/files/patch-src__Mixfix__bottom.yy
@@ -0,0 +1,11 @@
+--- ./src/Mixfix/bottom.yy.orig 2014-09-03 02:49:14.000000000 +0200
++++ ./src/Mixfix/bottom.yy 2014-09-03 02:50:56.000000000 +0200
+@@ -23,7 +23,7 @@
+ %%
+
+ static void
+-yyerror(char *s)
++yyerror(UserLevelRewritingContext::ParseResult *parseResult, char *s)
+ {
+ if (!(UserLevelRewritingContext::interrupted()))
+ IssueWarning(LineNumber(lineNumber) << ": " << s);
diff --git a/lang/maude/files/patch-src__Mixfix__commands.yy b/lang/maude/files/patch-src__Mixfix__commands.yy
new file mode 100644
index 000000000000..c5ee2ba8312b
--- /dev/null
+++ b/lang/maude/files/patch-src__Mixfix__commands.yy
@@ -0,0 +1,17 @@
+--- ./src/Mixfix/commands.yy.orig 2014-09-03 02:51:54.000000000 +0200
++++ ./src/Mixfix/commands.yy 2014-09-03 02:53:05.000000000 +0200
+@@ -23,12 +23,12 @@
+ /*
+ * Commands.
+ */
+-command : KW_SELECT { lexBubble(END_COMMAND, 1) }
++command : KW_SELECT { lexBubble(END_COMMAND, 1); }
+ endBubble
+ {
+ interpreter.setCurrentModule(lexerBubble);
+ }
+- | KW_DUMP { lexBubble(END_COMMAND, 1) }
++ | KW_DUMP { lexBubble(END_COMMAND, 1); }
+ endBubble
+ {
+ if (interpreter.setCurrentModule(lexerBubble))
diff --git a/lang/maude/files/patch-src__Mixfix__interact.cc b/lang/maude/files/patch-src__Mixfix__interact.cc
new file mode 100644
index 000000000000..e1b4925ceba5
--- /dev/null
+++ b/lang/maude/files/patch-src__Mixfix__interact.cc
@@ -0,0 +1,18 @@
+--- ./src/Mixfix/interact.cc.orig 2014-09-03 02:53:35.000000000 +0200
++++ ./src/Mixfix/interact.cc 2014-09-03 02:54:14.000000000 +0200
+@@ -25,13 +25,14 @@
+ //
+ #include <signal.h>
+
++#include "surface.h"
++
+ bool UserLevelRewritingContext::interactiveFlag = true;
+ bool UserLevelRewritingContext::ctrlC_Flag = false;
+ bool UserLevelRewritingContext::stepFlag = false;
+ bool UserLevelRewritingContext::abortFlag = false;
+ int UserLevelRewritingContext::debugLevel = 0;
+
+-int yyparse(void*);
+ void cleanUpParser();
+ void cleanUpLexer();
+
diff --git a/lang/maude/files/patch-src__Mixfix__modules.yy b/lang/maude/files/patch-src__Mixfix__modules.yy
new file mode 100644
index 000000000000..370f3194d30a
--- /dev/null
+++ b/lang/maude/files/patch-src__Mixfix__modules.yy
@@ -0,0 +1,11 @@
+--- ./src/Mixfix/modules.yy.orig 2014-09-03 02:57:44.000000000 +0200
++++ ./src/Mixfix/modules.yy 2014-09-03 02:58:03.000000000 +0200
+@@ -247,7 +247,7 @@
+ // press on.
+ //
+ opDescription = lexerBubble;
+- lexBubble(END_STATEMENT, 1)
++ lexBubble(END_STATEMENT, 1);
+ }
+ endBubble
+ {
diff --git a/lang/maude/files/patch-src__Mixfix__token.cc b/lang/maude/files/patch-src__Mixfix__token.cc
new file mode 100644
index 000000000000..b32f6565b47f
--- /dev/null
+++ b/lang/maude/files/patch-src__Mixfix__token.cc
@@ -0,0 +1,11 @@
+--- ./src/Mixfix/token.cc.orig 2014-09-03 02:58:50.000000000 +0200
++++ ./src/Mixfix/token.cc 2014-09-03 02:59:18.000000000 +0200
+@@ -632,7 +632,7 @@
+ }
+ }
+ }
+- result.append(c);
++ result.push_back(c);
+ seenBackslash = false;
+ }
+ CantHappen("bad end to string");
diff --git a/lang/maude/files/patch-src__Mixfix__top.yy b/lang/maude/files/patch-src__Mixfix__top.yy
new file mode 100644
index 000000000000..f95be50776fe
--- /dev/null
+++ b/lang/maude/files/patch-src__Mixfix__top.yy
@@ -0,0 +1,25 @@
+--- ./src/Mixfix/top.yy.orig 2014-09-03 03:00:02.000000000 +0200
++++ ./src/Mixfix/top.yy 2014-09-03 03:02:15.000000000 +0200
+@@ -59,7 +59,6 @@
+ #define store(token) tokenSequence.append(token)
+ #define fragClear() fragments.contractTo(0);
+ #define fragStore(token) fragments.append(token)
+-#define YYPARSE_PARAM parseResult
+ #define PARSE_RESULT (*((UserLevelRewritingContext::ParseResult*) parseResult))
+
+ #define CM interpreter.getCurrentModule()
+@@ -91,12 +90,13 @@
+ Int64 number;
+ Int64 number2;
+
+-static void yyerror(char *s);
++static void yyerror(UserLevelRewritingContext::ParseResult *parseResult, char *s);
+
+ void cleanUpModuleExpression();
+ void cleanUpParser();
+ void missingSpace(const Token& token);
+ %}
++%parse-param { UserLevelRewritingContext::ParseResult *parseResult }
+ %pure_parser
+
+ %union
diff --git a/lang/maude/files/patch-src__ObjectSystem__configSymbol.hh b/lang/maude/files/patch-src__ObjectSystem__configSymbol.hh
new file mode 100644
index 000000000000..43d8a90e1774
--- /dev/null
+++ b/lang/maude/files/patch-src__ObjectSystem__configSymbol.hh
@@ -0,0 +1,11 @@
+--- ./src/ObjectSystem/configSymbol.hh.orig 2014-09-03 02:37:37.000000000 +0200
++++ ./src/ObjectSystem/configSymbol.hh 2014-09-03 02:38:05.000000000 +0200
+@@ -50,7 +50,7 @@
+ private:
+ struct symbolLt
+ {
+- bool operator()(const Symbol* d1, const Symbol* d2)
++ bool operator()(const Symbol* d1, const Symbol* d2) const
+ {
+ return d1->compare(d2) < 0;
+ }
diff --git a/lang/maude/files/patch-src__ObjectSystem__objectMap.cc b/lang/maude/files/patch-src__ObjectSystem__objectMap.cc
new file mode 100644
index 000000000000..29d4faa153d4
--- /dev/null
+++ b/lang/maude/files/patch-src__ObjectSystem__objectMap.cc
@@ -0,0 +1,11 @@
+--- ./src/ObjectSystem/objectMap.cc.orig 2014-09-03 02:39:09.000000000 +0200
++++ ./src/ObjectSystem/objectMap.cc 2014-09-03 02:39:20.000000000 +0200
+@@ -50,7 +50,7 @@
+
+ struct ConfigSymbol::dagNodeLt
+ {
+- bool operator()(const DagNode* d1, const DagNode* d2)
++ bool operator()(const DagNode* d1, const DagNode* d2) const
+ {
+ return d1->compare(d2) < 0;
+ }
diff --git a/lang/maude/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh b/lang/maude/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh
new file mode 100644
index 000000000000..84652ced73f4
--- /dev/null
+++ b/lang/maude/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh
@@ -0,0 +1,11 @@
+--- ./src/ObjectSystem/objectSystemRewritingContext.hh.orig 2014-09-03 02:40:31.000000000 +0200
++++ ./src/ObjectSystem/objectSystemRewritingContext.hh 2014-09-03 02:40:48.000000000 +0200
+@@ -62,7 +62,7 @@
+ private:
+ struct dagNodeLt
+ {
+- bool operator()(const DagNode* d1, const DagNode* d2)
++ bool operator()(const DagNode* d1, const DagNode* d2) const
+ {
+ return d1->compare(d2) < 0;
+ }
diff --git a/lang/maude/files/patch-src__Utility__ropeStuff.hh b/lang/maude/files/patch-src__Utility__ropeStuff.hh
new file mode 100644
index 000000000000..5ba62e4d60a0
--- /dev/null
+++ b/lang/maude/files/patch-src__Utility__ropeStuff.hh
@@ -0,0 +1,20 @@
+--- ./src/Utility/ropeStuff.hh.orig 2014-09-03 02:27:15.000000000 +0200
++++ ./src/Utility/ropeStuff.hh 2014-09-03 02:28:58.000000000 +0200
+@@ -25,6 +25,11 @@
+ //
+ #ifndef _ropeStuff_hh_
+ #define _ropeStuff_hh_
++#include <cstddef>
++#ifdef _LIBCPP_VERSION
++#include <string>
++typedef std::string crope;
++#else
+ #ifdef __GNUC__
+ #if __GNUC__ < 3
+ #include <rope.h>
+@@ -50,3 +55,5 @@
+ #include <rope>
+ #endif
+ #endif
++
++#endif