diff options
author | Alad Wenter | 2019-01-10 16:54:54 +0100 |
---|---|---|
committer | Alad Wenter | 2019-01-10 16:55:33 +0100 |
commit | a82b6cc40fa7f189aef7af82a120e5bc68c6002a (patch) | |
tree | fb956f98e76858eb72f255608ba535c1678d5ada | |
parent | 416fcc88f4368f71b4b057b6eac5acc2f0c0594f (diff) | |
download | aur-a82b6cc40fa7f189aef7af82a120e5bc68c6002a.tar.gz |
rewrite PKGBUILD from scratch
based on community/emacs
-rw-r--r-- | .SRCINFO | 47 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | 0001-Ignore-color-fonts-when-using-Xft.patch | 72 | ||||
-rw-r--r-- | 0001-Port-FC_COLOR-change-to-older-fontconfig.patch | 32 | ||||
-rw-r--r-- | 0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch | 25 | ||||
-rw-r--r-- | PKGBUILD | 172 |
6 files changed, 196 insertions, 156 deletions
@@ -1,31 +1,34 @@ -# Generated by mksrcinfo v8 -# Mon Oct 10 09:31:55 UTC 2016 pkgbase = emacs-gtk2 - pkgver = 25.1 - pkgrel = 1 - url = http://www.gnu.org/software/emacs/ - arch = i686 + pkgdesc = The extensible, customizable, self-documenting real-time display editor + pkgver = 26.1 + pkgrel = 2 + url = http://www.gnu.org/software/emacs/emacs.html arch = x86_64 - license = GPL - makedepends = git - source = ftp://ftp.gnu.org/gnu/emacs/emacs-25.1.tar.xz - md5sums = SKIP - -pkgname = emacs-gtk2 - pkgdesc = GNU Emacs, the extensible self-documenting text editor, with a GUI built with the GTK2 toolkit. + license = GPL3 + depends = librsvg depends = gpm depends = giflib + depends = libxpm + depends = libotf depends = m17n-lib + depends = gtk2 + depends = hicolor-icon-theme depends = desktop-file-utils depends = alsa-lib - depends = imagemagick - depends = gtk2 - depends = gconf - provides = emacs - conflicts = emacs - conflicts = emacs-git + depends = libmagick6 + depends = gnutls + source = ftp://ftp.gnu.org/gnu/emacs/emacs-26.1.tar.xz + source = ftp://ftp.gnu.org/gnu/emacs/emacs-26.1.tar.xz.sig + source = 0001-Ignore-color-fonts-when-using-Xft.patch + source = 0001-Port-FC_COLOR-change-to-older-fontconfig.patch + source = 0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch + validpgpkeys = B29426DEFB07724C3C35E5D36592E9A3A0B0F199 + validpgpkeys = 28D3BED851FDF3AB57FEF93C233587A47C207910 + sha256sums = 1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c + sha256sums = SKIP + sha256sums = 5bc53171bbb82e6dea26950f14da6a06f4371162b3bccb624397365e6e02f480 + sha256sums = 6d16de2078108d742a8935044926f439869e231cc18ec23777bbed4857625f96 + sha256sums = ca48398d6a83e9a22a4117beca151f476e6286a9abbfddd0f7c0f187ebfc50d7 -pkgname = emacs-docs - pkgdesc = GNU Emacs, built from git sources — HTML and PDF documentation package. - conflicts = emacs-git-docs +pkgname = emacs-gtk2 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3f20c6e06904..000000000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.xz -*.gz -pkg -src diff --git a/0001-Ignore-color-fonts-when-using-Xft.patch b/0001-Ignore-color-fonts-when-using-Xft.patch new file mode 100644 index 000000000000..e17130658ff3 --- /dev/null +++ b/0001-Ignore-color-fonts-when-using-Xft.patch @@ -0,0 +1,72 @@ +From f21fa142aca53e3de5783e1ce6fe1bf116174aeb Mon Sep 17 00:00:00 2001 +From: Robert Pluim <rpluim@gmail.com> +Date: Tue, 3 Apr 2018 11:06:01 +0200 +Subject: [PATCH] Ignore color fonts when using Xft + +* src/font.c (syms_of_font): New configuration variable +xft-ignore-color-fonts, default t. +* src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore +color fonts if xft-ignore-color-fonts is t. (Bug#30874, Bug#30045) +* etc/NEWS: Document xft-ignore-color-fonts. +--- + etc/NEWS | 6 ++++++ + src/font.c | 7 +++++++ + src/ftfont.c | 7 +++++++ + 3 files changed, 20 insertions(+) + +diff --git a/etc/NEWS b/etc/NEWS +index 873e2dfd1d..2bec8de0ea 100644 +--- a/etc/NEWS ++++ b/etc/NEWS +@@ -31,6 +31,12 @@ in its NEWS.) + + * Changes in Emacs 26.2 + ++--- ++** New variable 'xft-ignore-color-fonts'. ++Default t means don't try to load color fonts when using Xft, as they ++often cause crashes. Set it to nil if you really need those fonts. ++(Bug#30874) ++ + + * Editing Changes in Emacs 26.2 + +diff --git a/src/font.c b/src/font.c +index e53935a15c..305bb14576 100644 +--- a/src/font.c ++++ b/src/font.c +@@ -5476,6 +5476,13 @@ Disabling compaction of font caches might enlarge the Emacs memory + footprint in sessions that use lots of different fonts. */); + inhibit_compacting_font_caches = 0; + ++ DEFVAR_BOOL ("xft-ignore-color-fonts", ++ Vxft_ignore_color_fonts, ++ doc: /* ++Non-nil means don't query fontconfig for color fonts, since they often ++cause Xft crashes. Only has an effect in Xft builds. */); ++ Vxft_ignore_color_fonts = 1; ++ + #ifdef HAVE_WINDOW_SYSTEM + #ifdef HAVE_FREETYPE + syms_of_ftfont (); +diff --git a/src/ftfont.c b/src/ftfont.c +index c2e093e633..24a92dd52e 100644 +--- a/src/ftfont.c ++++ b/src/ftfont.c +@@ -764,6 +764,13 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots + if (scalable >= 0 + && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse)) + goto err; ++#ifdef HAVE_XFT ++ /* We really don't like color fonts, they cause Xft crashes. See ++ Bug#30874. */ ++ if (Vxft_ignore_color_fonts ++ && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse)) ++ goto err; ++#endif + + goto finish; + +-- +2.17.1 + diff --git a/0001-Port-FC_COLOR-change-to-older-fontconfig.patch b/0001-Port-FC_COLOR-change-to-older-fontconfig.patch new file mode 100644 index 000000000000..ba14df6b6384 --- /dev/null +++ b/0001-Port-FC_COLOR-change-to-older-fontconfig.patch @@ -0,0 +1,32 @@ +From 97d61f878e6378efbde73923a36f71caac73a4a0 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Tue, 3 Apr 2018 08:12:41 -0700 +Subject: [PATCH] Port FC_COLOR change to older fontconfig +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by John ff in: +https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html +* src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]: +Don’t use FC_COLOR on older fontconfigs that don’t have it. +--- + src/ftfont.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ftfont.c b/src/ftfont.c +index 24a92dd52e..84e4a30389 100644 +--- a/src/ftfont.c ++++ b/src/ftfont.c +@@ -764,7 +764,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots + if (scalable >= 0 + && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse)) + goto err; +-#ifdef HAVE_XFT ++#if defined HAVE_XFT && defined FC_COLOR + /* We really don't like color fonts, they cause Xft crashes. See + Bug#30874. */ + if (Vxft_ignore_color_fonts +-- +2.17.1 + diff --git a/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch b/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch new file mode 100644 index 000000000000..8cc1fcccd6ff --- /dev/null +++ b/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch @@ -0,0 +1,25 @@ +From acaebed014951fdd13855aa7bba9aee60618785f Mon Sep 17 00:00:00 2001 +From: Eli Zaretskii <eliz@gnu.org> +Date: Tue, 3 Apr 2018 19:59:40 +0300 +Subject: [PATCH] ; * src/ftfont.c (ftfont_spec_pattern): Fix whitespace. + +--- + src/ftfont.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ftfont.c b/src/ftfont.c +index 84e4a30389..8f048d2983 100644 +--- a/src/ftfont.c ++++ b/src/ftfont.c +@@ -768,7 +768,7 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots + /* We really don't like color fonts, they cause Xft crashes. See + Bug#30874. */ + if (Vxft_ignore_color_fonts +- && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse)) ++ && ! FcPatternAddBool (pattern, FC_COLOR, FcFalse)) + goto err; + #endif + +-- +2.17.1 + @@ -1,140 +1,52 @@ -# Maintainer: Pedro A. López-Valencia <https://aur.archlinux.org/users/vorbote> +# Maintainer: Alad Wenter <alad@archlinux.org> +# Contributor: Juergen Hoetzel <juergen@archlinux.org> +# Contributor: Renchi Raju <renchi@green.tam.uiuc.edu> +pkgname=emacs-gtk2 +_pkgname=emacs +pkgver=26.1 +pkgrel=2 +pkgdesc="The extensible, customizable, self-documenting real-time display editor" +arch=('x86_64') +url="http://www.gnu.org/software/emacs/emacs.html" +license=('GPL3') +depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk2' + 'hicolor-icon-theme' 'desktop-file-utils' 'alsa-lib' 'libmagick6' 'gnutls') +validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910') +source=(ftp://ftp.gnu.org/gnu/emacs/$_pkgname-$pkgver.tar.xz{,.sig} + 0001-Ignore-color-fonts-when-using-Xft.patch + 0001-Port-FC_COLOR-change-to-older-fontconfig.patch + 0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch) +sha256sums=('1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c' + 'SKIP' + '5bc53171bbb82e6dea26950f14da6a06f4371162b3bccb624397365e6e02f480' + '6d16de2078108d742a8935044926f439869e231cc18ec23777bbed4857625f96' + 'ca48398d6a83e9a22a4117beca151f476e6286a9abbfddd0f7c0f187ebfc50d7') -####################################################################### -# CAVEAT LECTOR -####################################################################### -# -# Don't run this on a tmpfs unless you have oodles of RAM. -# When the official git repo started, the size was about -# 200MB. As time passes, it is growing more and more. -# Final directory size after a build is shy of 1Gb! -# Furthermore, the FSF isn't precisely rich and Savannah -# network costs aren't cheap. Keep your git checkout! -# -# Keeping this directory in a safe place preserves the -# git repo and the src dir for faster compilation if -# you want. You may delete the pkg dir after successfully -# creating a package. -# -# "makepkg -i" is your friend. -# -####################################################################### - -####################################################################### -# -# Still reading? Here kid, have enough rope to hang yourself. :-) -# -####################################################################### - -####################################################################### -# Assign "YES" to the variable you want enabled, empty otherwise -####################################################################### -GTK3="" # Leave empty to compile with gtk+ 2 support. -LTO= # Enable link-time optimization. Broken. -CAIRO= # Very broken for me. Use at own risk. -XWIDGETS= # Use GTK+ native widgets pulled from webkitgtk. -DOCS_HTML= # Generate and install html documentation. -DOCS_PDF= # Generate and install pdf documentation. -####################################################################### - -_pkgname=('emacs') -pkgname=("$_pkgname-gtk2" "$_pkgname-docs") -pkgver=25.1 -pkgrel=1 -arch=('i686' 'x86_64') -url="http://www.gnu.org/software/emacs/" -_savannah="git://git.savannah.gnu.org/emacs.git" -_github="git+https://github.com/emacs-mirror/emacs.git" -license=('GPL') -makedepends=('git') -source=("ftp://ftp.gnu.org/gnu/${_pkgname}/${_pkgname}-$pkgver.tar.xz") -md5sums=('SKIP') - -# There is no need to run autogen.sh after first checkout. -# Doing so, breaks incremental compilation. prepare() { - cd "$srcdir/${_pkgname}-${pkgver}" - - [[ -x configure ]] || ./autogen.sh + cd "$_pkgname-$pkgver" + patch -Np1 -i "$srcdir/0001-Ignore-color-fonts-when-using-Xft.patch" + patch -Np1 -i "$srcdir/0001-Port-FC_COLOR-change-to-older-fontconfig.patch" + patch -Np1 -i "$srcdir/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch" } build() { - cd "$srcdir/${_pkgname}-${pkgver}" - - # Avoid hardening-wrapper (taken from emacs-pretest, thanks to Thomas Jost). - export PATH=$(echo "$PATH" | sed 's!/usr/lib/hardening-wrapper/bin!!g') - - local _conf=( - --prefix=/usr - --sysconfdir=/etc - --libexecdir=/usr/lib - --localstatedir=/var - --mandir=/usr/share/man - --with-gameuser=:games - --with-sound=alsa - --with-xft - --with-modules) - -####################################################################### -####################################################################### - if [[ $GTK3 = "YES" ]]; then - _conf+=('--with-x-toolkit=gtk3' '--without-gconf' '--with-gsettings'); - else - _conf+=('--with-x-toolkit=gtk2' '--with-gconf' '--without-gsettings'); - fi - if [[ $LTO = "YES" ]]; then _conf+=('--enable-link-time-optimization'); fi - if [[ $CAIRO = "YES" ]]; then _conf+=('--with-cairo'); fi - if [[ $XWIDGETS = "YES" ]]; then _conf+=('--with-xwidgets'); fi -####################################################################### -####################################################################### - - ./configure "${_conf[@]}" - - # Using "make" instead of "make bootstrap" enables incremental - # compiling. Less time recompiling. Yay! But if you may - # need to use bootstrap sometime, just add it to the command - # line. - # Please note that incremental compilation implies that you - # are reusing your src directory! - make - #make html - #make pdf -} - -package_emacs-gtk2() { - pkgdesc="GNU Emacs, the extensible self-documenting text editor, with a GUI built with the GTK2 toolkit." - depends=('gpm' 'giflib' 'm17n-lib' 'desktop-file-utils' 'alsa-lib' 'imagemagick' 'gtk2' 'gconf') - conflicts=('emacs' 'emacs-git') - provides=('emacs') - - cd "$srcdir/${_pkgname}-$pkgver" - - make DESTDIR="$pkgdir/" install - - # remove conflict with ctags package - mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} - mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1.gz} - - # remove conflict with texinfo - rm "$pkgdir"/usr/share/info/info.info.gz - - # fix user/root permissions on usr/share files - find "$pkgdir"/usr/share/emacs/ | xargs chown root:root - - # fix permssions on /var/games - mkdir -p "$pkgdir"/var/games/emacs - chmod 775 "$pkgdir"/var/games - chmod 775 "$pkgdir"/var/games/emacs - chown -R root:games "$pkgdir"/var/games + cd "$_pkgname-$pkgver" + PKG_CONFIG_PATH="/usr/lib/imagemagick6/pkgconfig" \ + ac_cv_lib_gif_EGifPutExtensionLast=yes ./configure \ + --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \ + --localstatedir=/var --with-x-toolkit=gtk2 --with-xft \ + --with-modules --without-gconf + make } -package_emacs-docs() { - pkgdesc="GNU Emacs, built from git sources — HTML and PDF documentation package." - makedepends+=('texlive-core') - conflicts=('emacs-git-docs') +package() { + cd "$_pkgname-$pkgver" + make DESTDIR="$pkgdir" install - cd "$srcdir/${_pkgname}-$pkgver" + # remove conflict with ctags package + mv "$pkgdir"/usr/bin/{ctags,ctags.emacs} + mv "$pkgdir"/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1} - make DESTDIR="$pkgdir/" install-html - make DESTDIR="$pkgdir/" install-pdf + # fix user/root permissions on usr/share files + find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \; } |