- merge in changes from emacs22.spec conditionally
- define emacs21 rpm macro switch to control major version and use it - update tramp to 2.0.49 - set arg0 to emacs in wrapper script (Peter Oliver, 149512#3)
This commit is contained in:
parent
cc9fbafbe7
commit
fa4e255dbe
@ -9,3 +9,4 @@ emacs-21.4.tar.gz
|
||||
leim-21.4.tar.gz
|
||||
cc-mode-5.30.9.tar.gz
|
||||
cc-mode-5.30.9
|
||||
tramp-2.0.49.tar.gz
|
||||
|
136
emacs.spec
136
emacs.spec
@ -1,26 +1,32 @@
|
||||
# This file is encoded in UTF-8. -*- coding: utf-8 -*-
|
||||
|
||||
%define emacs21 1
|
||||
%define muleucs_ver current
|
||||
%define tramp_ver 2.1.3
|
||||
%define tramp_ver 2.0.49
|
||||
|
||||
%define cc_mode_ver 5.30.9
|
||||
|
||||
Summary: GNU Emacs text editor
|
||||
Name: emacs
|
||||
Version: 21.4
|
||||
Release: 5
|
||||
Release: 6
|
||||
License: GPL
|
||||
URL: http://www.gnu.org/software/emacs/
|
||||
Group: Applications/Editors
|
||||
Source0: ftp://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.gz
|
||||
%if %{emacs21}
|
||||
Source1: ftp://ftp.gnu.org/gnu/emacs/leim-%{version}.tar.gz
|
||||
%endif
|
||||
Source3: emacs.desktop
|
||||
Source4: emacs.png
|
||||
Source5: dotemacs.el
|
||||
Source6: site-start.el
|
||||
Source7: http://www.python.org/emacs/python-mode/python-mode.el
|
||||
Source8: http://cvs.xemacs.org/viewcvs.cgi/XEmacs/packages/xemacs-packages/prog-modes/rpm-spec-mode.el
|
||||
%if %{emacs21}
|
||||
Source10: ftp://ftp.gnu.org/gnu/emacs/elisp-manual-21-2.8.tar.bz2
|
||||
Source11: http://prdownloads.sourceforge.net/php-mode/php-mode-1.1.0.tgz
|
||||
%endif
|
||||
Source11: http://download.sourceforge.net/php-mode/php-mode-1.1.0.tgz
|
||||
Source12: php-mode-init.el
|
||||
Source13: ssl.el
|
||||
Source16: python-mode-init.el
|
||||
@ -30,19 +36,28 @@ Source20: po-mode.el
|
||||
Source21: po-compat.el
|
||||
Source22: po-mode-init.el
|
||||
Source23: po-mode-auto-replace-date-71264.patch
|
||||
%if %{emacs21}
|
||||
Source24: ftp://ftp.m17n.org/pub/mule/Mule-UCS/test/Mule-UCS-%{muleucs_ver}.tar.gz
|
||||
%endif
|
||||
Source25: lang-coding-systems-init.el
|
||||
Source26: default.el
|
||||
%if %{emacs21}
|
||||
Source27: rfc1345.el
|
||||
Source28: http://ftp.gnu.org/gnu/tramp/tramp-%{tramp_ver}.tar.gz
|
||||
Source29: tramp-init.el
|
||||
%endif
|
||||
Source30: wrapper
|
||||
Source31: igrep.el
|
||||
Source32: igrep-init.el
|
||||
Source33: http://download.sourceforge.net/cc-mode/cc-mode-%{cc_mode_ver}.tar.gz
|
||||
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
||||
BuildRequires: glibc-devel, gcc, bzip2, ncurses-devel, zlib-devel, autoconf213, texinfo
|
||||
Buildrequires: xorg-x11-devel, Xaw3d-devel, libpng-devel, libjpeg-devel, libungif-devel, libtiff-devel
|
||||
BuildRequires: glibc-devel, gcc, bzip2, ncurses-devel, zlib-devel, texinfo
|
||||
%if %{emacs21}
|
||||
Buildrequires: autoconf213, Xaw3d-devel
|
||||
%else
|
||||
Buildrequires: autoconf, gtk2-devel
|
||||
%endif
|
||||
Buildrequires: xorg-x11-devel, libpng-devel, libjpeg-devel, libungif-devel, libtiff-devel
|
||||
Requires: fonts-xorg-75dpi
|
||||
%ifarch %{ix86}
|
||||
BuildRequires: setarch
|
||||
@ -51,42 +66,63 @@ Requires: emacs-common = %{version}-%{release}
|
||||
Obsoletes: emacs-X11
|
||||
Conflicts: gettext < 0.10.40
|
||||
|
||||
# Non-lisp patches
|
||||
# C and build patches
|
||||
Patch2: emacs-21.2-s390.patch
|
||||
%if %{emacs21}
|
||||
Patch3: emacs-21.2-x86_64.patch
|
||||
%endif
|
||||
# * needs updating for emacs22 *
|
||||
Patch4: emacs-21.2-sticky-bit-80049.patch
|
||||
Patch5: emacs-21.2-s390x.patch
|
||||
# * needs updating for emacs22 *
|
||||
Patch7: emacs-21.2-alloc-blockinput-83600.patch
|
||||
%if %{emacs21}
|
||||
Patch9: emacs-21.3-ppc64.patch
|
||||
Patch10: editfns.c-Fformat-multibyte-davej.patch
|
||||
%endif
|
||||
Patch11: emacs-21.3-no-rpath.patch
|
||||
# this patch is no longer strictly needed with our iiimf-12.2
|
||||
# (however status under the window seems nicer)
|
||||
Patch14: emacs-xim-status-under-window-125413.patch
|
||||
%if %{emacs21}
|
||||
Patch15: emacs-21.3-xterm-modifiers-137868.patch
|
||||
# * needs updating for emacs22 *
|
||||
Patch17: emacs-21.3-gcc4.patch
|
||||
Patch19: emacs-21.4-21.4a-diff.patch
|
||||
# * maybe needs updating for emacs22 *
|
||||
Patch20: bzero-and-have-stdlib.dpatch
|
||||
Patch21: coding-region-leak.dpatch
|
||||
Patch22: detect-coding-iso2022.dpatch
|
||||
# * maybe needs updating for emacs22 *
|
||||
Patch23: fix-batch-mode-signal-handling.dpatch
|
||||
Patch24: fix-x-vs-no-x-diffs.dpatch
|
||||
Patch25: scroll-margin.dpatch
|
||||
Patch26: xfree86-4.3-modifiers.dpatch
|
||||
# generated from ftp://fly.isti.cnr.it/pub/etags.c.gz
|
||||
Patch27: etags-14.21-17.11-diff.patch
|
||||
%endif
|
||||
Patch28: emacs-21.4-setarch_for_loadup-101818.patch
|
||||
|
||||
# Lisp patches
|
||||
# Lisp and doc patches
|
||||
%if %{emacs21}
|
||||
Patch106: emacs-21.2-menubar-games.patch
|
||||
%endif
|
||||
# * needs updating for emacs22 *
|
||||
Patch108: browse-url-htmlview-84262.patch
|
||||
# * needs updating for emacs22 *
|
||||
Patch112: emacs-21.3-lisp-textmodes-ispell-languages.patch
|
||||
# * maybe needs updating for emacs22 *
|
||||
Patch113: emacs-21.3-gud-libtool-fix.patch
|
||||
%if %{emacs21}
|
||||
# * maybe needs updating for emacs22 *
|
||||
Patch118: emacs-21.3-latex-mode-hook-144083.patch
|
||||
Patch119: battery-acpi-support.dpatch
|
||||
Patch120: pcl-cvs-format.dpatch
|
||||
Patch121: python-completion-ignored-extensions.dpatch
|
||||
# * maybe needs updating for emacs22 *
|
||||
Patch122: save-buffer.dpatch
|
||||
%endif
|
||||
|
||||
|
||||
%description
|
||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||
@ -114,6 +150,9 @@ on a terminal.
|
||||
Summary: Emacs common files
|
||||
Group: Applications/Editors
|
||||
PreReq: /sbin/install-info, dev, %{_sbindir}/alternatives
|
||||
%if ! %{emacs21}
|
||||
Obsoletes: emacs-leim
|
||||
%endif
|
||||
|
||||
%description common
|
||||
Emacs is a powerful, customizable, self-documenting, modeless text
|
||||
@ -134,6 +173,7 @@ programs included with the main Emacs text editor package.
|
||||
You need to install emacs-el only if you intend to modify any of the
|
||||
Emacs packages or see some elisp examples.
|
||||
|
||||
%if %{emacs21}
|
||||
%package leim
|
||||
Summary: Emacs Lisp files for input methods for international characters.
|
||||
Group: Applications/Editors
|
||||
@ -145,6 +185,7 @@ provided by this package describes the consecutive keystrokes that a
|
||||
user must press in order to input a particular character in a
|
||||
non-English character set. Input methods for many different character
|
||||
sets are included in this package.
|
||||
%endif
|
||||
|
||||
%define emacs_libexecdir %{_libexecdir}/emacs/%{version}/%{_host}
|
||||
|
||||
@ -152,15 +193,20 @@ sets are included in this package.
|
||||
%setup -q -b 1 -a 24 -a 28 -a 33
|
||||
|
||||
%patch2 -p1 -b .2-s390
|
||||
%if %{emacs21}
|
||||
%patch3 -p1 -b .3-hammer
|
||||
%patch4 -p1 -b .4-sticky
|
||||
%endif
|
||||
%patch5 -p1 -b .5-s390x
|
||||
%if %{emacs21}
|
||||
# block input in `allocate_vectorlike' (alloc.c)
|
||||
%patch7 -p1 -b .7-block
|
||||
%patch9 -p1 -b .9-ppc64
|
||||
%patch10 -p1 -b .10-multibyte
|
||||
%endif
|
||||
%patch11 -p1 -b .11-rpath
|
||||
%patch14 -p1 -b .14-StatusArea
|
||||
%if %{emacs21}
|
||||
%patch15 -p0 -b .15-modifier
|
||||
%patch17 -p1 -b .17-getcwd
|
||||
%patch19 -p1 -b .19-fedora
|
||||
@ -172,15 +218,21 @@ sets are included in this package.
|
||||
%patch25 -p1 -b .25-scroll-margin
|
||||
%patch26 -p1 -b .26-xmodifier
|
||||
%patch27 -p1 -b .27-14.21
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
# workaround #101818 (vm/break dumper problem)
|
||||
%patch28 -p1 -b .28-execshield
|
||||
%endif
|
||||
|
||||
# patches 2 and 3 touch configure.in
|
||||
%if %{emacs21}
|
||||
autoconf-2.13
|
||||
%else
|
||||
autoconf
|
||||
%endif
|
||||
|
||||
## Lisp patches
|
||||
%if %{emacs21}
|
||||
# remove game we can't ship
|
||||
%patch106 -p1
|
||||
rm lisp/finder-inf.el lisp/play/tetris.el*
|
||||
@ -200,6 +252,7 @@ rm lisp/finder-inf.el lisp/play/tetris.el*
|
||||
%patch121 -p1
|
||||
# save-buffer
|
||||
%patch122 -p1
|
||||
%endif
|
||||
|
||||
# install rest of site-lisp files
|
||||
( cd site-lisp
|
||||
@ -211,8 +264,10 @@ rm lisp/finder-inf.el lisp/play/tetris.el*
|
||||
tar zxvf %SOURCE11
|
||||
)
|
||||
|
||||
%if %{emacs21}
|
||||
# add rfc1345 input method (default for UTF-8 lang env)
|
||||
cp -pi %SOURCE27 leim/quail
|
||||
%endif
|
||||
|
||||
# install newer cc-mode
|
||||
cp -p cc-mode-%{cc_mode_ver}/*.el lisp/progmodes
|
||||
@ -220,9 +275,18 @@ cp -p cc-mode-%{cc_mode_ver}/cc-mode.texi man
|
||||
|
||||
%build
|
||||
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
|
||||
%configure --with-pop --with-sound
|
||||
%configure --with-pop --with-sound \
|
||||
%if ! %{emacs21}
|
||||
--with-gtk --without-xim
|
||||
%endif
|
||||
|
||||
# SETARCH needed for setarch patch on i386 (#101818)
|
||||
%if ! %{emacs21}
|
||||
%__make bootstrap \
|
||||
%ifarch %{ix86}
|
||||
SETARCH="setarch i386"
|
||||
%endif
|
||||
%endif
|
||||
%__make %{?_smp_mflags} \
|
||||
%ifarch %{ix86}
|
||||
SETARCH="setarch i386"
|
||||
@ -236,19 +300,28 @@ TOPDIR=${PWD}
|
||||
|
||||
# make sure patched lisp files get byte-compiled
|
||||
%emacsbatch -f batch-byte-recompile-directory lisp
|
||||
%emacsbatch -f batch-byte-compile leim/quail/rfc1345.el site-lisp/*.el
|
||||
%emacsbatch -f batch-byte-compile site-lisp/*.el
|
||||
%if %{emacs21}
|
||||
%emacsbatch -f batch-byte-compile leim/quail/rfc1345.el
|
||||
%endif
|
||||
|
||||
%__make %{?_smp_mflags} -C lisp updates
|
||||
|
||||
%if %{emacs21}
|
||||
( cd Mule-UCS-%{muleucs_ver}
|
||||
%{emacsbatch} -l mucs-comp.el )
|
||||
|
||||
( cd tramp-%{tramp_ver}
|
||||
./configure --with-emacs=${TOPDIR}/src/emacs
|
||||
make )
|
||||
%endif
|
||||
|
||||
# update cc-mode manual
|
||||
%if %{emacs21}
|
||||
rm info/ccmode*
|
||||
%else
|
||||
rm -f info/cc-mode*
|
||||
%endif
|
||||
( cd cc-mode-%{cc_mode_ver}
|
||||
makeinfo cc-mode.texi
|
||||
cp -p cc-mode.info* ../info )
|
||||
@ -256,6 +329,7 @@ rm info/ccmode*
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
# workaround #101818 (vm/break dumper problem)
|
||||
%makeinstall \
|
||||
%ifarch %{ix86}
|
||||
SETARCH="setarch i386"
|
||||
@ -264,7 +338,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
# suffix binaries with -x
|
||||
mv $RPM_BUILD_ROOT%{_bindir}/emacs{,-x}
|
||||
mv $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}{,-x}
|
||||
%if %{emacs21}
|
||||
mv $RPM_BUILD_ROOT%{emacs_libexecdir}/fns-%{version}.1{,-x}.el
|
||||
%endif
|
||||
|
||||
# rebuild without X support
|
||||
# remove the versioned binary with X support so that we end up with .1 suffix for emacs-nox too
|
||||
@ -278,7 +354,9 @@ rm src/emacs-%{version}.*
|
||||
# install the emacs without X
|
||||
install -m 0755 src/emacs-%{version}.1 $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}-nox
|
||||
ln $RPM_BUILD_ROOT%{_bindir}/emacs{-%{version},}-nox
|
||||
%if %{emacs21}
|
||||
install -m 0644 lib-src/fns-%{version}.1.el $RPM_BUILD_ROOT%{emacs_libexecdir}/fns-%{version}.1-nox.el
|
||||
%endif
|
||||
|
||||
# install wrapper script
|
||||
install -m 0755 %SOURCE30 $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}
|
||||
@ -313,6 +391,7 @@ install -m 0644 $RPM_SOURCE_DIR/*-init.el %{site_lisp}/site-start.d
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/skel
|
||||
install -m 0644 %SOURCE5 $RPM_BUILD_ROOT%{_sysconfdir}/skel/.emacs
|
||||
|
||||
%if %{emacs21}
|
||||
( cd Mule-UCS-%{muleucs_ver}/lisp
|
||||
mkdir %{site_lisp}/Mule-UCS
|
||||
cp -p *.el *.elc %{site_lisp}/Mule-UCS )
|
||||
@ -324,27 +403,44 @@ install -m 0644 %SOURCE5 $RPM_BUILD_ROOT%{_sysconfdir}/skel/.emacs
|
||||
tar jxf %{SOURCE10}
|
||||
( cd elisp-manual-21-2.8
|
||||
install -m 644 elisp elisp-* $RPM_BUILD_ROOT%{_infodir} )
|
||||
%endif
|
||||
|
||||
# after everything is installed, remove info dir
|
||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||||
|
||||
%if ! %{emacs21}
|
||||
rm $RPM_BUILD_ROOT%{_localstatedir}/games/emacs/*
|
||||
%endif
|
||||
|
||||
#
|
||||
# create file lists
|
||||
#
|
||||
rm -f *-filelist {common,el,leim}-*-files
|
||||
rm -f *-filelist {common,el}-*-files
|
||||
%if %{emacs21}
|
||||
rm -f *-filelist leim-*-files
|
||||
%endif
|
||||
|
||||
( TOPDIR=${PWD}
|
||||
cd $RPM_BUILD_ROOT
|
||||
|
||||
find .%{_datadir}/emacs/%{version}/lisp .%{_datadir}/emacs/site-lisp \( -type f -not -name '*.el' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el' ! -name site-start.el \( -exec test -e '{}'c \; -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \) \)
|
||||
find .%{_datadir}/emacs/%{version}/lisp \
|
||||
%if ! %{emacs21}
|
||||
.%{_datadir}/emacs/%{version}/leim \
|
||||
%endif
|
||||
.%{_datadir}/emacs/site-lisp \( -type f -not -name '*.el' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el' ! -name site-start.el \( -exec test -e '{}'c \; -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \) \)
|
||||
|
||||
%if %{emacs21}
|
||||
find .%{_datadir}/emacs/%{version}/leim \( -name '*.elc' -fprint $TOPDIR/leim-elc-files \) -o \( -type d -fprintf $TOPDIR/leim-dir-files "%%%%dir %%p\n" -fprintf $TOPDIR/el-leim-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el' \( -exec test -e '{}'c \; -fprint $TOPDIR/el-leim-bytecomped-files -o -fprint $TOPDIR/leim-not-comped-files \) \)
|
||||
%endif
|
||||
)
|
||||
|
||||
# put the lists together after filtering ./usr to /usr
|
||||
sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files
|
||||
cat common-*-files > common-filelist
|
||||
cat el-*-files common-lisp-dir-files > el-filelist
|
||||
%if %{emacs21}
|
||||
cat leim-*-files > leim-filelist
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
@ -375,7 +471,9 @@ fi
|
||||
%dir %{_libexecdir}/emacs
|
||||
%dir %{_libexecdir}/emacs/%{version}
|
||||
%dir %{emacs_libexecdir}
|
||||
%if %{emacs21}
|
||||
%{emacs_libexecdir}/fns-%{version}.1-x.el
|
||||
%endif
|
||||
%{_datadir}/applications/gnu-emacs.desktop
|
||||
%{_datadir}/pixmaps/emacs.png
|
||||
|
||||
@ -391,7 +489,9 @@ fi
|
||||
%dir %{_libexecdir}/emacs
|
||||
%dir %{_libexecdir}/emacs/%{version}
|
||||
%dir %{emacs_libexecdir}
|
||||
%if %{emacs21}
|
||||
%{emacs_libexecdir}/fns-%{version}.1-nox.el
|
||||
%endif
|
||||
|
||||
%files -f common-filelist common
|
||||
%defattr(-,root,root)
|
||||
@ -405,21 +505,35 @@ fi
|
||||
%dir %{_datadir}/emacs
|
||||
%dir %{_datadir}/emacs/%{version}
|
||||
%{_datadir}/emacs/%{version}/etc
|
||||
%if %{emacs21}
|
||||
# quieten startup when -leim and -el aren't installed
|
||||
%dir %{_datadir}/emacs/%{version}/leim
|
||||
%endif
|
||||
%{_datadir}/emacs/%{version}/site-lisp
|
||||
%{_libexecdir}/emacs
|
||||
%if %{emacs21}
|
||||
%exclude %{emacs_libexecdir}/fns-%{version}.*.el
|
||||
%endif
|
||||
%attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/default.el
|
||||
%attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/site-start.el
|
||||
|
||||
%files -f el-filelist el
|
||||
%defattr(-,root,root)
|
||||
|
||||
%if %{emacs21}
|
||||
%files -f leim-filelist leim
|
||||
%defattr(-,root,root)
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Jun 23 2005 Jens Petersen <petersen@redhat.com> - 21.4-6
|
||||
- merge in changes from emacs22.spec conditionally
|
||||
- define emacs21 rpm macro switch to control major version and use it
|
||||
- update tramp to 2.0.49
|
||||
|
||||
* Fri Jun 17 2005 Jens Petersen <petersen@redhat.com>
|
||||
- set arg0 to emacs in wrapper script (Peter Oliver, 149512#3)
|
||||
|
||||
* Mon May 30 2005 Jens Petersen <petersen@redhat.com>
|
||||
- move setting of require-final-newline from default.el to a comment in default
|
||||
.emacs (Ralph Loader, 119141)
|
||||
|
2
sources
2
sources
@ -1,7 +1,7 @@
|
||||
1387a2273fe9a9a160f3a0f63e06dbac Mule-UCS-current.tar.gz
|
||||
a41fdcc6436250b8935fb01af0701cf8 elisp-manual-21-2.8.tar.bz2
|
||||
aad009f7cff4019aac9a466ec9b55aaf php-mode-1.1.0.tgz
|
||||
8c41fd80b383e05125a4ac99c896ea99 tramp-2.1.3.tar.gz
|
||||
0a68ea5b29bb2f081ba8dd85d37bb9bc emacs-21.4.tar.gz
|
||||
32938cb5a7505d995a1e835639d19707 leim-21.4.tar.gz
|
||||
0aa54204af872d69ea69498ecf1f71fd cc-mode-5.30.9.tar.gz
|
||||
fc502b963658f50d2daf3ac40e0b1a95 tramp-2.0.49.tar.gz
|
||||
|
Loading…
Reference in New Issue
Block a user