Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 96 lines 1.8 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 cmake, 6 pkg-config, 7 gtkmm3, 8 cairomm, 9 yaml-cpp, 10 glfw, 11 libtirpc, 12 liblxi, 13 libsigcxx, 14 glew, 15 zstd, 16 wrapGAppsHook4, 17 shaderc, 18 vulkan-headers, 19 vulkan-loader, 20 vulkan-tools, 21 glslang, 22 spirv-tools, 23 ffts, 24 moltenvk, 25 llvmPackages, 26}: 27 28stdenv.mkDerivation { 29 pname = "scopehal-apps"; 30 version = "0-unstable-2024-09-16"; 31 32 src = fetchFromGitHub { 33 owner = "ngscopeclient"; 34 repo = "scopehal-apps"; 35 rev = "d2a1a2f17e9398a3f60c99483dd2f6dbc2e62efc"; 36 hash = "sha256-FQoaTuL6mEqnH8oNXwHpDcOEAPGExqj6lhrUhZ9VAQ4="; 37 fetchSubmodules = true; 38 }; 39 40 strictDeps = true; 41 42 nativeBuildInputs = [ 43 cmake 44 pkg-config 45 shaderc 46 spirv-tools 47 ] 48 ++ lib.optionals stdenv.hostPlatform.isLinux [ 49 wrapGAppsHook4 50 ]; 51 52 buildInputs = [ 53 cairomm 54 glew 55 glfw 56 glslang 57 liblxi 58 libsigcxx 59 vulkan-headers 60 vulkan-loader 61 vulkan-tools 62 yaml-cpp 63 zstd 64 ] 65 ++ lib.optionals stdenv.hostPlatform.isLinux [ 66 ffts 67 gtkmm3 68 libtirpc 69 ] 70 ++ lib.optionals stdenv.cc.isClang [ llvmPackages.openmp ] 71 ++ lib.optionals stdenv.hostPlatform.isDarwin [ 72 moltenvk 73 ]; 74 75 # Targets InitializeSearchPaths 76 postPatch = '' 77 substituteInPlace lib/scopehal/scopehal.cpp \ 78 --replace-fail '"/share/' '"/../share/' 79 ''; 80 81 cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ 82 "-DCMAKE_INSTALL_RPATH=${lib.strings.makeLibraryPath [ vulkan-loader ]}" 83 ]; 84 85 meta = { 86 description = "Advanced test & measurement remote control and analysis suite"; 87 homepage = "https://www.ngscopeclient.org/"; 88 license = lib.licenses.bsd3; 89 mainProgram = "ngscopeclient"; 90 maintainers = with lib.maintainers; [ 91 bgamari 92 carlossless 93 ]; 94 platforms = lib.platforms.linux ++ lib.platforms.darwin; 95 }; 96}