Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Sep 2020 13:34:56 +0000 (UTC)
From:      =?UTF-8?Q?Stefan_E=c3=9fer?= <se@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r549724 - in head/math/oleo: . files
Message-ID:  <202009231334.08NDYuE4021548@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: se
Date: Wed Sep 23 13:34:56 2020
New Revision: 549724
URL: https://svnweb.freebsd.org/changeset/ports/549724

Log:
  Fix build
  
  The configure script ran into an infinite loop due to an optimization
  that assumes multiplication of 2 positive numbers was always positive
  (ignoring wrap-around). Pass "-fwrapv" to the configure script and build
  the package with that option.
  
  Two parsers are generated and both use the same global variables. Fix
  the build with -fno-common by use of pre-processor macros that rename
  the variables used in one of those source files. Passing -p to set a
  non-conflicting prefix other than "yy" does not work with implicit
  ".c.y" rules and was therefore not applicable.

Modified:
  head/math/oleo/Makefile
  head/math/oleo/files/patch-src_posixtm.y

Modified: head/math/oleo/Makefile
==============================================================================
--- head/math/oleo/Makefile	Wed Sep 23 12:44:16 2020	(r549723)
+++ head/math/oleo/Makefile	Wed Sep 23 13:34:56 2020	(r549724)
@@ -3,7 +3,7 @@
 
 PORTNAME=	oleo
 PORTVERSION=	1.99.16
-PORTREVISION=	10
+PORTREVISION=	11
 CATEGORIES=	math
 MASTER_SITES=	GNU
 
@@ -17,6 +17,7 @@ USES=		bison:alias localbase ncurses perl5
 USE_PERL5=	build
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--with-x --without-xlt --without-SciPlot
+CONFIGURE_ENV=	CFLAGS=-fwrapv
 MAKE_ARGS+=	DESTDIR="${STAGEDIR}"
 
 BINARY_ALIAS=	makeinfo=false # disable detecting local makeinfo
@@ -39,7 +40,7 @@ NLS_LIBS=		-lintl
 NLS_CONFIGURE_ENABLE=	nls
 NLS_USES_OFF=		gettext-tools
 
-post-patch:
+pre-build:
 	@${GREP} -lR "malloc\.h" ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e \
 		's|malloc\.h|stdlib.h|g'
 .for pof in en fr nl

Modified: head/math/oleo/files/patch-src_posixtm.y
==============================================================================
--- head/math/oleo/files/patch-src_posixtm.y	Wed Sep 23 12:44:16 2020	(r549723)
+++ head/math/oleo/files/patch-src_posixtm.y	Wed Sep 23 13:34:56 2020	(r549724)
@@ -1,6 +1,18 @@
 --- src/posixtm.y.orig	2000-07-22 06:13:16 UTC
 +++ src/posixtm.y
-@@ -85,6 +85,7 @@ date :
+@@ -40,6 +40,11 @@ char *alloca ();
+ #include <time.h>
+ 
+ #define YYDEBUG 1
++#define yychar yychar_posixtm
++#define yyerrflag yyerrflag_posixtm
++#define yylval yylval_posixtm
++#define yynerrs yynerrs_posixtm
++#define yyval yyval_posixtm
+ 
+ /* Lexical analyzer's current scan position in the input string. */
+ static char *curpos;
+@@ -85,6 +90,7 @@ date :
  		   YYABORT;
  		 }
  	       }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009231334.08NDYuE4021548>