commit:     46adb588dc7afaec3745c9672ea481f2302d5e52
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  8 13:20:17 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Sep  8 13:34:18 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46adb588

www-client/firefox: allow building without TERM being set

Link 1: https://bugzilla.mozilla.org/show_bug.cgi?id=1432867
Link 2: https://github.com/erikrose/blessings/pull/137
Closes: https://bugs.gentoo.org/654316
Package-Manager: Portage-2.3.49, Repoman-2.3.10

 .../files/firefox-52.9.0-blessings-TERM.patch      | 56 ++++++++++++++++++++++
 .../files/firefox-60.0-blessings-TERM.patch        | 56 ++++++++++++++++++++++
 www-client/firefox/firefox-52.9.0.ebuild           |  4 +-
 www-client/firefox/firefox-60.2.0.ebuild           |  3 +-
 www-client/firefox/firefox-62.0-r1.ebuild          |  2 +
 5 files changed, 119 insertions(+), 2 deletions(-)

diff --git a/www-client/firefox/files/firefox-52.9.0-blessings-TERM.patch 
b/www-client/firefox/files/firefox-52.9.0-blessings-TERM.patch
new file mode 100644
index 00000000000..568651e04fe
--- /dev/null
+++ b/www-client/firefox/files/firefox-52.9.0-blessings-TERM.patch
@@ -0,0 +1,56 @@
+https://github.com/erikrose/blessings/pull/137
+
+Fixes: https://bugs.gentoo.org/654316
+
+From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
+From: Jay Kamat <jaygka...@gmail.com>
+Date: Fri, 24 Aug 2018 11:11:57 -0700
+Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
+
+---
+ blessings/__init__.py | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 98b75c3..3872b5f 100644
+--- a/python/blessings/blessings/__init__.py
++++ b/python/blessings/blessings/__init__.py
+@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, 
force_styling=False):
+             # init sequences to the stream if it has a file descriptor, and
+             # send them to stdout as a fallback, since they have to go
+             # somewhere.
+-            setupterm(kind or environ.get('TERM', 'unknown'),
+-                      self._init_descriptor)
++            try:
++                setupterm(kind or environ.get('TERM', 'dumb'),
++                          self._init_descriptor)
++            except:
++                # There was an error setting up the terminal, either curses is
++                # not supported or TERM is incorrectly set. Fall back to dumb.
++                self._does_styling = False
+ 
+         self.stream = stream
+ 
+
+From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
+From: Jay Kamat <jaygka...@gmail.com>
+Date: Sat, 1 Sep 2018 13:20:32 -0700
+Subject: [PATCH 2/2] Explicitly catch curses.error
+
+---
+ blessings/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 3872b5f..fdceb09 100644
+--- a/python/blessings/blessings/__init__.py
++++ b/python/blessings/blessings/__init__.py
+@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, 
force_styling=False):
+             try:
+                 setupterm(kind or environ.get('TERM', 'dumb'),
+                           self._init_descriptor)
+-            except:
++            except curses.error:
+                 # There was an error setting up the terminal, either curses is
+                 # not supported or TERM is incorrectly set. Fall back to dumb.
+                 self._does_styling = False

diff --git a/www-client/firefox/files/firefox-60.0-blessings-TERM.patch 
b/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
new file mode 100644
index 00000000000..cac03d55643
--- /dev/null
+++ b/www-client/firefox/files/firefox-60.0-blessings-TERM.patch
@@ -0,0 +1,56 @@
+https://github.com/erikrose/blessings/pull/137
+
+Fixes: https://bugs.gentoo.org/654316
+
+From 5fefc65c306cf9ec492e7b422d6bb4842385afbc Mon Sep 17 00:00:00 2001
+From: Jay Kamat <jaygka...@gmail.com>
+Date: Fri, 24 Aug 2018 11:11:57 -0700
+Subject: [PATCH 1/2] Fix error when TERM is unset or improperly set
+
+---
+ blessings/__init__.py | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 98b75c3..3872b5f 100644
+--- a/third_party/python/blessings/blessings/__init__.py
++++ b/third_party/python/blessings/blessings/__init__.py
+@@ -94,8 +94,13 @@ def __init__(self, kind=None, stream=None, 
force_styling=False):
+             # init sequences to the stream if it has a file descriptor, and
+             # send them to stdout as a fallback, since they have to go
+             # somewhere.
+-            setupterm(kind or environ.get('TERM', 'unknown'),
+-                      self._init_descriptor)
++            try:
++                setupterm(kind or environ.get('TERM', 'dumb'),
++                          self._init_descriptor)
++            except:
++                # There was an error setting up the terminal, either curses is
++                # not supported or TERM is incorrectly set. Fall back to dumb.
++                self._does_styling = False
+ 
+         self.stream = stream
+ 
+
+From d885df78c6f931abf3259343aaaa897e16c8cba1 Mon Sep 17 00:00:00 2001
+From: Jay Kamat <jaygka...@gmail.com>
+Date: Sat, 1 Sep 2018 13:20:32 -0700
+Subject: [PATCH 2/2] Explicitly catch curses.error
+
+---
+ blessings/__init__.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blessings/__init__.py b/blessings/__init__.py
+index 3872b5f..fdceb09 100644
+--- a/third_party/python/blessings/blessings/__init__.py
++++ b/third_party/python/blessings/blessings/__init__.py
+@@ -97,7 +97,7 @@ def __init__(self, kind=None, stream=None, 
force_styling=False):
+             try:
+                 setupterm(kind or environ.get('TERM', 'dumb'),
+                           self._init_descriptor)
+-            except:
++            except curses.error:
+                 # There was an error setting up the terminal, either curses is
+                 # not supported or TERM is incorrectly set. Fall back to dumb.
+                 self._does_styling = False

diff --git a/www-client/firefox/firefox-52.9.0.ebuild 
b/www-client/firefox/firefox-52.9.0.ebuild
index 6cdb136053a..cf34f98b23a 100644
--- a/www-client/firefox/firefox-52.9.0.ebuild
+++ b/www-client/firefox/firefox-52.9.0.ebuild
@@ -33,7 +33,7 @@ MOZCONFIG_OPTIONAL_WIFI=1
 inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils 
mozconfig-v6.52 pax-utils xdg-utils autotools virtualx mozlinguas-v2
 
 DESCRIPTION="Firefox Web Browser"
-HOMEPAGE="https://www.mozilla.org/en-US/firefox/";
+HOMEPAGE="https://www.mozilla.org/firefox";
 
 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 x86 ~amd64-linux 
~x86-linux"
 
@@ -127,6 +127,8 @@ src_prepare() {
        rm -f "${WORKDIR}"/firefox/2007_fix_nvidia_latest.patch
        eapply "${WORKDIR}/firefox"
 
+       eapply "${FILESDIR}"/${P}-blessings-TERM.patch # 654316
+
        # Enable gnomebreakpad
        if use debug ; then
                sed -i -e 
"s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \

diff --git a/www-client/firefox/firefox-60.2.0.ebuild 
b/www-client/firefox/firefox-60.2.0.ebuild
index ea3ee61d1e1..9f2f3d4e3b2 100644
--- a/www-client/firefox/firefox-60.2.0.ebuild
+++ b/www-client/firefox/firefox-60.2.0.ebuild
@@ -125,7 +125,8 @@ src_prepare() {
        rm "${WORKDIR}/firefox/2005_ffmpeg4.patch"
        eapply "${WORKDIR}/firefox"
 
-       eapply "${FILESDIR}/bug_1461221.patch"
+       eapply "${FILESDIR}"/bug_1461221.patch
+       eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
 
        # Enable gnomebreakpad
        if use debug ; then

diff --git a/www-client/firefox/firefox-62.0-r1.ebuild 
b/www-client/firefox/firefox-62.0-r1.ebuild
index ea15529b6e8..61b4fa49493 100644
--- a/www-client/firefox/firefox-62.0-r1.ebuild
+++ b/www-client/firefox/firefox-62.0-r1.ebuild
@@ -179,6 +179,8 @@ src_unpack() {
 src_prepare() {
        eapply "${WORKDIR}/firefox"
 
+       eapply "${FILESDIR}"/${PN}-60.0-blessings-TERM.patch # 654316
+
        # Enable gnomebreakpad
        if use debug ; then
                sed -i -e 
"s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \

Reply via email to