public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-misc/delay/, app-misc/delay/files/
@ 2023-02-12  2:04 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2023-02-12  2:04 UTC (permalink / raw
  To: gentoo-commits

commit:     bee5b20ba22f21c8b3ae0fd0d6282717456605c3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 11 23:45:17 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Feb 12 02:04:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bee5b20b

app-misc/delay: fix clang 16 (again)

We reverted the previous fix (19c56f45a25af6da76133b2e27beb40fd5ad78df) in
6c7fb619c8661e72230fe3669d6e238288132430 as it led to a segfault at runtime, but
not for the reason I expected.

Our clang16 patch forces regeneration of the yacc files and going from
an ancient bison to a modern one makes 'delay until now + 5 minutes'
segfault. It happens even if the patch is empty, as the regeneration
is the breaking part. So, just force byacc, as it seems to work, and
this is a package with no active upstream.

Closes: https://bugs.gentoo.org/881319
See: 19c56f45a25af6da76133b2e27beb40fd5ad78df
See: 6c7fb619c8661e72230fe3669d6e238288132430
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-misc/delay/delay-1.6-r6.ebuild           | 43 ++++++++++++++++++++++++++++
 app-misc/delay/files/delay-1.6-clang16.patch | 12 ++++++++
 2 files changed, 55 insertions(+)

diff --git a/app-misc/delay/delay-1.6-r6.ebuild b/app-misc/delay/delay-1.6-r6.ebuild
new file mode 100644
index 000000000000..056c0f45b6a2
--- /dev/null
+++ b/app-misc/delay/delay-1.6-r6.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Sleeplike program that counts down the number of seconds specified"
+HOMEPAGE="https://onegeek.org/~tom/software/delay/"
+SRC_URI="https://onegeek.org/~tom/software/delay/dl/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+	dev-util/byacc
+	virtual/pkgconfig
+"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-headers.patch
+	"${FILESDIR}"/${P}-tinfo.patch
+	"${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+	default
+	eautoreconf
+}
+
+src_configure() {
+	# Our clang16 patch forces regeneration of the yacc files and going from
+	# an ancient bison to a modern one makes 'delay until now + 5 minutes'
+	# segfault. It happens even if the patch is empty, as the regeneration
+	# is the breaking part. So, just force byacc, as it seems to work, and
+	# this is a package with no active upstream.
+	export YACC=byacc
+
+	econf
+}

diff --git a/app-misc/delay/files/delay-1.6-clang16.patch b/app-misc/delay/files/delay-1.6-clang16.patch
new file mode 100644
index 000000000000..5deec4ea5194
--- /dev/null
+++ b/app-misc/delay/files/delay-1.6-clang16.patch
@@ -0,0 +1,12 @@
+--- a/parsetimey.y
++++ b/parsetimey.y
+@@ -7,6 +7,9 @@
+ 
+ #define YYDEBUG 1
+ 
++int yyerror(char *s);
++int yylex(void);
++
+ time_t currtime;
+ struct tm exectm;
+ static int isgmt;


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-02-12  2:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-12  2:04 [gentoo-commits] repo/gentoo:master commit in: app-misc/delay/, app-misc/delay/files/ Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox