Skip to content

Commit

Permalink
dev-libs/gf2x: new version 1.3.0.
Browse files Browse the repository at this point in the history
Standard version bump along with some ebuild improvements:

  * EAPI=7.
  * Dropped the unused eutils and replaced the ltprune eclasses.
  * Added the new Gitlab instance to HOMEPAGE.
  * Added a GCC-10.x compatibility patch already merged upstream.
  * Updated the subslot to match the major soname component.

Closes: https://bugs.gentoo.org/719612
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Michael Orlitzky <[email protected]>
  • Loading branch information
orlitzky committed Apr 26, 2020
1 parent bbc4f3a commit 2e663bd
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-libs/gf2x/Manifest
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
DIST gf2x-1.2.tar.gz 706519 BLAKE2B 4aa45d10646b51e540be51d0fe3691083c48c666d34e67d50d8f53753c49af2bd9664483618eee5a1883106d1f58ddb28cd4eb02031f13eebe8278630de736f6 SHA512 efddad2b99fa103fa77caed4a62f4a763dbff67bc7cf4527bbbf33ca826829e4a4f94e97454ef1a6498bdc2cee8934ff43f9dabf41a4a4f256721527a1dffa30
DIST gf2x-1.3.0.tar.gz 727717 BLAKE2B 65f6596a09087708e4ae940b067cb375476c1e7b25a28bf12e9318c752cb326516edeb9363d0f98a9b4173f5bcefd204aa62e1cb87b3f27ad9c30b661edc7451 SHA512 4991568032483e0ecb4552a698e5b7d09f80875e54584a0060a9473be1f87e4e8f714e657f08fec0b9fcf493d969408e5a9000f900623b3694aba1ecf6dc239e
37 changes: 37 additions & 0 deletions dev-libs/gf2x/files/fno-common.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
From 5c8737c5c3170358024a4a969e1386cea15932f3 Mon Sep 17 00:00:00 2001
From: Michael Orlitzky <[email protected]>
Date: Sun, 26 Apr 2020 09:56:34 -0400
Subject: [PATCH 1/1] src/tunetoom.c: delete duplicate definition of rp.

The "make tune-toom" command has started failing with gcc-10.x because
of its new default -fno-common behavior,

* https://gcc.gnu.org/gcc-10/porting_to.html
* https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common

This leads to an error involving the FILE pointer "rp" that is declared
in global scope in both src/tunetoom.c and src/tuning-common.c. In this
case, the declaration in src/tunetoom.c is simply redundant: that file
includes src/tuning-common.h which already declares "rp" as extern.

Deleting the redeclaration in src/tunetoom.c makes the build succeed.
---
src/tunetoom.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/src/tunetoom.c b/src/tunetoom.c
index 7553e0c..1140606 100644
--- a/src/tunetoom.c
+++ b/src/tunetoom.c
@@ -111,8 +111,6 @@ const char * gf2x_utoom_select_string[] = {
[GF2X_SELECT_UNB_TC3U] = "TC3U",
};

-FILE *rp;
-
void tunetoom(long tablesz)
{
long high, n;
--
2.24.1

57 changes: 57 additions & 0 deletions dev-libs/gf2x/gf2x-1.3.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit autotools

DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
HOMEPAGE="https://gitlab.inria.fr/thome/gf2x/ http://gforge.inria.fr/projects/gf2x/"
# The Gitlab release is missing the autotools files.
SRC_URI="https://gforge.inria.fr/frs/download.php/38243/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0/3" # soname major version, defined in configure.ac
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="fft static-libs custom-tune"
IUSE_CPU_FLAGS=" pclmul sse2 sse3 sse4_1 ssse3"
IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}"

PATCHES=( "${FILESDIR}/fno-common.patch" )

src_prepare() {
default
# fix for cross-compiling, avoid ABI detection
sed -e 's/VERIFY_WORDSIZE(\[$ABI\].*/echo "skipping ABI check"/' \
-e 's/AC_MSG_ERROR(\[already_t.*/echo "skipping ABI check"/' \
-i configure.ac || die
eautoreconf
}

src_configure() {
econf \
$(use_enable cpu_flags_x86_sse2 sse2) \
$(use_enable cpu_flags_x86_sse3 sse3) \
$(use_enable cpu_flags_x86_ssse3 ssse3) \
$(use_enable cpu_flags_x86_sse4_1 sse41) \
$(use_enable cpu_flags_x86_pclmul pclmul) \
$(use_enable fft fft-interface) \
$(use_enable static-libs static)
}

src_compile() {
emake
if use custom-tune; then
einfo "Starting tuning"
emake tune-lowlevel
emake tune-toom
use fft && emake tune-fft
fi
}

src_install() {
default
if ! use static-libs; then
find "${ED}" -name '*.la' -delete || die
fi
}

0 comments on commit 2e663bd

Please sign in to comment.