Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jan 2019 00:57:16 +0100
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Stefan Esser <se@FreeBSD.org>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r491519 - in head/math: . gh-bc gnubc
Message-ID:  <4l9s-e3oj-wny@FreeBSD.org>
In-Reply-To: <201901282159.x0SLxgrr059232@repo.freebsd.org> (Stefan Esser's message of "Mon, 28 Jan 2019 21:59:42 %2B0000 (UTC)")
References:  <201901282159.x0SLxgrr059232@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Stefan Esser <se@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@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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4l9s-e3oj-wny>