summaryrefslogtreecommitdiff
path: root/math/volk
diff options
context:
space:
mode:
authortnn <tnn@pkgsrc.org>2020-12-14 19:04:40 +0000
committertnn <tnn@pkgsrc.org>2020-12-14 19:04:40 +0000
commitfe947ee3f106e69dbb25f87f394d083893e05784 (patch)
tree723cc1654d4b1da59c433ed37a943bc074819b7a /math/volk
parenta436f62c4c7af783e9449e79a4847907ba2f591f (diff)
downloadpkgsrc-fe947ee3f106e69dbb25f87f394d083893e05784.tar.gz
volk: update to 2.4.0
pkgsrc: since the volk release tarball only provides the required cpu_features library as a git submodule that has to be manually cloned, we instead depend on devel/cpu_features from pkgsrc and patch the cmake files to accept the static library as an external dependency. Documentation Update README to be more verbose and to improve usefulness. Compilers AppleClang: Treat AppleClang as Clang. Paired with the cpu_features introduction, this enables us to use architecture specific kernels on a broader set of platforms. CMake Enable to not install volk_modtool. Remove "find_package_handle_standard_args" warning. cpu_features Use cpu_features v0.6.0 as a private submodule to detect available CPU features. Fix incorrect feature detection for newer AVX versions. Circumvent platform specific feature detection. Enable more architecture specific kernels on more platforms. Kernels Disable slow and broken SSE4.1 kernel in volk_32fc_x2_dot_prod_32fc Adjust min/max for 32f_s32f_convert_8i kernel Use INT8_* instead of CHAR_*
Diffstat (limited to 'math/volk')
-rw-r--r--math/volk/Makefile6
-rw-r--r--math/volk/PLIST4
-rw-r--r--math/volk/buildlink3.mk3
-rw-r--r--math/volk/distinfo12
-rw-r--r--math/volk/patches/patch-CMakeLists.txt22
-rw-r--r--math/volk/patches/patch-lib_CMakeLists.txt16
6 files changed, 52 insertions, 11 deletions
diff --git a/math/volk/Makefile b/math/volk/Makefile
index b5154e34059..83763a55374 100644
--- a/math/volk/Makefile
+++ b/math/volk/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.2 2020/12/04 20:45:29 nia Exp $
+# $NetBSD: Makefile,v 1.3 2020/12/14 19:04:40 tnn Exp $
-DISTNAME= volk-2.3.0
-PKGREVISION= 1
+DISTNAME= volk-2.4.0
CATEGORIES= math ham
MASTER_SITES= ${MASTER_SITE_GITHUB:=gnuradio/}
GITHUB_TAG= v${PKGVERSION_NOREV}
@@ -29,4 +28,5 @@ PLIST_SUBST+= PYSITELIB=${PYSITELIB}
.include "../../devel/orc/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/cpu_features/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/math/volk/PLIST b/math/volk/PLIST
index 4e2b778cdc9..a9555b5ac96 100644
--- a/math/volk/PLIST
+++ b/math/volk/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2020/08/01 04:35:09 tnn Exp $
+@comment $NetBSD: PLIST,v 1.2 2020/12/14 19:04:40 tnn Exp $
bin/volk-config-info
bin/volk_modtool
bin/volk_profile
@@ -158,7 +158,7 @@ lib/cmake/volk/VolkConfigVersion.cmake
lib/cmake/volk/VolkTargets-release.cmake
lib/cmake/volk/VolkTargets.cmake
lib/libvolk.so
-lib/libvolk.so.2.3
+lib/libvolk.so.2.4
lib/pkgconfig/volk.pc
${PYSITELIB}/volk_modtool/__init__.py
${PYSITELIB}/volk_modtool/__init__.pyc
diff --git a/math/volk/buildlink3.mk b/math/volk/buildlink3.mk
index 802d3a23acd..cadc8fe7ca7 100644
--- a/math/volk/buildlink3.mk
+++ b/math/volk/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.1 2020/08/01 04:35:09 tnn Exp $
+# $NetBSD: buildlink3.mk,v 1.2 2020/12/14 19:04:40 tnn Exp $
BUILDLINK_TREE+= volk
@@ -6,6 +6,7 @@ BUILDLINK_TREE+= volk
VOLK_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.volk+= volk>=2.3.0
+BUILDLINK_ABI_DEPENDS.volk+= volk>=2.4.0
BUILDLINK_PKGSRCDIR.volk?= ../../math/volk
.include "../../devel/orc/buildlink3.mk"
diff --git a/math/volk/distinfo b/math/volk/distinfo
index 14ab9ad9083..794774ede43 100644
--- a/math/volk/distinfo
+++ b/math/volk/distinfo
@@ -1,8 +1,10 @@
-$NetBSD: distinfo,v 1.1 2020/08/01 04:35:09 tnn Exp $
+$NetBSD: distinfo,v 1.2 2020/12/14 19:04:40 tnn Exp $
-SHA1 (volk-2.3.0.tar.gz) = c9824143bc8835ca2e9ebb2204dcb8a4836e8958
-RMD160 (volk-2.3.0.tar.gz) = 9cf2d79cdf98ac8b9e935694601f3b33a5852b8d
-SHA512 (volk-2.3.0.tar.gz) = 9e3b405b7be46b4f5ff61a4d42fa9013fc55169bc18c9cf9253e446fe23fd12dc0356adb9aa176e33dfa4cc478e4b9226bee906a2d89ef83bac3b28f52816382
-Size (volk-2.3.0.tar.gz) = 344763 bytes
+SHA1 (volk-2.4.0.tar.gz) = b646d1d52208045b37fc40ffbd9f07c0b04e9ce8
+RMD160 (volk-2.4.0.tar.gz) = 16de9065941f1f0948f1b019542833caa3f968f4
+SHA512 (volk-2.4.0.tar.gz) = 571974e10d664870ff949ca0e79b62905acf5baacbedc951764388dfeeeecd649eccbe60944369cfb49be1f8c67a9ebdac81e2dbeca70eabf513c6c2d32f859e
+Size (volk-2.4.0.tar.gz) = 346354 bytes
+SHA1 (patch-CMakeLists.txt) = fe0571495a1183579dda1a265819f3eb76fe9edf
SHA1 (patch-include_volk_volk__common.h) = 53e7aa38deaa9cdf68ca12fff6c176be471cf162
SHA1 (patch-include_volk_volk__complex.h) = 248bf10c03364f7338f03cbaa4ddc8047da9c775
+SHA1 (patch-lib_CMakeLists.txt) = 9cf79e37227c3de1e76610ab01ff43aa9439fcf7
diff --git a/math/volk/patches/patch-CMakeLists.txt b/math/volk/patches/patch-CMakeLists.txt
new file mode 100644
index 00000000000..19f1d3c4719
--- /dev/null
+++ b/math/volk/patches/patch-CMakeLists.txt
@@ -0,0 +1,22 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2020/12/14 19:04:41 tnn Exp $
+
+Use devel/cpu_features from pkgsrc since the volk release tarball doesn't
+bundle it and we need to patch cpu_features anyway.
+
+--- CMakeLists.txt.orig 2020-11-22 16:33:01.000000000 +0000
++++ CMakeLists.txt
+@@ -115,13 +115,7 @@ endif(MSVC)
+ ########################################################################
+
+ # cpu_features
+-set(BUILD_PIC ON CACHE BOOL
+- "Build cpu_features with Position Independent Code (PIC)."
+- FORCE)
+-set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
+-set(BUILD_SHARED_LIBS OFF)
+-add_subdirectory(cpu_features)
+-set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
++find_package(CpuFeatures)
+
+ # Python
+ include(VolkPython) #sets PYTHON_EXECUTABLE and PYTHON_DASH_B
diff --git a/math/volk/patches/patch-lib_CMakeLists.txt b/math/volk/patches/patch-lib_CMakeLists.txt
new file mode 100644
index 00000000000..16ace627eaa
--- /dev/null
+++ b/math/volk/patches/patch-lib_CMakeLists.txt
@@ -0,0 +1,16 @@
+$NetBSD: patch-lib_CMakeLists.txt,v 1.1 2020/12/14 19:04:41 tnn Exp $
+
+Use devel/cpu_features from pkgsrc since the volk release tarball doesn't
+bundle it and we need to patch cpu_features anyway.
+
+--- lib/CMakeLists.txt.orig 2020-11-22 16:33:01.000000000 +0000
++++ lib/CMakeLists.txt
+@@ -511,7 +511,7 @@ target_include_directories(volk_obj
+ PRIVATE $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
+ PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
+ PRIVATE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/kernels>
+- PRIVATE $<TARGET_PROPERTY:cpu_features,INTERFACE_INCLUDE_DIRECTORIES>
++ PRIVATE $<TARGET_PROPERTY:CpuFeatures::cpu_features,INTERFACE_INCLUDE_DIRECTORIES>
+ PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+ )