summaryrefslogtreecommitdiff
path: root/sci-mathematics/msieve
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/msieve')
-rw-r--r--sci-mathematics/msieve/Manifest10
-rw-r--r--sci-mathematics/msieve/files/fix-version.patch15
-rw-r--r--sci-mathematics/msieve/files/fix-version2.patch14
-rw-r--r--sci-mathematics/msieve/files/msieve-1.51-reduce-printf.patch44
-rw-r--r--sci-mathematics/msieve/files/reduce-printf.patch62
-rw-r--r--sci-mathematics/msieve/metadata.xml14
-rw-r--r--sci-mathematics/msieve/msieve-1.51.ebuild55
-rw-r--r--sci-mathematics/msieve/msieve-9999.ebuild51
8 files changed, 265 insertions, 0 deletions
diff --git a/sci-mathematics/msieve/Manifest b/sci-mathematics/msieve/Manifest
new file mode 100644
index 000000000000..6fa7fd4a7a24
--- /dev/null
+++ b/sci-mathematics/msieve/Manifest
@@ -0,0 +1,10 @@
+AUX fix-version.patch 499 SHA256 1c748921c35d34af3267020704a26feb14d3043ce58a9ff7855dbf989e8d213b SHA512 9ea8b52377cf11e6dc34860d3231dee364a8018d860a25ca25901fc00e948adb11ba767106df67e5769e6328fcb703638a14178666f53f9518c0e07b15d36767 WHIRLPOOL 916b1a0b4cfde68a440cdb57a2d411049eb44f9903df5b130da018893903dfa707243a42f9895b6555975a943ce6d48f4228dd94275d727190a3f76751d4c798
+AUX fix-version2.patch 560 SHA256 a3806f9159a0a760ac49872883631bae85fb137a357ee1d3ec9022ca76c10eb1 SHA512 c745b63461a76a20d32c3d022c120ed1ee201a05ed372f01381d71f4cc9601d92089acfc07bfe6930180740c4f4711b88b129d126065558d2cf6d7dd81bf78d8 WHIRLPOOL 26b2205eaf577233fc0b3f0faa7e943cfaefdc2badecdc06a016bf69c533322b600ffbaf6efe2ac02d133028f3b9adfbffdc309cde5370e23b3806d5ac094327
+AUX msieve-1.51-reduce-printf.patch 1598 SHA256 effe23eee2cc845fdf23237790f5cc2dc8f6c5a9141f25d9a52a9be54d00ef5e SHA512 abd539239b1c289265b523f748dc0838df89d532a21c27040b6bbd0a8c7ef10641fc24a06378d48c45fe2d0156f09de06d10412d1d0ec71583c02123fa6158c6 WHIRLPOOL 1e4b175880e3cc5fae4456733b8ae9d29d545d6f477430923ae550437c902015f8d903546d8a97dbe9263ce2b7be6b1180ec6d04816340a1e09e4c036da136bb
+AUX reduce-printf.patch 2105 SHA256 b576d46577c411b1ad814ab48e4fce595927b225e93e311789e6f2135a68a01e SHA512 c0ee9ddbbb41a25a48ec4b6cc80cf6a8afee35a723aee74eb7d7bfa01b545eff1713eaf2077ace7d2a9aca97f00aa42bc36e6d23d7d229f339de1f152316af98 WHIRLPOOL 75a55e0ff6da1e99c96bb2395ce75fbfac1aad1c3bfaf4bb924c957bc821141afd4a805e79bbd4fb47ebeae101c488a2291ca900198fb25cc8f94badfc1eb139
+DIST msieve151.tar.gz 623885 SHA256 26bc1d0d89325986aacfbafb687451f3de5da1bd388e087ec3ac24813e9dc948 SHA512 79c03b5d669de7f05e27fc59fa999f416f513e41cba822376b862c31439fc66cf8749034c1f8f967f745955a5271a484b23e950ffede23d3fa2737ae26dbb0d4 WHIRLPOOL 237f3f1e872b05890e008f8261e0ba5c7621ef7bfa3e78305c17076496ad87d281497e4cf9ee79d2b275a65e86f7c84fa3897697ef823c2e1ffe9725d3b08b9b
+EBUILD msieve-1.51.ebuild 1517 SHA256 5c4fbefc5ca2c3a9bba6129e3429f2116b500861a350184751b2fbaeb8218a7d SHA512 a24368225d685a913b0231d4ca8342a3a4e551c7ee37f16fbe21ce2b957ed4fde235df48244f0723d7d37b5b4fab204b27174666dafcd595baf759c70c33d56f WHIRLPOOL e675eba641aa81d52ac35bdae4c31fe7086d7950899ff2afa8864d57f2324f1ff6a9168995d03f35e2dd500a08462e8681b5ae5316e892540ee16e1e8ec58a64
+EBUILD msieve-9999.ebuild 1390 SHA256 fffa201a3ef3809a88a9e2f5c42064ea27ee42c920385df7b63e84f69ff87966 SHA512 07c5ef126bd37d859d2ed826ff87ce3c7b82bb02f11a23165fddcea791e025ed671231e919b13b8a137ec0fac06270105927c30698c2ef6d56f0666dfe2a386d WHIRLPOOL 835deee21e9c49e59636564f6de9964de92a2d1663a6ef578ae034a6f893d27d100a7d16720c85e3b6ce8006c8a6668569c36c0001be0bfc4747917a87ca9e3f
+MISC ChangeLog 3225 SHA256 d7be1c115c0d55c8b55a1ec1ad3d881945bda554e81899c4fc61aa0177ae4ae1 SHA512 e3f280d7eb7d7e5eded9e4657b62f9e8a5aa17cff64c37fcbfa9c744be1792591b7c442e0d823edbc6d162267182159535c781e622b64d5e357275701b185ecc WHIRLPOOL 4b6b84cb61886c608d853b44e0ccfba8bc6eeb76eddcf33ec2810362f0633e4ba8b74eaab9a72f2a7cd1e7baa710f16157d3560266a7fff401c0bc474873315d
+MISC ChangeLog-2015 2259 SHA256 44dab30f950e139b1aea01e2ba36ce298068ea934a2e83d8e4eafeadf4e702bf SHA512 2b413bf0cbc4a0cf01061a10e99810503fb24f50b792347c718f6e922ba5be84d2d0afd9a2233da4cc8a404a907f9fba2cdc2ec6d9c644cf04361b80840464b4 WHIRLPOOL 643c92858b82aff18ca22f9458dfa8b6894269f6b87baebfb530fadecefac7f3935dfd9ce7f9e9366152c80ef378dadba412718b51ee7e8d7263b1e3528cf5f9
+MISC metadata.xml 417 SHA256 b25ac06b8f7f015ac62f5f6fbbaf2c22678c979ba9627f05c8fbc2f8a6b63177 SHA512 a8c43840089c4516cd31bfd2a9fee4202bdb5a264cb28b22dcd7d17cd40669056cdc4a5c7a437b092bc71b1ec9c1bf6d1bc7f0f8f61858818749fad3e93eaf1d WHIRLPOOL 246ccf5ddd53953cb6a4956eb89a103e99d19770ed8c352f5046a8323ffb867c921eb80fce26f54b90436d0d0633cf8fb3911a7f741011362a1e36b5ac19ce48
diff --git a/sci-mathematics/msieve/files/fix-version.patch b/sci-mathematics/msieve/files/fix-version.patch
new file mode 100644
index 000000000000..748a7ae8c68c
--- /dev/null
+++ b/sci-mathematics/msieve/files/fix-version.patch
@@ -0,0 +1,15 @@
+--- common/driver.c 2011-05-02 09:10:50.000000000 +0800
++++ common/driver.c.new 2012-11-30 16:43:59.067925006 +0800
+@@ -191,10 +191,9 @@
+
+ logprintf(obj, "\n");
+ logprintf(obj, "\n");
+- logprintf(obj, "Msieve v. %d.%02d (SVN %s)\n",
++ logprintf(obj, "Msieve v. %d.%02d\n",
+ MSIEVE_MAJOR_VERSION,
+- MSIEVE_MINOR_VERSION,
+- MSIEVE_SVN_VERSION);
++ MSIEVE_MINOR_VERSION);
+ start_time = time(NULL);
+ if (obj->flags & MSIEVE_FLAG_LOG_TO_STDOUT) {
+ printf("%s", ctime(&start_time));
diff --git a/sci-mathematics/msieve/files/fix-version2.patch b/sci-mathematics/msieve/files/fix-version2.patch
new file mode 100644
index 000000000000..6e956897bdf0
--- /dev/null
+++ b/sci-mathematics/msieve/files/fix-version2.patch
@@ -0,0 +1,14 @@
+--- demo.c 2011-11-25 00:25:28.000000000 +0800
++++ demo.c.new 2012-11-30 16:46:50.417333847 +0800
+@@ -81,9 +81,8 @@
+ /*--------------------------------------------------------------------*/
+ void print_usage(char *progname) {
+
+- printf("\nMsieve v. %d.%02d (SVN %s)\n", MSIEVE_MAJOR_VERSION,
+- MSIEVE_MINOR_VERSION,
+- MSIEVE_SVN_VERSION);
++ printf("\nMsieve v. %d.%02d\n", MSIEVE_MAJOR_VERSION,
++ MSIEVE_MINOR_VERSION);
+
+ printf("\nusage: %s [options] [one_number]\n", progname);
+ printf("\nnumbers starting with '0' are treated as octal,\n"
diff --git a/sci-mathematics/msieve/files/msieve-1.51-reduce-printf.patch b/sci-mathematics/msieve/files/msieve-1.51-reduce-printf.patch
new file mode 100644
index 000000000000..39892716716a
--- /dev/null
+++ b/sci-mathematics/msieve/files/msieve-1.51-reduce-printf.patch
@@ -0,0 +1,44 @@
+diff -Naur msieve-1.50/common/minimize.c msieve-copy/common/minimize.c
+--- msieve-1.50/common/minimize.c 2011-07-04 23:32:33.000000000 +0800
++++ msieve-copy/common/minimize.c 2012-11-26 23:09:22.889240528 +0800
+@@ -210,7 +210,7 @@
+ }
+ }
+
+- printf(":"); // "too many line iterations\n");
++ //printf(":"); // "too many line iterations\n");
+ *min_out = x;
+ *status = 1;
+ return fx;
+diff -Naur msieve-1.50/gnfs/poly/stage2/optimize.c msieve-copy/gnfs/poly/stage2/optimize.c
+--- msieve-1.50/gnfs/poly/stage2/optimize.c 2011-10-15 23:03:39.000000000 +0800
++++ msieve-copy/gnfs/poly/stage2/optimize.c 2012-11-26 23:14:36.243232414 +0800
+@@ -430,9 +430,9 @@
+ #if 0
+ printf("norm %.7e skew %lf\n", *pol_norm, best[SKEWNESS]);
+ for (i = 0; i < 2; i++)
+- gmp_printf("%+Zd\n", c->gmp_lina[i]);
++ //gmp_printf("%+Zd\n", c->gmp_lina[i]);
+ for (i = 0; i <= deg; i++)
+- gmp_printf("%+Zd\n", c->gmp_a[i]);
++ //gmp_printf("%+Zd\n", c->gmp_a[i]);
+ #endif
+ }
+
+diff -Naur msieve-1.50/gnfs/poly/stage2/stage2.c msieve-copy/gnfs/poly/stage2/stage2.c
+--- msieve-1.50/gnfs/poly/stage2/stage2.c 2011-10-09 09:32:49.000000000 +0800
++++ msieve-copy/gnfs/poly/stage2/stage2.c 2012-11-26 23:14:30.894232552 +0800
+@@ -122,10 +122,10 @@
+ }
+
+ #if 0
+- gmp_printf("%+Zd\n", c->gmp_lina[0]);
+- gmp_printf("%+Zd\n", c->gmp_lina[1]);
++ //gmp_printf("%+Zd\n", c->gmp_lina[0]);
++ //gmp_printf("%+Zd\n", c->gmp_lina[1]);
+ for (i = 0; i <= degree; i++)
+- gmp_printf("%+Zd\n", c->gmp_a[i]);
++ //gmp_printf("%+Zd\n", c->gmp_a[i]);
+
+ printf("coeff ratio = %.5lf\n",
+ fabs(mpz_get_d(c->gmp_a[degree-2])) / coeff_bound);
diff --git a/sci-mathematics/msieve/files/reduce-printf.patch b/sci-mathematics/msieve/files/reduce-printf.patch
new file mode 100644
index 000000000000..dad1dc7db8f3
--- /dev/null
+++ b/sci-mathematics/msieve/files/reduce-printf.patch
@@ -0,0 +1,62 @@
+diff -Naur msieve-1.50/common/minimize.c msieve-copy/common/minimize.c
+--- msieve-1.50/common/minimize.c 2011-07-04 23:32:33.000000000 +0800
++++ msieve-copy/common/minimize.c 2012-11-26 23:09:22.889240528 +0800
+@@ -210,7 +210,7 @@
+ }
+ }
+
+- printf("too many line iterations\n");
++ //printf("too many line iterations\n");
+ *min_out = x;
+ *status = 1;
+ return fx;
+diff -Naur msieve-1.50/gnfs/poly/stage2/optimize.c msieve-copy/gnfs/poly/stage2/optimize.c
+--- msieve-1.50/gnfs/poly/stage2/optimize.c 2011-10-15 23:03:39.000000000 +0800
++++ msieve-copy/gnfs/poly/stage2/optimize.c 2012-11-26 23:14:36.243232414 +0800
+@@ -390,7 +390,7 @@
+ score = minimize(best, num_vars, tol, 40,
+ objective, &opt_data);
+
+- printf("i %u score %le\n", i, score);
++ //printf("i %u score %le\n", i, score);
+ for (j = 0; j <= rotate_dim; j++) {
+ double cj = floor(best[ROTATE0 + j] + 0.5);
+ mpz_set_d(c->gmp_help1, cj);
+@@ -422,7 +422,7 @@
+ tol = 1e-5;
+ score = ifs_rectangular(apoly.coeff, apoly.degree,
+ best[SKEWNESS]);
+- printf("transition score %le\n", score);
++ //printf("transition score %le\n", score);
+ }
+ }
+
+@@ -430,9 +430,9 @@
+ #if 0
+ printf("norm %.7e skew %lf\n", *pol_norm, best[SKEWNESS]);
+ for (i = 0; i < 2; i++)
+- gmp_printf("%+Zd\n", c->gmp_lina[i]);
++ //gmp_printf("%+Zd\n", c->gmp_lina[i]);
+ for (i = 0; i <= deg; i++)
+- gmp_printf("%+Zd\n", c->gmp_a[i]);
++ //gmp_printf("%+Zd\n", c->gmp_a[i]);
+ #endif
+ }
+
+diff -Naur msieve-1.50/gnfs/poly/stage2/stage2.c msieve-copy/gnfs/poly/stage2/stage2.c
+--- msieve-1.50/gnfs/poly/stage2/stage2.c 2011-10-09 09:32:49.000000000 +0800
++++ msieve-copy/gnfs/poly/stage2/stage2.c 2012-11-26 23:14:30.894232552 +0800
+@@ -122,10 +122,10 @@
+ }
+
+ #if 0
+- gmp_printf("%+Zd\n", c->gmp_lina[0]);
+- gmp_printf("%+Zd\n", c->gmp_lina[1]);
++ //gmp_printf("%+Zd\n", c->gmp_lina[0]);
++ //gmp_printf("%+Zd\n", c->gmp_lina[1]);
+ for (i = 0; i <= degree; i++)
+- gmp_printf("%+Zd\n", c->gmp_a[i]);
++ //gmp_printf("%+Zd\n", c->gmp_a[i]);
+
+ printf("coeff ratio = %.5lf\n",
+ fabs(mpz_get_d(c->gmp_a[degree-2])) / coeff_bound);
diff --git a/sci-mathematics/msieve/metadata.xml b/sci-mathematics/msieve/metadata.xml
new file mode 100644
index 000000000000..64f702132222
--- /dev/null
+++ b/sci-mathematics/msieve/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <use>
+ <flag name="ecm">Enable support for the GMP-ECM library</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">msieve</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-mathematics/msieve/msieve-1.51.ebuild b/sci-mathematics/msieve/msieve-1.51.ebuild
new file mode 100644
index 000000000000..ffe3772b82d5
--- /dev/null
+++ b/sci-mathematics/msieve/msieve-1.51.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="A C library implementing a suite of algorithms to factor large integers"
+HOMEPAGE="https://sourceforge.net/projects/msieve/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}/Msieve%20v${PV}/${PN}${PV/./}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="zlib +ecm mpi"
+
+# some linking troubles with gwnum
+DEPEND="
+ ecm? ( sci-mathematics/gmp-ecm[-gwnum] )
+ mpi? ( virtual/mpi )
+ zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # TODO: Integrate ggnfs properly
+ epatch \
+ "${FILESDIR}"/${P}-reduce-printf.patch \
+ "${FILESDIR}"/fix-version.patch \
+ "${FILESDIR}"/fix-version2.patch
+ sed -i -e 's/-march=k8//' Makefile || die
+ sed -i -e 's/CC =/#CC =/' Makefile || die
+ sed -i -e 's/CFLAGS =/CFLAGS +=/' Makefile || die
+ sed -i -e 's/LIBS += -lecm/LIBS += -lecm -lgomp/' Makefile || die
+}
+
+src_compile() {
+ use ecm && export "ECM=1"
+ use mpi && export "MPI=1"
+ use zlib && export "ZLIB=1"
+ emake \
+ CC=$(tc-getCC) \
+ AR=$(tc-getAR) \
+ OPT_FLAGS="${CFLAGS}" \
+ all
+}
+
+src_install() {
+ mkdir -p "${D}/usr/include/msieve"
+ mkdir -p "${D}/usr/lib/"
+ mkdir -p "${D}/usr/share/doc/${P}/"
+ cp include/* "${D}/usr/include/msieve" || die "Failed to install"
+ cp libmsieve.a "${D}/usr/lib/" || die "Failed to install"
+ dobin msieve || die "Failed to install"
+ cp Readme* "${D}/usr/share/doc/${P}/" || die "Failed to install"
+}
diff --git a/sci-mathematics/msieve/msieve-9999.ebuild b/sci-mathematics/msieve/msieve-9999.ebuild
new file mode 100644
index 000000000000..5da826bda06b
--- /dev/null
+++ b/sci-mathematics/msieve/msieve-9999.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils subversion toolchain-funcs
+
+DESCRIPTION="A C library implementing a suite of algorithms to factor large integers"
+HOMEPAGE="https://sourceforge.net/projects/msieve/"
+#SRC_URI="mirror://sourceforge/${PN}/${PN}/Msieve%20v${PV}/${PN}${PV/./}src.tar.gz"
+ESVN_REPO_URI="https://svn.code.sf.net/p/msieve/code/trunk"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS=""
+IUSE="zlib +ecm mpi"
+
+# some linking troubles with gwnum
+DEPEND="
+ ecm? ( sci-mathematics/gmp-ecm[-gwnum] )
+ mpi? ( virtual/mpi )
+ zlib? ( sys-libs/zlib )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ # TODO: Integrate ggnfs properly
+ sed -i -e 's/-march=k8//' Makefile || die
+ sed -i -e 's/CC =/#CC =/' Makefile || die
+ sed -i -e 's/CFLAGS =/CFLAGS +=/' Makefile || die
+}
+
+src_compile() {
+ use ecm && export "ECM=1"
+ use mpi && export "MPI=1"
+ use zlib && export "ZLIB=1"
+ emake \
+ CC=$(tc-getCC) \
+ AR=$(tc-getAR) \
+ OPT_FLAGS="${CFLAGS}" \
+ all
+}
+
+src_install() {
+ mkdir -p "${D}/usr/include/msieve"
+ mkdir -p "${D}/usr/lib/"
+ mkdir -p "${D}/usr/share/doc/${P}/"
+ cp include/* "${D}/usr/include/msieve" || die "Failed to install"
+ cp libmsieve.a "${D}/usr/lib/" || die "Failed to install"
+ dobin msieve || die "Failed to install"
+ cp Readme* "${D}/usr/share/doc/${P}/" || die "Failed to install"
+}