svn commit: r491519 - in head/math: . gh-bc gnubc
Jan Beich
jbeich at FreeBSD.org
Mon Jan 28 23:57:27 UTC 2019
Stefan Esser <se at FreeBSD.org> writes:
> Author: se
> Date: Mon Jan 28 21:59:41 2019
> New Revision: 491519
> URL: https://svnweb.freebsd.org/changeset/ports/491519
>
> Log:
> New port of a BSD licensed and GNU compatible bc and dc program.
>
> These programs have been used in a number of other projects over
> many years and they are highly portable and heavily tested.
>
> Obtained from: Gavin Howard <gavin.d.howard at gmail.com>
> Approved by: antoine (mentor)
Can you add USE_CSTD=gnu99 for GCC < 5 (e.g., GCC 4.2 in base) on
powerpc*, mips*, riscv64, sparc64? Or maybe ask upstream to move
-std=c99 from release.sh to Makefile.in.
In file included from ./include/lex.h:30:0,
from ./include/dc.h:29,
from gen/dc_help.c:5:
./include/vector.h:52:34: error: expected ';', ',' or ')' before 'v'
void bc_vec_init(BcVec *restrict v, size_t esize, BcVecFree dtor);
^
./include/vector.h:53:36: error: expected ';', ',' or ')' before 'v'
void bc_vec_expand(BcVec *restrict v, size_t req);
^
./include/vector.h:55:34: error: expected ';', ',' or ')' before 'v'
void bc_vec_npop(BcVec *restrict v, size_t n);
^
./include/vector.h:57:34: error: expected ';', ',' or ')' before 'v'
void bc_vec_push(BcVec *restrict v, const void *data);
^
./include/vector.h:58:35: error: expected ';', ',' or ')' before 'v'
void bc_vec_npush(BcVec *restrict v, size_t n, const void *data);
^
./include/vector.h:59:38: error: expected ';', ',' or ')' before 'v'
void bc_vec_pushByte(BcVec *restrict v, uchar data);
^
./include/vector.h:60:39: error: expected ';', ',' or ')' before 'v'
void bc_vec_pushIndex(BcVec *restrict v, size_t idx);
^
./include/vector.h:61:36: error: expected ';', ',' or ')' before 'v'
void bc_vec_string(BcVec *restrict v, size_t len, const char *restrict str);
^
./include/vector.h:62:36: error: expected ';', ',' or ')' before 'v'
void bc_vec_concat(BcVec *restrict v, const char *restrict str);
^
./include/vector.h:63:35: error: expected ';', ',' or ')' before 'v'
void bc_vec_empty(BcVec *restrict v);
^
./include/vector.h:70:41: error: expected ';', ',' or ')' before 'v'
void* bc_vec_item(const BcVec *restrict v, size_t idx);
^
./include/vector.h:71:45: error: expected ';', ',' or ')' before 'v'
void* bc_vec_item_rev(const BcVec *restrict v, size_t idx);
^
./include/vector.h:75:36: error: expected ';', ',' or ')' before 'v'
bool bc_map_insert(BcVec *restrict v, const struct BcId *restrict ptr,
^
./include/vector.h:77:43: error: expected ';', ',' or ')' before 'v'
size_t bc_map_index(const BcVec *restrict v, const struct BcId *restrict ptr);
^
In file included from ./include/lang.h:30:0,
from ./include/lex.h:31,
from ./include/dc.h:29,
from gen/dc_help.c:5:
./include/num.h:36:18: error: expected ':', ',', ';', '}' or '__attribute__' before 'num'
BcDig *restrict num;
^
./include/num.h:98:38: error: expected ';', ',' or ')' before 'a'
BcStatus bc_num_sqrt(BcNum *restrict a, BcNum *restrict b, size_t scale);
^
./include/num.h:112:38: error: expected ';', ',' or ')' before 'n'
void bc_num_truncate(BcNum *restrict n, size_t places);
^
./include/num.h:116:70: error: expected ';', ',' or ')' before 'd'
BcStatus bc_num_modexp(BcNum *a, BcNum *b, BcNum *c, BcNum *restrict d);
^
./include/num.h:119:33: error: expected ';', ',' or ')' before 'n'
void bc_num_one(BcNum *restrict n);
^
./include/num.h:120:33: error: expected ';', ',' or ')' before 'n'
void bc_num_ten(BcNum *restrict n);
^
./include/num.h:122:39: error: expected ';', ',' or ')' before 'n'
BcStatus bc_num_parse(BcNum *restrict n, const char *restrict val,
^
./include/num.h:124:39: error: expected ';', ',' or ')' before 'n'
BcStatus bc_num_print(BcNum *restrict n, BcNum *restrict base,
^
./include/num.h:127:40: error: expected ';', ',' or ')' before 'n'
BcStatus bc_num_stream(BcNum *restrict n, BcNum *restrict base);
^
> +do-install:
> + ${INSTALL_PROGRAM} ${WRKSRC}/bin/bc ${STAGEDIR}${PREFIX}/bin/
> + ${LN} ${STAGEDIR}${PREFIX}/bin/bc ${STAGEDIR}${PREFIX}/bin/dc
> + ${INSTALL_MAN} ${WRKSRC}/manuals/bc.1 ${STAGEDIR}${MANPREFIX}/man/man1
> + ${INSTALL_MAN} ${WRKSRC}/manuals/dc.1 ${STAGEDIR}${MANPREFIX}/man/man1
Why not use vendor install target?
> +do-test:
> + ${MAKE} -C ${WRKSRC} test
Have you tried TEST_TARGET=test instead?
Index: math/gh-bc/Makefile
===================================================================
--- math/gh-bc/Makefile (revision 491519)
+++ math/gh-bc/Makefile (working copy)
@@ -14,21 +14,15 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
USE_GITHUB= yes
GH_ACCOUNT= gavinhoward
+USE_CSTD= gnu99
HAS_CONFIGURE= yes
CONFIGURE_SCRIPT= configure.sh
+CONFIGURE_ENV= MANDIR="${PREFIX}/man"
CONFIGURE_ARGS= -G
+TEST_TARGET= test
CONFLICTS_INSTALL= bc-[0-9]*
PLIST_FILES= bin/bc bin/dc man/man1/bc.1.gz man/man1/dc.1.gz
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bin/bc ${STAGEDIR}${PREFIX}/bin/
- ${LN} ${STAGEDIR}${PREFIX}/bin/bc ${STAGEDIR}${PREFIX}/bin/dc
- ${INSTALL_MAN} ${WRKSRC}/manuals/bc.1 ${STAGEDIR}${MANPREFIX}/man/man1
- ${INSTALL_MAN} ${WRKSRC}/manuals/dc.1 ${STAGEDIR}${MANPREFIX}/man/man1
-
-do-test:
- ${MAKE} -C ${WRKSRC} test
-
.include <bsd.port.mk>
More information about the svn-ports-head
mailing list