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

Evangelos Foutras foutrelis at archlinux.org
Wed Nov 13 17:44:18 UTC 2019


    Date: Wednesday, November 13, 2019 @ 17:44:17
  Author: foutrelis
Revision: 368390

archrelease: copy trunk to staging-x86_64

Added:
  flex/repos/staging-x86_64/
  flex/repos/staging-x86_64/PKGBUILD
    (from rev 368389, flex/trunk/PKGBUILD)
  flex/repos/staging-x86_64/flex-pie.patch
    (from rev 368389, flex/trunk/flex-pie.patch)

----------------+
 PKGBUILD       |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 flex-pie.patch |   39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+)

Copied: flex/repos/staging-x86_64/PKGBUILD (from rev 368389, flex/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2019-11-13 17:44:17 UTC (rev 368390)
@@ -0,0 +1,48 @@
+# Maintainer: Lukas Fleischer <lfleischer at archlinux.org>
+# Contributor: Allan McRae <allan at archlinux.org>
+# Contributor: judd <jvinet at zeroflux.org>
+
+pkgname=flex
+pkgver=2.6.4
+pkgrel=3
+pkgdesc="A tool for generating text-scanning programs"
+arch=('x86_64')
+url="https://github.com/westes/flex"
+license=('custom')
+groups=('base-devel')
+depends=('glibc' 'm4' 'sh')
+makedepends=('help2man')
+source=("https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz"{,.sig}
+        "flex-pie.patch")
+md5sums=('2882e3179748cc9f9c23ec593d6adc8d'
+         'SKIP'
+         '0a8e8242b37c57b0bc0c6f673bceb5b7')
+validpgpkeys=('56C67868E93390AA1039AD1CE4B29C8D64885307') # Will Estes
+
+prepare() {
+  cd "$pkgname-$pkgver"
+  patch -p1 -i "$srcdir"/flex-pie.patch
+  autoreconf
+}
+
+build() {
+  cd "$pkgname-$pkgver"
+  ./configure --prefix=/usr
+  make
+}
+
+check() {
+  cd "$pkgname-$pkgver"
+
+  # cxx_restart fails - https://github.com/westes/flex/issues/98
+  make -k check || true
+}
+
+package() {
+  cd "$pkgname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+  ln -s flex "${pkgdir}/usr/bin/lex"
+
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/license.txt"
+}

Copied: flex/repos/staging-x86_64/flex-pie.patch (from rev 368389, flex/trunk/flex-pie.patch)
===================================================================
--- staging-x86_64/flex-pie.patch	                        (rev 0)
+++ staging-x86_64/flex-pie.patch	2019-11-13 17:44:17 UTC (rev 368390)
@@ -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