40 lines
2.1 KiB
Nix
40 lines
2.1 KiB
Nix
{ 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 ];
|
|
};
|
|
}
|