diff --git a/editors/emacs21/Makefile b/editors/emacs21/Makefile index 5a5c9df46a8d..db77c22b02b4 100644 --- a/editors/emacs21/Makefile +++ b/editors/emacs21/Makefile @@ -60,10 +60,6 @@ LATEST_LINK= emacs21 .include -.if ${OSVERSION} > 900007 -BROKEN= fails to build with new utmpx -.endif - .if ${ARCH} == "ia64" CFLAGS:= ${CFLAGS:C/-O.?/-O0/g} CONFIGURE_ENV= CFLAGS="${CFLAGS}" diff --git a/editors/emacs21/files/patch-src:utmpx.c b/editors/emacs21/files/patch-src:utmpx.c new file mode 100644 index 000000000000..c3988abd2bf6 --- /dev/null +++ b/editors/emacs21/files/patch-src:utmpx.c @@ -0,0 +1,35 @@ +--- src/filelock.c.orig 2008-01-07 23:30:11.000000000 -0500 ++++ src/filelock.c 2010-02-12 18:40:07.000000000 -0500 +@@ -64,7 +64,13 @@ + + #ifdef CLASH_DETECTION + ++#if __FreeBSD_version >= 900007 ++#include ++#undef BOOT_TIME ++#define ut_time ut_tv.tv_sec ++#else + #include ++#endif + + #if !defined (S_ISLNK) && defined (S_IFLNK) + #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +@@ -253,13 +259,17 @@ + the first reboot record otherwise. + Ignore all reboot records on or before BOOT_TIME. + Success is indicated by setting BOOT_TIME to a larger value. */ +- + void + get_boot_time_1 (filename, newest) + char *filename; + int newest; + { ++#if __FreeBSD_version >= 900007 ++ struct utmpx ut, *utp; ++#else + struct utmp ut, *utp; ++#endif ++ + int desc; + + if (filename)