40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| 
								 | 
							
								{ clangStdenv, stdenv, fetchFromGitHub, cmake, zlib, openexr,
							 | 
						||
| 
								 | 
							
								openimageio, llvm, boost165, flex, bison, partio, pugixml,
							 | 
						||
| 
								 | 
							
								utillinux, python
							 | 
						||
| 
								 | 
							
								}:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								let boost_static = boost165.override { enableStatic = true; };
							 | 
						||
| 
								 | 
							
								in clangStdenv.mkDerivation rec {
							 | 
						||
| 
								 | 
							
								  # In theory this could use GCC + Clang rather than just Clang,
							 | 
						||
| 
								 | 
							
								  # but https://github.com/NixOS/nixpkgs/issues/29877 stops this
							 | 
						||
| 
								 | 
							
								  name = "openshadinglanguage-${version}";
							 | 
						||
| 
								 | 
							
								  version = "1.9.9";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  src = fetchFromGitHub {
							 | 
						||
| 
								 | 
							
								    owner = "imageworks";
							 | 
						||
| 
								 | 
							
								    repo = "OpenShadingLanguage";
							 | 
						||
| 
								 | 
							
								    rev = "Release-1.9.9";
							 | 
						||
| 
								 | 
							
								    sha256 = "1w6wbz013nirzsiw11c9dpdkcwlfncs5va8q583pdw0q2pfkj5dn";
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  cmakeFlags = [ "-DUSE_BOOST_WAVE=ON" "-DENABLERTTI=ON" ];
							 | 
						||
| 
								 | 
							
								  enableParallelBuilding = true;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  preConfigure = '' patchShebangs src/liboslexec/serialize-bc.bash '';
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  buildInputs = [
							 | 
						||
| 
								 | 
							
								     cmake zlib openexr openimageio llvm
							 | 
						||
| 
								 | 
							
								     boost_static flex bison partio pugixml
							 | 
						||
| 
								 | 
							
								     utillinux # needed just for hexdump
							 | 
						||
| 
								 | 
							
								     python # CMake doesn't check this?
							 | 
						||
| 
								 | 
							
								  ];
							 | 
						||
| 
								 | 
							
								  # TODO: How important is partio? CMake doesn't seem to find it
							 | 
						||
| 
								 | 
							
								  meta = with stdenv.lib; {
							 | 
						||
| 
								 | 
							
								    description = "Advanced shading language for production GI renderers";
							 | 
						||
| 
								 | 
							
								    homepage = http://opensource.imageworks.com/?p=osl;
							 | 
						||
| 
								 | 
							
								    maintainers = with maintainers; [ hodapp ];
							 | 
						||
| 
								 | 
							
								    license = licenses.bsd3;
							 | 
						||
| 
								 | 
							
								    platforms = platforms.linux;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								}
							 |