- Add fix for BZ 53346
- Backport of bugfixes from F-12 branch (spec file changelog entries follow) - Backport fixes for bugs 516391, 484830, 474958 from F-13 branch (Jonathan G. Underwood) - Add cwd to load-path in byte-compile macro for add-on packaging (Jonathan G. Underwood) - Add some commentary to spec file (Jonathan G. Underwood) - Add patch to fix rhbz#547566 from Juanma Barranquero (Jonathan G. Underwood) - Simpler fix for rhbz#517272 (Karel Klic) - Fixed rhbz#545398 - ETags messes up filenames (Karel Klic) - fix #543046 - Using scroll bar in emacs highlights/selects text (Daniel Novotny)
This commit is contained in:
parent
bf7dd052f0
commit
b9972d7223
|
@ -0,0 +1,21 @@
|
|||
diff -up emacs-23.1/configure.in.cpp emacs-23.1/configure.in
|
||||
--- emacs-23.1/configure.in.cpp 2009-11-30 13:24:53.000000000 +0100
|
||||
+++ emacs-23.1/configure.in 2009-11-30 13:25:45.000000000 +0100
|
||||
@@ -2983,7 +2983,7 @@ echo creating lib-src/Makefile
|
||||
sed -e '1,/start of cpp stuff/d'\
|
||||
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
|
||||
< Makefile.c > junk.c
|
||||
- $CPP $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
|
||||
+ $CPP -P $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
|
||||
sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c
|
||||
cat junk1.c junk2.c > Makefile.new
|
||||
rm -f junk.c junk1.c junk2.c
|
||||
@@ -2999,7 +2999,7 @@ echo creating src/Makefile
|
||||
sed -e '1,/start of cpp stuff/d'\
|
||||
-e 's,/\*\*/#\(.*\)$,/* \1 */,' \
|
||||
< Makefile.c > junk.c
|
||||
- $CPP $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
|
||||
+ $CPP -P $cpp_undefs -I. -I$srcdir/src $CPPFLAGS junk.c | \
|
||||
sed -e 's/^ / /' -e '/^#/d' -e '/^[ ]*$/d' > junk2.c
|
||||
cat junk1.c junk2.c > Makefile.new
|
||||
rm -f junk.c junk1.c junk2.c
|
|
@ -0,0 +1,45 @@
|
|||
diff -up emacs-23.1/src/xterm.c.fontdpi emacs-23.1/src/xterm.c
|
||||
--- emacs-23.1/src/xterm.c.fontdpi 2010-01-04 09:11:45.000000000 +0100
|
||||
+++ emacs-23.1/src/xterm.c 2010-01-04 11:50:19.627777180 +0100
|
||||
@@ -10380,17 +10380,31 @@ x_term_init (display_name, xrm_option, r
|
||||
dpyinfo->visual, AllocNone);
|
||||
|
||||
{
|
||||
- int screen_number = XScreenNumberOfScreen (dpyinfo->screen);
|
||||
- double pixels = DisplayHeight (dpyinfo->display, screen_number);
|
||||
- double mm = DisplayHeightMM (dpyinfo->display, screen_number);
|
||||
- /* Mac OS X 10.3's Xserver sometimes reports 0.0mm. */
|
||||
- dpyinfo->resy = (mm < 1) ? 100 : pixels * 25.4 / mm;
|
||||
- pixels = DisplayWidth (dpyinfo->display, screen_number);
|
||||
- mm = DisplayWidthMM (dpyinfo->display, screen_number);
|
||||
- /* Mac OS X 10.3's Xserver sometimes reports 0.0mm. */
|
||||
- dpyinfo->resx = (mm < 1) ? 100 : pixels * 25.4 / mm;
|
||||
+ /* If we are using Xft, check dpi value in X resources.
|
||||
+ It is better we use it as well, since Xft will use it, as will all
|
||||
+ Gnome applications. If our real DPI is smaller or larger than the
|
||||
+ one Xft uses, our font will look smaller or larger than other
|
||||
+ for other applications, even if it is the same font name (monospace-10
|
||||
+ for example). */
|
||||
+ char *v = XGetDefault (dpyinfo->display, "Xft", "dpi");
|
||||
+ double d;
|
||||
+ if (v != NULL && sscanf (v, "%lf", &d) == 1)
|
||||
+ dpyinfo->resy = dpyinfo->resx = d;
|
||||
}
|
||||
|
||||
+ if (dpyinfo->resy < 1)
|
||||
+ {
|
||||
+ int screen_number = XScreenNumberOfScreen (dpyinfo->screen);
|
||||
+ double pixels = DisplayHeight (dpyinfo->display, screen_number);
|
||||
+ double mm = DisplayHeightMM (dpyinfo->display, screen_number);
|
||||
+ /* Mac OS X 10.3's Xserver sometimes reports 0.0mm. */
|
||||
+ dpyinfo->resy = (mm < 1) ? 100 : pixels * 25.4 / mm;
|
||||
+ pixels = DisplayWidth (dpyinfo->display, screen_number);
|
||||
+ mm = DisplayWidthMM (dpyinfo->display, screen_number);
|
||||
+ /* Mac OS X 10.3's Xserver sometimes reports 0.0mm. */
|
||||
+ dpyinfo->resx = (mm < 1) ? 100 : pixels * 25.4 / mm;
|
||||
+ }
|
||||
+
|
||||
dpyinfo->Xatom_wm_protocols
|
||||
= XInternAtom (dpyinfo->display, "WM_PROTOCOLS", False);
|
||||
dpyinfo->Xatom_wm_take_focus
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
diff -up emacs-23.1/lib-src/etags.c.memmove emacs-23.1/lib-src/etags.c
|
||||
--- emacs-23.1/lib-src/etags.c.memmove 2009-06-21 06:37:34.000000000 +0200
|
||||
+++ emacs-23.1/lib-src/etags.c 2009-12-08 17:55:41.442792036 +0100
|
||||
@@ -6695,13 +6695,13 @@ absolute_filename (file, dir)
|
||||
else if (cp[0] != '/')
|
||||
cp = slashp;
|
||||
#endif
|
||||
- strcpy (cp, slashp + 3);
|
||||
+ memmove (cp, slashp + 3, strlen(slashp + 2));
|
||||
slashp = cp;
|
||||
continue;
|
||||
}
|
||||
else if (slashp[2] == '/' || slashp[2] == '\0')
|
||||
{
|
||||
- strcpy (slashp, slashp + 2);
|
||||
+ memmove (slashp, slashp + 2, strlen(slashp + 1));
|
||||
continue;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
=== modified file 'lisp/nxml/nxml-mode.el'
|
||||
--- lisp/nxml/nxml-mode.el 2009-09-24 23:22:17 +0000
|
||||
+++ lisp/nxml/nxml-mode.el 2009-10-24 21:32:19 +0000
|
||||
@@ -1254,29 +1254,31 @@
|
||||
|
||||
(defun nxml-balanced-close-start-tag (block-or-inline)
|
||||
(let ((token-end (nxml-token-before))
|
||||
- (pos (1+ (point))))
|
||||
+ (pos (1+ (point)))
|
||||
+ (token-start xmltok-start))
|
||||
(unless (or (eq xmltok-type 'partial-start-tag)
|
||||
(and (memq xmltok-type '(start-tag
|
||||
empty-element
|
||||
partial-empty-element))
|
||||
(>= token-end pos)))
|
||||
(error "Not in a start-tag"))
|
||||
+ ;; Note that this insertion changes xmltok-start.
|
||||
(insert "></"
|
||||
(buffer-substring-no-properties (+ xmltok-start 1)
|
||||
(min xmltok-name-end (point)))
|
||||
">")
|
||||
(if (eq block-or-inline 'inline)
|
||||
(goto-char pos)
|
||||
- (goto-char xmltok-start)
|
||||
+ (goto-char token-start)
|
||||
(back-to-indentation)
|
||||
- (if (= (point) xmltok-start)
|
||||
+ (if (= (point) token-start)
|
||||
(let ((indent (current-column)))
|
||||
- (goto-char pos)
|
||||
- (insert "\n")
|
||||
- (indent-line-to indent)
|
||||
- (goto-char pos)
|
||||
- (insert "\n")
|
||||
- (indent-line-to (+ nxml-child-indent indent)))
|
||||
+ (goto-char pos)
|
||||
+ (insert "\n")
|
||||
+ (indent-line-to indent)
|
||||
+ (goto-char pos)
|
||||
+ (insert "\n")
|
||||
+ (indent-line-to (+ nxml-child-indent indent)))
|
||||
(goto-char pos)))))
|
||||
|
||||
(defun nxml-finish-element ()
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
diff -up emacs-23.1/src/gtkutil.c.scroll emacs-23.1/src/gtkutil.c
|
||||
--- emacs-23.1/src/gtkutil.c.scroll 2009-06-21 06:38:15.000000000 +0200
|
||||
+++ emacs-23.1/src/gtkutil.c 2009-12-02 17:10:08.000000000 +0100
|
||||
@@ -3401,6 +3401,38 @@ xg_set_toolkit_scroll_bar_thumb (bar, po
|
||||
}
|
||||
}
|
||||
|
||||
+/* Return non-zero if EVENT is for a scroll bar in frame F.
|
||||
+ When the same X window is used for several Gtk+ widgets, we cannot
|
||||
+ say for sure based on the X window alone if an event is for the
|
||||
+ frame. This function does additional checks.
|
||||
+
|
||||
+ Return non-zero if the event is for a scroll bar, zero otherwise. */
|
||||
+
|
||||
+int
|
||||
+xg_event_is_for_scrollbar (f, event)
|
||||
+ FRAME_PTR f;
|
||||
+ XEvent *event;
|
||||
+{
|
||||
+ int retval = 0;
|
||||
+
|
||||
+ if (f && event->type == ButtonPress)
|
||||
+ {
|
||||
+ /* Check if press occurred outside the edit widget. */
|
||||
+ GdkDisplay *gdpy = gdk_x11_lookup_xdisplay (FRAME_X_DISPLAY (f));
|
||||
+ retval = gdk_display_get_window_at_pointer (gdpy, NULL, NULL)
|
||||
+ != f->output_data.x->edit_widget->window;
|
||||
+ }
|
||||
+ else if (f && (event->type != ButtonRelease || event->type != MotionNotify))
|
||||
+ {
|
||||
+ /* If we are releasing or moving the scroll bar, it has the grab. */
|
||||
+ retval = gtk_grab_get_current () != 0
|
||||
+ && gtk_grab_get_current () != f->output_data.x->edit_widget;
|
||||
+ }
|
||||
+
|
||||
+ return retval;
|
||||
+}
|
||||
+
|
||||
+
|
||||
|
||||
/***********************************************************************
|
||||
Tool bar functions
|
||||
diff -up emacs-23.1/src/gtkutil.h.scroll emacs-23.1/src/gtkutil.h
|
||||
--- emacs-23.1/src/gtkutil.h.scroll 2009-06-21 06:38:15.000000000 +0200
|
||||
+++ emacs-23.1/src/gtkutil.h 2009-12-02 17:10:08.000000000 +0100
|
||||
@@ -180,6 +180,8 @@ extern void xg_set_toolkit_scroll_bar_th
|
||||
int position,
|
||||
int whole));
|
||||
|
||||
+extern int xg_event_is_for_scrollbar P_ ((FRAME_PTR f, XEvent *event));
|
||||
+
|
||||
|
||||
extern void update_frame_tool_bar P_ ((FRAME_PTR f));
|
||||
extern void free_frame_tool_bar P_ ((FRAME_PTR f));
|
||||
diff -up emacs-23.1/src/xterm.c.scroll emacs-23.1/src/xterm.c
|
||||
--- emacs-23.1/src/xterm.c.scroll 2009-06-21 06:38:20.000000000 +0200
|
||||
+++ emacs-23.1/src/xterm.c 2009-12-02 17:13:24.000000000 +0100
|
||||
@@ -6743,6 +6743,12 @@ handle_one_xevent (dpyinfo, eventp, fini
|
||||
clear_mouse_face (dpyinfo);
|
||||
}
|
||||
|
||||
+
|
||||
+#ifdef USE_GTK
|
||||
+ if (f && xg_event_is_for_scrollbar (f, &event))
|
||||
+ f = 0;
|
||||
+#endif
|
||||
+
|
||||
if (f)
|
||||
{
|
||||
|
||||
@@ -6899,6 +6905,11 @@ handle_one_xevent (dpyinfo, eventp, fini
|
||||
else
|
||||
f = x_window_to_frame (dpyinfo, event.xbutton.window);
|
||||
|
||||
+#ifdef USE_GTK
|
||||
+ if (f && xg_event_is_for_scrollbar (f, &event))
|
||||
+ f = 0;
|
||||
+#endif
|
||||
+
|
||||
if (f)
|
||||
{
|
||||
/* Is this in the tool-bar? */
|
|
@ -0,0 +1,44 @@
|
|||
diff -up emacs-23.1/lisp/net/browse-url.el.xdg emacs-23.1/lisp/net/browse-url.el
|
||||
--- emacs-23.1/lisp/net/browse-url.el.xdg 2009-09-18 15:10:03.000000000 -0400
|
||||
+++ emacs-23.1/lisp/net/browse-url.el 2009-09-18 15:18:51.000000000 -0400
|
||||
@@ -234,6 +234,7 @@ associated with the first REGEXP which m
|
||||
function is passed the URL and any other args of `browse-url'. The last
|
||||
regexp should probably be \".\" to specify a default browser."
|
||||
:type '(choice
|
||||
+ (function-item :tag "Default freedesktop.org browser" :value browse-url-default-xdg-browser)
|
||||
(function-item :tag "Emacs W3" :value browse-url-w3)
|
||||
(function-item :tag "W3 in another Emacs via `gnudoit'"
|
||||
:value browse-url-w3-gnudoit)
|
||||
@@ -266,6 +267,23 @@ regexp should probably be \".\" to speci
|
||||
:version "21.1"
|
||||
:group 'browse-url)
|
||||
|
||||
+;;;###autoload
|
||||
+(defcustom browse-url-xdg-open-program "xdg-open"
|
||||
+ "*The name by which to invoke xdg-open."
|
||||
+ :type 'string
|
||||
+ :group 'browse-url)
|
||||
+
|
||||
+
|
||||
+;;;###autoload
|
||||
+(defun browse-url-default-xdg-browser (url &optional new-window)
|
||||
+ (interactive (browse-url-interactive-arg "URL: "))
|
||||
+ (let ((process-environment (browse-url-process-environment))
|
||||
+ (process-connection-type nil))
|
||||
+ (start-process (concat browse-url-xdg-open-program " " url) nil
|
||||
+ browse-url-xdg-open-program url)))
|
||||
+
|
||||
+
|
||||
+
|
||||
(defcustom browse-url-netscape-program "netscape"
|
||||
;; Info about netscape-remote from Karl Berry.
|
||||
"The name by which to invoke Netscape.
|
||||
@@ -876,6 +894,8 @@ The order attempted is gnome-moz-remote,
|
||||
Galeon, Konqueror, Netscape, Mosaic, Lynx in an xterm, and then W3."
|
||||
(apply
|
||||
(cond
|
||||
+ ((executable-find browse-url-xdg-open-program)
|
||||
+ 'browse-url-default-xdg-browser)
|
||||
((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
|
||||
((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
|
||||
((executable-find browse-url-firefox-program) 'browse-url-firefox)
|
|
@ -0,0 +1,41 @@
|
|||
--- emacs-23.1/configure.in.orig 2009-08-31 00:18:44.000000000 +0100
|
||||
+++ emacs-23.1/configure.in 2009-08-31 00:18:47.000000000 +0100
|
||||
@@ -1514,7 +1514,7 @@
|
||||
HAVE_GTK=no
|
||||
if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
|
||||
GLIB_REQUIRED=2.6
|
||||
- GTK_REQUIRED=2.6
|
||||
+ GTK_REQUIRED=2.17.9
|
||||
GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
|
||||
|
||||
dnl Checks for libraries.
|
||||
--- emacs-23.1/src/xfns.c.orig 2009-08-31 00:03:02.000000000 +0100
|
||||
+++ emacs-23.1/src/xfns.c 2009-08-31 00:21:39.000000000 +0100
|
||||
@@ -468,8 +468,10 @@
|
||||
if (!FRAME_X_P (f) || FRAME_X_DISPLAY_INFO (f) != dpyinfo)
|
||||
continue;
|
||||
x = f->output_data.x;
|
||||
- /* Match if the window is this frame's menubar. */
|
||||
#ifdef USE_GTK
|
||||
+ /* Match if the window is this frame's window (button presses are no longer
|
||||
+ caught by the menubar) or a menu in the menubar.
|
||||
+ */
|
||||
if (x->menubar_widget)
|
||||
{
|
||||
GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc);
|
||||
@@ -477,13 +479,14 @@
|
||||
|
||||
BLOCK_INPUT;
|
||||
if (gwdesc != 0
|
||||
- && (gwdesc == x->menubar_widget
|
||||
+ && (gwdesc == gtk_widget_get_parent (gtk_widget_get_parent (x->menubar_widget))
|
||||
|| gtk_widget_get_parent (gwdesc) == x->menubar_widget))
|
||||
found = 1;
|
||||
UNBLOCK_INPUT;
|
||||
if (found) return f;
|
||||
}
|
||||
#else
|
||||
+ /* Match if the window is in this frame's menubar */
|
||||
if (x->menubar_widget
|
||||
&& lw_window_is_in_menubar (wdesc, x->menubar_widget))
|
||||
return f;
|
96
emacs.spec
96
emacs.spec
|
@ -4,11 +4,11 @@ Summary: GNU Emacs text editor
|
|||
Name: emacs
|
||||
Epoch: 1
|
||||
Version: 23.1
|
||||
Release: 8%{?dist}
|
||||
Release: 9%{?dist}
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/emacs/
|
||||
Group: Applications/Editors
|
||||
Source0: ftp://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.gz
|
||||
Source0: ftp://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.bz2
|
||||
Source1: emacs.desktop
|
||||
Source3: dotemacs.el
|
||||
Source4: site-start.el
|
||||
|
@ -16,7 +16,7 @@ Source7: http://php-mode.svn.sourceforge.net/svnroot/php-mode/tags/php-mode-1.4.
|
|||
Source8: php-mode-init.el
|
||||
Source9: ssl.el
|
||||
# rpm-spec-mode from XEmacs
|
||||
Source10: http://cvs.xemacs.org/viewcvs.cgi/*checkout*/XEmacs/packages/xemacs-packages/prog-modes/rpm-spec-mode.el
|
||||
Source10: rpm-spec-mode.el
|
||||
Source11: rpm-spec-mode-init.el
|
||||
Source13: focus-init.el
|
||||
Source14: po-mode.el
|
||||
|
@ -26,36 +26,52 @@ Patch0: glibc-open-macro.patch
|
|||
Patch1: rpm-spec-mode.patch
|
||||
Patch2: po-mode-auto-replace-date-71264.patch
|
||||
Patch3: rpm-spec-mode-utc.patch
|
||||
Patch4: emacs-23.1-indian.patch
|
||||
#Patch4: emacsclient.patch
|
||||
Patch4: emacs-gtk.patch
|
||||
Patch5: emacs-23.1-xdg.patch
|
||||
# Fixed in upstream CVS.
|
||||
Patch6: emacs-23.1-cpp.patch
|
||||
Patch7: emacs-23.1-scroll.patch
|
||||
Patch8: emacs-23.1-indian.patch
|
||||
# Fixed in upstream CVS
|
||||
Patch9: emacs-23.1-memmove.patch
|
||||
# Taken from upstream GIT repository
|
||||
# http://git.savannah.gnu.org/cgit/emacs.git/diff/src/xsettings.c?id=b3a25b88e82569f916712c635207c8bdd590e13b
|
||||
# rhbz#517272
|
||||
Patch10: emacs-23.1-fontdpi.patch
|
||||
|
||||
# Fix https://bugzilla.redhat.com/show_bug.cgi?id=547566
|
||||
# Reported upstream: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5313
|
||||
Patch5: emacs-23.1-hexl-mode.patch
|
||||
Patch11: emacs-23.1-hexl-mode.patch
|
||||
|
||||
# Fix https://bugzilla.redhat.com/show_bug.cgi?id=553346
|
||||
# Upstream: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=2840
|
||||
# Backported fix from upstream:
|
||||
# http://bazaar.launchpad.net/~vcs-imports/emacs/trunk/revision/98299
|
||||
Patch12: emacs-23.1-nxml.patch
|
||||
|
||||
Buildroot: %{_tmppath}/%{name}-%{version}-root
|
||||
BuildRequires: atk-devel, cairo-devel, desktop-file-utils, freetype-devel, fontconfig-devel, dbus-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
|
||||
BuildRequires: librsvg2-devel, m17n-lib-devel, libotf-devel
|
||||
BuildRequires: alsa-lib-devel
|
||||
Requires: librsvg2
|
||||
BuildRequires: autoconf, automake, bzip2, cairo, texinfo, gzip
|
||||
%ifarch %{ix86}
|
||||
BuildRequires: setarch
|
||||
%endif
|
||||
#Requires: xorg-x11-fonts-ISO8859-1-100dpi, xorg-x11-fonts-misc
|
||||
#Requires: xorg-x11-fonts-ISO8859-1-75dpi
|
||||
Requires: emacs-common = %{epoch}:%{version}-%{release}
|
||||
#Requires: hicolor-icon-theme
|
||||
# bz#443549, bz#508033
|
||||
Requires: hunspell, aspell
|
||||
# bz#507852
|
||||
BuildRequires: librsvg2-devel, m17n-lib-devel, libotf-devel
|
||||
BuildRequires: alsa-lib-devel
|
||||
Requires: librsvg2
|
||||
# Desktop integration
|
||||
BuildRequires: desktop-file-utils
|
||||
Requires: desktop-file-utils
|
||||
Conflicts: gettext < 0.10.40
|
||||
Provides: emacs(bin)
|
||||
Requires: m17n-db-datafiles
|
||||
|
||||
# #516391
|
||||
Obsoletes: emacs-nxml-mode < 0.20041004-10
|
||||
Provides: emacs-nxml-mode = 0.20041004-10
|
||||
|
||||
|
@ -97,7 +113,9 @@ on a terminal.
|
|||
%package common
|
||||
Summary: Emacs common files
|
||||
Group: Applications/Editors
|
||||
PreReq: /sbin/install-info, dev, %{_sbindir}/alternatives
|
||||
Requires(preun): %{_sbindir}/alternatives, /sbin/install-info, dev
|
||||
Requires(posttrans): %{_sbindir}/alternatives
|
||||
Requires(post): /sbin/install-info, dev
|
||||
Obsoletes: emacs-leim
|
||||
|
||||
%description common
|
||||
|
@ -124,8 +142,15 @@ Emacs packages or see some elisp examples.
|
|||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .glibc-open-macro
|
||||
%patch4 -p1
|
||||
%patch5 -p0
|
||||
%patch4 -p1 -b .gtk
|
||||
%patch5 -p1 -b .xdg
|
||||
%patch6 -p1
|
||||
%patch7 -p1 -b .scroll
|
||||
%patch8 -p1
|
||||
%patch9 -p1 -b .memmove
|
||||
%patch10 -p1 -b .fontdpi
|
||||
%patch11 -p0
|
||||
%patch12 -p0
|
||||
|
||||
# install rest of site-lisp files
|
||||
( cd site-lisp
|
||||
|
@ -141,11 +166,12 @@ Emacs packages or see some elisp examples.
|
|||
# we prefer our emacs.desktop file
|
||||
cp %SOURCE1 etc/emacs.desktop
|
||||
|
||||
grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
||||
&& mv lisp/Makefile.in.new lisp/Makefile.in
|
||||
|
||||
# avoid trademark issues
|
||||
%if %{paranoid}
|
||||
rm -f lisp/play/tetris.el lisp/play/tetris.elc
|
||||
grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \
|
||||
&& mv lisp/Makefile.in.new lisp/Makefile.in
|
||||
%endif
|
||||
|
||||
%if %{expurgate}
|
||||
|
@ -168,8 +194,10 @@ fi
|
|||
%build
|
||||
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
|
||||
|
||||
#we patch configure.in so we have to do this
|
||||
autoconf
|
||||
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
|
||||
--with-tiff --with-xft --with-xpm --with-x-toolkit=gtk
|
||||
--with-tiff --with-xft --with-xpm --with-x-toolkit=gtk
|
||||
|
||||
%__make bootstrap
|
||||
%{setarch} %__make %{?_smp_mflags}
|
||||
|
@ -200,7 +228,7 @@ cat > macros.emacs << EOF
|
|||
%%_emacs_evr %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%%_emacs_sitelispdir %{site_lisp}
|
||||
%%_emacs_sitestartdir %{site_start_d}
|
||||
%%_emacs_bytecompile /usr/bin/emacs %bytecompargs
|
||||
%%_emacs_bytecompile /usr/bin/emacs -batch --no-init-file --no-site-file --eval '(progn (setq load-path (cons "." load-path)))' -f batch-byte-compile
|
||||
EOF
|
||||
|
||||
%install
|
||||
|
@ -211,6 +239,10 @@ make install INSTALL="%{__install} -p" DESTDIR=%{buildroot}
|
|||
# let alternatives manage the symlink
|
||||
rm %{buildroot}%{_bindir}/emacs
|
||||
|
||||
# do not compress the files which implement compression itself (#484830)
|
||||
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-compr.el.gz
|
||||
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-cmpr-hook.el.gz
|
||||
|
||||
# rebuild without X support
|
||||
# remove the versioned binary with X support so that we end up with .1 suffix for emacs-nox too
|
||||
rm src/emacs-%{version}.*
|
||||
|
@ -218,7 +250,7 @@ rm src/emacs-%{version}.*
|
|||
%__make %{?_smp_mflags}
|
||||
|
||||
# install the emacs without X
|
||||
install -m 0755 src/emacs-%{version}.1 %{buildroot}%{_bindir}/emacs-%{version}-nox
|
||||
install -p -m 0755 src/emacs-%{version}.1 %{buildroot}%{_bindir}/emacs-%{version}-nox
|
||||
|
||||
# make sure movemail isn't setgid
|
||||
chmod 755 %{buildroot}%{emacs_libexecdir}/movemail
|
||||
|
@ -227,6 +259,11 @@ mkdir -p %{buildroot}%{site_lisp}
|
|||
install -p -m 0644 %SOURCE4 %{buildroot}%{site_lisp}/site-start.el
|
||||
install -p -m 0644 %SOURCE18 %{buildroot}%{site_lisp}
|
||||
|
||||
#this solves bz#474958, "update-directory-autoloads" now finally works
|
||||
#the path is different each version, so we'll generate it here
|
||||
echo "(setq source-directory \"%{_datadir}/emacs/%{version}/\")" \
|
||||
>> %{buildroot}%{site_lisp}/site-start.el
|
||||
|
||||
mv %{buildroot}%{_bindir}/{etags,etags.emacs}
|
||||
mv %{buildroot}%{_mandir}/man1/{ctags.1,gctags.1}
|
||||
mv %{buildroot}%{_mandir}/man1/{etags.1,etags.emacs.1}
|
||||
|
@ -259,12 +296,6 @@ mkdir -p %{buildroot}%{_datadir}/applications
|
|||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
|
||||
%SOURCE1
|
||||
|
||||
# put the icons where they belong
|
||||
#for i in 16 24 32 48 ; do
|
||||
# mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
|
||||
# cp %{buildroot}%{_datadir}/emacs/%{version}/etc/images/icons/emacs_${i}.png \
|
||||
# %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/emacs.png
|
||||
#done
|
||||
|
||||
#
|
||||
# create file lists
|
||||
|
@ -390,6 +421,17 @@ alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
|
|||
%dir %{_datadir}/emacs/%{version}
|
||||
|
||||
%changelog
|
||||
* Tue Mar 30 2010 Jonathan G. Underwood <jonathan.underwood@gmail.com> - 1:23.1-9
|
||||
- Add fix for BZ 53346
|
||||
- Backport of bugfixes from F-12 branch (spec file changelog entries follow)
|
||||
- Backport fixes for bugs 516391, 484830, 474958 from F-13 branch (Jonathan G. Underwood)
|
||||
- Add cwd to load-path in byte-compile macro for add-on packaging (Jonathan G. Underwood)
|
||||
- Add some commentary to spec file (Jonathan G. Underwood)
|
||||
- Add patch to fix rhbz#547566 from Juanma Barranquero (Jonathan G. Underwood)
|
||||
- Simpler fix for rhbz#517272 (Karel Klic)
|
||||
- Fixed rhbz#545398 - ETags messes up filenames (Karel Klic)
|
||||
- fix #543046 - Using scroll bar in emacs highlights/selects text (Daniel Novotny)
|
||||
|
||||
* Thu Jan 14 2010 Jonathan G. Underwood <jonathan.underwood@gmail.com> 1:23.1-8
|
||||
- Add patch to fix rhbz#547566 (from Juanma Barranquero)
|
||||
|
||||
|
|
Loading…
Reference in New Issue