diff --git a/pkgs/development/python-modules/glcontext/default.nix b/pkgs/development/python-modules/glcontext/default.nix new file mode 100644 index 00000000000..c5a06fb6499 --- /dev/null +++ b/pkgs/development/python-modules/glcontext/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, isPy3k +, libGL +, libX11 +, pytestCheckHook +, psutil +}: + +buildPythonPackage rec { + pname = "glcontext"; + version = "2.3.3"; + + src = fetchFromGitHub { + owner = "moderngl"; + repo = pname; + rev = version; + sha256 = "16kwrfjijn9bnb48rk17wapmhxq6g9s59zczh65imyncb9k82wkc"; + }; + + disabled = !isPy3k; + + buildInputs = [ libGL libX11 ]; + + postPatch = '' + substituteInPlace glcontext/x11.cpp \ + --replace '"libGL.so"' '"${libGL}/lib/libGL.so"' \ + --replace '"libX11.so"' '"${libX11}/lib/libX11.so"' + substituteInPlace glcontext/egl.cpp \ + --replace '"libGL.so"' '"${libGL}/lib/libGL.so"' \ + --replace '"libEGL.so"' '"${libGL}/lib/libEGL.so"' + ''; + + # Tests fail because they try to open display. See + # https://github.com/NixOS/nixpkgs/pull/121439 + # for details. + doCheck = false; + + pythonImportsCheck = [ "glcontext" ]; + + meta = with lib; { + homepage = "https://github.com/moderngl/glcontext"; + description = "OpenGL implementation for ModernGL"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ friedelino ]; + }; +} diff --git a/pkgs/development/python-modules/moderngl/default.nix b/pkgs/development/python-modules/moderngl/default.nix index f32f541573e..447d2b00b01 100644 --- a/pkgs/development/python-modules/moderngl/default.nix +++ b/pkgs/development/python-modules/moderngl/default.nix @@ -4,6 +4,7 @@ , isPy3k , libGL , libX11 +, glcontext }: buildPythonPackage rec { @@ -17,7 +18,7 @@ buildPythonPackage rec { disabled = !isPy3k; - buildInputs = [ libGL libX11 ]; + buildInputs = [ libGL libX11 glcontext ]; # Tests need a display to run. doCheck = false; diff --git a/pkgs/development/python-modules/moderngl_window/default.nix b/pkgs/development/python-modules/moderngl_window/default.nix index 7f6d9893c96..e06d5aa3780 100644 --- a/pkgs/development/python-modules/moderngl_window/default.nix +++ b/pkgs/development/python-modules/moderngl_window/default.nix @@ -7,6 +7,7 @@ , pyglet , pillow , pyrr +, glcontext }: buildPythonPackage rec { @@ -20,7 +21,7 @@ buildPythonPackage rec { sha256 = "1p03j91pk2bwycd13p0qi8kns1sf357180hd2mkaip8mfaf33x3q"; }; - propagatedBuildInputs = [ numpy moderngl pyglet pillow pyrr ]; + propagatedBuildInputs = [ numpy moderngl pyglet pillow pyrr glcontext ]; disabled = !isPy3k; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c7d9f32ab6f..ddb470a35d7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2725,6 +2725,8 @@ in { glasgow = callPackage ../development/python-modules/glasgow { }; + glcontext = callPackage ../development/python-modules/glcontext { }; + glob2 = callPackage ../development/python-modules/glob2 { }; globre = callPackage ../development/python-modules/globre { };