summaryrefslogtreecommitdiff
path: root/sci-mathematics/gmp-ecm
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-mathematics/gmp-ecm
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-mathematics/gmp-ecm')
-rw-r--r--sci-mathematics/gmp-ecm/Manifest2
-rw-r--r--sci-mathematics/gmp-ecm/gmp-ecm-6.4.3-r5.ebuild56
-rw-r--r--sci-mathematics/gmp-ecm/gmp-ecm-6.4.4-r1.ebuild65
-rw-r--r--sci-mathematics/gmp-ecm/gmp-ecm-9999.ebuild53
-rw-r--r--sci-mathematics/gmp-ecm/metadata.xml12
5 files changed, 188 insertions, 0 deletions
diff --git a/sci-mathematics/gmp-ecm/Manifest b/sci-mathematics/gmp-ecm/Manifest
new file mode 100644
index 00000000000..8efad5c299a
--- /dev/null
+++ b/sci-mathematics/gmp-ecm/Manifest
@@ -0,0 +1,2 @@
+DIST gmp-ecm-6.4.3.tar.gz 944719 SHA256 946c9870c0b76ada2f6342515386828800c096fe32ff347c82374d5a4ec73685 SHA512 71ccdf3b48e96b0acad45302c87a7b17a20ad289efde212a34fb11491531b96848f1824606fdab7604874ca7d8165baba4bbfbc8424e27e8844444ad0d4f56a6 WHIRLPOOL b177904307fefbffc0c8aec2d20eb6de8475428f84f4e263b032fd47b671dba44211a2fcb80cacead76545429a7df5cd444137853145ee4ced62cb8356753579
+DIST gmp-ecm-6.4.4.tar.gz 941058 SHA256 c813a814592d8092745012debdba25388211e1a2579c26183adda7cfa215b06c SHA512 039009de2d1a22de7abed2e2b843fa2bc684ddcfc45892891a24b93ad4b3640a97d2e7612ebcbdbca8db032534c226ad77c67199772b21a6139e5fa205687097 WHIRLPOOL 47cb942a4e3fd3d8a978df031dbcb19ea200e43eb9cd6ac2a9b551b7d7a8caed6f2e6ec8d7f7ec84584035b24ed2b49839582f758d245df8e297038d82be2cf8
diff --git a/sci-mathematics/gmp-ecm/gmp-ecm-6.4.3-r5.ebuild b/sci-mathematics/gmp-ecm/gmp-ecm-6.4.3-r5.ebuild
new file mode 100644
index 00000000000..7185d6085d8
--- /dev/null
+++ b/sci-mathematics/gmp-ecm/gmp-ecm-6.4.3-r5.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+DESCRIPTION="Elliptic Curve Method for Integer Factorization"
+HOMEPAGE="http://ecm.gforge.inria.fr/"
+SRC_URI="https://gforge.inria.fr/frs/download.php/30965/${P}.tar.gz"
+
+inherit eutils
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+blas +custom-tune gwnum -openmp test"
+
+# gmp 5.1 breaks a few things with this version
+DEPEND="<dev-libs/gmp-5.1.0
+ blas? ( sci-libs/gsl )
+ gwnum? ( sci-mathematics/gwnum )
+ openmp? ( sys-devel/gcc[openmp] )"
+RDEPEND="${DEPEND}"
+
+# can't be both enabled
+REQUIRED_USE="gwnum? ( !openmp )"
+
+S=${WORKDIR}/ecm-${PV}
+
+src_configure() {
+ if use gwnum; then myconf="--with-gwnum=/usr/lib"; fi
+ # --enable-shellcmd is broken
+ econf $(use_enable openmp) $myconf
+}
+
+src_compile() {
+ if use custom-tune; then
+ use amd64 && cd x86_64
+ use x86 && cd pentium4
+ emake -j1 || die # build libecm/libmulredc.la
+ cd .. && make bench_mulredc || die
+ sed -i -e 's:#define TUNE_MULREDC_TABLE://#define TUNE_MULREDC_TABLE:g' `readlink ecm-params.h` || die
+ sed -i -e 's:#define TUNE_SQRREDC_TABLE://#define TUNE_SQRREDC_TABLE:g' `readlink ecm-params.h` || die
+ ./bench_mulredc | tail -n 4 >> `readlink ecm-params.h` || die
+ fi
+ emake -j1 || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ mkdir -p "${D}/usr/include/${PN}/"
+ cp "${S}"/*.h "${D}/usr/include/${PN}" || die "Failed to copy headers" # needed by other apps like YAFU
+}
+
+src_test() {
+ make check || die
+}
diff --git a/sci-mathematics/gmp-ecm/gmp-ecm-6.4.4-r1.ebuild b/sci-mathematics/gmp-ecm/gmp-ecm-6.4.4-r1.ebuild
new file mode 100644
index 00000000000..329a7d55ab7
--- /dev/null
+++ b/sci-mathematics/gmp-ecm/gmp-ecm-6.4.4-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils flag-o-matic multilib
+
+DESCRIPTION="Elliptic Curve Method for Integer Factorization"
+HOMEPAGE="http://ecm.gforge.inria.fr/"
+SRC_URI="https://gforge.inria.fr/frs/download.php/32159/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+blas +custom-tune gwnum -openmp static-libs test"
+
+DEPEND="
+ dev-libs/gmp
+ blas? ( sci-libs/gsl )
+ gwnum? ( sci-mathematics/gwnum )
+ openmp? ( sys-devel/gcc[openmp] )"
+RDEPEND="${DEPEND}"
+
+# can't be both enabled
+REQUIRED_USE="gwnum? ( !openmp )"
+
+S=${WORKDIR}/ecm-${PV}
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ sed -e '/libecm_la_LIBADD/s:$: -lgmp:g' -i Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ use gwnum && local myconf="--with-gwnum="${EPREFIX}"/usr/$(get_libdir)"
+ # --enable-shellcmd is broken
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static) \
+ $(use_enable openmp) \
+ ${myconf}
+}
+
+src_compile() {
+ append-ldflags "-Wl,-z,noexecstack"
+ if use custom-tune; then
+ use amd64 && cd x86_64
+ use x86 && cd pentium4
+ emake
+ cd .. && make bench_mulredc || die
+ sed -i -e 's:#define TUNE_MULREDC_TABLE://#define TUNE_MULREDC_TABLE:g' `readlink ecm-params.h` || die
+ sed -i -e 's:#define TUNE_SQRREDC_TABLE://#define TUNE_SQRREDC_TABLE:g' `readlink ecm-params.h` || die
+ ./bench_mulredc | tail -n 4 >> `readlink ecm-params.h` || die
+ fi
+ default
+}
+
+src_install() {
+ default
+ mkdir -p "${ED}/usr/include/${PN}/"
+ cp "${S}"/*.h "${ED}/usr/include/${PN}" || die "Failed to copy headers" # needed by other apps like YAFU
+}
diff --git a/sci-mathematics/gmp-ecm/gmp-ecm-9999.ebuild b/sci-mathematics/gmp-ecm/gmp-ecm-9999.ebuild
new file mode 100644
index 00000000000..0c39ab7005d
--- /dev/null
+++ b/sci-mathematics/gmp-ecm/gmp-ecm-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="Elliptic Curve Method for Integer Factorization"
+HOMEPAGE="http://ecm.gforge.inria.fr/"
+#SRC_URI="https://gforge.inria.fr/frs/download.php/30965/${P}.tar.gz"
+ESVN_REPO_URI="svn://scm.gforge.inria.fr/svnroot/ecm/trunk"
+
+inherit autotools eutils flag-o-matic subversion
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="blas gwnum -openmp test"
+
+DEPEND="
+ dev-libs/gmp
+ blas? ( sci-libs/gsl )
+ gwnum? ( sci-mathematics/gwnum )
+ openmp? ( sys-devel/gcc[openmp] )"
+RDEPEND="${DEPEND}"
+
+# can't be both enabled
+REQUIRED_USE="gwnum? ( !openmp )"
+
+S=${WORKDIR}/ecm-${PV}
+
+MAKEOPTS+=" -j1"
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ if use gwnum; then myconf="--with-gwnum=/usr/lib"; fi
+ # --enable-shellcmd is broken
+ econf $(use_enable openmp) $myconf
+}
+
+src_compile() {
+ append-ldflags "-Wl,-z,noexecstack"
+ # the custom-tune bits are obsoleted with sane defaults
+ default
+}
+
+src_install() {
+ default
+ mkdir -p "${D}/usr/include/${PN}/"
+ cp "${S}"/*.h "${D}/usr/include/${PN}" || die "Failed to copy headers" # needed by other apps like YAFU
+}
diff --git a/sci-mathematics/gmp-ecm/metadata.xml b/sci-mathematics/gmp-ecm/metadata.xml
new file mode 100644
index 00000000000..1723f3d6a58
--- /dev/null
+++ b/sci-mathematics/gmp-ecm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <use>
+ <flag name="custom-tune">Improve performance of some operations by selecting machine-specific defaults</flag>
+ <flag name="gwnum">Use GWNum lib where possible</flag>
+ </use>
+</pkgmetadata>