diff --git a/math/faiss/Makefile b/math/faiss/Makefile index fb4bebbbadc3..9769ec9ebd6d 100644 --- a/math/faiss/Makefile +++ b/math/faiss/Makefile @@ -1,35 +1,34 @@ PORTNAME= faiss DISTVERSIONPREFIX= v -DISTVERSION= 1.8.0 -PORTREVISION= 1 +DISTVERSION= 1.9.0 CATEGORIES= math -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES= 70c5de13cd9e2ce94181fe67d9a70eb371ecd554.patch:-p1 # fix GTest linkage +#PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +#PATCHFILES= 70c5de13cd9e2ce94181fe67d9a70eb371ecd554.patch:-p1 # fix GTest linkage MAINTAINER= yuri@FreeBSD.org COMMENT= Library for efficient similarity search & clustering of dense vectors WWW= https://github.com/facebookresearch/faiss LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE .if !exists(/usr/include/omp.h) BROKEN= requires OpenMP support that is missing on this architecture .endif BUILD_DEPENDS= openblas>0:math/openblas # faiss links with libopenblasp-rN.N.N.so (installed by default only on amd64,i386), so use non-filename-specific DEPENDS commands RUN_DEPENDS= openblas>0:math/openblas TEST_DEPENDS= googletest>0:devel/googletest -USES= cmake:testing compiler:c++11-lang localbase:ldflags # tests fail to link, see https://github.com/facebookresearch/faiss/issues/2654 +USES= cmake:testing compiler:c++11-lang localbase:ldflags # tests fail to compile, see https://github.com/facebookresearch/faiss/issues/3913 USE_GITHUB= yes GH_ACCOUNT= facebookresearch #LDFLAGS+= -lgtest #-pthread CMAKE_ON= BUILD_SHARED_LIBS CMAKE_OFF= BUILD_TESTING FAISS_ENABLE_GPU FAISS_ENABLE_PYTHON .include diff --git a/math/faiss/distinfo b/math/faiss/distinfo index 6951c712ece4..1595317a3324 100644 --- a/math/faiss/distinfo +++ b/math/faiss/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1709601119 -SHA256 (facebookresearch-faiss-v1.8.0_GH0.tar.gz) = 56ece0a419d62eaa11e39022fa27c8ed6d5a9b9eb7416cc5a0fdbeab07ec2f0c -SIZE (facebookresearch-faiss-v1.8.0_GH0.tar.gz) = 1015506 -SHA256 (70c5de13cd9e2ce94181fe67d9a70eb371ecd554.patch) = a50d06093d3aa6450caa127d6f10bac5325474f5102fea87f07170d11e2293c3 -SIZE (70c5de13cd9e2ce94181fe67d9a70eb371ecd554.patch) = 869 +TIMESTAMP = 1728188633 +SHA256 (facebookresearch-faiss-v1.9.0_GH0.tar.gz) = a6c3c60811aeec2dd8943a41f3df244bfed12371453d9b10eaf6ba55fafad1d2 +SIZE (facebookresearch-faiss-v1.9.0_GH0.tar.gz) = 1084439 diff --git a/math/faiss/pkg-plist b/math/faiss/pkg-plist index 7f4fb030db94..726ba7114f2b 100644 --- a/math/faiss/pkg-plist +++ b/math/faiss/pkg-plist @@ -1,128 +1,129 @@ include/faiss/AutoTune.h include/faiss/Clustering.h include/faiss/IVFlib.h include/faiss/Index.h include/faiss/Index2Layer.h include/faiss/IndexAdditiveQuantizer.h include/faiss/IndexAdditiveQuantizerFastScan.h include/faiss/IndexBinary.h include/faiss/IndexBinaryFlat.h include/faiss/IndexBinaryFromFloat.h include/faiss/IndexBinaryHNSW.h include/faiss/IndexBinaryHash.h include/faiss/IndexBinaryIVF.h include/faiss/IndexFastScan.h include/faiss/IndexFlat.h include/faiss/IndexFlatCodes.h include/faiss/IndexHNSW.h include/faiss/IndexIDMap.h include/faiss/IndexIVF.h include/faiss/IndexIVFAdditiveQuantizer.h include/faiss/IndexIVFAdditiveQuantizerFastScan.h include/faiss/IndexIVFFastScan.h include/faiss/IndexIVFFlat.h include/faiss/IndexIVFIndependentQuantizer.h include/faiss/IndexIVFPQ.h include/faiss/IndexIVFPQFastScan.h include/faiss/IndexIVFPQR.h include/faiss/IndexIVFSpectralHash.h include/faiss/IndexLSH.h include/faiss/IndexLattice.h include/faiss/IndexNNDescent.h include/faiss/IndexNSG.h include/faiss/IndexPQ.h include/faiss/IndexPQFastScan.h include/faiss/IndexPreTransform.h include/faiss/IndexRefine.h include/faiss/IndexReplicas.h include/faiss/IndexRowwiseMinMax.h include/faiss/IndexScalarQuantizer.h include/faiss/IndexShards.h include/faiss/IndexShardsIVF.h include/faiss/MatrixStats.h include/faiss/MetaIndexes.h include/faiss/MetricType.h include/faiss/VectorTransform.h include/faiss/clone_index.h include/faiss/impl/AdditiveQuantizer.h include/faiss/impl/AuxIndexStructures.h include/faiss/impl/CodePacker.h include/faiss/impl/DistanceComputer.h include/faiss/impl/FaissAssert.h include/faiss/impl/FaissException.h include/faiss/impl/HNSW.h include/faiss/impl/IDSelector.h include/faiss/impl/LocalSearchQuantizer.h include/faiss/impl/LookupTableScaler.h include/faiss/impl/NNDescent.h include/faiss/impl/NSG.h include/faiss/impl/PolysemousTraining.h include/faiss/impl/ProductAdditiveQuantizer.h include/faiss/impl/ProductQuantizer-inl.h include/faiss/impl/ProductQuantizer.h include/faiss/impl/Quantizer.h include/faiss/impl/ResidualQuantizer.h include/faiss/impl/ResultHandler.h include/faiss/impl/ScalarQuantizer.h include/faiss/impl/ThreadedIndex-inl.h include/faiss/impl/ThreadedIndex.h include/faiss/impl/code_distance/code_distance-avx2.h include/faiss/impl/code_distance/code_distance-generic.h include/faiss/impl/code_distance/code_distance.h include/faiss/impl/io.h include/faiss/impl/io_macros.h include/faiss/impl/kmeans1d.h include/faiss/impl/lattice_Zn.h include/faiss/impl/platform_macros.h include/faiss/impl/pq4_fast_scan.h include/faiss/impl/residual_quantizer_encode_steps.h include/faiss/impl/simd_result_handlers.h include/faiss/index_factory.h include/faiss/index_io.h include/faiss/invlists/BlockInvertedLists.h include/faiss/invlists/DirectMap.h include/faiss/invlists/InvertedLists.h include/faiss/invlists/InvertedListsIOHook.h include/faiss/invlists/OnDiskInvertedLists.h include/faiss/utils/AlignedTable.h include/faiss/utils/Heap.h include/faiss/utils/WorkerThread.h include/faiss/utils/approx_topk/approx_topk.h include/faiss/utils/approx_topk/avx2-inl.h include/faiss/utils/approx_topk/generic.h include/faiss/utils/approx_topk/mode.h include/faiss/utils/approx_topk_hamming/approx_topk_hamming.h +include/faiss/utils/bf16.h include/faiss/utils/distances.h include/faiss/utils/distances_fused/avx512.h include/faiss/utils/distances_fused/distances_fused.h include/faiss/utils/distances_fused/simdlib_based.h include/faiss/utils/extra_distances-inl.h include/faiss/utils/extra_distances.h include/faiss/utils/fp16-arm.h include/faiss/utils/fp16-fp16c.h include/faiss/utils/fp16-inl.h include/faiss/utils/fp16.h include/faiss/utils/hamming-inl.h include/faiss/utils/hamming.h include/faiss/utils/hamming_distance/avx2-inl.h include/faiss/utils/hamming_distance/common.h include/faiss/utils/hamming_distance/generic-inl.h include/faiss/utils/hamming_distance/hamdis-inl.h include/faiss/utils/hamming_distance/neon-inl.h include/faiss/utils/ordered_key_value.h include/faiss/utils/partitioning.h include/faiss/utils/prefetch.h include/faiss/utils/quantize_lut.h include/faiss/utils/random.h include/faiss/utils/simdlib.h include/faiss/utils/simdlib_avx2.h include/faiss/utils/simdlib_emulated.h include/faiss/utils/simdlib_neon.h include/faiss/utils/sorting.h include/faiss/utils/transpose/transpose-avx2-inl.h include/faiss/utils/utils.h lib/libfaiss.so %%DATADIR%%/faiss-config-version.cmake %%DATADIR%%/faiss-config.cmake %%DATADIR%%/faiss-targets-%%CMAKE_BUILD_TYPE%%.cmake %%DATADIR%%/faiss-targets.cmake diff --git a/math/py-faiss/Makefile b/math/py-faiss/Makefile index 7040bfb21d68..b83f259c71b5 100644 --- a/math/py-faiss/Makefile +++ b/math/py-faiss/Makefile @@ -1,46 +1,47 @@ PORTNAME= faiss DISTVERSIONPREFIX= v -DISTVERSION= 1.8.0 +DISTVERSION= 1.9.0 CATEGORIES= math PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= yuri@FreeBSD.org COMMENT= Library for efficient similarity search & clustering of dense vectors WWW= https://github.com/facebookresearch/faiss LICENSE= MIT LICENSE_FILE= ${WRKSRC}/../../LICENSE BROKEN_i386= clang crashes, see bug#261580 -PY_DEPENDS= ${PYNUMPY} +PY_DEPENDS= ${PYNUMPY} \ + ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} BUILD_DEPENDS= swig:devel/swig \ ${PY_DEPENDS} LIB_DEPENDS= libfaiss.so:math/faiss RUN_DEPENDS= ${PY_DEPENDS} USES= cmake compiler:c++11-lang localbase python -USE_PYTHON= flavors pytest +USE_PYTHON= flavors pytest # tests fail to run, see https://github.com/facebookresearch/faiss/issues/3914 USE_GITHUB= yes GH_ACCOUNT= facebookresearch WRKSRC_SUBDIR= faiss/python CMAKE_ARGS= -DPython_EXECUTABLE:STRING=${PYTHON_CMD} TEST_WRKSRC= ${WRKSRC}/../.. TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} post-patch: # remove GPU testcases - ${RM} -r ${WRKSRC}/../../faiss/gpu + @${RM} -r ${WRKSRC}/../../faiss/gpu do-install: # see https://github.com/facebookresearch/faiss/issues/2194 ${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} ${INSTALL_LIB} ${BUILD_WRKSRC}/_swigfaiss.so ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} .for f in __init__.py array_conversions.py class_wrappers.py extra_wrappers.py gpu_wrappers.py loader.py swigfaiss.py ${INSTALL_DATA} ${BUILD_WRKSRC}/${f} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME} .endfor cd ${BUILD_WRKSRC} && ${COPYTREE_SHARE} contrib ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME} .include diff --git a/math/py-faiss/distinfo b/math/py-faiss/distinfo index 191a495b8773..ad7e827ec030 100644 --- a/math/py-faiss/distinfo +++ b/math/py-faiss/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1709597479 -SHA256 (facebookresearch-faiss-v1.8.0_GH0.tar.gz) = 56ece0a419d62eaa11e39022fa27c8ed6d5a9b9eb7416cc5a0fdbeab07ec2f0c -SIZE (facebookresearch-faiss-v1.8.0_GH0.tar.gz) = 1015506 +TIMESTAMP = 1728191400 +SHA256 (facebookresearch-faiss-v1.9.0_GH0.tar.gz) = a6c3c60811aeec2dd8943a41f3df244bfed12371453d9b10eaf6ba55fafad1d2 +SIZE (facebookresearch-faiss-v1.9.0_GH0.tar.gz) = 1084439 diff --git a/math/py-faiss/files/patch-swig b/math/py-faiss/files/patch-swig deleted file mode 100644 index 1aa5f58bcbd8..000000000000 --- a/math/py-faiss/files/patch-swig +++ /dev/null @@ -1,21 +0,0 @@ -Obtained from: https://github.com/facebookresearch/faiss/commit/d6854136afa3b987defb2c8e8108bad76ebdb949 - ---- swigfaiss.swig.orig 2024-02-29 21:24:50 UTC -+++ swigfaiss.swig -@@ -1022,14 +1022,14 @@ PyObject *swig_ptr (PyObject *a) - return SWIG_NewPointerObj(data, SWIGTYPE_p_bool, 0); - } - if(PyArray_TYPE(ao) == NPY_UINT64) { --#ifdef SWIGWORDSIZE64 -+#if (__SIZEOF_LONG__ == 8) - return SWIG_NewPointerObj(data, SWIGTYPE_p_unsigned_long, 0); - #else - return SWIG_NewPointerObj(data, SWIGTYPE_p_unsigned_long_long, 0); - #endif - } - if(PyArray_TYPE(ao) == NPY_INT64) { --#ifdef SWIGWORDSIZE64 -+#if (__SIZEOF_LONG__ == 8) - return SWIG_NewPointerObj(data, SWIGTYPE_p_long, 0); - #else - return SWIG_NewPointerObj(data, SWIGTYPE_p_long_long, 0); diff --git a/math/py-faiss/pkg-plist b/math/py-faiss/pkg-plist index 6b82a1bd1b71..9f2af6dceddf 100644 --- a/math/py-faiss/pkg-plist +++ b/math/py-faiss/pkg-plist @@ -1,22 +1,27 @@ %%PYTHON_SITELIBDIR%%/faiss/__init__.py %%PYTHON_SITELIBDIR%%/faiss/_swigfaiss.so %%PYTHON_SITELIBDIR%%/faiss/array_conversions.py %%PYTHON_SITELIBDIR%%/faiss/class_wrappers.py +%%PYTHON_SITELIBDIR%%/faiss/contrib/README.md %%PYTHON_SITELIBDIR%%/faiss/contrib/__init__.py %%PYTHON_SITELIBDIR%%/faiss/contrib/big_batch_search.py %%PYTHON_SITELIBDIR%%/faiss/contrib/client_server.py %%PYTHON_SITELIBDIR%%/faiss/contrib/clustering.py %%PYTHON_SITELIBDIR%%/faiss/contrib/datasets.py %%PYTHON_SITELIBDIR%%/faiss/contrib/evaluation.py %%PYTHON_SITELIBDIR%%/faiss/contrib/exhaustive_search.py %%PYTHON_SITELIBDIR%%/faiss/contrib/factory_tools.py %%PYTHON_SITELIBDIR%%/faiss/contrib/inspect_tools.py %%PYTHON_SITELIBDIR%%/faiss/contrib/ivf_tools.py %%PYTHON_SITELIBDIR%%/faiss/contrib/ondisk.py %%PYTHON_SITELIBDIR%%/faiss/contrib/rpc.py +%%PYTHON_SITELIBDIR%%/faiss/contrib/torch/README.md +%%PYTHON_SITELIBDIR%%/faiss/contrib/torch/__init__.py +%%PYTHON_SITELIBDIR%%/faiss/contrib/torch/clustering.py +%%PYTHON_SITELIBDIR%%/faiss/contrib/torch/quantization.py %%PYTHON_SITELIBDIR%%/faiss/contrib/torch_utils.py %%PYTHON_SITELIBDIR%%/faiss/contrib/vecs_io.py %%PYTHON_SITELIBDIR%%/faiss/extra_wrappers.py %%PYTHON_SITELIBDIR%%/faiss/gpu_wrappers.py %%PYTHON_SITELIBDIR%%/faiss/loader.py %%PYTHON_SITELIBDIR%%/faiss/swigfaiss.py