diff options
author | Justin Lecher <jlec@gentoo.org> | 2013-03-07 08:34:59 +0000 |
---|---|---|
committer | Justin Lecher <jlec@gentoo.org> | 2013-03-07 08:34:59 +0000 |
commit | 4bf88abe52e5018f0d88b0b9b55151c85afb0c0e (patch) | |
tree | 32094c1acbb707cf7070f104e4f49a6747bc4f47 /sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild | |
parent | Clean up old revision. (diff) | |
download | gentoo-2-4bf88abe52e5018f0d88b0b9b55151c85afb0c0e.tar.gz gentoo-2-4bf88abe52e5018f0d88b0b9b55151c85afb0c0e.tar.bz2 gentoo-2-4bf88abe52e5018f0d88b0b9b55151c85afb0c0e.zip |
sci-mathematics/ggnfs: Respect CC and CFLAGS and link properly respecting LDFLAGS, #451046
(Portage version: 2.2.0_alpha166/cvs/Linux x86_64, signed Manifest commit with key 70EB7916)
Diffstat (limited to 'sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild')
-rw-r--r-- | sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild b/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild new file mode 100644 index 000000000000..0019df5d801f --- /dev/null +++ b/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/ggnfs/ggnfs-0.77.1-r2.ebuild,v 1.1 2013/03/07 08:34:59 jlec Exp $ + +EAPI=5 + +inherit eutils + +DESCRIPTION="A suite of algorithms to help factoring large integers" +# inactive old homepage exists, this is a fork +HOMEPAGE="https://github.com/radii/ggnfs" +# snapshot because github makes people stupid +SRC_URI=" + http://dev.gentooexperimental.org/~dreeevil/${P}.zip + http://stuff.mit.edu/afs/sipb/project/pari-gp/ggnfs/Linux/src/def-par.txt + http://stuff.mit.edu/afs/sipb/project/pari-gp/ggnfs/Linux/src/def-nm-params.txt" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=dev-libs/gmp-4.3:0" +RDEPEND="${DEPEND} + !sci-mathematics/cado-nfs" # file collisions, fixable + +S=${WORKDIR}/${PN}-master + +pkg_setup() { + einfo "There are several internal tuning options" + einfo "Please export ARCH being on of the following" + einfo " prescott" + einfo " pentium2" + einfo " pentium4" + einfo "if your cpu is of that type" + + [[ -z ${ARCH} ]] && export ARCH=generic +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-gentoo.patch + echo "#define GGNFS_VERSION \"0.77.1-$ARCH\"" > include/version.h || die + # fix directory symlink, add missing targets, rewrite variable used by portage internally + cd src/lasieve4 && rm -f -r asm && ln -s ppc32 asm || die + sed -i -e 's/all: liblasieve.a/all: liblasieve.a liblasieveI11.a liblasieveI15.a liblasieveI16.a/' asm/Makefile || die + cd "${S}" + sed -i -e 's/ARCH/MARCH/g' Makefile src/Makefile || die + sed -i -e 's/$(LSBINS) strip/$(LSBINS)/' src/Makefile || die #No stripping! + sed -i -e 's/SVN \$Revision\$/0.77.1 snapshot/' src/experimental/lasieve4_64/gnfs-lasieve4e.c src/lasieve4/gnfs-lasieve4e.c || die + tc-export CC +} + +src_configure() { :; } + +src_compile() { + # setting MARCH like this is fugly, but it uses -march=$ARCH - better fix welcome + # it also assumes a recent-ish compiler + cd src + HOST="generic" MARCH="${ARCH}" emake -j1 +} + +src_install() { + mkdir -p "${D}/usr/bin/" + for i in gnfs-lasieve4I11e gnfs-lasieve4I12e gnfs-lasieve4I13e gnfs-lasieve4I14e \ + gnfs-lasieve4I15e gnfs-lasieve4I16e makefb matbuild matprune matsolve pol51m0b pol51m0n \ + pol51opt polyselect procrels sieve sqrt; do + cp "${S}/bin/${i}" "${D}/usr/bin/" || die + done + mkdir -p "${D}/usr/share/doc/${PN}" + cp "${DISTDIR}/def-par.txt" "${D}/usr/share/doc/${PN}" || die + cp "${DISTDIR}/def-nm-params.txt" "${D}/usr/share/doc/${PN}" || die + docompress -x "/usr/share/doc/${PN}/def-par.txt" + docompress -x "/usr/share/doc/${PN}/def-nm-params.txt" + # TODO: docs? File collisions? +} |