From 164067832916c8e59219e1b0f30d7d04618a536e Mon Sep 17 00:00:00 2001 From: root Date: Sun, 22 Jan 2012 23:15:13 +0000 Subject: Sun Jan 22 23:15:13 UTC 2012 --- staging/emacs/PKGBUILD | 48 ++++++++++++++++++++ staging/emacs/emacs-subversion17.patch | 83 ++++++++++++++++++++++++++++++++++ staging/emacs/emacs.install | 32 +++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 staging/emacs/PKGBUILD create mode 100644 staging/emacs/emacs-subversion17.patch create mode 100644 staging/emacs/emacs.install (limited to 'staging/emacs') diff --git a/staging/emacs/PKGBUILD b/staging/emacs/PKGBUILD new file mode 100644 index 000000000..ec5d8568e --- /dev/null +++ b/staging/emacs/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 147096 2012-01-21 21:55:38Z eric $ +# Maintainer: Juergen Hoetzel +# Contributor: Renchi Raju + +pkgname=emacs +_majorver=23.3 +_minorver=b +# We want something like "23.3.a" so pacman version comparison works, but +# upstream uses "23.3a", which is a bit silly and interpreted as alpha. +pkgver=$_majorver.$_minorver +_realver=$_majorver$_minorver +pkgrel=2 +pkgdesc="The extensible, customizable, self-documenting real-time display editor" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/emacs/emacs.html" +license=('GPL3') +depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'gtk2' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib') +install=emacs.install +source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$_realver.tar.bz2{,.sig} emacs-subversion17.patch) +md5sums=('917ce0054ef63773078a6e99b55df1ee' + '4f987fbb906c0ee73e05904b0f7ce5ec' + '12e2e7a66df5cc5ded54e1d30083a1fb') + +build() { + cd "$srcdir"/$pkgname-$_majorver + patch -p1 -i ../emacs-subversion17.patch + ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ + --localstatedir=/var --with-x-toolkit=gtk --with-xft + make +} + +package() { + cd "$srcdir"/$pkgname-$_majorver + make DESTDIR="$pkgdir" install + + # remove conflict with ctags package + mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} + mv "$pkgdir"/usr/share/man/man1/{ctags.1,ctags.emacs.1} + # fix all the 777 perms on directories + find "$pkgdir"/usr/share/emacs/$_majorver -type d -exec chmod 755 {} \; + # fix user/root permissions on usr/share files + find "$pkgdir"/usr/share/emacs/$_majorver -exec chown root:root {} \; + # fix perms on /var/games + chmod 775 "$pkgdir"/var/games + chmod 775 "$pkgdir"/var/games/emacs + chmod 664 "$pkgdir"/var/games/emacs/* + chown -R root:games "$pkgdir"/var/games +} diff --git a/staging/emacs/emacs-subversion17.patch b/staging/emacs/emacs-subversion17.patch new file mode 100644 index 000000000..e7969de81 --- /dev/null +++ b/staging/emacs/emacs-subversion17.patch @@ -0,0 +1,83 @@ +From d7afd9288e22c466b63c27e7e11783589b07aeff Mon Sep 17 00:00:00 2001 +From: Karl Pflästerer +Date: Sat, 12 Feb 2011 01:12:53 +0000 +Subject: Adapt to Subversion change, with no .svn directory in each sub directory. + +http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg00357.html + +* vc/vc-svn.el (vc-svn-registered): Use vc-svn-root. +(vc-svn-root): New function. Make vc-svn-responsible-p an alias. +(vc-svn-repository-hostname): Use "svn info". +--- +(limited to 'lisp/vc/vc-svn.el') + +diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el +index aefef50..20c7689 100644 +--- a/lisp/vc-svn.el ++++ b/lisp/vc-svn.el +@@ -117,17 +117,13 @@ If you want to force an empty list of arguments, use t." + ;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK")) + ;;;###autoload "_svn") + ;;;###autoload (t ".svn")))) +-;;;###autoload (when (file-readable-p (expand-file-name +-;;;###autoload (concat admin-dir "/entries") +-;;;###autoload (file-name-directory f))) ++;;;###autoload (when (vc-find-root f admin-dir) + ;;;###autoload (load "vc-svn") + ;;;###autoload (vc-svn-registered f)))) + + (defun vc-svn-registered (file) + "Check if FILE is SVN registered." +- (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory +- "/entries") +- (file-name-directory file))) ++ (when (vc-svn-root file) + (with-temp-buffer + (cd (file-name-directory file)) + (let* (process-file-side-effects +@@ -275,14 +271,12 @@ Passes either `vc-svn-register-switches' or `vc-register-switches' + to the SVN command." + (apply 'vc-svn-command nil 0 files "add" (vc-switches 'SVN 'register))) + +-(defun vc-svn-responsible-p (file) +- "Return non-nil if SVN thinks it is responsible for FILE." +- (file-directory-p (expand-file-name vc-svn-admin-directory +- (if (file-directory-p file) +- file +- (file-name-directory file))))) ++(defun vc-svn-root (file) ++ (vc-find-root file vc-svn-admin-directory)) + +-(defalias 'vc-svn-could-register 'vc-svn-responsible-p ++(defalias 'vc-svn-responsible-p 'vc-svn-root) ++ ++(defalias 'vc-svn-could-register 'vc-svn-root + "Return non-nil if FILE could be registered in SVN. + This is only possible if SVN is responsible for FILE's directory.") + +@@ -594,20 +588,10 @@ and that it passes `vc-svn-global-switches' to it before FLAGS." + + (defun vc-svn-repository-hostname (dirname) + (with-temp-buffer +- (let ((coding-system-for-read +- (or file-name-coding-system +- default-file-name-coding-system))) +- (vc-insert-file (expand-file-name (concat vc-svn-admin-directory +- "/entries") +- dirname))) ++ (let (process-file-side-effects) ++ (vc-svn-command t t dirname "info" "--xml")) + (goto-char (point-min)) +- (when (re-search-forward +- ;; Old `svn' used name="svn:this_dir", newer use just name="". +- (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*" +- "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?" +- "url=\"\\(?1:[^\"]+\\)\"" +- ;; Yet newer ones don't use XML any more. +- "\\|^\ndir\n[0-9]+\n\\(?1:.*\\)") nil t) ++ (when (re-search-forward "\\(.*\\)" nil t) + ;; This is not a hostname but a URL. This may actually be considered + ;; as a feature since it allows vc-svn-stay-local to specify different + ;; behavior for different modules on the same server. +-- +cgit v0.9.0.2 diff --git a/staging/emacs/emacs.install b/staging/emacs/emacs.install new file mode 100644 index 000000000..d84f1de14 --- /dev/null +++ b/staging/emacs/emacs.install @@ -0,0 +1,32 @@ +ICON_PATH=usr/share/icons/hicolor +INFO_DIR=usr/share/info + +INFO_FILES=(ada-mode auth autotype calc ccmode cl dbus dired-x ebrowse +ede ediff edt efaq eieio eintr elisp emacs emacs-mime epa erc eshell eudc flymake +forms gnus idlwave info mairix-el message mh-e newsticker nxml-mode +org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail +speedbar tramp url vip viper widget woman) + +post_install() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + + [[ -x usr/bin/install-info ]] || return 0 + for f in ${INFO_FILES[@]}; do + install-info ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + update-desktop-database -q + + [[ -x usr/bin/install-info ]] || return 0 + for f in ${INFO_FILES[@]}; do + install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null + done +} -- cgit v1.2.3-54-g00ecf