From 6f656bb2804f0ddcd5e7968512d5d9f92ff5f020 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 21 Feb 2019 02:40:21 +0000
Subject: emacs-nox: initial inclusion. dep of ninja

---
 .../0001-Ignore-color-fonts-when-using-Xft.patch   | 72 ++++++++++++++++++++++
 ...-Port-FC_COLOR-change-to-older-fontconfig.patch | 32 ++++++++++
 ...font.c-ftfont_spec_pattern-Fix-whitespace.patch | 25 ++++++++
 abs/extra/emacs-nox/PKGBUILD                       | 55 +++++++++++++++++
 abs/extra/emacs-nox/emacs-nox.changelog            | 56 +++++++++++++++++
 5 files changed, 240 insertions(+)
 create mode 100644 abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch
 create mode 100644 abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch
 create mode 100644 abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch
 create mode 100644 abs/extra/emacs-nox/PKGBUILD
 create mode 100644 abs/extra/emacs-nox/emacs-nox.changelog

diff --git a/abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch b/abs/extra/emacs-nox/0001-Ignore-color-fonts-when-using-Xft.patch
new file mode 100644
index 0000000..e171306
--- /dev/null
+++ b/abs/extra/emacs-nox/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/abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch b/abs/extra/emacs-nox/0001-Port-FC_COLOR-change-to-older-fontconfig.patch
new file mode 100644
index 0000000..ba14df6
--- /dev/null
+++ b/abs/extra/emacs-nox/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/abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch b/abs/extra/emacs-nox/0001-src-ftfont.c-ftfont_spec_pattern-Fix-whitespace.patch
new file mode 100644
index 0000000..8cc1fcc
--- /dev/null
+++ b/abs/extra/emacs-nox/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/abs/extra/emacs-nox/PKGBUILD b/abs/extra/emacs-nox/PKGBUILD
new file mode 100644
index 0000000..512da23
--- /dev/null
+++ b/abs/extra/emacs-nox/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Jaroslav Lichtblau <svetlemodry@archlinux.org>
+# Contributor: Chris Brannon <cmbrannon@cox.net>
+
+pkgname=emacs-nox
+pkgver=26.1
+pkgrel=1
+pkgdesc="The extensible, customizable, self-documenting real-time display editor, without X11 support"
+arch=('x86_64')
+url="http://www.gnu.org/software/emacs/emacs.html"
+license=('GPL3')
+depends=('dbus' 'ncurses' 'perl' 'libxml2' 'glib2' 'gnutls')
+provides=('emacs')
+conflicts=('emacs')
+changelog=$pkgname.changelog
+source=(ftp://ftp.gnu.org/gnu/emacs/emacs-$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)
+validpgpkeys=('28D3BED851FDF3AB57FEF93C233587A47C207910')
+sha256sums=('1cf4fc240cd77c25309d15e18593789c8dbfba5c2b44d8f77c886542300fd32c'
+            'SKIP'
+            '5bc53171bbb82e6dea26950f14da6a06f4371162b3bccb624397365e6e02f480'
+            '6d16de2078108d742a8935044926f439869e231cc18ec23777bbed4857625f96'
+            'ca48398d6a83e9a22a4117beca151f476e6286a9abbfddd0f7c0f187ebfc50d7')
+
+prepare() {
+  cd "${srcdir}"/emacs-$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}"/emacs-$pkgver
+
+  ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib \
+    --localstatedir=/var --without-x --without-sound --with-modules
+  make
+}
+
+package() {
+  cd "${srcdir}"/emacs-$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 {} \;
+# remove .desktop file and icons
+  rm -rf "${pkgdir}"/usr/share/{applications,icons}
+}
diff --git a/abs/extra/emacs-nox/emacs-nox.changelog b/abs/extra/emacs-nox/emacs-nox.changelog
new file mode 100644
index 0000000..3c9ad91
--- /dev/null
+++ b/abs/extra/emacs-nox/emacs-nox.changelog
@@ -0,0 +1,56 @@
+2018-07-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 26.1-1
+
+2017-09-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 25.3-1
+
+2017-04-25 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 25.2-1
+
+2016-09-19 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 25.1-1
+
+2016-05-01 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.5-4 pacman hooks rebuild
+
+2016-01-24 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.5-3 FS#47841 fix
+
+2015-05-15 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.5-1
+
+2014-10-24 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.4-2 FS#42514 fix
+
+2014-10-21 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.4-1
+
+2013-04-20 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.3-1
+
+2012-09-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.2-1
+
+2012-06-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 24.1-1
+
+2011-03-13 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* emacs-nox 23.3-1
+
+2010-05-12 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* Update to major release 23.2
+
+2010-03-17 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* 23.1-2 - fix for FS#18688 - [emacs-nox] compiled with SSE2 instructions
+
+2009-12-18 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* Update to major release 23.1
+
+2008-11-01 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* New PKGBUILD/install method provided by Chris Brannon <cmbrannon@cox.net>
+	* => Added an install script
+	* => Info files are now installed using install-info
+
+2008-09-08 Jaroslav Lichtblau <svetlemodry@archlinux.org>
+	* Package moved to [community]
+	* Update to major release 22.3
-- 
cgit v0.12

