summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2020-03-27 15:38:30 -0400
committerMichael Orlitzky <mjo@gentoo.org>2020-03-30 08:46:12 -0400
commit1e6e5e555c6c6436d130ecab77dbda167ef8f897 (patch)
tree78e13b58a7b46034513a7feb30179ca58a686b4b /sci-mathematics
parentdev-python/html2text: Drop old (diff)
downloadgentoo-1e6e5e555c6c6436d130ecab77dbda167ef8f897.tar.gz
gentoo-1e6e5e555c6c6436d130ecab77dbda167ef8f897.tar.bz2
gentoo-1e6e5e555c6c6436d130ecab77dbda167ef8f897.zip
sci-mathematics/flintqs: new package for quadratic sieve factoring.
A straightforward import of the ebuild that François Bissey has been maintaining in the sage-on-gentoo overlay. I added a test suite that factors a large composite number based on the doctests for qsieve() in SageMath. Closes: https://bugs.gentoo.org/715090 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'sci-mathematics')
-rw-r--r--sci-mathematics/flintqs/Manifest1
-rw-r--r--sci-mathematics/flintqs/flintqs-1.0.ebuild39
-rw-r--r--sci-mathematics/flintqs/metadata.xml24
3 files changed, 64 insertions, 0 deletions
diff --git a/sci-mathematics/flintqs/Manifest b/sci-mathematics/flintqs/Manifest
new file mode 100644
index 000000000000..ca567617150c
--- /dev/null
+++ b/sci-mathematics/flintqs/Manifest
@@ -0,0 +1 @@
+DIST flintqs-1.0.tar.gz 151535 BLAKE2B c05761767af65ed5e5c42e75640c0736a26de76126907a91914083791ce0fa3659fb6f9fcdddb0b7aaaf2200010d826a18e7fcbdad0ffc6f861d4bcd941caabb SHA512 8391bb13bcc91f4ea68c972f0f6eaf9aa37bedc4c8694d039a21fd5153b203d561364ae545478d34013001354c4e8a013b2e5a5cb947b6e7f453c6f0f392f8be
diff --git a/sci-mathematics/flintqs/flintqs-1.0.ebuild b/sci-mathematics/flintqs/flintqs-1.0.ebuild
new file mode 100644
index 000000000000..676e751c8bd8
--- /dev/null
+++ b/sci-mathematics/flintqs/flintqs-1.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Multi-polynomial quadratic sieve for integer factorization"
+HOMEPAGE="https://github.com/sagemath/FlintQS"
+# The github tarball is missing the autotools stuff.
+SRC_URI="http://files.sagemath.org/spkg/upstream/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
+IUSE=""
+
+DEPEND="dev-libs/gmp:="
+RDEPEND="${DEPEND}"
+
+src_test() {
+ # Factor,
+ #
+ # 1000000000000000005490000000000000001989
+ #
+ # to get
+ #
+ # 10000000000000000051 * 100000000000000000039.
+ #
+ # The sed command deletes all lines up to the pattern match.
+ #
+ ACTUAL=$(echo 1000000000000000005490000000000000001989 | \
+ QuadraticSieve | \
+ sed '0,/FACTORS:/d' | \
+ sort --numeric | \
+ uniq |
+ tr '\n' ' ')
+ EXPECTED="10000000000000000051 100000000000000000039 "
+
+ [[ "${ACTUAL}" == "${EXPECTED}" ]] || die "test factorization failed"
+}
diff --git a/sci-mathematics/flintqs/metadata.xml b/sci-mathematics/flintqs/metadata.xml
new file mode 100644
index 000000000000..5fa38751016e
--- /dev/null
+++ b/sci-mathematics/flintqs/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+ <!--
+ mjo: François maintained this package in the sage-on-gentoo overlay
+ long before I moved it into ::gentoo. You don't need an ACK from me
+ to merge his changes.
+ -->
+ <maintainer type="person">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="github">sagemath/FlintQS</remote-id>
+ </upstream>
+</pkgmetadata>