nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at litex 44 lines 1.3 kB view raw
1{ lib, stdenv, cmake, ninja, gtest, fetchFromGitHub }: 2 3stdenv.mkDerivation rec { 4 pname = "libhwy"; 5 version = "1.0.4"; 6 7 src = fetchFromGitHub { 8 owner = "google"; 9 repo = "highway"; 10 rev = version; 11 hash = "sha256-bQtfye+gn7GOyzCtji4st5hsV40rPzuaYDP7N1tZ8wg="; 12 }; 13 14 nativeBuildInputs = [ cmake ninja ]; 15 16 # Required for case-insensitive filesystems ("BUILD" exists) 17 dontUseCmakeBuildDir = true; 18 19 cmakeFlags = let 20 libExt = stdenv.hostPlatform.extensions.library; 21 in [ 22 "-GNinja" 23 "-DCMAKE_INSTALL_LIBDIR=lib" 24 "-DCMAKE_INSTALL_INCLUDEDIR=include" 25 ] ++ lib.optionals doCheck [ 26 "-DHWY_SYSTEM_GTEST:BOOL=ON" 27 "-DGTEST_INCLUDE_DIR=${lib.getDev gtest}/include" 28 "-DGTEST_LIBRARY=${lib.getLib gtest}/lib/libgtest${libExt}" 29 "-DGTEST_MAIN_LIBRARY=${lib.getLib gtest}/lib/libgtest_main${libExt}" 30 ] ++ lib.optionals stdenv.hostPlatform.isAarch32 [ 31 "-DHWY_CMAKE_ARM7=ON" 32 ]; 33 34 # hydra's darwin machines run into https://github.com/libjxl/libjxl/issues/408 35 doCheck = !stdenv.hostPlatform.isDarwin; 36 37 meta = with lib; { 38 description = "Performance-portable, length-agnostic SIMD with runtime dispatch"; 39 homepage = "https://github.com/google/highway"; 40 license = licenses.asl20; 41 platforms = platforms.unix; 42 maintainers = with maintainers; [ zhaofengli ]; 43 }; 44}