summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/emacs-lucid/0001-Ignore-color-fonts-when-using-Xft.patch72
-rw-r--r--pcr/emacs-lucid/0001-Port-FC_COLOR-change-to-older-fontconfig.patch32
-rw-r--r--pcr/emacs-lucid/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch25
-rw-r--r--pcr/emacs-lucid/PKGBUILD42
4 files changed, 155 insertions, 16 deletions
diff --git a/pcr/emacs-lucid/0001-Ignore-color-fonts-when-using-Xft.patch b/pcr/emacs-lucid/0001-Ignore-color-fonts-when-using-Xft.patch
new file mode 100644
index 000000000..e17130658
--- /dev/null
+++ b/pcr/emacs-lucid/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/pcr/emacs-lucid/0001-Port-FC_COLOR-change-to-older-fontconfig.patch b/pcr/emacs-lucid/0001-Port-FC_COLOR-change-to-older-fontconfig.patch
new file mode 100644
index 000000000..ba14df6b6
--- /dev/null
+++ b/pcr/emacs-lucid/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/pcr/emacs-lucid/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch b/pcr/emacs-lucid/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch
new file mode 100644
index 000000000..8cc1fcccd
--- /dev/null
+++ b/pcr/emacs-lucid/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
+
diff --git a/pcr/emacs-lucid/PKGBUILD b/pcr/emacs-lucid/PKGBUILD
index 037fa0292..9a087bbf8 100644
--- a/pcr/emacs-lucid/PKGBUILD
+++ b/pcr/emacs-lucid/PKGBUILD
@@ -1,31 +1,46 @@
-# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer: Luke Shumaker <lukeshu@parabola.nu>
# Maintainer (Arch:emacs): Juergen Hoetzel <juergen@archlinux.org>
# Contributor (Arch:emacs): Renchi Raju <renchi@green.tam.uiuc.edu>
_pkgname=emacs
pkgname=emacs-lucid
-pkgver=25.3
-pkgrel=3.1
+pkgver=26.1
+pkgrel=2
+pkgrel+=.lucid1
pkgdesc="The extensible, customizable, self-documenting real-time display editor"
-arch=('i686' 'x86_64')
+pkgdesc+=", with the Lucid X11 toolkit"
+arch=('x86_64')
+arch+=('i686' 'armv7h')
url="http://www.gnu.org/software/emacs/emacs.html"
license=('GPL3')
depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'hicolor-icon-theme' 'gconf' 'desktop-file-utils' 'alsa-lib' 'libmagick6' 'gnutls')
validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910')
-source=(ftp://ftp.gnu.org/gnu/emacs/$_pkgname-$pkgver.tar.xz{,.sig})
-sha1sums=('1cb4f39e9c0a3305fd62f936c7c95ff8e2924323'
- 'SKIP')
+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)
+sha1sums=('53c01d987b2613701f42d9f941c2d5225a5874c4'
+ 'SKIP'
+ 'e6b77aadf6c60dfdc1ec6b61d5968e64d959257d'
+ '6b40ad3d8936bfd068398c8d46cb8e0b9501fe64'
+ '51b3e6a2c32be315c9a15c55ca2e97e84d204f32')
-pkgdesc+=", with the Lucid X11 toolkit"
provides=("$_pkgname=$pkgver")
conflicts=("$_pkgname")
-arch+=('armv7h')
+
+prepare() {
+ 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
+ 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=lucid --with-xft \
- --with-modules
+ --localstatedir=/var --with-x-toolkit=lucid --with-xft \
+ --with-modules
make
}
@@ -39,9 +54,4 @@ package() {
# fix user/root permissions on usr/share files
find "$pkgdir"/usr/share/emacs/$pkgver -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
}