From 4cd17692550b74ab07a15c1acc099cdd9b5af0c5 Mon Sep 17 00:00:00 2001 From: Steve Price Date: Mon, 18 Jan 1999 03:21:53 +0000 Subject: From maintainer: ELF building fix. Many part of fix from editors/emacs. PR: 9451 Submitted by: maintainer --- korean/hanemacs/Makefile | 12 +++++--- korean/hanemacs/files/emacs.sh | 10 +++++++ korean/hanemacs/files/patch-ac | 68 ++++++++++++++++++++++++++++++++---------- korean/hanemacs/files/patch-ae | 18 ++++++++--- korean/hanemacs/files/patch-af | 22 ++++++++++++++ korean/hanemacs/pkg-plist | 4 ++- 6 files changed, 109 insertions(+), 25 deletions(-) create mode 100644 korean/hanemacs/files/emacs.sh create mode 100644 korean/hanemacs/files/patch-af (limited to 'korean/hanemacs') diff --git a/korean/hanemacs/Makefile b/korean/hanemacs/Makefile index 27da4364b633..25a6d1edc591 100644 --- a/korean/hanemacs/Makefile +++ b/korean/hanemacs/Makefile @@ -3,7 +3,7 @@ # Date created: 12 Mar 1998 # Whom: CHOI Junho # -# $Id: Makefile,v 1.1.1.1 1998/05/17 22:25:54 kuriyama Exp $ +# $Id: Makefile,v 1.2 1998/10/16 01:12:22 jseger Exp $ # DISTNAME= hanemacs-19.34b-1 @@ -14,12 +14,11 @@ MASTER_SITES= ftp://ftp.kaist.ac.kr/pub/hangul/editor/HanEmacs/ \ MAINTAINER= junker@jazz.snu.ac.kr -BROKEN_ELF= yes - WRKSRC= ${WRKDIR}/hanemacs-19.34 GNU_CONFIGURE= yes USE_GMAKE= yes -CONFIGURE_ARGS= i386--freebsd --with-x-toolkit --prefix=${PREFIX} +CONFIGURE_ARGS= i386--freebsd --with-x-toolkit \ + --sharedstatedir=/var/run STRIP= MAN1= emacs.1 etags.1 ctags.1 @@ -42,5 +41,10 @@ post-install: .for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode message install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir .endfor +# install emacs.sh into ${PREFIX}/etc/rc.d + ${MKDIR} /var/run/emacs/lock + chmod 1777 /var/run/emacs/lock + @${MKDIR} ${PREFIX}/etc/rc.d + @${INSTALL_SCRIPT} ${FILESDIR}/emacs.sh ${PREFIX}/etc/rc.d .include diff --git a/korean/hanemacs/files/emacs.sh b/korean/hanemacs/files/emacs.sh new file mode 100644 index 000000000000..09baabfd255c --- /dev/null +++ b/korean/hanemacs/files/emacs.sh @@ -0,0 +1,10 @@ +#!/bin/sh +if [ -d /var/run/emacs/lock ] +then + rm -f /var/run/emacs/lock/* +else + mkdir -p /var/run/emacs/lock +fi +chmod 1777 /var/run/emacs/lock +exit 0 + diff --git a/korean/hanemacs/files/patch-ac b/korean/hanemacs/files/patch-ac index 525f8de259f3..32937f709d3f 100644 --- a/korean/hanemacs/files/patch-ac +++ b/korean/hanemacs/files/patch-ac @@ -1,33 +1,69 @@ ---- src/s/freebsd.h.orig Sun Jun 9 13:14:32 1996 -+++ src/s/freebsd.h Wed Dec 3 17:36:40 1997 -@@ -33,9 +33,16 @@ +--- orig/s/freebsd.h Mon Jun 10 05:14:32 1996 ++++ src/s/freebsd.h Tue Sep 29 11:35:32 1998 +@@ -1,5 +1,15 @@ + /* s/ file for freebsd system. */ - #define LIBS_DEBUG - #define LIBS_SYSTEM -lutil --#define LIBS_TERMCAP -ltermcap - #define LIB_GCC -lgcc - -+#ifdef HAVE_LIBNCURSES -+#define TERMINFO -+#define LIBS_TERMCAP -lncurses ++/* Get the correct __FreeBSD_version, even if this is before that was ++ defined. */ ++#ifndef __FreeBSD__ ++#define __FreeBSD_version 199401 ++#elif __FreeBSD__ == 1 ++#define __FreeBSD_version 199405 +#else -+#define LIBS_TERMCAP -ltermcap ++#include +#endif + -+ + /* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up. + Earlier versions do not have shared libraries, so inhibit them. + You can inhibit them on newer systems if you wish +@@ -34,7 +44,6 @@ + #define LIBS_DEBUG + #define LIBS_SYSTEM -lutil + #define LIBS_TERMCAP -ltermcap +-#define LIB_GCC -lgcc + #define SYSV_SYSTEM_DIR - /* freebsd has POSIX-style pgrp behavior. */ -@@ -46,7 +53,7 @@ +@@ -42,12 +51,28 @@ + #undef BSD_PGRPS + #define GETPGRP_NO_ARG + ++#ifdef __ELF__ ++ ++#define LD_SWITCH_SYSTEM ++#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o ++#define UNEXEC unexelf.o ++#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o ++#undef LIB_GCC ++#define LIB_GCC ++ ++#else /* not __ELF__ */ ++ + #ifndef NO_SHARED_LIBS #define LD_SWITCH_SYSTEM -e start -dc -dp #define HAVE_TEXT_START /* No need to define `start_of_text'. */ ++#if __FreeBSD_version >= 300002 ++#define START_FILES pre-crt0.o /usr/lib/aout/crt0.o ++#else /* __FreeBSD_version < 300002 */ #define START_FILES pre-crt0.o /usr/lib/crt0.o -#define UNEXEC unexsunos4.o ++#endif /* __FreeBSD_version < 300002 */ +#define UNEXEC unexfreebsd.o #define RUN_TIME_REMAP ++#define LIB_GCC -lgcc #ifndef N_TRELOFF -@@ -80,6 +87,8 @@ + #define N_PAGSIZ(x) __LDPGSZ +@@ -63,6 +88,8 @@ + #endif /* __FreeBSD__ */ + #endif /* NO_SHARED_LIBS */ + ++#endif /* not __ELF__ */ ++ + #define HAVE_WAIT_HEADER + #define HAVE_GETLOADAVG + /*#define HAVE_GETPAGESIZE /* configure now puts this in config.h */ +@@ -80,6 +107,8 @@ #define BSD 199103 #elif __FreeBSD__ == 2 #define BSD 199306 diff --git a/korean/hanemacs/files/patch-ae b/korean/hanemacs/files/patch-ae index 95473f81ab2c..942f309bb866 100644 --- a/korean/hanemacs/files/patch-ae +++ b/korean/hanemacs/files/patch-ae @@ -1,6 +1,6 @@ diff -uNr hanemacs-19.34-old/Makefile.in Makefile.in ---- hanemacs-19.34-old/Makefile.in Tue Oct 29 13:19:31 1996 -+++ Makefile.in Fri Mar 13 08:39:14 1998 +--- Makefile.in.orig Tue Oct 29 07:19:31 1996 ++++ Makefile.in Sun Jan 17 13:53:01 1999 @@ -184,7 +184,7 @@ # Subdirectories to make recursively. `lisp' is not included # because the compiled lisp files are part of the distribution @@ -25,7 +25,17 @@ diff -uNr hanemacs-19.34-old/Makefile.in Makefile.in ### Install the files that are machine-independent. ### Most of them come straight from the distribution; -@@ -369,14 +369,8 @@ +@@ -355,8 +355,7 @@ + if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \ + then \ + echo "Copying etc/DOC-* to ${docdir} ..." ; \ +- (cd ./etc; tar -cf - DOC*)|(cd ${docdir}; umask 0; tar -xvf - ); \ +- (cd $(docdir); chmod a+r DOC*; rm DOC) \ ++ (cd $(docdir); rm DOC-${version}*; mv DOC DOC-${version}; chmod a+r DOC*) \ + else true; fi + if [ -r ./lisp ] \ + && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] \ +@@ -369,14 +368,8 @@ if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ then \ (cd ${infodir}; \ @@ -41,7 +51,7 @@ diff -uNr hanemacs-19.34-old/Makefile.in Makefile.in (cd $${thisdir}; \ ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \ chmod a+r ${infodir}/$$f); \ -@@ -421,15 +415,15 @@ +@@ -421,15 +414,15 @@ * ) rm -rf $${dir} ;; \ esac ; \ case $${dir} in \ diff --git a/korean/hanemacs/files/patch-af b/korean/hanemacs/files/patch-af new file mode 100644 index 000000000000..82b5e69cad05 --- /dev/null +++ b/korean/hanemacs/files/patch-af @@ -0,0 +1,22 @@ +--- src/unexelf.c.orig Fri Oct 2 12:55:43 1998 ++++ src/unexelf.c Fri Oct 2 13:02:05 1998 +@@ -678,7 +678,8 @@ + if (n < 0) + fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); + +- NEW_PROGRAM_H (n).p_filesz += new_data2_size; ++/* NEW_PROGRAM_H (n).p_filesz += new_data2_size; */ ++ NEW_PROGRAM_H (n).p_filesz = new_bss_addr - NEW_PROGRAM_H (n).p_vaddr; /* From emacs 20.3 */ + NEW_PROGRAM_H (n).p_memsz = NEW_PROGRAM_H (n).p_filesz; + + #if 0 /* Maybe allow section after data2 - does this ever happen? */ +@@ -845,7 +846,9 @@ + + for (; symp < symendp; symp ++) + if (strcmp ((char *) (symnames + symp->st_name), "_end") == 0 +- || strcmp ((char *) (symnames + symp->st_name), "_edata") == 0) ++ || strcmp ((char *) (symnames + symp->st_name), "end") == 0 ++ || strcmp ((char *) (symnames + symp->st_name), "_edata") == 0 ++ || strcmp ((char *) (symnames + symp->st_name), "edata") == 0) + memcpy (&symp->st_value, &new_bss_addr, sizeof (new_bss_addr)); + } diff --git a/korean/hanemacs/pkg-plist b/korean/hanemacs/pkg-plist index 2c5c8d8bf1c2..133170498d9e 100644 --- a/korean/hanemacs/pkg-plist +++ b/korean/hanemacs/pkg-plist @@ -8,6 +8,8 @@ bin/etags bin/emacsclient @exec if [ ! -d %d/share/hanemacs/site-lisp ]; then mkdir -p %D/share/hanemacs/site-lisp; fi @exec if [ ! -d %d/share/hanemacs/19.34/site-lisp ]; then mkdir -p %D/share/hanemacs/19.34/site-lisp; fi +@exec mkdir -p /var/run/emacs/lock ; chmod 1777 /var/run/emacs/lock +etc/rc.d/emacs.sh @comment these two can fail if other ports are installed, no need to @comment scare user in that case @unexec %D/share/hanemacs/site-lisp 2>/dev/null || true @@ -133,7 +135,7 @@ share/hanemacs/19.34/etc/COOKIES share/hanemacs/19.34/etc/COPYING share/hanemacs/19.34/etc/DEBUG share/hanemacs/19.34/etc/DISTRIB -share/hanemacs/19.34/etc/DOC-19.34.1 +share/hanemacs/19.34/etc/DOC-19.34 share/hanemacs/19.34/etc/FAQ share/hanemacs/19.34/etc/FTP share/hanemacs/19.34/etc/GNU -- cgit v1.2.3