rpms/xemacs/devel xemacs-21.5.28-xemacs-base-autoloads.patch, NONE, 1.1 xemacs.spec, 1.44, 1.45

Ville Skyttä scop at fedoraproject.org
Thu Feb 26 20:56:32 UTC 2009


Author: scop

Update of /cvs/pkgs/rpms/xemacs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22469

Modified Files:
	xemacs.spec 
Added Files:
	xemacs-21.5.28-xemacs-base-autoloads.patch 
Log Message:
* Thu Feb 26 2009 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-11
- Apply upstream autoload changes to be able to build recent XEmacs packages.
- Make support for XIM optional at build time, still enabled by default.
- Drop support for building without stack protector compiler flags.
- Make -info subpackage noarch when built for Fedora >= 10.
- Improve icon cache and desktop database refresh scriptlets.
- Use %global instead of %define.


xemacs-21.5.28-xemacs-base-autoloads.patch:

--- NEW FILE xemacs-21.5.28-xemacs-base-autoloads.patch ---
diff -up xemacs-21.5.28/lisp/autoload.el~ xemacs-21.5.28/lisp/autoload.el
--- xemacs-21.5.28/lisp/autoload.el~	2006-05-30 00:25:49.000000000 +0300
+++ xemacs-21.5.28/lisp/autoload.el	2009-02-22 23:36:20.000000000 +0200
@@ -226,6 +226,41 @@ the section of autoloads for a file.")
 ;; Parsing the source file text.
 ;; Autoloads in C source differ from those in Lisp source.
 
+; Add operator definitions to autoload-operators.el in the xemacs-base
+; package.
+(ignore-errors (require 'autoload-operators))
+
+; As autoload-operators is new, provide stopgap measure for a while.
+(if (not (boundp 'autoload-make-autoload-operators))
+    (progn
+      (defvar autoload-make-autoload-operators
+	'(defun define-skeleton defmacro define-derived-mode define-generic-mode
+	  easy-mmode-define-minor-mode easy-mmode-define-global-mode
+	  define-minor-mode defun* defmacro*)
+	"`defun'-like operators that use `autoload' to load the library.")
+      
+      (defvar autoload-make-autoload-complex-operators
+	'(easy-mmode-define-minor-mode easy-mmode-define-global-mode
+	  define-minor-mode)
+	"`defun'-like operators to macroexpand before using `autoload'.")
+      
+      (put 'autoload 'doc-string-elt 3)
+      (put 'defun    'doc-string-elt 3)
+      (put 'defun*   'doc-string-elt 3)
+      (put 'defvar   'doc-string-elt 3)
+      (put 'defcustom 'doc-string-elt 3)
+      (put 'defconst 'doc-string-elt 3)
+      (put 'defmacro 'doc-string-elt 3)
+      (put 'defmacro* 'doc-string-elt 3)
+      (put 'defsubst 'doc-string-elt 3)
+      (put 'define-skeleton 'doc-string-elt 2)
+      (put 'define-derived-mode 'doc-string-elt 4)
+      (put 'easy-mmode-define-minor-mode 'doc-string-elt 2)
+      (put 'define-minor-mode 'doc-string-elt 2)
+      (put 'define-generic-mode 'doc-string-elt 7)
+      ;; defin-global-mode has no explicit docstring.
+      (put 'easy-mmode-define-global-mode 'doc-string-elt 1000)))
+
 (defun make-autoload (form file)
   "Turn FORM into an autoload or defvar for source file FILE.
 Returns nil if FORM is not a special autoload form (i.e. a function definition
@@ -233,8 +268,7 @@ or macro definition or a defcustom)."
   (let ((car (car-safe form)) expand)
     (cond
      ;; For complex cases, try again on the macro-expansion.
-     ((and (memq car '(easy-mmode-define-global-mode
-		       easy-mmode-define-minor-mode define-minor-mode))
+     ((and (memq car autoload-make-autoload-complex-operators)
 	   (setq expand (let ((load-file-name file)) (macroexpand form)))
 	   (eq (car expand) 'progn)
 	   (memq :autoload-end expand))
@@ -246,10 +280,7 @@ or macro definition or a defcustom)."
 		      (cdr expand)))))
 
      ;; For special function-like operators, use the `autoload' function.
-     ((memq car '(defun define-skeleton defmacro define-derived-mode
-		   define-generic-mode easy-mmode-define-minor-mode
-		   easy-mmode-define-global-mode
-		   define-minor-mode defun* defmacro*))
+     ((memq car autoload-make-autoload-operators)
       (let* ((macrop (memq car '(defmacro defmacro*)))
 	     (name (nth 1 form))
 	     (body (nthcdr (get car 'doc-string-elt) form))
@@ -513,7 +546,8 @@ Updates AUTOLOADS-DONE and returns the n
 	   (let ((begin (point)))
 	     (forward-sexp)
 	     (forward-line 1)
-	     (princ (buffer-substring begin (point)) outbuf)))
+	     (princ (buffer-substring begin (point)) outbuf))
+	   (setq autoloads-done (cons '<immediate> autoloads-done)))
 	  (t
 	   (princ (buffer-substring
 		   (progn
@@ -767,41 +801,6 @@ at the beginning of lines and ^L charact
 		(insert "\\^L")))
 	    (goto-char p2))))))))
 
-;;; Forms which have doc-strings which should be printed specially.
-;;; A doc-string-elt property of ELT says that (nth ELT FORM) is
-;;; the doc-string in FORM.
-;;;
-;;; There used to be the following note here:
-;;; ;;; Note: defconst and defvar should NOT be marked in this way.
-;;; ;;; We don't want to produce defconsts and defvars that
-;;; ;;; make-docfile can grok, because then it would grok them twice,
-;;; ;;; once in foo.el (where they are given with ;;;###autoload) and
-;;; ;;; once in loaddefs.el.
-;;;
-;;; Counter-note: Yes, they should be marked in this way.
-;;; make-docfile only processes those files that are loaded into the
-;;; dumped Emacs, and those files should never have anything
-;;; autoloaded here.  The above-feared problem only occurs with files
-;;; which have autoloaded entries *and* are processed by make-docfile;
-;;; there should be no such files.
-
-(put 'autoload 'doc-string-elt 3)
-(put 'defun    'doc-string-elt 3)
-(put 'defun*   'doc-string-elt 3)
-(put 'defvar   'doc-string-elt 3)
-(put 'defcustom 'doc-string-elt 3)
-(put 'defconst 'doc-string-elt 3)
-(put 'defmacro 'doc-string-elt 3)
-(put 'defmacro* 'doc-string-elt 3)
-(put 'defsubst 'doc-string-elt 3)
-(put 'define-skeleton 'doc-string-elt 2)
-(put 'define-derived-mode 'doc-string-elt 4)
-(put 'easy-mmode-define-minor-mode 'doc-string-elt 2)
-(put 'define-minor-mode 'doc-string-elt 2)
-(put 'define-generic-mode 'doc-string-elt 7)
-;; defin-global-mode has no explicit docstring.
-(put 'easy-mmode-define-global-mode 'doc-string-elt 1000)
-
 (defun autoload-trim-file-name (file)
   "Returns relative pathname of FILE including the last directory.
 


Index: xemacs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xemacs/devel/xemacs.spec,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- xemacs.spec	26 Feb 2009 08:26:41 -0000	1.44
+++ xemacs.spec	26 Feb 2009 20:56:01 -0000	1.45
@@ -8,19 +8,16 @@
 %bcond_with     xft
 %bcond_without  mule
 %bcond_without  nox
-%bcond_without  stackprot
+%bcond_without  xim
 %ifarch ia64
 %bcond_with     modules
 %else
 %bcond_without  modules
 %endif
 
-%define xver    %(echo %{version} | sed -e 's/\\.\\([0-9]\\+\\)$/-b\\1/')
-%define xbuild  %(echo %{_build} | sed -e 's/^\\([^-]*-[^-]*-[^-]*\\).*/\\1/')
-
 Name:           xemacs
 Version:        21.5.28
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        Different version of Emacs
 
 Group:          Applications/Editors
@@ -47,6 +44,8 @@
 Patch10:        %{name}-21.5.28-revert-modified-245017.patch
 Patch11:        %{name}-21.5.28-autoconf262-449626.patch
 Patch12:        %{name}-21.5.28-3d-athena.patch
+# From upstream hg
+Patch13:        %{name}-21.5.28-xemacs-base-autoloads.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -94,6 +93,9 @@
 Requires(post): coreutils
 Provides:       xemacs(bin) = %{version}-%{release}
 
+%global xver    %(echo %{version} | sed -e 's/\\.\\([0-9]\\+\\)$/-b\\1/')
+%global xbuild  %(echo %{_build} | sed -e 's/^\\([^-]*-[^-]*-[^-]*\\).*/\\1/')
+
 %description
 XEmacs is a highly customizable open source text editor and
 application development system.  It is protected under the GNU General
@@ -155,6 +157,9 @@
 %package        info
 Summary:        XEmacs documentation in GNU texinfo format
 Group:          Documentation
+%if 0%{?fedora} >= 10
+BuildArch:      noarch
+%endif
 Requires(post): /sbin/install-info
 Requires(preun): /sbin/install-info
 
@@ -205,6 +210,7 @@
 %patch10 -p0
 %patch11 -p1
 %patch12 -p1
+%patch13 -p1
 
 sed -i -e 's/"lib"/"%{_lib}"/' lisp/setup-paths.el
 
@@ -217,10 +223,6 @@
 
 %build
 CFLAGS="${CFLAGS:-$RPM_OPT_FLAGS -fno-strict-aliasing}"
-%if ! %{with stackprot}
-CFLAGS="$(echo $CFLAGS | sed -e 's/-fstack-protector\s*//g')"
-CFLAGS="$(echo $CFLAGS | sed -e 's/--param=ssp-buffer-size=[0-9]\+\s*//')"
-%endif
 %if %{with gtk}
 CFLAGS="$CFLAGS $(pkg-config libglade --cflags)"
 %endif
@@ -296,7 +298,7 @@
     --with-widgets=athena \
     --with-dialogs=athena \
     --with-scrollbars=lucid \
-    --with-xim=xlib \
+    --with-xim=%{?with_xim:xlib}%{!?with_xim:no} \
 %endif
 %if ! %{with wnn}
     --without-wnn
@@ -426,22 +428,22 @@
 %{_sbindir}/alternatives --install %{_bindir}/xemacs xemacs \
     %{_bindir}/xemacs-%{xver} 80
 touch --no-create %{_datadir}/icons/hicolor &>/dev/null
-if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
-    %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
-fi
-update-desktop-database -q %{_datadir}/applications 2>/dev/null
 :
 
 %postun
 [ -e %{_bindir}/xemacs-%{xver} ] || \
 %{_sbindir}/alternatives --remove xemacs %{_bindir}/xemacs-%{xver}
-touch --no-create %{_datadir}/icons/hicolor &>/dev/null
-if [ -x %{_bindir}/gtk-update-icon-cache ] ; then
-    %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
+if [ $1 -eq 0 ] ; then
+    update-desktop-database %{_datadir}/applications &>/dev/null
+    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null
 fi
-update-desktop-database -q %{_datadir}/applications 2>/dev/null
 :
 
+%posttrans
+update-desktop-database %{_datadir}/applications &>/dev/null
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
 %post nox
 # rm because alternatives won't overwrite pre-alternatives symlink, bug?
 rm -f %{_bindir}/xemacs && \
@@ -545,6 +547,14 @@
 
 
 %changelog
+* Thu Feb 26 2009 Ville Skyttä <ville.skytta at iki.fi> - 21.5.28-11
+- Apply upstream autoload changes to be able to build recent XEmacs packages.
+- Make support for XIM optional at build time, still enabled by default.
+- Drop support for building without stack protector compiler flags.
+- Make -info subpackage noarch when built for Fedora >= 10.
+- Improve icon cache and desktop database refresh scriptlets.
+- Use %%global instead of %%define.
+
 * Thu Feb 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 21.5.28-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
 




More information about the fedora-extras-commits mailing list