aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorpgj <pgj@FreeBSD.org>2013-11-28 15:18:41 +0800
committerpgj <pgj@FreeBSD.org>2013-11-28 15:18:41 +0800
commit1d7dabc17dd0dea2b148a6dbb1233b65742f0d5c (patch)
tree4c0ed25489d52ccfbd86de0845b10222f4e0b993 /devel
parent33099ccc427782081db0e36f6862a8585bb28248 (diff)
downloadfreebsd-ports-gnome-1d7dabc17dd0dea2b148a6dbb1233b65742f0d5c.tar.gz
freebsd-ports-gnome-1d7dabc17dd0dea2b148a6dbb1233b65742f0d5c.tar.zst
freebsd-ports-gnome-1d7dabc17dd0dea2b148a6dbb1233b65742f0d5c.zip
- Update to 4.05.00
- Add support for staging, use shebangfix, switch to GCC 4.7 - Give up maintainership
Diffstat (limited to 'devel')
-rw-r--r--devel/bisoncpp/Makefile75
-rw-r--r--devel/bisoncpp/distinfo4
-rw-r--r--devel/bisoncpp/files/patch-INSTALL.im36
-rw-r--r--devel/bisoncpp/files/patch-block__atindex.cc11
-rw-r--r--devel/bisoncpp/files/patch-block__block.ih12
-rw-r--r--devel/bisoncpp/files/patch-block__dollarindex.cc11
-rw-r--r--devel/bisoncpp/files/patch-block__idindex.cc11
-rw-r--r--devel/bisoncpp/files/patch-build8
-rw-r--r--devel/bisoncpp/files/patch-icmake-install91
-rw-r--r--devel/bisoncpp/files/patch-icmake-manpage22
-rw-r--r--devel/bisoncpp/files/patch-options__options.ih10
-rw-r--r--devel/bisoncpp/files/patch-options__setbasicstrings.cc11
-rw-r--r--devel/bisoncpp/files/patch-scanner__lex.cc11
-rw-r--r--devel/bisoncpp/files/patch-scanner__scanner.ih10
-rw-r--r--devel/bisoncpp/files/patch-scanner__scanner1.cc11
-rw-r--r--devel/bisoncpp/pkg-plist15
16 files changed, 283 insertions, 66 deletions
diff --git a/devel/bisoncpp/Makefile b/devel/bisoncpp/Makefile
index 88cce755d91f..0007e43dbf90 100644
--- a/devel/bisoncpp/Makefile
+++ b/devel/bisoncpp/Makefile
@@ -1,81 +1,74 @@
# $FreeBSD$
PORTNAME= bisoncpp
-PORTVERSION= 4.01.00
-PORTREVISION= 1
+PORTVERSION= 4.05.00
CATEGORIES= devel
MASTER_SITES= SF/${PORTNAME}/bisonc%2B%2B/${PORTVERSION}
DISTNAME= bisonc++_${PORTVERSION}
EXTRACT_SUFX= .orig.tar.gz
-MAINTAINER= pgj@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= LALR(1) parser generator that generates C++ classes
LICENSE= GPLv3
BUILD_DEPENDS= icmake:${PORTSDIR}/devel/icmake \
yodl>=3.0:${PORTSDIR}/textproc/yodl \
- libbobcat>=3:${PORTSDIR}/devel/libbobcat
+ libbobcat>=3.18:${PORTSDIR}/devel/libbobcat
-.if !defined(NO_INSTALL_MANPAGES)
-MANCOMPRESSED= yes
-MAN1= bisonc++.1
-.endif
-
-DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION}
+DOCSDIR= ${PREFIX}/share/doc/bisonc++-${PORTVERSION}
PORTDOCS= *
PLIST_SUB+= PORTVERSION="${PORTVERSION}"
WRKSRC= ${WRKDIR}/bisonc++-${PORTVERSION}
-USE_GCC= 4.6
+USE_GCC= 4.7
+
+USES= shebangfix
+
+SHEBANG_LANG= icmake
+icmake_OLD_CMD= /usr/bin/icmake
+icmake_CMD= ${LOCALBASE}/bin/icmake
+
+SHEBANG_FILES= build \
+ documentation/examples/bison++Example.NEW/make \
+ documentation/man/calculator/build \
+ documentation/manual/examples/calc/build \
+ documentation/manual/examples/errorcalc/build \
+ documentation/manual/examples/mfcalc/build \
+ documentation/manual/examples/rpn/build \
+ documentation/manual/grammar/poly/build \
+ documentation/regression/run \
+ parser/driver/build \
+ scanner/driver/build
-NO_STAGE= yes
.include <bsd.port.options.mk>
post-patch:
- @${REINPLACE_CMD} 's|"/usr"|"${PREFIX}"| ; \
- s|"/share/bisonc++"|"/share/${PORTNAME}-${PORTVERSION}"| ; \
- s|"/share/doc/bisonc++"|"/share/doc/${PORTNAME}-${PORTVERSION}"| ; \
- s|"/share/man/man1"|"/man/man1"| ; \
- s|"g++"|"g++46"|' \
+ @${REINPLACE_CMD} 's|%%PREFIX%%|${PREFIX}|g; \
+ s|%%PORTVERSION%%|${PORTVERSION}|g' \
+ ${WRKSRC}/INSTALL.im
+ @${REINPLACE_CMD} 's|"g++|"g++47|' \
${WRKSRC}/INSTALL.im \
- ${WRKSRC}/build
- @${REINPLACE_CMD} 's|#!/usr/bin/icmake|#!${LOCALBASE}/bin/icmake| ; \
- s|"g++|"g++46|' \
- ${WRKSRC}/build \
${WRKSRC}/scanner/driver/build \
${WRKSRC}/parser/driver/build
- @${REINPLACE_CMD} 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|g' \
- ${WRKSRC}/documentation/regression/run \
- ${WRKSRC}/documentation/examples/bison++Example.NEW/make \
- ${WRKSRC}/documentation/manual/examples/rpn/build \
- ${WRKSRC}/documentation/manual/examples/errorcalc/build \
- ${WRKSRC}/documentation/manual/examples/calc/build \
- ${WRKSRC}/documentation/manual/examples/mfcalc/build \
- ${WRKSRC}/documentation/man/calculator/build
+ @${REINPLACE_CMD} 's|"gcc|"gcc47|' \
+ ${WRKSRC}/icmake/special
@${REINPLACE_CMD} 's|"cp -d |"cp -Pp | ; \
s|"cp -r |"cp -R | ; \
- s|"-doc"|"/doc"|' \
+ s|-doc|/doc|' \
${WRKSRC}/icmake/install
do-build:
@cd ${WRKSRC} && ./build program strip
-.if !defined(NO_INSTALL_MANPAGES)
@cd ${WRKSRC} && ./build man
-.endif
-.if ${PORT_OPTIONS:MDOCS}
@cd ${WRKSRC} && ./build manual
-.endif
do-install:
- cd ${WRKSRC} && ./build install program
-.if !defined(NO_INSTALL_MANPAGES)
- cd ${WRKSRC} && ./build install man
-.endif
-.if ${PORT_OPTIONS:MDOCS}
- cd ${WRKSRC} && ./build install manual
-.endif
+ cd ${WRKSRC} && ./build install program ${STAGEDIR}
+ cd ${WRKSRC} && ./build install man ${STAGEDIR}
+ cd ${WRKSRC} && ./build install manual ${STAGEDIR}
+ cd ${WRKSRC} && ./build install skel ${STAGEDIR}
.include <bsd.port.mk>
diff --git a/devel/bisoncpp/distinfo b/devel/bisoncpp/distinfo
index e36b9e15e902..95438d2c478f 100644
--- a/devel/bisoncpp/distinfo
+++ b/devel/bisoncpp/distinfo
@@ -1,2 +1,2 @@
-SHA256 (bisonc++_4.01.00.orig.tar.gz) = 5115a4edeb144a6c54ff5229578b0f1e2d98bfaa80a4092cf90561aab999c08a
-SIZE (bisonc++_4.01.00.orig.tar.gz) = 652332
+SHA256 (bisonc++_4.05.00.orig.tar.gz) = 02bc8562821e21def97c107e92ef719d457856a075fa428ed41a9274d25ed3e6
+SIZE (bisonc++_4.05.00.orig.tar.gz) = 667852
diff --git a/devel/bisoncpp/files/patch-INSTALL.im b/devel/bisoncpp/files/patch-INSTALL.im
new file mode 100644
index 000000000000..572c05f34024
--- /dev/null
+++ b/devel/bisoncpp/files/patch-INSTALL.im
@@ -0,0 +1,36 @@
+--- INSTALL.im.orig 2013-06-21 11:16:33.000000000 +0200
++++ INSTALL.im 2013-11-27 22:15:51.000000000 +0100
+@@ -15,7 +15,7 @@
+ #define LDFLAGS ""
+ // flags passed to the linker
+
+-#define SKEL "/usr/share/bisonc++"
++#define SKEL "%%PREFIX%%/share/"${PROGRAM}"-%%PORTVERSION%%"
+ // the directory where the skeleton files are installed
+ // Recompile options/data.cc if the skeleton location changes
+
+@@ -23,19 +23,19 @@
+ // =========================================================================
+ // The following locations are overruled by `build' arguments
+
+-#define BINARY "/usr/bin/"${PROGRAM}
++#define BINARY "%%PREFIX%%/bin/"${PROGRAM}
+ // the full path of the final program
+
+-#define MAN "/usr/share/man/man1"
++#define MAN "%%PREFIX%%/man/man1"
+ // the directory whre the manual page is stored
+
+-#define MANUAL "/usr/share/doc/"${PROGRAM}"-doc/manual"
++#define MANUAL "%%PREFIX%%/share/doc/"${PROGRAM}"-%%PORTVERSION%%/manual"
+ // the directory whre the manual page is stored
+
+-#define STD "/usr/share/doc/"${PROGRAM}
++#define STD "%%PREFIX%%/share/doc/"${PROGRAM}"-%%PORTVERSION%%"
+ // the directory where the standard documentation is stored
+
+-#define EXTRA "/usr/share/doc/"${PROGRAM}"-doc"
++#define EXTRA "%%PREFIX%%/share/doc/"${PROGRAM}"-%%PORTVERSION%%"
+ // the directory where the extra documentation is stored
+
+
diff --git a/devel/bisoncpp/files/patch-block__atindex.cc b/devel/bisoncpp/files/patch-block__atindex.cc
new file mode 100644
index 000000000000..3a5046090406
--- /dev/null
+++ b/devel/bisoncpp/files/patch-block__atindex.cc
@@ -0,0 +1,11 @@
+--- ./block/atindex.cc.orig 2013-06-23 20:13:49.000000000 +0200
++++ ./block/atindex.cc 2013-11-27 18:55:51.000000000 +0100
+@@ -6,7 +6,7 @@
+ d_atDollar.push_back(
+ AtDollar(
+ AtDollar::AT, length(), lineNr,
+- text, stol(text.substr(1)), false
++ text, A2x(text.substr(1)), false
+ )
+ );
+ append(text);
diff --git a/devel/bisoncpp/files/patch-block__block.ih b/devel/bisoncpp/files/patch-block__block.ih
new file mode 100644
index 000000000000..de64203cbb11
--- /dev/null
+++ b/devel/bisoncpp/files/patch-block__block.ih
@@ -0,0 +1,12 @@
+--- ./block/block.ih.orig 2013-06-23 20:13:49.000000000 +0200
++++ ./block/block.ih 2013-11-27 18:54:50.000000000 +0100
+@@ -5,6 +5,8 @@
+ #include <iterator>
+ #include <limits>
+
+-using namespace std;
++#include <bobcat/a2x>
+
++using namespace std;
++using namespace FBB;
+
diff --git a/devel/bisoncpp/files/patch-block__dollarindex.cc b/devel/bisoncpp/files/patch-block__dollarindex.cc
new file mode 100644
index 000000000000..8559db26d9d1
--- /dev/null
+++ b/devel/bisoncpp/files/patch-block__dollarindex.cc
@@ -0,0 +1,11 @@
+--- ./block/dollarindex.cc.orig 2013-06-23 20:13:49.000000000 +0200
++++ ./block/dollarindex.cc 2013-11-27 18:55:17.000000000 +0100
+@@ -6,7 +6,7 @@
+ {
+ d_atDollar.push_back(
+ AtDollar(AtDollar::DOLLAR, length(), lineNr,
+- text, stol(text.substr(1)), member)
++ text, A2x(text.substr(1)), member)
+ );
+ append(text);
+ }
diff --git a/devel/bisoncpp/files/patch-block__idindex.cc b/devel/bisoncpp/files/patch-block__idindex.cc
new file mode 100644
index 000000000000..0eede0627644
--- /dev/null
+++ b/devel/bisoncpp/files/patch-block__idindex.cc
@@ -0,0 +1,11 @@
+--- ./block/idindex.cc.orig 2013-06-23 20:13:49.000000000 +0200
++++ ./block/idindex.cc 2013-11-27 18:54:04.000000000 +0100
+@@ -8,7 +8,7 @@
+ d_atDollar.push_back(
+ AtDollar(
+ AtDollar::DOLLAR, length(), lineNr,
+- text, text.substr(begin, end - begin), stol(text.substr(end + 1))
++ text, text.substr(begin, end - begin), A2x(text.substr(end + 1))
+ )
+ );
+
diff --git a/devel/bisoncpp/files/patch-build b/devel/bisoncpp/files/patch-build
index 4d16b72b61dc..73a3abe983da 100644
--- a/devel/bisoncpp/files/patch-build
+++ b/devel/bisoncpp/files/patch-build
@@ -1,6 +1,6 @@
---- build.orig 2009-07-07 16:12:30.000000000 +0200
-+++ build 2009-11-02 14:28:18.000000000 +0100
-@@ -43,7 +43,10 @@
+--- ./build.orig 2013-11-27 18:04:34.000000000 +0100
++++ ./build 2013-11-27 18:04:34.000000000 +0100
+@@ -40,7 +40,10 @@
manpage();
if (option == "manual")
@@ -10,4 +10,4 @@
+ }
if (option == "library")
- library(1);
+ {
diff --git a/devel/bisoncpp/files/patch-icmake-install b/devel/bisoncpp/files/patch-icmake-install
new file mode 100644
index 000000000000..917f10570592
--- /dev/null
+++ b/devel/bisoncpp/files/patch-icmake-install
@@ -0,0 +1,91 @@
+--- icmake/install.orig 2013-06-21 11:16:34.000000000 +0200
++++ icmake/install 2013-11-27 22:05:08.000000000 +0100
+@@ -3,7 +3,6 @@
+ if (where == "")
+ where = defaultWhere;
+
+- md(where);
+ return where;
+ }
+
+@@ -13,22 +12,15 @@
+
+ if (what == "program")
+ {
+- if (where == "")
+- where = BINARY;
+-
+- path = get_path(where);
+- if (path != "")
+- md(path);
+-
++ where = setWhere(where + BINARY, BINARY);
+ printf(" INSTALLING the executable `", where, "'\n");
+- run("icmbuild install program " + where);
++ run("cp tmp/bin/* " + where);
+ exit(0);
+ }
+
+ if (what == "skel")
+ {
+- where = setWhere(where, SKEL);
+-
++ where = setWhere(where + SKEL, SKEL);
+ printf(" INSTALLING skeleton files at `" + where + "'\n");
+ md(where);
+ run("cp skeletons/* " + where);
+@@ -37,8 +29,7 @@
+
+ if (what == "man")
+ {
+- where = setWhere(where, MAN);
+-
++ where = setWhere(where + MAN, MAN);
+ printf(" INSTALLING the manual page at `", where, "'\n");
+ run("gzip -9 < tmp/man/" PROGRAM ".1 > " + where + "/" PROGRAM ".1.gz");
+ exit(0);
+@@ -46,21 +37,18 @@
+
+ if (what == "manual")
+ {
+- where = setWhere(where, MANUAL);
+-
++ where = setWhere(where + MANUAL, MANUAL);
+ printf(" INSTALLING the manual at `", where, "'\n");
+- run("cp -r tmp/manual " + where);
+-
++ md(where);
++ run("cp -r tmp/manual/* " + where);
+ exit(0);
+ }
+
+ if (what == "std")
+ {
+- where = setWhere(where, STD);
+-
++ where = setWhere(where + STD, STD);
+ printf(" INSTALLING the changelog at `", where, "\n");
+ run("gzip -9 < changelog > " + where + "/changelog.gz");
+-
+ printf(" INSTALLING the html-manual page at `", where, "\n");
+ run("cp tmp/manhtml/" PROGRAM "man.html " + where);
+ exit(0);
+@@ -68,17 +56,14 @@
+
+ if (what == "extra")
+ {
+- where = setWhere(where, EXTRA);
+-
++ where = setWhere(where + EXTRA, EXTRA);
+ printf(" INSTALLING original bison's docs at `", where + "'\n");
+ md(where + "/bison-docs");
+ run("cp -r documentation/html "
+ "documentation/bison.ps.org " + where + "/bison-docs");
+-
+ printf(" INSTALLING examples at `", where + "'\n");
+ run("cp -r documentation/examples " + where);
+ run("cp -r documentation/man/calculator " + where + "/examples");
+-
+ printf(" INSTALLING regression tests at `", where + "'\n");
+ run("cp -r documentation/regression " + where);
+ exit(0);
diff --git a/devel/bisoncpp/files/patch-icmake-manpage b/devel/bisoncpp/files/patch-icmake-manpage
index 58d879c22f61..9f4ca5497128 100644
--- a/devel/bisoncpp/files/patch-icmake-manpage
+++ b/devel/bisoncpp/files/patch-icmake-manpage
@@ -1,21 +1,19 @@
---- icmake/manpage.orig 2012-02-20 17:33:31.000000000 +0100
-+++ icmake/manpage 2012-12-02 13:45:58.000000000 +0100
-@@ -3,7 +3,7 @@
+--- icmake/manpage.orig 2013-06-21 11:16:34.000000000 +0200
++++ icmake/manpage 2013-11-27 17:42:34.000000000 +0100
+@@ -3,14 +3,29 @@
void manpage()
{
- md("tmp/man tmp/manhtml");
+ md("tmp/man");
- special();
+ chdir("documentation/man");
-@@ -11,8 +11,23 @@
-
- if ("bisonc++.yo" younger MANPAGE || "release.yo" younger MANPAGE)
+ if (PROGRAM ".yo" younger MANPAGE || "release.yo" younger MANPAGE)
{
-- run("yodl2man -o " MANPAGE " bisonc++");
-- run("yodl2html -o " MANHTML " bisonc++");
-+ run("yodl2man -l3 -o " MANPAGE " bisonc++");
+- run("yodl2man -o " MANPAGE " " PROGRAM);
+- run("yodl2html -o " MANHTML " " PROGRAM);
++ run("yodl2man -l3 -o " MANPAGE " " PROGRAM);
}
exit(0);
}
@@ -28,9 +26,9 @@
+
+ chdir("documentation/man");
+
-+ if ("bisonc++.yo" younger MANHTML || "release.yo" younger MANHTML)
++ if (PROGRAM ".yo" younger MANHTML || "release.yo" younger MANHTML)
+ {
-+ run("yodl2html -l3 -o " MANHTML " bisonc++");
++ run("yodl2html -l3 -o " MANHTML " " PROGRAM);
+ }
+
+ chdir("../..");
diff --git a/devel/bisoncpp/files/patch-options__options.ih b/devel/bisoncpp/files/patch-options__options.ih
new file mode 100644
index 000000000000..04f906205be4
--- /dev/null
+++ b/devel/bisoncpp/files/patch-options__options.ih
@@ -0,0 +1,10 @@
+--- ./options/options.ih.orig 2013-06-21 11:16:34.000000000 +0200
++++ ./options/options.ih 2013-11-27 18:56:37.000000000 +0100
+@@ -4,6 +4,7 @@
+ #include <bobcat/arg>
+ #include <bobcat/string>
+ #include <bobcat/mstream>
++#include <bobcat/a2x>
+
+ using namespace std;
+ using namespace FBB;
diff --git a/devel/bisoncpp/files/patch-options__setbasicstrings.cc b/devel/bisoncpp/files/patch-options__setbasicstrings.cc
new file mode 100644
index 000000000000..0cb4a8690ff9
--- /dev/null
+++ b/devel/bisoncpp/files/patch-options__setbasicstrings.cc
@@ -0,0 +1,11 @@
+--- ./options/setbasicstrings.cc.orig 2013-06-24 15:10:12.000000000 +0200
++++ ./options/setbasicstrings.cc 2013-11-27 18:56:48.000000000 +0100
+@@ -35,7 +35,7 @@
+
+ string nTokens;
+ if (d_arg.option(&nTokens, "required-tokens"))
+- d_requiredTokens = stoul(nTokens);
++ d_requiredTokens = A2x(nTokens);
+
+ d_arg.option(&d_genericFilename, 'f');
+ if (d_genericFilename.empty())
diff --git a/devel/bisoncpp/files/patch-scanner__lex.cc b/devel/bisoncpp/files/patch-scanner__lex.cc
new file mode 100644
index 000000000000..14703f672e36
--- /dev/null
+++ b/devel/bisoncpp/files/patch-scanner__lex.cc
@@ -0,0 +1,11 @@
+--- ./scanner/lex.cc.orig 2013-08-10 10:17:17.000000000 +0200
++++ ./scanner/lex.cc 2013-11-27 19:14:33.000000000 +0100
+@@ -2836,7 +2836,7 @@
+ {
+ #line 192 "lexer"
+ {
+- d_number = stoul(d_matched);
++ d_number = A2x(d_matched);
+ return Parser::NUMBER;
+ }
+
diff --git a/devel/bisoncpp/files/patch-scanner__scanner.ih b/devel/bisoncpp/files/patch-scanner__scanner.ih
new file mode 100644
index 000000000000..83ad8f67d145
--- /dev/null
+++ b/devel/bisoncpp/files/patch-scanner__scanner.ih
@@ -0,0 +1,10 @@
+--- ./scanner/scanner.ih.orig 2013-06-23 20:13:49.000000000 +0200
++++ ./scanner/scanner.ih 2013-11-27 19:03:53.000000000 +0100
+@@ -14,6 +14,7 @@
+ #include <bobcat/arg>
+ #include <bobcat/mstream>
+ #include <bobcat/string>
++#include <bobcat/a2x>
+
+ #include "../parser/parserbase.h"
+ #include "../options/options.h"
diff --git a/devel/bisoncpp/files/patch-scanner__scanner1.cc b/devel/bisoncpp/files/patch-scanner__scanner1.cc
new file mode 100644
index 000000000000..354b989777a2
--- /dev/null
+++ b/devel/bisoncpp/files/patch-scanner__scanner1.cc
@@ -0,0 +1,11 @@
+--- ./scanner/scanner1.cc.orig 2013-06-23 20:13:49.000000000 +0200
++++ ./scanner/scanner1.cc 2013-11-27 19:03:33.000000000 +0100
+@@ -15,7 +15,7 @@
+
+ string value;
+ if (arg.option(&value, "max-inclusion-depth"))
+- d_maxDepth = stoul(value);
++ d_maxDepth = A2x(value);
+ else
+ d_maxDepth = 10;
+ }
diff --git a/devel/bisoncpp/pkg-plist b/devel/bisoncpp/pkg-plist
index 811827efc0dc..3592e2591737 100644
--- a/devel/bisoncpp/pkg-plist
+++ b/devel/bisoncpp/pkg-plist
@@ -1,9 +1,10 @@
@comment $FreeBSD$
bin/bisonc++
-share/bisoncpp-%%PORTVERSION%%/bisonc++.cc
-share/bisoncpp-%%PORTVERSION%%/bisonc++.h
-share/bisoncpp-%%PORTVERSION%%/bisonc++.ih
-share/bisoncpp-%%PORTVERSION%%/bisonc++base.h
-share/bisoncpp-%%PORTVERSION%%/bisonc++polymorphic
-share/bisoncpp-%%PORTVERSION%%/bisonc++polymorphic.inline
-@dirrm share/bisoncpp-%%PORTVERSION%%
+man/man1/bisonc++.1.gz
+share/bisonc++-%%PORTVERSION%%/bisonc++.cc
+share/bisonc++-%%PORTVERSION%%/bisonc++.h
+share/bisonc++-%%PORTVERSION%%/bisonc++.ih
+share/bisonc++-%%PORTVERSION%%/bisonc++base.h
+share/bisonc++-%%PORTVERSION%%/bisonc++polymorphic
+share/bisonc++-%%PORTVERSION%%/bisonc++polymorphic.inline
+@dirrm share/bisonc++-%%PORTVERSION%%