nixpkgs/pkgs/development/python-modules/pygame-sdl2/default.nix
2024-01-12 10:54:58 +04:00

51 lines
1.3 KiB
Nix

{ lib, buildPythonPackage, fetchurl, isPy27, renpy
, cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }:
buildPythonPackage rec {
pname = "pygame-sdl2";
version = "2.1.0";
format = "setuptools";
renpy_version = renpy.base_version;
name = "${pname}-${version}-${renpy_version}";
src = fetchurl {
url = "https://www.renpy.org/dl/${renpy_version}/pygame_sdl2-${version}+renpy${renpy_version}.tar.gz";
hash = "sha256-mrfrsRAVEqw7fwtYdeATp/8AtMn74x9pJEXwYZPOl2I=";
};
# force rebuild of headers needed for install
prePatch = ''
rm -rf gen gen3
'';
# Remove build tag which produces invaild version
postPatch = ''
sed -i '2d' setup.cfg
'';
nativeBuildInputs = [
SDL2.dev cython
];
buildInputs = [
SDL2 SDL2_image SDL2_ttf SDL2_mixer
libjpeg libpng
];
doCheck = isPy27; # python3 tests are non-functional
postInstall = ''
( cd "$out"/include/python*/ ;
ln -s pygame-sdl2 pygame_sdl2 || true ; )
'';
meta = with lib; {
description = "A reimplementation of parts of pygame API using SDL2";
homepage = "https://github.com/renpy/pygame_sdl2";
# Some parts are also available under Zlib License
license = licenses.lgpl2;
maintainers = with maintainers; [ raskin ];
};
}