diff --git a/math/faiss/Makefile b/math/faiss/Makefile index 620843d67aaa..8ca5a98d8c07 100644 --- a/math/faiss/Makefile +++ b/math/faiss/Makefile @@ -1,29 +1,31 @@ PORTNAME= faiss DISTVERSIONPREFIX= v -DISTVERSION= 1.7.3 +DISTVERSION= 1.7.4 CATEGORIES= math 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 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 ade7dbc6d2ee..4f8bb75144c3 100644 --- a/math/faiss/distinfo +++ b/math/faiss/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1673176591 -SHA256 (facebookresearch-faiss-v1.7.3_GH0.tar.gz) = dda1b031957789e6a6f3b37d48ad135b9557a33c5013c1c245ef4bced2d787de -SIZE (facebookresearch-faiss-v1.7.3_GH0.tar.gz) = 843640 +TIMESTAMP = 1682122179 +SHA256 (facebookresearch-faiss-v1.7.4_GH0.tar.gz) = d9a7b31bf7fd6eb32c10b7ea7ff918160eed5be04fe63bb7b4b4b5f2bbde01ad +SIZE (facebookresearch-faiss-v1.7.4_GH0.tar.gz) = 909408 diff --git a/math/faiss/files/patch-tests_CMakeLists.txt b/math/faiss/files/patch-tests_CMakeLists.txt new file mode 100644 index 000000000000..1dea53ae3dbf --- /dev/null +++ b/math/faiss/files/patch-tests_CMakeLists.txt @@ -0,0 +1,13 @@ +- workaround for https://github.com/facebookresearch/faiss/issues/2827 + +--- tests/CMakeLists.txt.orig 2023-04-19 13:18:30 UTC ++++ tests/CMakeLists.txt +@@ -52,6 +52,8 @@ find_package(OpenMP REQUIRED) + target_link_libraries(faiss_test PRIVATE + OpenMP::OpenMP_CXX + gtest_main ++ gtest ++ pthread + ) + + # Defines `gtest_discover_tests()`. diff --git a/math/faiss/pkg-plist b/math/faiss/pkg-plist index f34b79b86cb7..a2ceb9a7cc42 100644 --- a/math/faiss/pkg-plist +++ b/math/faiss/pkg-plist @@ -1,104 +1,122 @@ 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/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/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/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/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-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/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/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 20ba38055555..6b11bebd8c30 100644 --- a/math/py-faiss/Makefile +++ b/math/py-faiss/Makefile @@ -1,45 +1,46 @@ PORTNAME= faiss DISTVERSIONPREFIX= v -DISTVERSION= 1.7.3 +DISTVERSION= 1.7.4 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} 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_GITHUB= yes GH_ACCOUNT= facebookresearch WRKSRC_SUBDIR= faiss/python -PLIST_FILES= \ - ${PYTHON_SITELIBDIR}/${PORTNAME}/_swigfaiss.so \ - ${PYTHON_SITELIBDIR}/${PORTNAME}/__init__.py \ - ${PYTHON_SITELIBDIR}/${PORTNAME}/loader.py \ - ${PYTHON_SITELIBDIR}/${PORTNAME}/swigfaiss.py +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 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 loader.py swigfaiss.py +.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 - -do-test: install - @${PYTHON_CMD} ${FILESDIR}/test.py + cd ${BUILD_WRKSRC} && ${COPYTREE_SHARE} contrib ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME} .include diff --git a/math/py-faiss/distinfo b/math/py-faiss/distinfo index 8604ef8daaa4..f28f117eac63 100644 --- a/math/py-faiss/distinfo +++ b/math/py-faiss/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1673177458 -SHA256 (facebookresearch-faiss-v1.7.3_GH0.tar.gz) = dda1b031957789e6a6f3b37d48ad135b9557a33c5013c1c245ef4bced2d787de -SIZE (facebookresearch-faiss-v1.7.3_GH0.tar.gz) = 843640 +TIMESTAMP = 1682124246 +SHA256 (facebookresearch-faiss-v1.7.4_GH0.tar.gz) = d9a7b31bf7fd6eb32c10b7ea7ff918160eed5be04fe63bb7b4b4b5f2bbde01ad +SIZE (facebookresearch-faiss-v1.7.4_GH0.tar.gz) = 909408 diff --git a/math/py-faiss/pkg-plist b/math/py-faiss/pkg-plist new file mode 100644 index 000000000000..cb884c112728 --- /dev/null +++ b/math/py-faiss/pkg-plist @@ -0,0 +1,21 @@ +%%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/__init__.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_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