pkgsrc/devel/m4

2012/01/22 18:36:16 以降の -current では fpos_t が off_t と同じものでは無くなったので FILE 構造体の中まで操作しているプログラムがコンパイルできなくなる事が予想されていたんだけど GNU m4 で引っかかった(´・ω・`)

pkgsrc へのパッチ

diff --exclude=CVS -uNr m4/patches/patch-configure m4.new/patches/patch-configure
--- m4/patches/patch-configure	1970-01-01 09:00:00.000000000 +0900
+++ m4.new/patches/patch-configure	2012-01-27 23:16:08.000000000 +0900
@@ -0,0 +1,57 @@
+$NetBSD$
+
+--- configure.orig	2011-03-02 02:36:39.000000000 +0900
++++ configure	2012-01-27 22:51:44.000000000 +0900
+@@ -34154,6 +34154,52 @@
+ _ACEOF
+ 
+ 
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to check FILE._offset type is off_t" >&5
++$as_echo_n "checking whether to check FILE._offset type is off_t... " >&6; }
++if ${M4_cv_file_offset_type_is_off_t+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "$cross_compiling" = yes; then :
++  M4_cv_file_offset_type_is_off_t='guessing no'
++else
++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++FILE *f = fopen ("conftest.tmp", "w+");
++       off_t off = 0;
++       f->_offset = off;
++       fclose (f);
++       return 0;
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++  M4_cv_file_offset_type_is_off_t=yes
++else
++  M4_cv_file_offset_type_is_off_t=no
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++  conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $M4_cv_file_offset_type_is_off_t" >&5
++$as_echo "$M4_cv_file_offset_type_is_off_t" >&6; }
++if test "$M4_cv_file_offset_type_is_off_t" = yes ; then
++  M4_file_offset_type_is_off_t=1
++else
++  M4_file_offset_type_is_off_t=0
++fi
++
++cat >>confdefs.h <<_ACEOF
++#define FILE_OFFSET_TYPE_IS_OFF_T $M4_file_offset_type_is_off_t
++_ACEOF
++
++
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if changeword is wanted" >&5
+ $as_echo_n "checking if changeword is wanted... " >&6; }
diff --exclude=CVS -uNr m4/patches/patch-configure.ac m4.new/patches/patch-configure.ac
--- m4/patches/patch-configure.ac	1970-01-01 09:00:00.000000000 +0900
+++ m4.new/patches/patch-configure.ac	2012-01-27 23:16:13.000000000 +0900
@@ -0,0 +1,31 @@
+$NetBSD$
+
+--- configure.ac.orig	2011-02-27 08:42:45.000000000 +0900
++++ configure.ac	2012-01-27 22:50:27.000000000 +0900
+@@ -121,6 +121,26 @@
+ AC_DEFINE_UNQUOTED([RENAME_OPEN_FILE_WORKS], [$M4_rename_open_works],
+   [Define to 1 if a file can be renamed while open, or to 0 if not.])
+ 
++AC_CACHE_CHECK([whether to check FILE._offset type is off_t],
++  [M4_cv_file_offset_type_is_off_t],
++  [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
++      [FILE *f = fopen ("conftest.tmp", "w+");
++       off_t off = 0;
++       f->_offset = off;
++       fclose (f);
++       return 0;])],
++    [M4_cv_file_offset_type_is_off_t=yes],
++    [M4_cv_file_offset_type_is_off_t=no],
++    [M4_cv_file_offset_type_is_off_t='guessing no'])])
++if test "$M4_cv_file_offset_type_is_off_t" = yes ; then
++  M4_file_offset_type_is_off_t=1
++else
++  M4_file_offset_type_is_off_t=0
++fi
++AC_DEFINE_UNQUOTED([FILE_OFFSET_TYPE_IS_OFF_T],
++  [$M4_file_offset_type_is_off_t],
++  [Define to 1 if FILE._offset type is off_t, or to 0 if not.])
++
+ dnl Don't let changeword get in our way, if bootstrapping with a version of
+ dnl m4 that already turned the feature on.
+ m4_ifdef([changeword], [m4_undefine([changeword])])dnl
diff --exclude=CVS -uNr m4/patches/patch-lib-config.hin m4.new/patches/patch-lib-config.hin
--- m4/patches/patch-lib-config.hin	1970-01-01 09:00:00.000000000 +0900
+++ m4.new/patches/patch-lib-config.hin	2012-01-27 23:16:17.000000000 +0900
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- lib/config.hin.orig	2011-03-02 01:57:39.000000000 +0900
++++ lib/config.hin	2012-01-27 23:07:49.000000000 +0900
+@@ -55,6 +55,9 @@
+ /* Define this to 1 if F_DUPFD behavior does not match POSIX */
+ #undef FCNTL_DUPFD_BUGGY
+ 
++/* Define to 1 if FILE._offset type is off_t, or to 0 if not. */
++#undef FILE_OFFSET_TYPE_IS_OFF_T
++
+ /* Define as the bit index in the word where to find bit 0 of the exponent of
+    'float'. */
+ #undef FLT_EXPBIT0_BIT
diff --exclude=CVS -uNr m4/patches/patch-lib-fflush.c m4.new/patches/patch-lib-fflush.c
--- m4/patches/patch-lib-fflush.c	1970-01-01 09:00:00.000000000 +0900
+++ m4.new/patches/patch-lib-fflush.c	2012-01-27 23:16:24.000000000 +0900
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- lib/fflush.c.orig	2011-03-02 01:39:27.000000000 +0900
++++ lib/fflush.c	2012-01-27 23:11:57.000000000 +0900
+@@ -91,7 +91,7 @@
+ update_fpos_cache (FILE *fp, off_t pos)
+ {
+ #if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+-# if defined __CYGWIN__
++# if defined __CYGWIN__ || defined FILE_OFFSET_TYPE_IS_OFF_T
+   /* fp_->_offset is typed as an integer.  */
+   fp_->_offset = pos;
+ # else
diff --exclude=CVS -uNr m4/patches/patch-lib-fseek.c m4.new/patches/patch-lib-fseek.c
--- m4/patches/patch-lib-fseek.c	1970-01-01 09:00:00.000000000 +0900
+++ m4.new/patches/patch-lib-fseek.c	2012-01-27 23:16:30.000000000 +0900
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- lib/fseeko.c.orig	2011-03-02 01:39:28.000000000 +0900
++++ lib/fseeko.c	2012-01-27 23:12:08.000000000 +0900
+@@ -109,7 +109,7 @@
+ #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+       fp->_flags &= ~_IO_EOF_SEEN;
+ #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+-# if defined __CYGWIN__
++# if defined __CYGWIN__ || defined FILE_OFFSET_TYPE_IS_OFF_T
+       /* fp_->_offset is typed as an integer.  */
+       fp_->_offset = pos;
+ # else