diff --git a/repos/extra-x86_64/0001-configure.in-Invoke-CPP-with-P-when-creating-Makefil.patch b/repos/extra-x86_64/0001-configure.in-Invoke-CPP-with-P-when-creating-Makefil.patch new file mode 100644 index 0000000000000000000000000000000000000000..84a46f19453db2b4fd6237c04470d29b3bdab016 --- /dev/null +++ b/repos/extra-x86_64/0001-configure.in-Invoke-CPP-with-P-when-creating-Makefil.patch @@ -0,0 +1,35 @@ +diff -ub src/emacs-23.1/configure src/emacs-23.1.fixed/configure +--- src/emacs-23.1/configure 2009-07-29 17:12:00.000000000 +0200 ++++ src/emacs-23.1.fixed/configure 2010-04-29 23:13:41.493641756 +0200 +@@ -25742,7 +25742,7 @@ + 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 +@@ -25758,7 +25758,7 @@ + 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 +Common subdirectories: src/emacs-23.1/doc and src/emacs-23.1.fixed/doc +Common subdirectories: src/emacs-23.1/etc and src/emacs-23.1.fixed/etc +Common subdirectories: src/emacs-23.1/info and src/emacs-23.1.fixed/info +Common subdirectories: src/emacs-23.1/leim and src/emacs-23.1.fixed/leim +Common subdirectories: src/emacs-23.1/lib-src and src/emacs-23.1.fixed/lib-src +Common subdirectories: src/emacs-23.1/lisp and src/emacs-23.1.fixed/lisp +Common subdirectories: src/emacs-23.1/lwlib and src/emacs-23.1.fixed/lwlib +Common subdirectories: src/emacs-23.1/m4 and src/emacs-23.1.fixed/m4 +Common subdirectories: src/emacs-23.1/msdos and src/emacs-23.1.fixed/msdos +Common subdirectories: src/emacs-23.1/nextstep and src/emacs-23.1.fixed/nextstep +Common subdirectories: src/emacs-23.1/nt and src/emacs-23.1.fixed/nt +Common subdirectories: src/emacs-23.1/oldXMenu and src/emacs-23.1.fixed/oldXMenu +Common subdirectories: src/emacs-23.1/site-lisp and src/emacs-23.1.fixed/site-lisp +Common subdirectories: src/emacs-23.1/src and src/emacs-23.1.fixed/src diff --git a/repos/extra-x86_64/PKGBUILD b/repos/extra-x86_64/PKGBUILD new file mode 100644 index 0000000000000000000000000000000000000000..6ecbb60b612713875db83c29f13682707701fc93 --- /dev/null +++ b/repos/extra-x86_64/PKGBUILD @@ -0,0 +1,49 @@ +# $Id$ +# Maintainer: Juergen Hoetzel <juergen@archlinux.org> +# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu> +pkgname=emacs +pkgver=23.1 +pkgrel=5 +pkgdesc="The Emacs Editor" +arch=(i686 x86_64) +url="http://www.gnu.org/software/emacs/emacs.html" +license=('GPL') +options=(docs) +depends=('dbus-core' 'librsvg' 'gpm' 'giflib' 'libtiff' 'libxpm' 'libjpeg' 'gtk2' 'texinfo' 'hicolor-icon-theme') +source=(ftp://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.gz emacs.desktop libpng14.patch 0001-configure.in-Invoke-CPP-with-P-when-creating-Makefil.patch) +md5sums=('a620d4452769d04ad8864d662f34f8dd' '8af038d2ba4561271e935bb444ceb4e3'\ + 'd3e657091f41504fba7bdb0e96ec9b38' '8afbea5b319862c1449cc6534e0908de') +install=emacs.install + +build() { + cd $startdir/src/$pkgname-$pkgver + patch -p1 < $startdir/src/libpng14.patch + # Patch from Upstream dev: Invoke $CPP with -P when creating Makefile + patch -p2 -i $startdir/src/0001-configure.in-Invoke-CPP-with-P-when-creating-Makefil.patch + mandir=/usr/share/man + ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ + --localstatedir=/var --mandir=${mandir} --without-sound -with-x-toolkit=gtk + make + make DESTDIR=$startdir/pkg install + + # remove conflict with ctags package + mv $startdir/pkg/usr/bin/{ctags,ctags.emacs} + mv $startdir/pkg/usr/bin/{etags,etags.emacs} + mv $startdir/pkg${mandir}/man1/{etags.1,etags.emacs.1} + mv $startdir/pkg${mandir}/man1/{ctags.1,ctags.emacs.1} + # fix all the 777 perms on directories + find $startdir/pkg/usr/share/emacs/$pkgver -type d -exec chmod 755 {} \; + # fix user/root permissions on usr/share files + find $startdir/pkg/usr/share/emacs/$pkgver -exec chown root.root {} \; + # fix perms on /var/games + chmod 775 ${startdir}/pkg/var/games + chmod 775 ${startdir}/pkg/var/games/emacs + chmod 664 ${startdir}/pkg/var/games/emacs/* + chown -R root:50 ${startdir}/pkg/var/games + + + # fix FS#9253 + mkdir -p $startdir/pkg/usr/share/pixmaps ${startdir}/pkg/usr/share/applications + install -D -m644 ${startdir}/src/${pkgname}.desktop ${startdir}/pkg/usr/share/applications + ln -s ../emacs/${pkgver}/etc/images/icons/hicolor/48x48/apps/emacs.png $startdir/pkg/usr/share/pixmaps/emacs-icon.png +} diff --git a/repos/extra-x86_64/emacs.desktop b/repos/extra-x86_64/emacs.desktop new file mode 100644 index 0000000000000000000000000000000000000000..71b3d5bbf33b84cfd1b0a150dc4e038ccae810d6 --- /dev/null +++ b/repos/extra-x86_64/emacs.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=Emacs Text Editor +Name[de]=Emacs Texteditor +GenericName=Text Editor +Comment=Edit text +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; +Exec=emacs %f +Icon=emacs-icon +Type=Application +Terminal=false +Categories=Development;TextEditor; +StartupWMClass=Emacs diff --git a/repos/extra-x86_64/emacs.install b/repos/extra-x86_64/emacs.install new file mode 100644 index 0000000000000000000000000000000000000000..d1b4f477e29e2d5925ea2e6033f12edb15c39525 --- /dev/null +++ b/repos/extra-x86_64/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 +ediff efaq 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 ses sieve smtpmail +speedbar tramp url vip viper widget woman) + +post_install() { + gtk-update-icon-cache -q -t -f ${ICON_PATH} + + 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} + + for f in ${INFO_FILES[@]}; do + install-info --delete ${INFO_DIR}/$f.gz ${INFO_DIR}/dir 2> /dev/null + done +} + +op=$1 +shift +$op $* diff --git a/repos/extra-x86_64/libpng14.patch b/repos/extra-x86_64/libpng14.patch new file mode 100644 index 0000000000000000000000000000000000000000..8eeae15bcca05476167aa87906481699c85a5222 --- /dev/null +++ b/repos/extra-x86_64/libpng14.patch @@ -0,0 +1,48 @@ +diff -Naur emacs-23.1-orig/src/image.c emacs-23.1/src/image.c +--- emacs-23.1-orig/src/image.c 2010-01-17 23:12:10.000000000 -0500 ++++ emacs-23.1/src/image.c 2010-01-17 23:18:16.000000000 -0500 +@@ -5793,7 +5793,7 @@ + /* PNG library details. */ + + DEF_IMGLIB_FN (png_get_io_ptr); +-DEF_IMGLIB_FN (png_check_sig); ++DEF_IMGLIB_FN (png_sig_cmp); + DEF_IMGLIB_FN (png_create_read_struct); + DEF_IMGLIB_FN (png_create_info_struct); + DEF_IMGLIB_FN (png_destroy_read_struct); +@@ -5824,7 +5824,7 @@ + return 0; + + LOAD_IMGLIB_FN (library, png_get_io_ptr); +- LOAD_IMGLIB_FN (library, png_check_sig); ++ LOAD_IMGLIB_FN (library, png_sig_cmp); + LOAD_IMGLIB_FN (library, png_create_read_struct); + LOAD_IMGLIB_FN (library, png_create_info_struct); + LOAD_IMGLIB_FN (library, png_destroy_read_struct); +@@ -5849,7 +5849,7 @@ + #else + + #define fn_png_get_io_ptr png_get_io_ptr +-#define fn_png_check_sig png_check_sig ++#define fn_png_sig_cmp png_sig_cmp + #define fn_png_create_read_struct png_create_read_struct + #define fn_png_create_info_struct png_create_info_struct + #define fn_png_destroy_read_struct png_destroy_read_struct +@@ -5996,7 +5996,7 @@ + + /* Check PNG signature. */ + if (fread (sig, 1, sizeof sig, fp) != sizeof sig +- || !fn_png_check_sig (sig, sizeof sig)) ++ || fn_png_sig_cmp (sig, 0, sizeof sig)) + { + image_error ("Not a PNG file: `%s'", file, Qnil); + UNGCPRO; +@@ -6013,7 +6013,7 @@ + + /* Check PNG signature. */ + if (tbr.len < sizeof sig +- || !fn_png_check_sig (tbr.bytes, sizeof sig)) ++ || fn_png_sig_cmp (tbr.bytes, 0, sizeof sig)) + { + image_error ("Not a PNG image: `%s'", img->spec, Qnil); + UNGCPRO;