[arch-commits] Commit in flex/trunk (3 files)

Allan McRae allan at archlinux.org
Sat Nov 3 22:54:18 UTC 2018


    Date: Saturday, November 3, 2018 @ 22:54:18
  Author: allan
Revision: 337789

upgpkg: flex 2.6.4-2

fix FTBFS

Added:
  flex/trunk/flex-pie.patch
Modified:
  flex/trunk/PKGBUILD
Deleted:
  flex/trunk/flex-2.6.0-comment-style.patch

--------------------------------+
 PKGBUILD                       |   14 +++++++++++---
 flex-2.6.0-comment-style.patch |   22 ----------------------
 flex-pie.patch                 |   39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 25 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-11-03 22:39:38 UTC (rev 337788)
+++ PKGBUILD	2018-11-03 22:54:18 UTC (rev 337789)
@@ -4,7 +4,7 @@
 
 pkgname=flex
 pkgver=2.6.4
-pkgrel=1
+pkgrel=2
 pkgdesc="A tool for generating text-scanning programs"
 arch=('x86_64')
 url="https://github.com/westes/flex"
@@ -12,9 +12,17 @@
 groups=('base-devel')
 depends=('glibc' 'm4' 'sh')
 makedepends=('help2man')
-source=("https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz")
-md5sums=('2882e3179748cc9f9c23ec593d6adc8d')
+source=("https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz"
+        "flex-pie.patch")
+md5sums=('2882e3179748cc9f9c23ec593d6adc8d'
+         '0a8e8242b37c57b0bc0c6f673bceb5b7')
 
+prepare() {
+  cd "$pkgname-$pkgver"
+  patch -p1 -i "$srcdir"/flex-pie.patch
+  autoreconf
+}
+
 build() {
   cd "$pkgname-$pkgver"
   ./configure --prefix=/usr

Deleted: flex-2.6.0-comment-style.patch
===================================================================
--- flex-2.6.0-comment-style.patch	2018-11-03 22:39:38 UTC (rev 337788)
+++ flex-2.6.0-comment-style.patch	2018-11-03 22:54:18 UTC (rev 337789)
@@ -1,22 +0,0 @@
-From 07d89829cce4527c7614a34642d4b2c2ef5d6005 Mon Sep 17 00:00:00 2001
-From: Will Estes <westes575 at gmail.com>
-Date: Fri, 11 Dec 2015 09:45:14 -0500
-Subject: [PATCH] Commented in C style in skeleton; fixed sf#195
-
----
- src/flex.skl | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/flex.skl b/src/flex.skl
-index b63c8c8..40287b6 100644
---- a/src/flex.skl
-+++ b/src/flex.skl
-@@ -2350,7 +2350,7 @@ void yyFlexLexer::yyensure_buffer_stack(void)
- 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
- 		 * immediate realloc on the next call.
-          */
--		num_to_alloc = 1; // After all that talk, this was set to 1 anyways...
-+      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
- 		YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
- 								(num_to_alloc * sizeof(struct yy_buffer_state*)
- 								M4_YY_CALL_LAST_ARG);

Added: flex-pie.patch
===================================================================
--- flex-pie.patch	                        (rev 0)
+++ flex-pie.patch	2018-11-03 22:54:18 UTC (rev 337789)
@@ -0,0 +1,39 @@
+This patch fixes a flex-2.6.4 build failure on x86_64 and possibly other
+architectures where `size_t' is larger than `int'. The failure occurs as
+follows:
+
+A missing `reallocarray' prototype during compilation means that the
+compiler assumes an `int' return type. When compiling with `-pie' (standard
+for Fedora), addresses on the heap can be larger than `int' can store. Thus,
+pointers returned from `reallocarray' are truncated and any read/write to
+them leads to a SIGSEGV.
+
+From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001
+From: Explorer09 <explorer09 at gmail.com>
+Date: Mon, 4 Sep 2017 10:47:33 +0800
+Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac.
+
+This would, e.g. define _GNU_SOURCE in config.h, enabling the
+reallocarray() prototype in glibc 2.26+ on Linux systems with that
+version of glibc.
+
+Fixes #241.
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,8 +25,10 @@
+ # autoconf requirements and initialization
+ 
+ AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help at lists.sourceforge.net],[flex])
++AC_PREREQ([2.60])
+ AC_CONFIG_SRCDIR([src/scan.l])
+ AC_CONFIG_AUX_DIR([build-aux])
++AC_USE_SYSTEM_EXTENSIONS
+ LT_INIT
+ AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects])
+ AC_CONFIG_HEADER([src/config.h])



More information about the arch-commits mailing list