aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2021-08-13 09:59:17 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2021-08-13 10:00:09 +0000
commit21f6954d839a0d501268632168ab287fa2356fa8 (patch)
tree122f483d475077578dcad7bbd8add5520471e5be
parent416b34d584e26823e403618b02419dbad40e50eb (diff)
downloadports-21f6954d839a0d501268632168ab287fa2356fa8.tar.gz
ports-21f6954d839a0d501268632168ab287fa2356fa8.zip
math/cado-nfs: New port: Implementation of the Number Field Sieve Algorithm
-rw-r--r--math/Makefile1
-rw-r--r--math/cado-nfs/Makefile34
-rw-r--r--math/cado-nfs/distinfo3
-rw-r--r--math/cado-nfs/pkg-descr7
-rw-r--r--math/cado-nfs/pkg-plist190
5 files changed, 235 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 3f72a3a1de4e..16c11114309a 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -175,6 +175,7 @@
SUBDIR += btor2tools
SUBDIR += cadabra2
SUBDIR += cadical
+ SUBDIR += cado-nfs
SUBDIR += calc
SUBDIR += calcoo
SUBDIR += cantor
diff --git a/math/cado-nfs/Makefile b/math/cado-nfs/Makefile
new file mode 100644
index 000000000000..2c867be68ea3
--- /dev/null
+++ b/math/cado-nfs/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= cado-nfs
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.3.0.20210806
+CATEGORIES= math
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Implementation of the Number Field Sieve Algorithm
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
+ bash:shells/bash \
+ gmake:devel/gmake
+LIB_DEPENDS= libecm.so:math/gmp-ecm \
+ libgf2x.so:math/gf2x \
+ libgmp.so:math/gmp \
+ libhwloc.so:devel/hwloc2
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
+
+USES= cmake:noninja compiler:c++11-lang perl5 python shebangfix # noninja because: bad $-escape (literal $ must be written as $$)
+USE_GCC= any # fails in clang-11 with various STL and C++ errors. Reported to the upstream author Emmanuel Thomé on 2021-08-13.
+
+USE_GITLAB= yes
+GL_SITE= https://gitlab.inria.fr
+GL_COMMIT= c5b20eac12ea225a325d582923ef058832cda28e
+
+SHEBANG_GLOB= *.py
+
+TEST_TARGET= check # 'test' does the same but is less verbose
+
+BINARY_ALIAS= python3=${PYTHON_CMD} make=${GMAKE}
+
+.include <bsd.port.mk>
diff --git a/math/cado-nfs/distinfo b/math/cado-nfs/distinfo
new file mode 100644
index 000000000000..43a82a4057f2
--- /dev/null
+++ b/math/cado-nfs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1628843872
+SHA256 (cado-nfs-cado-nfs-c5b20eac12ea225a325d582923ef058832cda28e_GL0.tar.gz) = 3d50b58fb5235f8ac35913f9fb350ff45da0f533810675e5ed17f07c3fd7b55d
+SIZE (cado-nfs-cado-nfs-c5b20eac12ea225a325d582923ef058832cda28e_GL0.tar.gz) = 4571150
diff --git a/math/cado-nfs/pkg-descr b/math/cado-nfs/pkg-descr
new file mode 100644
index 000000000000..90a483da9c5e
--- /dev/null
+++ b/math/cado-nfs/pkg-descr
@@ -0,0 +1,7 @@
+CADO-NFS is a complete implementation in C/C++ of the Number Field Sieve (NFS)
+algorithm for factoring integers and computing discrete logarithms in finite
+fields. It consists in various programs corresponding to all the phases of the
+algorithm, and a general script that runs them, possibly in parallel over a
+network of computers.
+
+WWW: https://cado-nfs.gitlabpages.inria.fr/
diff --git a/math/cado-nfs/pkg-plist b/math/cado-nfs/pkg-plist
new file mode 100644
index 000000000000..5b9de5438134
--- /dev/null
+++ b/math/cado-nfs/pkg-plist
@@ -0,0 +1,190 @@
+bin/cado-nfs-client.py
+bin/cado-nfs.py
+lib/cado-nfs-3.0.0/filter/dup1
+lib/cado-nfs-3.0.0/filter/dup2
+lib/cado-nfs-3.0.0/filter/merge
+lib/cado-nfs-3.0.0/filter/merge-dl
+lib/cado-nfs-3.0.0/filter/purge
+lib/cado-nfs-3.0.0/filter/reconstructlog-dl
+lib/cado-nfs-3.0.0/filter/replay
+lib/cado-nfs-3.0.0/filter/replay-dl
+lib/cado-nfs-3.0.0/filter/sm
+lib/cado-nfs-3.0.0/filter/sm_simple
+lib/cado-nfs-3.0.0/linalg/bwc/acollect
+lib/cado-nfs-3.0.0/linalg/bwc/blocklanczos
+lib/cado-nfs-3.0.0/linalg/bwc/bwc.pl
+lib/cado-nfs-3.0.0/linalg/bwc/bwccheck
+lib/cado-nfs-3.0.0/linalg/bwc/cleanup
+lib/cado-nfs-3.0.0/linalg/bwc/dispatch
+lib/cado-nfs-3.0.0/linalg/bwc/gather
+lib/cado-nfs-3.0.0/linalg/bwc/krylov
+lib/cado-nfs-3.0.0/linalg/bwc/lingen_pz
+lib/cado-nfs-3.0.0/linalg/bwc/lingen_u64k1
+lib/cado-nfs-3.0.0/linalg/bwc/mf_bal
+lib/cado-nfs-3.0.0/linalg/bwc/mksol
+lib/cado-nfs-3.0.0/linalg/bwc/prep
+lib/cado-nfs-3.0.0/linalg/bwc/secure
+lib/cado-nfs-3.0.0/linalg/characters
+lib/cado-nfs-3.0.0/misc/check_rels
+lib/cado-nfs-3.0.0/misc/descent_init_Fp
+lib/cado-nfs-3.0.0/polyselect/dlpolyselect
+lib/cado-nfs-3.0.0/polyselect/polyselect
+lib/cado-nfs-3.0.0/polyselect/polyselect3
+lib/cado-nfs-3.0.0/polyselect/polyselect_ropt
+lib/cado-nfs-3.0.0/scripts/cadofactor/cadocommand.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/cadologger.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/cadoparams.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/cadoprograms.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/cadotask.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/patterns.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/toplevel.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/upload.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/workunit.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/wudb.py
+lib/cado-nfs-3.0.0/scripts/cadofactor/wuserver.py
+lib/cado-nfs-3.0.0/scripts/descent.py
+lib/cado-nfs-3.0.0/sieve/freerel
+lib/cado-nfs-3.0.0/sieve/las
+lib/cado-nfs-3.0.0/sieve/las_descent
+lib/cado-nfs-3.0.0/sieve/makefb
+lib/cado-nfs-3.0.0/sqrt/sqrt
+lib/cado-nfs-3.0.0/utils/badideals
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p100
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p30
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p35
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p40
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p45
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p50
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p55
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p60
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p65
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p70
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p75
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p80
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p85
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p90
+%%DATADIR%%-3.0.0/dlp/Joux-Lercier/params.p95
+%%DATADIR%%-3.0.0/dlp/README
+%%DATADIR%%-3.0.0/dlp/TwoQuadratics/README
+%%DATADIR%%-3.0.0/dlp/TwoQuadratics/params.p30
+%%DATADIR%%-3.0.0/dlp/TwoQuadratics/params.p60
+%%DATADIR%%-3.0.0/dlp/p100.hint
+%%DATADIR%%-3.0.0/dlp/p155.hint
+%%DATADIR%%-3.0.0/dlp/p2dd20.hint
+%%DATADIR%%-3.0.0/dlp/p2dd30.hint
+%%DATADIR%%-3.0.0/dlp/p30.hint
+%%DATADIR%%-3.0.0/dlp/p35.hint
+%%DATADIR%%-3.0.0/dlp/p40.hint
+%%DATADIR%%-3.0.0/dlp/p45.hint
+%%DATADIR%%-3.0.0/dlp/p50.hint
+%%DATADIR%%-3.0.0/dlp/p55.hint
+%%DATADIR%%-3.0.0/dlp/p60.hint
+%%DATADIR%%-3.0.0/dlp/p65.hint
+%%DATADIR%%-3.0.0/dlp/p70.hint
+%%DATADIR%%-3.0.0/dlp/p75.hint
+%%DATADIR%%-3.0.0/dlp/p80.hint
+%%DATADIR%%-3.0.0/dlp/p85.hint
+%%DATADIR%%-3.0.0/dlp/p90.hint
+%%DATADIR%%-3.0.0/dlp/p95.hint
+%%DATADIR%%-3.0.0/dlp/params.p100
+%%DATADIR%%-3.0.0/dlp/params.p155
+%%DATADIR%%-3.0.0/dlp/params.p2dd20
+%%DATADIR%%-3.0.0/dlp/params.p2dd30
+%%DATADIR%%-3.0.0/dlp/params.p30
+%%DATADIR%%-3.0.0/dlp/params.p35
+%%DATADIR%%-3.0.0/dlp/params.p40
+%%DATADIR%%-3.0.0/dlp/params.p45
+%%DATADIR%%-3.0.0/dlp/params.p50
+%%DATADIR%%-3.0.0/dlp/params.p55
+%%DATADIR%%-3.0.0/dlp/params.p60
+%%DATADIR%%-3.0.0/dlp/params.p65
+%%DATADIR%%-3.0.0/dlp/params.p70
+%%DATADIR%%-3.0.0/dlp/params.p75
+%%DATADIR%%-3.0.0/dlp/params.p80
+%%DATADIR%%-3.0.0/dlp/params.p85
+%%DATADIR%%-3.0.0/dlp/params.p90
+%%DATADIR%%-3.0.0/dlp/params.p95
+%%DATADIR%%-3.0.0/factor/parameters.F9
+%%DATADIR%%-3.0.0/factor/params.c100
+%%DATADIR%%-3.0.0/factor/params.c105
+%%DATADIR%%-3.0.0/factor/params.c110
+%%DATADIR%%-3.0.0/factor/params.c115
+%%DATADIR%%-3.0.0/factor/params.c120
+%%DATADIR%%-3.0.0/factor/params.c125
+%%DATADIR%%-3.0.0/factor/params.c130
+%%DATADIR%%-3.0.0/factor/params.c135
+%%DATADIR%%-3.0.0/factor/params.c140
+%%DATADIR%%-3.0.0/factor/params.c145
+%%DATADIR%%-3.0.0/factor/params.c150
+%%DATADIR%%-3.0.0/factor/params.c155
+%%DATADIR%%-3.0.0/factor/params.c160
+%%DATADIR%%-3.0.0/factor/params.c165
+%%DATADIR%%-3.0.0/factor/params.c170
+%%DATADIR%%-3.0.0/factor/params.c175
+%%DATADIR%%-3.0.0/factor/params.c180
+%%DATADIR%%-3.0.0/factor/params.c185
+%%DATADIR%%-3.0.0/factor/params.c190
+%%DATADIR%%-3.0.0/factor/params.c195
+%%DATADIR%%-3.0.0/factor/params.c200
+%%DATADIR%%-3.0.0/factor/params.c210
+%%DATADIR%%-3.0.0/factor/params.c220
+%%DATADIR%%-3.0.0/factor/params.c230
+%%DATADIR%%-3.0.0/factor/params.c240
+%%DATADIR%%-3.0.0/factor/params.c270
+%%DATADIR%%-3.0.0/factor/params.c30
+%%DATADIR%%-3.0.0/factor/params.c310
+%%DATADIR%%-3.0.0/factor/params.c320
+%%DATADIR%%-3.0.0/factor/params.c60
+%%DATADIR%%-3.0.0/factor/params.c65
+%%DATADIR%%-3.0.0/factor/params.c70
+%%DATADIR%%-3.0.0/factor/params.c75
+%%DATADIR%%-3.0.0/factor/params.c80
+%%DATADIR%%-3.0.0/factor/params.c85
+%%DATADIR%%-3.0.0/factor/params.c90
+%%DATADIR%%-3.0.0/factor/params.c95
+%%DATADIR%%-3.0.0/misc/cpubinding.conf
+%%DATADIR%%-3.0.0/polynomials/F9.poly
+%%DATADIR%%-3.0.0/polynomials/README
+%%DATADIR%%-3.0.0/polynomials/c100.poly
+%%DATADIR%%-3.0.0/polynomials/c105.poly
+%%DATADIR%%-3.0.0/polynomials/c110.poly
+%%DATADIR%%-3.0.0/polynomials/c115.poly
+%%DATADIR%%-3.0.0/polynomials/c120.poly
+%%DATADIR%%-3.0.0/polynomials/c125.poly
+%%DATADIR%%-3.0.0/polynomials/c130.poly
+%%DATADIR%%-3.0.0/polynomials/c135.poly
+%%DATADIR%%-3.0.0/polynomials/c140.poly
+%%DATADIR%%-3.0.0/polynomials/c145.poly
+%%DATADIR%%-3.0.0/polynomials/c150.poly
+%%DATADIR%%-3.0.0/polynomials/c155.poly
+%%DATADIR%%-3.0.0/polynomials/c160.poly
+%%DATADIR%%-3.0.0/polynomials/c165.poly
+%%DATADIR%%-3.0.0/polynomials/c170.poly
+%%DATADIR%%-3.0.0/polynomials/c175.poly
+%%DATADIR%%-3.0.0/polynomials/c180.poly
+%%DATADIR%%-3.0.0/polynomials/c185.poly
+%%DATADIR%%-3.0.0/polynomials/c190.poly
+%%DATADIR%%-3.0.0/polynomials/c195.poly
+%%DATADIR%%-3.0.0/polynomials/c200.poly
+%%DATADIR%%-3.0.0/polynomials/c210.poly
+%%DATADIR%%-3.0.0/polynomials/c220.poly
+%%DATADIR%%-3.0.0/polynomials/c60.poly
+%%DATADIR%%-3.0.0/polynomials/c65.poly
+%%DATADIR%%-3.0.0/polynomials/c70.poly
+%%DATADIR%%-3.0.0/polynomials/c75.poly
+%%DATADIR%%-3.0.0/polynomials/c80.poly
+%%DATADIR%%-3.0.0/polynomials/c85.poly
+%%DATADIR%%-3.0.0/polynomials/c90.poly
+%%DATADIR%%-3.0.0/polynomials/c95.poly
+%%DATADIR%%-3.0.0/polynomials/rsa155.poly
+%%DATADIR%%-3.0.0/polynomials/rsa155.poly2
+%%DATADIR%%-3.0.0/polynomials/rsa155.poly3
+%%DATADIR%%-3.0.0/polynomials/rsa155.poly4
+%%DATADIR%%-3.0.0/polynomials/rsa155.poly5
+%%DATADIR%%-3.0.0/polynomials/rsa180.poly
+%%DATADIR%%-3.0.0/polynomials/rsa190.poly
+%%DATADIR%%-3.0.0/polynomials/rsa200.poly
+%%DATADIR%%-3.0.0/polynomials/rsa210.poly
+%%DATADIR%%-3.0.0/polynomials/rsa220.poly
+%%DATADIR%%-3.0.0/polynomials/rsa704.poly
+%%DATADIR%%-3.0.0/polynomials/rsa768.poly