at 24.11-pre 58 lines 1.5 kB view raw
1{ stdenv 2, lib 3, fetchFromGitHub 4, fetchpatch 5, cmake 6, python3 7, enableModTool ? true 8, removeReferencesTo 9}: 10 11stdenv.mkDerivation (finalAttrs: { 12 pname = "volk"; 13 version = "3.0.0"; 14 15 src = fetchFromGitHub { 16 owner = "gnuradio"; 17 repo = "volk"; 18 rev = "v${finalAttrs.version}"; 19 hash = "sha256-kI4IuO6TLplo5lLAGIPWQWtePcjIEWB9XaJDA6WlqSg="; 20 fetchSubmodules = true; 21 }; 22 patches = [ 23 # Remove a failing test 24 (fetchpatch { 25 url = "https://github.com/gnuradio/volk/commit/fe2e4a73480bf2ac2e566052ea682817dddaf61f.patch"; 26 hash = "sha256-Vko/Plk7u6UAr32lieU+T9G34Dkg9EW3Noi/NArpRL4="; 27 }) 28 ]; 29 30 cmakeFlags = lib.optionals (!enableModTool) [ 31 "-DENABLE_MODTOOL=OFF" 32 ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ 33 "-DVOLK_CPU_FEATURES=OFF" 34 # offset 17912 in1: -0.0366274 in2: -0.0366173 tolerance was: 1e-05 35 # volk_32f_log2_32f: fail on arch neon 36 "-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;qa_volk_32f_log2_32f" 37 ]; 38 39 postInstall = lib.optionalString (!stdenv.isDarwin) '' 40 ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so) 41 ''; 42 43 nativeBuildInputs = [ 44 cmake 45 python3 46 python3.pkgs.mako 47 ]; 48 49 doCheck = true; 50 51 meta = with lib; { 52 homepage = "http://libvolk.org/"; 53 description = "The Vector Optimized Library of Kernels"; 54 license = licenses.gpl3Plus; 55 maintainers = with maintainers; [ doronbehar ]; 56 platforms = platforms.all; 57 }; 58})