aboutsummaryrefslogtreecommitdiffstats
path: root/science
diff options
context:
space:
mode:
authoryuri <yuri@FreeBSD.org>2018-07-25 04:22:15 +0800
committeryuri <yuri@FreeBSD.org>2018-07-25 04:22:15 +0800
commit177aef4f2adf03d83895476dba5b8405b55e7fcb (patch)
tree090905279664e49166324e9445d959104268c84e /science
parentd8cd8c7fe16bd1bba35609fb27692c69d875c228 (diff)
downloadfreebsd-ports-gnome-177aef4f2adf03d83895476dba5b8405b55e7fcb.tar.gz
freebsd-ports-gnome-177aef4f2adf03d83895476dba5b8405b55e7fcb.tar.zst
freebsd-ports-gnome-177aef4f2adf03d83895476dba5b8405b55e7fcb.zip
science/mpqc: Fix build
Two fixes: * Force some stl-related define values because configured values are wrong * Force the C++-98 standard because of breakage on newer clangs/systems Reported by: fallout
Diffstat (limited to 'science')
-rw-r--r--science/mpqc/Makefile9
-rw-r--r--science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.cc20
-rw-r--r--science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.ll20
3 files changed, 8 insertions, 41 deletions
diff --git a/science/mpqc/Makefile b/science/mpqc/Makefile
index af2c6d3cea28..466f5ae1516e 100644
--- a/science/mpqc/Makefile
+++ b/science/mpqc/Makefile
@@ -3,7 +3,7 @@
PORTNAME= mpqc
PORTVERSION= 2.3.1
-PORTREVISION= 34
+PORTREVISION= 35
CATEGORIES= science parallel
MASTER_SITES= SF
@@ -32,6 +32,7 @@ INSTALL_TARGET= install install_devel
DESTDIRNAME= installroot
SHEBANG_FILES= src/bin/mpqc/ccarunproc src/bin/mpqc/mpqcrunproc
USE_LDCONFIG= yes
+USE_CXXSTD= c++98 # workaround https://github.com/ValeevGroup/mpqc/issues/57
OPTIONS_DEFINE= ATLAS DOXYGEN EXAMPLES ICC MPICH OPTIFLAGS
OPTIONS_DEFAULT= DOXYGEN
@@ -70,6 +71,12 @@ post-patch:
-e 's|/usr/bin/wish|${LOCALBASE}/bin/wish|' \
${WRKSRC}/configure
+post-configure: # workaround: https://github.com/ValeevGroup/mpqc/issues/56
+ @${REINPLACE_CMD} -e ' \
+ s|/\* #undef USING_NAMESPACE_STD \*/|#define USING_NAMESPACE_STD 1|; \
+ s|/\* #undef HAVE_SGETN \*/|#define HAVE_SGETN 1|' \
+ ${WRKSRC}/src/lib/scconfig.h
+
do-build-DOXYGEN-on:
@(cd ${WRKSRC}/doc && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS})
${RM} ${WRKSRC}/doc/man/man1/_* ${WRKSRC}/doc/man/man3/_*
diff --git a/science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.cc b/science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.cc
deleted file mode 100644
index 58951354f321..000000000000
--- a/science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/lib/util/keyval/ipv2_scan.cc.orig 2018-07-22 01:07:05 UTC
-+++ src/lib/util/keyval/ipv2_scan.cc
-@@ -673,7 +673,7 @@ YY_RULE_SETUP
- }
- yylval.str = (char *)malloc(strlenyytext+1);
- if (!yylval.str) {
-- ExEnv::errn() << "IPV2: {string} rule: malloc failed" << endl;
-+ ExEnv::errn() << "IPV2: {string} rule: malloc failed" << std::endl;
- abort();
- }
- strcpy(yylval.str,yytext);
-@@ -684,7 +684,7 @@ case 3:
- YY_RULE_SETUP
- { yylval.str = (char *)malloc(strlen(yytext));
- if (!yylval.str) {
-- ExEnv::errn() << "IPV2: {qstring} rule: malloc failed" << endl;
-+ ExEnv::errn() << "IPV2: {qstring} rule: malloc failed" << std::endl;
- abort();
- }
- strcpy(yylval.str,&yytext[1]);
diff --git a/science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.ll b/science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.ll
deleted file mode 100644
index 8516730dccfa..000000000000
--- a/science/mpqc/files/patch-src_lib_util_keyval_ipv2__scan.ll
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/lib/util/keyval/ipv2_scan.ll.orig 2018-07-22 01:07:58 UTC
-+++ src/lib/util/keyval/ipv2_scan.ll
-@@ -59,7 +59,7 @@ qstring \"[^"\n]+\"
- }
- yylval.str = (char *)malloc(strlenyytext+1);
- if (!yylval.str) {
-- ExEnv::errn() << "IPV2: {string} rule: malloc failed" << endl;
-+ ExEnv::errn() << "IPV2: {string} rule: malloc failed" << std::endl;
- abort();
- }
- strcpy(yylval.str,yytext);
-@@ -67,7 +67,7 @@ qstring \"[^"\n]+\"
- }
- {qstring} { yylval.str = (char *)malloc(strlen(yytext));
- if (!yylval.str) {
-- ExEnv::errn() << "IPV2: {qstring} rule: malloc failed" << endl;
-+ ExEnv::errn() << "IPV2: {qstring} rule: malloc failed" << std::endl;
- abort();
- }
- strcpy(yylval.str,&yytext[1]);