Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, buildPythonPackage 4, pythonOlder 5, fetchFromGitHub 6, miniaudio 7, cffi 8, pytestCheckHook 9, AudioToolbox 10, CoreAudio 11}: 12 13buildPythonPackage rec { 14 pname = "miniaudio"; 15 version = "1.58"; 16 17 disabled = pythonOlder "3.6"; 18 19 format = "setuptools"; 20 21 src = fetchFromGitHub { 22 owner = "irmen"; 23 repo = "pyminiaudio"; 24 rev = "refs/tags/v${version}"; 25 hash = "sha256-uIjQerxMU4hMCJtpqYPt2kicql3s7jyho9r6/kRHTbk="; 26 }; 27 28 postPatch = '' 29 rm -r miniaudio 30 ln -s ${miniaudio} miniaudio 31 substituteInPlace build_ffi_module.py \ 32 --replace "miniaudio/stb_vorbis.c" "miniaudio/extras/stb_vorbis.c"; 33 substituteInPlace miniaudio.c \ 34 --replace "miniaudio/stb_vorbis.c" "miniaudio/extras/stb_vorbis.c"; 35 ''; 36 37 buildInputs = lib.optionals stdenv.isDarwin [ 38 AudioToolbox 39 CoreAudio 40 ]; 41 42 propagatedNativeBuildInputs = [ cffi ]; 43 propagatedBuildInputs = [ cffi ]; 44 45 nativeCheckInputs = [ 46 pytestCheckHook 47 ]; 48 49 pythonImportsCheck = [ "miniaudio" ]; 50 51 meta = with lib; { 52 description = "Python bindings for the miniaudio library and its decoders"; 53 homepage = "https://github.com/irmen/pyminiaudio"; 54 license = licenses.mit; 55 maintainers = with maintainers; [ dotlambda ]; 56 }; 57}