apply patches and epoch tod evel tree

This commit is contained in:
Dennis Gilmore 2008-05-02 01:48:26 +00:00
parent dcc57fca80
commit a631929c09
3 changed files with 112 additions and 8 deletions

55
emacs-22.1.50-regex.patch Normal file
View File

@ -0,0 +1,55 @@
for src/ChangeLog
from Alexandre Oliva <aoliva@redhat.com>
* regex.c (MOVE_BUFFER_POINTER, EXTEND_BUFFER): Don't compute
offsets between unrelated pointers.
--- emacs-22.1.50.orig/src/regex.c 2007-09-10 15:46:20.000000000 -0300
+++ emacs-22.1.50/src/regex.c 2008-03-22 08:07:06.000000000 -0300
@@ -3,7 +3,7 @@
internationalization features.)
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -1832,8 +1832,10 @@
being larger than MAX_BUF_SIZE, then flag memory exhausted. */
#if __BOUNDED_POINTERS__
# define SET_HIGH_BOUND(P) (__ptrhigh (P) = __ptrlow (P) + bufp->allocated)
-# define MOVE_BUFFER_POINTER(P) \
- (__ptrlow (P) += incr, SET_HIGH_BOUND (P), __ptrvalue (P) += incr)
+# define MOVE_BUFFER_POINTER(P) \
+ (__ptrlow (P) = new_buffer + (__ptrlow (P) - old_buffer), \
+ SET_HIGH_BOUND (P), \
+ __ptrvalue (P) = new_buffer + (__ptrvalue (P) - old_buffer))
# define ELSE_EXTEND_BUFFER_HIGH_BOUND \
else \
{ \
@@ -1847,12 +1849,12 @@
SET_HIGH_BOUND (pending_exact); \
}
#else
-# define MOVE_BUFFER_POINTER(P) (P) += incr
+# define MOVE_BUFFER_POINTER(P) ((P) = new_buffer + ((P) - old_buffer))
# define ELSE_EXTEND_BUFFER_HIGH_BOUND
#endif
#define EXTEND_BUFFER() \
do { \
- re_char *old_buffer = bufp->buffer; \
+ unsigned char *old_buffer = bufp->buffer; \
if (bufp->allocated == MAX_BUF_SIZE) \
return REG_ESIZE; \
bufp->allocated <<= 1; \
@@ -1864,7 +1866,7 @@
/* If the buffer moved, move all the pointers into it. */ \
if (old_buffer != bufp->buffer) \
{ \
- int incr = bufp->buffer - old_buffer; \
+ unsigned char *new_buffer = bufp->buffer; \
MOVE_BUFFER_POINTER (b); \
MOVE_BUFFER_POINTER (begalt); \
if (fixup_alt_jump) \

View File

@ -0,0 +1,22 @@
--- emacs-22.1.50/src/m/sparc.h.old 2008-02-11 01:26:36.000000000 -0600
+++ emacs-22.1.50/src/m/sparc.h 2008-02-11 09:12:09.000000000 -0600
@@ -93,6 +93,19 @@
#ifdef __arch64__ /* GCC, 64-bit ABI. */
#define BITS_PER_LONG 64
+#ifdef __linux__
+#undef START_FILES
+#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
+
+/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
+ The reason is that some functions in libgcc.a call functions from libc.a,
+ and some libc.a functions need functions from libgcc.a. Since most
+ versions of ld are one-pass linkers, we need to mention -lgcc twice,
+ or else we risk getting unresolved externals. */
+#undef LIB_STANDARD
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
+#endif
+
#ifndef _LP64
#define _LP64 /* Done on Alpha -- not sure if it
should be here. -- fx */

View File

@ -2,8 +2,9 @@
Summary: GNU Emacs text editor
Name: emacs
Epoch: 1
Version: 22.2
Release: 1%{?dist}
Release: 4%{?dist}
License: GPLv3+
URL: http://www.gnu.org/software/emacs/
Group: Applications/Editors
@ -21,19 +22,23 @@ Source13: focus-init.el
Source14: po-mode.el
Source15: po-mode-init.el
Source18: default.el
Source19: wrapper
Source20: igrep.el
Source21: igrep-init.el
Patch0: glibc-open-macro.patch
Patch1: rpm-spec-mode.patch
Patch2: po-mode-auto-replace-date-71264.patch
Patch3: emacs-22.1.50-sparc64.patch
Patch4: emacs-22.1.50-regex.patch
Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: atk-devel, cairo-devel, freetype-devel, fontconfig-devel, giflib-devel, glibc-devel, gtk2-devel, libpng-devel
BuildRequires: libjpeg-devel, libtiff-devel, libX11-devel, libXau-devel, libXdmcp-devel, libXrender-devel, libXt-devel
BuildRequires: libXpm-devel, ncurses-devel, xorg-x11-proto-devel, zlib-devel
BuildRequires: autoconf, automake, bzip2, cairo, texinfo
%ifarch %{ix86}
BuildRequires: setarch
%endif
Requires: xorg-x11-fonts-ISO8859-1-100dpi
Requires: emacs-common = %{version}-%{release}
Requires: emacs-common = %{epoch}:%{version}-%{release}
Conflicts: gettext < 0.10.40
Provides: emacs(bin)
@ -58,7 +63,7 @@ This package provides an emacs binary with support for X windows.
%package nox
Summary: GNU Emacs text editor without X support
Group: Applications/Editors
Requires: emacs-common = %{version}-%{release}
Requires: emacs-common = %{epoch}:%{version}-%{release}
Provides: emacs(bin)
%description nox
@ -100,10 +105,11 @@ Emacs packages or see some elisp examples.
%prep
%setup -q
%patch0 -p1 -b .glibc-open-macro
%patch3 -p1 -b .sparc64-libdir
%patch4 -p1 -b .regexp
# install rest of site-lisp files
( ! [ -d site-lisp ] && mkdir site-lisp
cd site-lisp
( cd site-lisp
cp %SOURCE7 %SOURCE9 %SOURCE10 %SOURCE14 %SOURCE20 .
# rpm-spec-mode can use compilation-mode
patch < %PATCH1
@ -122,13 +128,19 @@ rm -f lisp/play/tetris.el lisp/play/tetris.elc
rm -f etc/sex.6 etc/condom.1 etc/celibacy.1 etc/COOKIES etc/future-bug etc/JOKES
%endif
%ifarch %{ix86}
%define setarch setarch %{_arch} -R
%else
%define setarch %{nil}
%endif
%build
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
%configure --with-x-toolkit=gtk
%__make bootstrap
%__make %{?_smp_mflags}
%{setarch} %__make %{?_smp_mflags}
# remove versioned file so that we end up with .1 suffix and only one DOC file
rm src/emacs-%{version}.*
@ -148,7 +160,7 @@ sitestartdir=%{site_lisp}/site-start.d
Name: emacs
Description: GNU Emacs text editor
Version: %{version}
Version: %{epoch}:%{version}
EOF
%install
@ -301,6 +313,19 @@ alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
%dir %{_datadir}/emacs/%{version}
%changelog
* Thu May 01 2008 Tom "spot" Callaway <tcallawa@redhat.com>
- fix requires to include epoch
* Thu May 01 2008 Dennis Gilmore <dennis@ausil.us> 1:22.2-4
- add patch from bz#435767
* Thu May 01 2008 Dennis Gilmore <dennis@ausil.us> 1:22.2-3
- add epoch
- put epoch in .pc file
* Thu Apr 24 2008 Dennis Gilmore <dennis@ausil.us> 22.2-2
- add patch fixing libdir on sparc64
* Tue Apr 22 2008 Chip Coldwell <coldwell@redhat.com> 22.2-1
- revert back to emacs-22.2 (bz443639)
- update to php-mode-1.4.0
@ -309,6 +334,8 @@ alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
- fix the Release tag (bz440624)
- drop superfluous configure options
- move the new icons into the right destination directory
- the heuristics for detecting address space randomization in the emacs dumper
seem insufficient, so bring back setarch -R
* Fri Apr 18 2008 Chip Coldwell <coldwell@redhat.com> 23.0.60-2
- New upstream tarball (fixes bz435767)