diff --git a/pkgs/development/python-modules/pyogg/default.nix b/pkgs/development/python-modules/pyogg/default.nix new file mode 100644 index 000000000000..08fc87127959 --- /dev/null +++ b/pkgs/development/python-modules/pyogg/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchPypi, buildPythonPackage, fetchurl, libvorbis, flac, libogg, libopus, opusfile }: + +buildPythonPackage rec { + pname = "PyOgg"; + version = "0.6.2a1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1mjh5zx7mfy246lya1qc42j4q4pz6v5zbd8blnfib9ncswcb1v6l"; + }; + + buildInputs = [ libvorbis flac libogg libopus ]; + propagatedBuidInputs = [ libvorbis flac libogg libopus opusfile ]; + # There are no tests in this package. + doCheck = false; + postPatch = '' + substituteInPlace pyogg/vorbis.py --replace \ + 'libvorbisfile = ExternalLibrary.load("vorbisfile")' "libvorbisfile = ctypes.CDLL('${libvorbis}/lib/libvorbisfile${stdenv.hostPlatform.extensions.sharedLibrary}')" + substituteInPlace pyogg/vorbis.py --replace \ + 'libvorbisenc = ExternalLibrary.load("vorbisenc")' "libvorbisenc = ctypes.CDLL('${libvorbis}/lib/libvorbisenc${stdenv.hostPlatform.extensions.sharedLibrary}')" + substituteInPlace pyogg/vorbis.py --replace \ + 'libvorbis = ExternalLibrary.load("vorbis")' "libvorbis = ctypes.CDLL('${libvorbis}/lib/libvorbis${stdenv.hostPlatform.extensions.sharedLibrary}')" + substituteInPlace pyogg/flac.py --replace \ + 'libflac = ExternalLibrary.load("flac")' "libflac = ctypes.CDLL('${flac.out}/lib/libFLAC${stdenv.hostPlatform.extensions.sharedLibrary}')" + substituteInPlace pyogg/ogg.py --replace \ + 'libogg = ExternalLibrary.load("ogg")' "libogg = ctypes.CDLL('${libogg}/lib/libogg${stdenv.hostPlatform.extensions.sharedLibrary}')" + substituteInPlace pyogg/opus.py --replace \ + 'libopus = ExternalLibrary.load("opus")' "libopus = ctypes.CDLL('${libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}')" + substituteInPlace pyogg/opus.py --replace \ + 'libopusfile = ExternalLibrary.load("opusfile")' "libopusfile = ctypes.CDLL('${opusfile}/lib/libopusfile${stdenv.hostPlatform.extensions.sharedLibrary}')" + ''; + + meta = { + description = "Xiph.org's Ogg Vorbis, Opus and FLAC for Python"; + homepage = https://github.com/Zuzu-Typ/PyOgg; + license = lib.licenses.publicDomain; + maintainers = with lib.maintainers; [ pmiddend ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 204a49e63b48..1e7acc656352 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -18196,6 +18196,8 @@ EOF prometheus_client = callPackage ../development/python-modules/prometheus_client { }; pysdl2 = callPackage ../development/python-modules/pysdl2 { }; + + pyogg = callPackage ../development/python-modules/pyogg { }; }); in fix' (extends overrides packages)