summaryrefslogtreecommitdiff
path: root/sys-devel/reflex
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-12 09:56:54 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-12 09:56:54 +0000
commitebc282ef4dfa408accac685565b8ee5f6faec119 (patch)
treec0a4f713228cda0ab17eed46f0bb7ca8cb8be2f6 /sys-devel/reflex
parent6c8694a707151d59555b0e4e48235f085ce166c3 (diff)
gentoo auto-resync : 12:02:2023 - 09:56:54
Diffstat (limited to 'sys-devel/reflex')
-rw-r--r--sys-devel/reflex/Manifest4
-rw-r--r--sys-devel/reflex/files/reflex-20230206-parallel-build.patch54
-rw-r--r--sys-devel/reflex/reflex-20230206.ebuild31
3 files changed, 89 insertions, 0 deletions
diff --git a/sys-devel/reflex/Manifest b/sys-devel/reflex/Manifest
index 788836ac491c..7ca8642463f0 100644
--- a/sys-devel/reflex/Manifest
+++ b/sys-devel/reflex/Manifest
@@ -1,4 +1,8 @@
+AUX reflex-20230206-parallel-build.patch 1798 BLAKE2B a5f02b69955ac35e3d0f918bea307d974e8add5cfb5bafe21089ee28f2022da6db006b070a3c60fa22172431de410a6e2d9386836cfe260b2496d7b7629bc6ba SHA512 8d3979e58a1599733d1f9c743acfaebb229f3007552f4da409deac45005e1acc73967a855b86acb45102573e74a18dab010e99a67f8647c10ce86d6f2b118b35
DIST reflex-20221012.tgz 476024 BLAKE2B 63d9c0ea10d3d86651c88da4f901928d2f112d64b7e3462a6c2b4d6580a138372f2980e18d0b813579a9700084f05d77dfe2547171efa0992c24629ad31ff66e SHA512 9fcf3cd49f598af5ef0e561845c1e8b2fd50e811f5449279692820748b91e9a6a3922d3fe4224820f2c10a2f3aee3049c4f584ace4a058820db21539aa89accc
DIST reflex-20221012.tgz.asc 729 BLAKE2B 1f35909edb7e9c8a2f7fe30f430c23580a6f192cad8efa65d2b7a282aa107523b90f300908b43f4beb623041988c164da1ff04642a09558c8c24bb77fc777919 SHA512 d98d2dc2b3163784a55f197b0b00157c1906dcbdf3fbc39022d867d786c47f32e5d858eafa3cb83e068454e7198ebdae6283b49b22c6b0ae5ee38ba2ea977a7b
+DIST reflex-20230206.tgz 476372 BLAKE2B d1619518546d8dbb4865f818b538624b8b88947e2f870b6fe7c26c05cc9b9d63e374bfea11c291a6d8284fcf681489345533c1480106690126b3187b2e252187 SHA512 dbbe6150145162de6cf1ec4dadcf156ba320819fc0d034a2e38443fbe2834cf342fcb47f2dbe4578f2825ba7aefe87bf7c9b6667f1733a7003b4c7fe139e8ccb
+DIST reflex-20230206.tgz.asc 729 BLAKE2B 5d2e1a7baa6fc0c8c7da32884e14c6a8b647d29d830be72b381fe2e0134eeb829f78500af2be71ed81f86b9bad9a26ddcd98b233b23810eddad7d035e04363d5 SHA512 8cefa7a27e676c56de8b898a2383b6ce591ff7e704cbbd6cb7a598696a5d0d67e2b89af4a9fdcf138d728a831a80a2fb67cc7c82d21f0b9e470027e28d41ff72
EBUILD reflex-20221012.ebuild 857 BLAKE2B be5be3f19758602fbd3a3aaeecf040ec7a2acf0c3b062cec951874545d1938ad0bd31f8cc177fc3647a6c5524694745e3368ab3100b8d7cb9ad95605e9a66d31 SHA512 c49b306665fa54a2c1a868468566f40db79256375e8c885667da5f041d2abb8319e24f1af6206f97b8445727d1332c6b6c7dcd1c203e05bf63ab3656ea8412f7
+EBUILD reflex-20230206.ebuild 935 BLAKE2B ed87885b9a0aa6dc0ea5b0907d2aa01d636b26c483e0f4e54b4d8c33fca4b54a15dbf5a83f92673bc38240c1ac8683ae3659dc9fcb5a269d7ab4918297a2448f SHA512 b1e53cb93cae78193717fc9f67773e18d24e8ffddd209522914c132e2d53c64569e423c886faafe16ab064f51871017cdc2374dc60d36c754420d865f6da5787
MISC metadata.xml 405 BLAKE2B 593dd39b5718afeb9441efadf2bf2ecf533ce076e21d7271fe6dd4a0f0c93544cf6b8bf1bd0e2b67b76213b5a0aa2687d95effd268976d378c701e49ae9404ab SHA512 a9345e50a04acc81a7f0a1213c8986d1bd068b6aceb0170a6a1bc8772285ba6794799470739a8c9f4ee6b2dfb7fdb440ceb1f0c639f3d0775a77db500b55ef2b
diff --git a/sys-devel/reflex/files/reflex-20230206-parallel-build.patch b/sys-devel/reflex/files/reflex-20230206-parallel-build.patch
new file mode 100644
index 000000000000..ecfadc14639f
--- /dev/null
+++ b/sys-devel/reflex/files/reflex-20230206-parallel-build.patch
@@ -0,0 +1,54 @@
+From 16cc516dfbb6dac01fcd0bfcb717a681b132c0b4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@gentoo.org>
+Date: Thu, 9 Feb 2023 20:34:48 +0100
+Subject: [PATCH] Remove .bootstrap and scan.c target race
+
+If the parallelism of a make invocation is great enough to generate both
+.bootstrap and scan.c simultaneously, there's a great chance that the
+rule in .bootstrap will be overruled by the (possibly failing)
+redirection in the scan.c, resulting in an empty scan.c and a failing
+build. Instead, we can use an empty scan.c as an (inaccurate) proxy for
+the boostrap.
+
+Bug: https://bugs.gentoo.org/883611
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -126,14 +126,9 @@ PERF_REPORT = -p
+
+ all: $(FLEX)
+
+-$(FLEX): .bootstrap $(OBJECTS) $(FLEXLIB)
++$(FLEX): $(OBJECTS) $(FLEXLIB)
+ @ECHO_LD@$(CC) $(CFLAGS) -o $(FLEX) $(LDFLAGS) $(OBJECTS) $(FLEXLIB) $(LIBS)
+
+-.bootstrap: initscan.c
+- @rm -f scan.c
+- cp $(srcdir)/initscan.c scan.c
+- touch .bootstrap
+-
+ parse.c: parse.y
+ $(YACC) -d $(srcdir)/parse.y
+ @sed '/extern char.*malloc/d' <y.tab.c >parse.tmp
+@@ -145,6 +140,7 @@ parse.h: parse.c
+
+ scan.c: scan.l
+ $(SHELL) $(srcdir)/mkscan.sh $(FLEX_EXEC) $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l >scan.c
++ grep . $@ || cp initscan.c scan.c
+
+ scan$o: scan.c parse.h flexdef.h config.h
+ yylex$o: yylex.c parse.h flexdef.h config.h
+@@ -259,8 +255,8 @@ clean :: mostlyclean
+ $(FLEXLIB) config.log config.cache
+
+ distclean :: clean
+- rm -f .bootstrap $(FLEX) scan.c tags TAGS Makefile man2html.tmp \
+- config.status config.h stamp-h config.log config.cache
++ rm -f $(FLEX) scan.c tags TAGS Makefile man2html.tmp config.status \
++ config.h stamp-h config.log config.cache
+
+ maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+--
+2.39.1
+
+
diff --git a/sys-devel/reflex/reflex-20230206.ebuild b/sys-devel/reflex/reflex-20230206.ebuild
new file mode 100644
index 000000000000..730f0aa25747
--- /dev/null
+++ b/sys-devel/reflex/reflex-20230206.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/thomasdickey.asc
+inherit verify-sig
+
+DESCRIPTION="This is a variant of the flex fast lexical scanner"
+HOMEPAGE="https://invisible-island.net/reflex/"
+SRC_URI="https://invisible-island.net/archives/${PN}/${P}.tgz"
+SRC_URI+=" verify-sig? ( https://invisible-island.net/archives/${PN}/${P}.tgz.asc )"
+
+LICENSE="FLEX"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-thomasdickey )"
+
+PATCHES=(
+ "${FILESDIR}"/reflex-20230206-parallel-build.patch
+)
+
+src_install() {
+ default
+
+ # Workaround assumption of gzip compressed manpage
+ # Reported upstream via email
+ rm "${ED}"/usr/share/man/man1/reflex++.1.gz || die
+ dosym reflex.1 /usr/share/man/man1/reflex++.1 || die
+}