dev-libs/gf2x: version bump with cpu flags
authorSébastien Fabbro <bicatali@gentoo.org>
Thu, 20 Jul 2017 23:39:08 +0000 (23:39 +0000)
committerSébastien Fabbro <bicatali@gentoo.org>
Fri, 21 Jul 2017 00:22:29 +0000 (00:22 +0000)
Package-Manager: Portage-2.3.6, Repoman-2.3.2

dev-libs/gf2x/Manifest
dev-libs/gf2x/gf2x-1.2.ebuild [new file with mode: 0644]
dev-libs/gf2x/metadata.xml

index 566ed912f90415fa2faccebfe5eaa92e21c82272..08371224db79904bee24eb9457cb551bd749df6c 100644 (file)
@@ -1,2 +1,3 @@
 DIST gf2x-1.0.tar.gz 460810 SHA256 b64ffa9275cc2e995d37bcecbcdce9ba1df1e17d3d31d8685128d00df305e753 SHA512 f4658698972e31428d8349b423762e9ef5aaeb52d8081c9831baa4eb066737ab3e9667a700d5df79e0f0df2626db39f2f994df17da14719506d44dbb9b33af40 WHIRLPOOL 1f4bc9deca4a0e08555800f327b4ad76e58564523271dac29b337fa757e4aebcedec0ed9bfb738e0a24892ac25d9d8d65315a12f462e91d680a908ab1b35b050
 DIST gf2x-1.1.tar.gz 496708 SHA256 0d3f01604680102a00ca34e079903cc4d5a3208afda223748979b724d358849f SHA512 052cb2152773dc114a2a80cc64cd0679c1f57eceabcdc7cc25987b8d2599fa6d4871b5bb6ff71319727411b9b5aca11e431e43eafa474a419cf306d42d22ac2c WHIRLPOOL 6336dd24f05b8f18713578b65d129e667029876b3d67ab13113140d73aa7b14f2afbd2f4f2ef15d25470589b15aad382c0efefd3f1d0e47ba5e2bada42ee0580
+DIST gf2x-1.2.tar.gz 706519 SHA256 61427ffa03b5006aa154def6dce8bcff0fdefb3bd72f43fb1a7b4fdd6b80db34 SHA512 efddad2b99fa103fa77caed4a62f4a763dbff67bc7cf4527bbbf33ca826829e4a4f94e97454ef1a6498bdc2cee8934ff43f9dabf41a4a4f256721527a1dffa30 WHIRLPOOL e6cc949799b9b2c42d67be57f9cc6a3426311ef829a40f90053a4c37542bf34d9f3e154d3f1dad82096ee37d35603059d6a189d245ad0909f7cb122c3b226c1a
diff --git a/dev-libs/gf2x/gf2x-1.2.ebuild b/dev-libs/gf2x/gf2x-1.2.ebuild
new file mode 100644 (file)
index 0000000..69bc431
--- /dev/null
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils autotools
+
+PACKAGEID=36934 # inriaforge hardcoded ID
+
+DESCRIPTION="C/C++ routines for fast arithmetic in GF(2)[x]"
+HOMEPAGE="http://gf2x.gforge.inria.fr/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/${PACKAGEID}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/1"
+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_}"
+
+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
+       use static-libs || prune_libtool_files --all
+}
index b6bc45f942cc090600de4dfa7f4f937450dcad03..3a09b312482773810836c3712a491452f1bda57a 100644 (file)
@@ -1,17 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-       <maintainer type="project">
-  <email>sci-mathematics@gentoo.org</email>
-  <name>Gentoo Mathematics Project</name>
-       </maintainer>
-       <longdescription lang="en">
-  gf2x is a C/C++ software package containing routines for fast
-  arithmetic in GF(2)[x] (multiplication, squaring, GCD) and searching
-  for irreducible/primitive trinomials.
-</longdescription>
-<use>
-  <flag name="bindist">Disable automatic fine-tuning to local
-  processor features like pclmul or sse2.</flag>
-</use>
+  <maintainer type="project">
+    <email>sci-mathematics@gentoo.org</email>
+    <name>Gentoo Mathematics Project</name>
+  </maintainer>
+  <longdescription lang="en">
+    gf2x is a C/C++ software package containing routines for fast
+    arithmetic in GF(2)[x] (multiplication, squaring, GCD) and searching
+    for irreducible/primitive trinomials.
+  </longdescription>
+  <use>
+    <flag name="bindist">Disable automatic fine-tuning to local processor features like pclmul or sse2.</flag>
+    <flag name="custom-tune">Extra long compile time for tuning hardware specific low-level routines</flag>
+    <flag name="fft">Build an FFT API for multiplication of 2 polynomials over GF(2)</flag>
+  </use>
 </pkgmetadata>