at 23.11-beta 88 lines 3.1 kB view raw
1{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config, doxygen, 2 libX11, libXinerama, libXrandr, libGLU, libGL, 3 glib, ilmbase, libxml2, pcre, zlib, 4 AGL, Accelerate, Carbon, Cocoa, Foundation, 5 boost, 6 jpegSupport ? true, libjpeg, 7 exrSupport ? false, openexr, 8 gifSupport ? true, giflib, 9 pngSupport ? true, libpng, 10 tiffSupport ? true, libtiff, 11 gdalSupport ? false, gdal, 12 curlSupport ? true, curl, 13 colladaSupport ? false, collada-dom, 14 opencascadeSupport ? false, opencascade-occt, 15 ffmpegSupport ? false, ffmpeg, 16 nvttSupport ? false, nvidia-texture-tools, 17 freetypeSupport ? true, freetype, 18 svgSupport ? false, librsvg, 19 pdfSupport ? false, poppler, 20 vncSupport ? false, libvncserver, 21 lasSupport ? false, libLAS, 22 luaSupport ? false, lua, 23 sdlSupport ? false, SDL2, 24 restSupport ? false, asio, 25 withApps ? false, 26 withExamples ? false, fltk, 27}: 28 29stdenv.mkDerivation rec { 30 pname = "openscenegraph"; 31 version = "3.6.5"; 32 33 src = fetchFromGitHub { 34 owner = "openscenegraph"; 35 repo = "OpenSceneGraph"; 36 rev = "OpenSceneGraph-${version}"; 37 sha256 = "00i14h82qg3xzcyd8p02wrarnmby3aiwmz0z43l50byc9f8i05n1"; 38 }; 39 40 nativeBuildInputs = [ pkg-config cmake doxygen ]; 41 42 buildInputs = lib.optionals (!stdenv.isDarwin) [ 43 libX11 libXinerama libXrandr libGLU libGL 44 ] ++ [ 45 glib ilmbase libxml2 pcre zlib 46 ] ++ lib.optional jpegSupport libjpeg 47 ++ lib.optional exrSupport openexr 48 ++ lib.optional gifSupport giflib 49 ++ lib.optional pngSupport libpng 50 ++ lib.optional tiffSupport libtiff 51 ++ lib.optional gdalSupport gdal 52 ++ lib.optional curlSupport curl 53 ++ lib.optional colladaSupport collada-dom 54 ++ lib.optional opencascadeSupport opencascade-occt 55 ++ lib.optional ffmpegSupport ffmpeg 56 ++ lib.optional nvttSupport nvidia-texture-tools 57 ++ lib.optional freetypeSupport freetype 58 ++ lib.optional svgSupport librsvg 59 ++ lib.optional pdfSupport poppler 60 ++ lib.optional vncSupport libvncserver 61 ++ lib.optional lasSupport libLAS 62 ++ lib.optional luaSupport lua 63 ++ lib.optional sdlSupport SDL2 64 ++ lib.optional restSupport asio 65 ++ lib.optionals withExamples [ fltk ] 66 ++ lib.optionals (!stdenv.isDarwin) [ ] 67 ++ lib.optionals stdenv.isDarwin [ AGL Accelerate Carbon Cocoa Foundation ] 68 ++ lib.optional (restSupport || colladaSupport) boost 69 ; 70 71 patches = [ 72 (fetchpatch { 73 name = "opencascade-api-patch"; 74 url = "https://github.com/openscenegraph/OpenSceneGraph/commit/bc2daf9b3239c42d7e51ecd7947d31a92a7dc82b.patch"; 75 hash = "sha256-VR8YKOV/YihB5eEGZOGaIfJNrig1EPS/PJmpKsK284c="; 76 }) 77 ]; 78 79 cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON"; 80 81 meta = with lib; { 82 description = "A 3D graphics toolkit"; 83 homepage = "http://www.openscenegraph.org/"; 84 maintainers = with maintainers; [ aanderse raskin ]; 85 platforms = with platforms; linux ++ darwin; 86 license = "OpenSceneGraph Public License - free LGPL-based license"; 87 }; 88}