51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| 
								 | 
							
								{ stdenv
							 | 
						||
| 
								 | 
							
								, buildPythonPackage
							 | 
						||
| 
								 | 
							
								, fetchPypi
							 | 
						||
| 
								 | 
							
								, pkgs
							 | 
						||
| 
								 | 
							
								, pillow
							 | 
						||
| 
								 | 
							
								}:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								buildPythonPackage rec {
							 | 
						||
| 
								 | 
							
								  pname = "pyopengl";
							 | 
						||
| 
								 | 
							
								  version = "3.1.0";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  src = fetchPypi {
							 | 
						||
| 
								 | 
							
								    inherit pname version;
							 | 
						||
| 
								 | 
							
								    sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf";
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  propagatedBuildInputs = [ pkgs.libGLU_combined pkgs.freeglut pillow ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  patchPhase = let
							 | 
						||
| 
								 | 
							
								    ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
							 | 
						||
| 
								 | 
							
								    substituteInPlace OpenGL/platform/glx.py \
							 | 
						||
| 
								 | 
							
								      --replace "'GL'" "'${pkgs.libGL}/lib/libGL${ext}'" \
							 | 
						||
| 
								 | 
							
								      --replace "'GLU'" "'${pkgs.libGLU}/lib/libGLU${ext}'" \
							 | 
						||
| 
								 | 
							
								      --replace "'glut'" "'${pkgs.freeglut}/lib/libglut${ext}'"
							 | 
						||
| 
								 | 
							
								    substituteInPlace OpenGL/platform/darwin.py \
							 | 
						||
| 
								 | 
							
								      --replace "'OpenGL'" "'${pkgs.libGL}/lib/libGL${ext}'" \
							 | 
						||
| 
								 | 
							
								      --replace "'GLUT'" "'${pkgs.freeglut}/lib/libglut${ext}'"
							 | 
						||
| 
								 | 
							
								  '';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  # Need to fix test runner
							 | 
						||
| 
								 | 
							
								  # Tests have many dependencies
							 | 
						||
| 
								 | 
							
								  # Extension types could not be found.
							 | 
						||
| 
								 | 
							
								  # Should run test suite from $out/${python.sitePackages}
							 | 
						||
| 
								 | 
							
								  doCheck = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  meta = with stdenv.lib; {
							 | 
						||
| 
								 | 
							
								    homepage = http://pyopengl.sourceforge.net/;
							 | 
						||
| 
								 | 
							
								    description = "PyOpenGL, the Python OpenGL bindings";
							 | 
						||
| 
								 | 
							
								    longDescription = ''
							 | 
						||
| 
								 | 
							
								      PyOpenGL is the cross platform Python binding to OpenGL and
							 | 
						||
| 
								 | 
							
								      related APIs.  The binding is created using the standard (in
							 | 
						||
| 
								 | 
							
								      Python 2.5) ctypes library, and is provided under an extremely
							 | 
						||
| 
								 | 
							
								      liberal BSD-style Open-Source license.
							 | 
						||
| 
								 | 
							
								    '';
							 | 
						||
| 
								 | 
							
								    license = "BSD-style";
							 | 
						||
| 
								 | 
							
								    platforms = platforms.mesaPlatforms;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |