diff --git a/math/cado-nfs/Makefile b/math/cado-nfs/Makefile index f0ffd582f39d..6f0fb0500462 100644 --- a/math/cado-nfs/Makefile +++ b/math/cado-nfs/Makefile @@ -1,45 +1,46 @@ PORTNAME= cado-nfs DISTVERSIONPREFIX= v -DISTVERSION= 2.3.0-20220722 +DISTVERSION= 2.3.0-20240318 CATEGORIES= math MAINTAINER= yuri@FreeBSD.org COMMENT= Implementation of the Number Field Sieve Algorithm WWW= https://cado-nfs.gitlabpages.inria.fr/ LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/COPYING -CONFLICTS_BUILD= libfmt # bundled libfmt conflicts with package-installed headers - BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ bash:shells/bash 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 gmake perl5 python shebangfix # noninja because: bad $-escape (literal $ must be written as $$) USE_GITLAB= yes GL_SITE= https://gitlab.inria.fr -GL_TAGNAME= 3ab6a4781fa5d218ed332834809ba6c6fd1a591f +GL_TAGNAME= a24829267c8e81f58d8c643c7c5be5e454ef106e SHEBANG_GLOB= *.py +MAKE_ENV+= WRKSRC=${WRKSRC} # for files/fake-c++: workaround for external libfmt getting into the build + CXXFLAGS_i386= -msse2 # workaround for error: always_inline function '_mm_setzero_si128' requires target feature 'sse2', but would be inlined into function 'gf2x_mul4' that is compiled without support for 'sse2' TEST_TARGET= check # 'test' does the same but is less verbose -BINARY_ALIAS= python3=${PYTHON_CMD} +BINARY_ALIAS= python3=${PYTHON_CMD} \ + c++=${FILESDIR}/fake-c++ # workaround for external libfmt getting into the build .include .if ${ARCH} == amd64 PLIST_SUB= LINGEN_PZ="" .else PLIST_SUB= LINGEN_PZ="@comment " .endif .include diff --git a/math/cado-nfs/distinfo b/math/cado-nfs/distinfo index 390cf1398a06..20ab254f5e74 100644 --- a/math/cado-nfs/distinfo +++ b/math/cado-nfs/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1658477035 -SHA256 (cado-nfs-cado-nfs-3ab6a4781fa5d218ed332834809ba6c6fd1a591f_GL0.tar.gz) = 8f93d56f0cfef0693110882509365da192fc1ebd52307af3a1a763e0fb068fea -SIZE (cado-nfs-cado-nfs-3ab6a4781fa5d218ed332834809ba6c6fd1a591f_GL0.tar.gz) = 4742485 +TIMESTAMP = 1712522573 +SHA256 (cado-nfs-cado-nfs-a24829267c8e81f58d8c643c7c5be5e454ef106e_GL0.tar.gz) = 0af1c4ad0fd20caba7667cb9df3bcb999b7ea0bf7bb89bf3fd3c4b708d940cdb +SIZE (cado-nfs-cado-nfs-a24829267c8e81f58d8c643c7c5be5e454ef106e_GL0.tar.gz) = 4190790 diff --git a/math/cado-nfs/files/fake-c++ b/math/cado-nfs/files/fake-c++ new file mode 100755 index 000000000000..752550aedf5a --- /dev/null +++ b/math/cado-nfs/files/fake-c++ @@ -0,0 +1,2 @@ +# workaround for external libfmt getting into the buid +/usr/bin/c++ -I $WRKSRC/utils/embedded "$@" diff --git a/math/cado-nfs/files/patch-CMakeLists.txt b/math/cado-nfs/files/patch-CMakeLists.txt index 674ac4812f6a..136353b09f71 100644 --- a/math/cado-nfs/files/patch-CMakeLists.txt +++ b/math/cado-nfs/files/patch-CMakeLists.txt @@ -1,51 +1,51 @@ - workaround for the failure: error: variable 'total_weight' set but not used [-Werror,-Wunused-but-set-variable] ---- CMakeLists.txt.orig 2022-01-31 23:16:04 UTC +--- CMakeLists.txt.orig 2024-03-18 08:56:37 UTC +++ CMakeLists.txt -@@ -146,7 +146,7 @@ if(CMAKE_COMPILER_IS_GNUCC) +@@ -149,7 +149,7 @@ if(CMAKE_COMPILER_IS_GNUCC) # prevents the definition of __STRICT_ANSI__ # # Ditto for C++, with the c++98/gnu++98 subtlety. - set (CMAKE_C_FLAGS "-W -Wall ${CMAKE_C_FLAGS}") + set (CMAKE_C_FLAGS "-W ${CMAKE_C_FLAGS}") if (MINGW) set (CMAKE_C_FLAGS "-std=gnu99 ${CMAKE_C_FLAGS}") else() -@@ -156,7 +156,7 @@ if(CMAKE_COMPILER_IS_GNUCC) +@@ -159,7 +159,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set (CMAKE_CXX_FLAGS "-W -Wall ${CMAKE_CXX_FLAGS}") + set (CMAKE_CXX_FLAGS "-W ${CMAKE_CXX_FLAGS}") if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) message(FATAL_ERROR "cado-nfs requires gcc version 5 or greater") endif() -@@ -187,8 +187,8 @@ endif() - - if(CMAKE_C_COMPILER_ID MATCHES "Intel") +@@ -201,8 +201,8 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") + message(STATUS "Enabling C++11 support") + elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") message(STATUS "Applying flags for icc") - set (CMAKE_C_FLAGS "-W -Wall -wd13200,13203 ${CMAKE_C_FLAGS}") - set (CMAKE_CXX_FLAGS "-W -Wall -wd13200,13203,3058 ${CMAKE_CXX_FLAGS}") + set (CMAKE_C_FLAGS "-W -wd13200,13203 ${CMAKE_C_FLAGS}") + set (CMAKE_CXX_FLAGS "-W -wd13200,13203,3058 ${CMAKE_CXX_FLAGS}") set (CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}") # only icc>=15 is full c++11 compliant, it seems. But 14 will do. -@@ -206,7 +206,7 @@ endif() +@@ -220,7 +220,7 @@ if(CMAKE_C_COMPILER_ID MATCHES "AppleClang" OR CMAKE_H if(CMAKE_C_COMPILER_ID MATCHES "AppleClang" OR CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_C_COMPILER_ID MATCHES "Clang" ) - set (CMAKE_C_FLAGS "-std=c99 -W -Wall ${CMAKE_C_FLAGS}") + set (CMAKE_C_FLAGS "-std=c99 -W ${CMAKE_C_FLAGS}") endif() if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang" OR CMAKE_HOST_SYSTEM_NAME -@@ -226,7 +226,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "^Clang") - set (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") - set (HAVE_CXX11 1) +@@ -232,7 +232,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "^Clang") message(STATUS "Enabling C++11 support") -- set (CMAKE_CXX_FLAGS "-std=c++11 -W -Wall ${CMAKE_CXX_FLAGS}") -+ set (CMAKE_CXX_FLAGS "-std=c++11 -W ${CMAKE_CXX_FLAGS}") endif() - endif() - message(STATUS "CFLAGS=${CMAKE_C_FLAGS} (synthetized)") + elseif(CMAKE_CXX_COMPILER_ID MATCHES "^Clang") +- set (CMAKE_CXX_FLAGS "-W -Wall ${CMAKE_CXX_FLAGS}") ++ set (CMAKE_CXX_FLAGS "-W ${CMAKE_CXX_FLAGS}") + # According to http://clang.llvm.org/cxx_status.html + # Caveat: Apple's clang identifies itself as plain Clang on some + # occasions... I don't exactly know when and how, but there's some diff --git a/math/cado-nfs/files/patch-config_fmt.cmake b/math/cado-nfs/files/patch-config_fmt.cmake new file mode 100644 index 000000000000..6686bf33f7c7 --- /dev/null +++ b/math/cado-nfs/files/patch-config_fmt.cmake @@ -0,0 +1,35 @@ +--- config/fmt.cmake.orig 2024-04-07 21:30:28 UTC ++++ config/fmt.cmake +@@ -23,7 +23,7 @@ endif() + endif() + + # Try in three passes, otherwise cmake gets in the way... +-find_path (FMT_INCDIR fmt/core.h HINTS ${FMT_INCDIR_HINTS} DOC "fmt headers" ++find_path (FMT_INCDIR fmt-invalid/core.h HINTS ${FMT_INCDIR_HINTS} DOC "fmt headers" + NO_DEFAULT_PATH + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_PATH +@@ -32,19 +32,19 @@ if(NOT FMT_INCDIR) + NO_CMAKE_FIND_ROOT_PATH + ) + if(NOT FMT_INCDIR) +-find_path (FMT_INCDIR fmt/core.h HINTS ${FMT_INCDIR_HINTS} DOC "fmt headers" ++find_path (FMT_INCDIR fmt-invalid/core.h HINTS ${FMT_INCDIR_HINTS} DOC "fmt headers" + NO_DEFAULT_PATH + ) + endif() + if(NOT FMT_INCDIR) +-find_path (FMT_INCDIR fmt/core.h HINTS ${FMT_INCDIR_HINTS} DOC "fmt headers") ++find_path (FMT_INCDIR fmt-invalid/core.h HINTS ${FMT_INCDIR_HINTS} DOC "fmt headers") + endif() + +-find_library(FMT_LIB fmt HINTS ${FMT_LIBDIR_HINTS} DOC "fmt library" ++find_library(FMT_LIB fmt-invalid HINTS ${FMT_LIBDIR_HINTS} DOC "fmt library" + NO_DEFAULT_PATH + ) + if(NOT FMT_LIB) +-find_library(FMT_LIB fmt HINTS ${FMT_LIBDIR_HINTS} DOC "fmt library") ++find_library(FMT_LIB fmt-invalid HINTS ${FMT_LIBDIR_HINTS} DOC "fmt library") + endif() + + diff --git a/math/cado-nfs/pkg-plist b/math/cado-nfs/pkg-plist index a1a36740ee5b..527018e58d0c 100644 --- a/math/cado-nfs/pkg-plist +++ b/math/cado-nfs/pkg-plist @@ -1,190 +1,200 @@ 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_b64 %%LINGEN_PZ%%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/numbertheory_tool %%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.c143 %%DATADIR%%-3.0.0/factor/params.c145 +%%DATADIR%%-3.0.0/factor/params.c148 %%DATADIR%%-3.0.0/factor/params.c150 +%%DATADIR%%-3.0.0/factor/params.c153 %%DATADIR%%-3.0.0/factor/params.c155 +%%DATADIR%%-3.0.0/factor/params.c158 %%DATADIR%%-3.0.0/factor/params.c160 +%%DATADIR%%-3.0.0/factor/params.c163 %%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/c143.poly %%DATADIR%%-3.0.0/polynomials/c145.poly +%%DATADIR%%-3.0.0/polynomials/c148.poly %%DATADIR%%-3.0.0/polynomials/c150.poly +%%DATADIR%%-3.0.0/polynomials/c153.poly %%DATADIR%%-3.0.0/polynomials/c155.poly +%%DATADIR%%-3.0.0/polynomials/c158.poly %%DATADIR%%-3.0.0/polynomials/c160.poly +%%DATADIR%%-3.0.0/polynomials/c163.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