[arch-commits] Commit in emacs/repos (5 files)

Felix Yan felixonmars at archlinux.org
Tue May 19 08:04:52 UTC 2020


    Date: Tuesday, May 19, 2020 @ 08:04:52
  Author: felixonmars
Revision: 386142

archrelease: copy trunk to staging-x86_64

Added:
  emacs/repos/staging-x86_64/
  emacs/repos/staging-x86_64/0001-Ignore-color-fonts-when-using-Xft.patch
    (from rev 386140, emacs/trunk/0001-Ignore-color-fonts-when-using-Xft.patch)
  emacs/repos/staging-x86_64/0001-Port-FC_COLOR-change-to-older-fontconfig.patch
    (from rev 386140, emacs/trunk/0001-Port-FC_COLOR-change-to-older-fontconfig.patch)
  emacs/repos/staging-x86_64/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch
    (from rev 386140, emacs/trunk/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch)
  emacs/repos/staging-x86_64/PKGBUILD
    (from rev 386140, emacs/trunk/PKGBUILD)

------------------------------------------------------------+
 0001-Ignore-color-fonts-when-using-Xft.patch               |   72 +++++++++++
 0001-Port-FC_COLOR-change-to-older-fontconfig.patch        |   32 ++++
 0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch |   25 +++
 PKGBUILD                                                   |   36 +++++
 4 files changed, 165 insertions(+)

Copied: emacs/repos/staging-x86_64/0001-Ignore-color-fonts-when-using-Xft.patch (from rev 386140, emacs/trunk/0001-Ignore-color-fonts-when-using-Xft.patch)
===================================================================
--- staging-x86_64/0001-Ignore-color-fonts-when-using-Xft.patch	                        (rev 0)
+++ staging-x86_64/0001-Ignore-color-fonts-when-using-Xft.patch	2020-05-19 08:04:52 UTC (rev 386142)
@@ -0,0 +1,72 @@
+From f21fa142aca53e3de5783e1ce6fe1bf116174aeb Mon Sep 17 00:00:00 2001
+From: Robert Pluim <rpluim at 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
+

Copied: emacs/repos/staging-x86_64/0001-Port-FC_COLOR-change-to-older-fontconfig.patch (from rev 386140, emacs/trunk/0001-Port-FC_COLOR-change-to-older-fontconfig.patch)
===================================================================
--- staging-x86_64/0001-Port-FC_COLOR-change-to-older-fontconfig.patch	                        (rev 0)
+++ staging-x86_64/0001-Port-FC_COLOR-change-to-older-fontconfig.patch	2020-05-19 08:04:52 UTC (rev 386142)
@@ -0,0 +1,32 @@
+From 97d61f878e6378efbde73923a36f71caac73a4a0 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert at 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
+

Copied: emacs/repos/staging-x86_64/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch (from rev 386140, emacs/trunk/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch)
===================================================================
--- staging-x86_64/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch	                        (rev 0)
+++ staging-x86_64/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch	2020-05-19 08:04:52 UTC (rev 386142)
@@ -0,0 +1,25 @@
+From acaebed014951fdd13855aa7bba9aee60618785f Mon Sep 17 00:00:00 2001
+From: Eli Zaretskii <eliz at 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
+

Copied: emacs/repos/staging-x86_64/PKGBUILD (from rev 386140, emacs/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2020-05-19 08:04:52 UTC (rev 386142)
@@ -0,0 +1,36 @@
+# Maintainer: Juergen Hoetzel <juergen at archlinux.org>
+# Contributor: Renchi Raju <renchi at green.tam.uiuc.edu>
+
+pkgname=emacs
+pkgver=26.3
+pkgrel=2
+pkgdesc="The extensible, customizable, self-documenting real-time display editor"
+arch=('x86_64')
+url="https://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('librsvg' 'gpm' 'giflib' 'libxpm' 'libotf' 'm17n-lib' 'gtk3' 'hicolor-icon-theme' 'desktop-file-utils' 'alsa-lib' 'libmagick6' 'gnutls')
+validpgpkeys=('B29426DEFB07724C3C35E5D36592E9A3A0B0F199' '28D3BED851FDF3AB57FEF93C233587A47C207910')
+source=(https://ftp.gnu.org/gnu/emacs/$pkgname-$pkgver.tar.xz{,.sig})
+sha1sums=('2960e1dddef401b18abd779cb159306984157eef'
+          'SKIP')
+
+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=gtk3 --with-xft --with-wide-int \
+                                    --with-modules
+  make
+}
+
+package() {
+  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}
+
+  # fix user/root permissions on usr/share files
+  find "$pkgdir"/usr/share/emacs/$pkgver -exec chown root:root {} \;
+}



More information about the arch-commits mailing list