From 3df1fcdb8134cbf3c03ed18301323eef84113221 Mon Sep 17 00:00:00 2001
From: Georgy Yakovlev <gyakovlev@gentoo.org>
Date: Thu, 10 Jan 2019 01:00:12 -0800
Subject: app-shells/fish: fix single test failing on 32bit arches

Closes: https://bugs.gentoo.org/656246
Package-Manager: Portage-2.3.54, Repoman-2.3.12
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
---
 .../fish/files/fix-histfile-test-on-ppc.patch      | 31 ++++++++++++++++++++++
 app-shells/fish/fish-2.7.1.ebuild                  |  5 ++--
 app-shells/fish/fish-3.0.0-r1.ebuild               |  4 ++-
 3 files changed, 37 insertions(+), 3 deletions(-)
 create mode 100644 app-shells/fish/files/fix-histfile-test-on-ppc.patch

(limited to 'app-shells/fish')

diff --git a/app-shells/fish/files/fix-histfile-test-on-ppc.patch b/app-shells/fish/files/fix-histfile-test-on-ppc.patch
new file mode 100644
index 000000000000..8b9540ffc610
--- /dev/null
+++ b/app-shells/fish/files/fix-histfile-test-on-ppc.patch
@@ -0,0 +1,31 @@
+From 2c01e67a74ca48ca87e2f11f6239d54c35551e7b Mon Sep 17 00:00:00 2001
+From: David Adam <zanchey@ucc.gu.uwa.edu.au>
+Date: Sat, 5 Jan 2019 15:59:25 +0800
+Subject: [PATCH] histfile tests: tweak expect commands to avoid crash on
+ 32-bit platforms
+
+Rather than killing the process with close, read EOF after sending the
+"exit" command and wait for OS cleanup (per the expect examples).
+
+Not cleaning up with wait caused expect to crash on all 32-bit platforms
+including i586 and armv7l with "alloc: invalid block: 0xbf993ccb: 3d 3b".
+
+64-bit platforms were not affected, for reasons that are not clear.
+---
+ tests/histfile.expect | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/histfile.expect b/tests/histfile.expect
+index 81ca11276..7ac056235 100644
+--- a/tests/histfile.expect
++++ b/tests/histfile.expect
+@@ -92,7 +92,8 @@ expect_prompt -re "\r\n$hist_line\r\n" {
+ # =============
+ # Start by shutting down the previous shell.
+ send "exit\r"
+-close $spawn_id
++expect eof
++wait
+ 
+ # Set the fish_history env var.
+ set ::env(fish_history) env
diff --git a/app-shells/fish/fish-2.7.1.ebuild b/app-shells/fish/fish-2.7.1.ebuild
index b58c91c63b0e..2bc49389213d 100644
--- a/app-shells/fish/fish-2.7.1.ebuild
+++ b/app-shells/fish/fish-2.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -27,7 +27,8 @@ DEPEND="
 	test? ( dev-tcltk/expect )
 "
 
-PATCHES=( "${FILESDIR}/${P}-fix-printf-o-handling-on-ppc.patch" )
+PATCHES=( "${FILESDIR}/${P}-fix-printf-o-handling-on-ppc.patch"
+	"${FILESDIR}/fix-histfile-test-on-ppc.patch" )
 
 S="${WORKDIR}/${MY_P}"
 
diff --git a/app-shells/fish/fish-3.0.0-r1.ebuild b/app-shells/fish/fish-3.0.0-r1.ebuild
index e9917b07a6c8..8cc9571025c2 100644
--- a/app-shells/fish/fish-3.0.0-r1.ebuild
+++ b/app-shells/fish/fish-3.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -36,6 +36,8 @@ DEPEND="${RDEPEND}
 	test? ( dev-tcltk/expect )
 "
 
+PATCHES=( "${FILESDIR}/fix-histfile-test-on-ppc.patch" )
+
 S="${WORKDIR}/${MY_P}"
 
 src_prepare() {
-- 
cgit v1.2.3-65-gdbad