diff -urN /usr/ports/lang/maude.old/Makefile /usr/ports/lang/maude/Makefile --- /usr/ports/lang/maude.old/Makefile 2014-08-25 12:01:51.000000000 +0200 +++ /usr/ports/lang/maude/Makefile 2014-09-03 17:46:27.000000000 +0200 @@ -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 @@ 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 @@ 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 +.if ${OSVERSION} > 1000000 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-build +.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 @@ -56,7 +67,12 @@ .if ${PORT_OPTIONS:MFULL_MAUDE} post-install: - ${INSTALL_DATA} ${WRKDIR}/${FULL_MAUDE} ${DATADIR} + ${INSTALL_DATA} ${WRKDIR}/${FULL_MAUDE} ${STAGEDIR}${DATADIR} +.endif + +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR} .endif .include diff -urN /usr/ports/lang/maude.old/files/extra-patch-build /usr/ports/lang/maude/files/extra-patch-build --- /usr/ports/lang/maude.old/files/extra-patch-build 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/extra-patch-build 2014-09-03 17:20:39.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__BuiltIn__stringOpSymbol.cc /usr/ports/lang/maude/files/patch-src__BuiltIn__stringOpSymbol.cc --- /usr/ports/lang/maude.old/files/patch-src__BuiltIn__stringOpSymbol.cc 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__BuiltIn__stringOpSymbol.cc 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__Mixfix__bottom.yy /usr/ports/lang/maude/files/patch-src__Mixfix__bottom.yy --- /usr/ports/lang/maude.old/files/patch-src__Mixfix__bottom.yy 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Mixfix__bottom.yy 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__Mixfix__commands.yy /usr/ports/lang/maude/files/patch-src__Mixfix__commands.yy --- /usr/ports/lang/maude.old/files/patch-src__Mixfix__commands.yy 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Mixfix__commands.yy 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__Mixfix__interact.cc /usr/ports/lang/maude/files/patch-src__Mixfix__interact.cc --- /usr/ports/lang/maude.old/files/patch-src__Mixfix__interact.cc 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Mixfix__interact.cc 2014-09-03 10:04:06.000000000 +0200 @@ -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 + ++#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 -urN /usr/ports/lang/maude.old/files/patch-src__Mixfix__modules.yy /usr/ports/lang/maude/files/patch-src__Mixfix__modules.yy --- /usr/ports/lang/maude.old/files/patch-src__Mixfix__modules.yy 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Mixfix__modules.yy 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__Mixfix__token.cc /usr/ports/lang/maude/files/patch-src__Mixfix__token.cc --- /usr/ports/lang/maude.old/files/patch-src__Mixfix__token.cc 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Mixfix__token.cc 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__Mixfix__top.yy /usr/ports/lang/maude/files/patch-src__Mixfix__top.yy --- /usr/ports/lang/maude.old/files/patch-src__Mixfix__top.yy 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Mixfix__top.yy 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__ObjectSystem__configSymbol.hh /usr/ports/lang/maude/files/patch-src__ObjectSystem__configSymbol.hh --- /usr/ports/lang/maude.old/files/patch-src__ObjectSystem__configSymbol.hh 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__ObjectSystem__configSymbol.hh 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__ObjectSystem__objectMap.cc /usr/ports/lang/maude/files/patch-src__ObjectSystem__objectMap.cc --- /usr/ports/lang/maude.old/files/patch-src__ObjectSystem__objectMap.cc 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__ObjectSystem__objectMap.cc 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh /usr/ports/lang/maude/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh --- /usr/ports/lang/maude.old/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__ObjectSystem__objectSystemRewritingContext.hh 2014-09-03 10:04:06.000000000 +0200 @@ -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 -urN /usr/ports/lang/maude.old/files/patch-src__Utility__ropeStuff.hh /usr/ports/lang/maude/files/patch-src__Utility__ropeStuff.hh --- /usr/ports/lang/maude.old/files/patch-src__Utility__ropeStuff.hh 1970-01-01 01:00:00.000000000 +0100 +++ /usr/ports/lang/maude/files/patch-src__Utility__ropeStuff.hh 2014-09-03 10:04:06.000000000 +0200 @@ -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 ++#ifdef _LIBCPP_VERSION ++#include ++typedef std::string crope; ++#else + #ifdef __GNUC__ + #if __GNUC__ < 3 + #include +@@ -50,3 +55,5 @@ + #include + #endif + #endif ++ ++#endif