Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Aug 2006 01:29:57 +0600 (YEKST)
From:      Stanislav Sedov <ssedov@mbsd.msk.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        ade@FreeBSD.org
Subject:   ports/101730: [PATCH] devel/m4: update to 1.4.5
Message-ID:  <20060809192957.B910F12C7F@fonon.realnet>
Resent-Message-ID: <200608092140.k79LeB6o063079@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         101730
>Category:       ports
>Synopsis:       [PATCH] devel/m4: update to 1.4.5
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 09 21:40:11 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Stanislav Sedov
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
MBSD labs, Inc.
>Environment:
System: FreeBSD fonon.realnet 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Wed Aug  2 21:44:37 MSD
>Description:
- Update to 1.4.5
- Add knob to not install examples

The following files was added:
- files/Makefile.in.diff
- files/m4.info.diff

I removed the following files:
- files/patch-aa

ChangeLog:
* Fix sysval on BeOS, OS/2, and other systems that store exit status
  in the low-order byte.  Additionally, on Unix platforms, if syscmd was
  terminated by a signal, sysval now displays the signal number shifted
  left by eight bits, to match traditional m4 implementations.
* The maketemp macro is no longer subject to platform limitations (such as
  26 or 32 max files from a given template).
* Frozen files now require that the first directive be V (version), to
  better diagnose version mismatch.  Additionally, if the F directive
  (builtin function) names an unknown builtin that existed in the m4 that
  froze the file but not in the current m4 (for example, changeword), the
  warning is deferred until an attempt is made to actually use the
  builtin.  This allows downgrading from beta m4-1.4o to stable m4-1.4.5
  without breaking autoconf.
* The format and indir macros are now recognized only with arguments.
* The eval macro no longer crashes on x86 architectures when dividing the
  minimum integer by -1.
* On systems with ecvt and fcvt, format no longer truncates trailing
  zeroes on integers printed with %.0f.  On systems without these
  functions, format is no longer subject to a buffer overflow that
  permitted arbitrary code execution.
* On native Windows builds, the macro __windows__ is provided instead of
  __unix__.  Likewise, on OS/2 builds, the macro __os2__ is provided.  This
  allows input files to determine when syscmd might behave differently.
* Fix bug in 1.4.3 patch to use \n line-endings that did not work for
  cygwin.
* When given the empty string or 0, undivert is now documented as a no-op
  rather than closing stdout, warning about a non-existent file, or trying
  to read a directory as a file.
* Many documentation improvements.  Also, the manual is now distributed
  under FDL 1.2, rather than a stricter verbatim-only license.
* Raise the -L (--nesting-limit) command line option limit from 250 to
  1024.
* The decr, incr, divert, m4exit, and substr macros treat an empty number
  as 0, issue a warning, and expand as normal; rather than issuing an error
  and expanding to the empty string.
* The eval macro now treats an empty radix argument as 10, handles radix 1,
  and treats the width argument as number of digits excluding the sign,
  for compatibility with other m4 implementations.
* The ifdef, divert, m4exit, substr, and translit macros now correctly
  ignore extra arguments.
* The popdef and undefine macros now correctly accept multiple arguments.
* Although changeword is on its last leg, if enabled, it now reverts to the
  default (faster) regexp when passed the empty string.
* The regexp and substr macros now warn and ignore a trailing backslash in
  the replacement, and warn on \n for n larger than the number of
  sub-expressions in the regexp.
* Fix a recursive push_string crashing bug, which affected changequote of
  three or more characters on some compilers.
* Use automake to fix build portability issues.
* Fix a recursive m4wrap crashing bug.
* Fix a 1 in 2**32 hash crashing bug.
* Tracing a macro by name is now persistent, even if the macro is
  subsequently undefined or redefined.  The traceon and traceoff macros no
  longer warn about undefined symbols.  This solves a crash when using
  indir on an undefined macro traced with the -t option, as well as an
  incorrect result of ifdef.  Furthermore, tracing is no longer transferred
  with builtins, solving the bug of "m4 -tm4_eval" failing to give trace
  output on the input "define(`m4_eval',defn(`eval'))m4_eval(1)".
* Fix a crash when a macro is undefined while collecting its arguments, by
  always using the definition that was in effect before argument
  collection.  This behavior matches the C pre-processor, and means that
  the sequence "define(`f',`1')f(define(`f',`2'))f" is now documented to
  result in "12", rather than the previously undocumented "22".
* Update the regex engine to fix several bugs.
* Fix a potential crash on machines where char is signed.

Copy of this message was sent to (ade@FreeBSD.org).

>How-To-Repeat:
>Fix:

--- m4-1.4.5.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/devel/m4/Makefile /var/tmp/ruby/m4/Makefile
--- /usr/ports/devel/m4/Makefile	Mon Dec  5 04:35:13 2005
+++ /var/tmp/ruby/m4/Makefile	Thu Aug 10 01:24:53 2006
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	m4
-PORTVERSION=	1.4.4
+PORTVERSION=	1.4.5
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_GNU}
 MASTER_SITE_SUBDIR=	m4
@@ -16,18 +16,31 @@
 
 USE_BZIP2=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	--program-prefix=g
+CONFIGURE_ARGS=	--program-prefix=g \
+		--mandir=${PREFIX}/man --infodir=${PREFIX}/info
+CONFIGURE_ENV=	MAKEINFO="makeinfo --no-split"
 
 .if defined(WITH_CHANGEWORD)
 CONFIGURE_ARGS+=	--enable-changeword
 .endif
 
 INFO=	m4
-
 EXAMPLESDIR=	share/examples/gm4
 
+.include <bsd.port.pre.mk>
+
+#
+# makeinfo 4.8 is required to rebuild m4.info
+#
+.if ${OSVERSION} < 601000
+EXTRA_PATCHES=	${PATCHDIR}/Makefile.in.diff \
+		${PATCHDIR}/m4.info.diff
+.endif
+
 post-install:
+.if !defined(NOPORTDOCS)
 	@${MKDIR} ${PREFIX}/${EXAMPLESDIR}
 	${INSTALL_DATA} ${WRKSRC}/examples/*.m4 ${PREFIX}/${EXAMPLESDIR}
+.endif
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -ruN --exclude=CVS /usr/ports/devel/m4/distinfo /var/tmp/ruby/m4/distinfo
--- /usr/ports/devel/m4/distinfo	Mon Nov 14 04:27:29 2005
+++ /var/tmp/ruby/m4/distinfo	Wed Aug  9 16:38:33 2006
@@ -1,3 +1,3 @@
-MD5 (m4-1.4.4.tar.bz2) = eb93bfbcb12cf00165583302bb31a822
-SHA256 (m4-1.4.4.tar.bz2) = 5a06ae07a7c7b6e9895be14015468947ef3f95182e60400e840efb25feea4b8f
-SIZE (m4-1.4.4.tar.bz2) = 306737
+MD5 (m4-1.4.5.tar.bz2) = 8bcd8244d5bed9f8e2d5f05ad693b8b4
+SHA256 (m4-1.4.5.tar.bz2) = 78b24e519d76a55e53c06fd98b1562637b95cef335142c295e11cdb6cf95166f
+SIZE (m4-1.4.5.tar.bz2) = 490343
diff -ruN --exclude=CVS /usr/ports/devel/m4/files/Makefile.in.diff /var/tmp/ruby/m4/files/Makefile.in.diff
--- /usr/ports/devel/m4/files/Makefile.in.diff	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/m4/files/Makefile.in.diff	Thu Aug 10 01:22:00 2006
@@ -0,0 +1,29 @@
+--- doc/Makefile.in.orig	Thu Aug 10 01:21:44 2006
++++ doc/Makefile.in	Thu Aug 10 01:22:00 2006
+@@ -228,26 +228,6 @@
+ 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ 
+ .texinfo.info:
+-	restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+-	am__cwd=`pwd` && cd $(srcdir) && \
+-	rm -rf $$backupdir && mkdir $$backupdir && \
+-	if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+-	  for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+-	    if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+-	  done; \
+-	else :; fi && \
+-	cd "$$am__cwd"; \
+-	if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+-	 -o $@ $<; \
+-	then \
+-	  rc=0; \
+-	  cd $(srcdir); \
+-	else \
+-	  rc=$$?; \
+-	  cd $(srcdir) && \
+-	  $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+-	fi; \
+-	rm -rf $$backupdir; exit $$rc
+ 
+ .texinfo.dvi:
+ 	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
diff -ruN --exclude=CVS /usr/ports/devel/m4/files/m4.info.diff /var/tmp/ruby/m4/files/m4.info.diff
--- /usr/ports/devel/m4/files/m4.info.diff	Thu Jan  1 05:00:00 1970
+++ /var/tmp/ruby/m4/files/m4.info.diff	Thu Aug 10 01:21:12 2006
@@ -0,0 +1,11 @@
+--- doc/m4.info.orig	Thu Aug 10 01:21:07 2006
++++ doc/m4.info	Thu Aug 10 01:21:12 2006
+@@ -20,7 +20,7 @@
+ 
+ INFO-DIR-SECTION GNU programming tools
+ START-INFO-DIR-ENTRY
+-* M4: (m4).                     A powerful macro processor.
++* GM4: (m4).                     A powerful macro processor.
+ END-INFO-DIR-ENTRY
+ 
+ 
diff -ruN --exclude=CVS /usr/ports/devel/m4/files/patch-aa /var/tmp/ruby/m4/files/patch-aa
--- /usr/ports/devel/m4/files/patch-aa	Mon Jun 16 14:19:15 1997
+++ /var/tmp/ruby/m4/files/patch-aa	Thu Jan  1 05:00:00 1970
@@ -1,11 +0,0 @@
---- doc/Makefile.in.orig	Sun Nov  6 05:52:26 1994
-+++ doc/Makefile.in	Mon Jun 16 16:08:39 1997
-@@ -40,7 +40,7 @@
- info: m4.info
- 
- m4.info: m4.texinfo version.texi
--	cd $(srcdir) && $(MAKEINFO) m4.texinfo
-+	cd $(srcdir) && rm -f m4.info* && $(MAKEINFO) --no-split m4.texinfo
- 
- dvi: m4.dvi
- 
diff -ruN --exclude=CVS /usr/ports/devel/m4/files/patch-ab /var/tmp/ruby/m4/files/patch-ab
--- /usr/ports/devel/m4/files/patch-ab	Tue Apr  5 13:39:55 2005
+++ /var/tmp/ruby/m4/files/patch-ab	Thu Aug 10 01:10:08 2006
@@ -1,11 +1,11 @@
---- doc/m4.texinfo.orig	Thu Mar 31 15:17:00 2005
-+++ doc/m4.texinfo	Tue Apr  5 11:36:34 2005
-@@ -18,7 +18,7 @@
+--- doc/m4.texinfo.orig	Sun Jul 16 03:48:08 2006
++++ doc/m4.texinfo	Thu Aug 10 01:10:08 2006
+@@ -64,7 +64,7 @@
  
  @dircategory GNU programming tools
  @direntry
--* m4: (m4).			A powerful macro processor.
-+* Gm4: (m4).			A powerful macro processor.
+-* M4: (m4).                     A powerful macro processor.
++* GM4: (m4).                     A powerful macro processor.
  @end direntry
  
- @ifnottex
+ @titlepage
diff -ruN --exclude=CVS /usr/ports/devel/m4/pkg-plist /var/tmp/ruby/m4/pkg-plist
--- /usr/ports/devel/m4/pkg-plist	Fri Jul 16 20:54:27 2004
+++ /var/tmp/ruby/m4/pkg-plist	Thu Aug 10 01:11:21 2006
@@ -1,28 +1,30 @@
 bin/gm4
-%%EXAMPLESDIR%%/capitalize.m4
-%%EXAMPLESDIR%%/comments.m4
-%%EXAMPLESDIR%%/ddivert.m4
-%%EXAMPLESDIR%%/debug.m4
-%%EXAMPLESDIR%%/esyscmd.m4
-%%EXAMPLESDIR%%/exp.m4
-%%EXAMPLESDIR%%/file.m4
-%%EXAMPLESDIR%%/foreach.m4
-%%EXAMPLESDIR%%/forloop.m4
-%%EXAMPLESDIR%%/fstab.m4
-%%EXAMPLESDIR%%/hanoi.m4
-%%EXAMPLESDIR%%/incl-test.m4
-%%EXAMPLESDIR%%/include.m4
-%%EXAMPLESDIR%%/indir.m4
-%%EXAMPLESDIR%%/misc.m4
-%%EXAMPLESDIR%%/multiquotes.m4
-%%EXAMPLESDIR%%/patsubst.m4
-%%EXAMPLESDIR%%/pushpop.m4
-%%EXAMPLESDIR%%/regexp.m4
-%%EXAMPLESDIR%%/reverse.m4
-%%EXAMPLESDIR%%/sync-lines.m4
-%%EXAMPLESDIR%%/sysv-args.m4
-%%EXAMPLESDIR%%/trace.m4
-%%EXAMPLESDIR%%/translit.m4
-%%EXAMPLESDIR%%/undivert.m4
-%%EXAMPLESDIR%%/wrap.m4
-@dirrm %%EXAMPLESDIR%%
+%%PORTDOCS%%%%EXAMPLESDIR%%/capitalize.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/comments.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/ddivert.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/debug.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/esyscmd.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/exp.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/file.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/foreach.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/forloop.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/fstab.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/hanoi.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/incl-test.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/incl.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/include.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/indir.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/misc.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/multiquotes.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/patsubst.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/pushpop.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/regexp.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/reverse.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/sync-lines.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/sysv-args.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/trace.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/translit.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/undivert.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/wrap.m4
+%%PORTDOCS%%%%EXAMPLESDIR%%/wrapfifo.m4
+%%PORTDOCS%%@dirrmtry %%EXAMPLESDIR%%
--- m4-1.4.5.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



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