Something went wrong. Try again.
Nix Packages collection & NixOS github.com/NixOS/nixpkgs
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576{ lib, stdenv, aiohttp, audioop-lts, buildPythonPackage, fetchFromGitHub, ffmpeg, libopus, pynacl, setuptools, withVoice ? true, aiodns, brotli, orjson,}:
buildPythonPackage (finalAttrs: { pname = "discord.py"; version = "2.6.4"; pyproject = true;
src = fetchFromGitHub { owner = "Rapptz"; repo = "discord.py"; tag = "v${finalAttrs.version}"; hash = "sha256-glFXgTNdOQ3cG/jlvi/1ASon2HpcoKli45IhLhjpIvA="; };
build-system = [ setuptools ];
dependencies = [ aiohttp audioop-lts ] ++ lib.optionals withVoice finalAttrs.passthru.optional-dependencies.voice;
optional-dependencies = { speed = [ aiodns brotli orjson ]; voice = [ pynacl ]; };
postPatch = lib.optionalString withVoice '' substituteInPlace "discord/opus.py" \ --replace-fail "ctypes.util.find_library('opus')" "'${libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}'"
substituteInPlace "discord/player.py" \ --replace-fail "executable: str = 'ffmpeg'" "executable: str = '${lib.getExe ffmpeg}'" '';
# Only have integration tests with discord doCheck = false;
pythonImportsCheck = [ "discord" "discord.types" "discord.ui" "discord.webhook" "discord.app_commands" "discord.ext.commands" "discord.ext.tasks" ];
meta = { description = "Python wrapper for the Discord API"; homepage = "https://discordpy.rtfd.org/"; changelog = "https://github.com/Rapptz/discord.py/blob/${finalAttrs.src.tag}/docs/whats_new.rst"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ getpsyched ]; };})