Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 62 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 pkg-config, 6 7 # Optional Dependencies 8 alsa-lib ? null, 9 db ? null, 10 libuuid ? null, 11 libffado ? null, 12 celt_0_7 ? null, 13 14 testers, 15}: 16 17let 18 shouldUsePkg = 19 pkg: if pkg != null && lib.meta.availableOn stdenv.hostPlatform pkg then pkg else null; 20 21 optAlsaLib = shouldUsePkg alsa-lib; 22 optDb = shouldUsePkg db; 23 optLibuuid = shouldUsePkg libuuid; 24 optLibffado = shouldUsePkg libffado; 25 optCelt = shouldUsePkg celt_0_7; 26in 27stdenv.mkDerivation (finalAttrs: { 28 pname = "jack1"; 29 version = "0.126.0"; 30 31 src = fetchurl { 32 url = "https://github.com/jackaudio/jack1/releases/download/${finalAttrs.version}/jack1-${finalAttrs.version}.tar.gz"; 33 hash = "sha256-eykOnce5JirDKNQe74DBBTyXAT76y++jBHfLmypUReo="; 34 }; 35 36 configureFlags = [ 37 (lib.enableFeature (optLibffado != null) "firewire") 38 ]; 39 40 nativeBuildInputs = [ pkg-config ]; 41 buildInputs = [ 42 optAlsaLib 43 optDb 44 optLibffado 45 optCelt 46 ]; 47 propagatedBuildInputs = [ optLibuuid ]; 48 49 passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 50 51 meta = with lib; { 52 broken = stdenv.hostPlatform.isDarwin; 53 description = "JACK audio connection kit"; 54 homepage = "https://jackaudio.org"; 55 license = with licenses; [ 56 gpl2Plus 57 lgpl21 58 ]; 59 pkgConfigModules = [ "jack" ]; 60 platforms = platforms.unix; 61 }; 62})