Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at fix-function-merge 93 lines 3.4 kB view raw
1{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, pkg-config, doxygen, 2 libX11, libXinerama, libXrandr, libGLU, libGL, 3 glib, libxml2, pcre, zlib, 4 AGL, Accelerate, Carbon, Cocoa, Foundation, 5 boost, 6 jpegSupport ? true, libjpeg, 7 exrSupport ? false, openexr_3, 8 gifSupport ? true, giflib, 9 pngSupport ? true, libpng, 10 tiffSupport ? true, libtiff, 11 gdalSupport ? false, gdal, 12 curlSupport ? true, curl, 13 colladaSupport ? false, opencollada, 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 libxml2 pcre zlib 46 ] ++ lib.optional jpegSupport libjpeg 47 ++ lib.optional exrSupport openexr_3 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 opencollada 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 # OpenEXR 3 support: https://github.com/openscenegraph/OpenSceneGraph/issues/1075 78 (fetchurl { 79 url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-games/openscenegraph/files/openscenegraph-3.6.5-openexr3.patch?id=0f642d8f09b589166f0e0c0fc84df7673990bf3f"; 80 hash = "sha256-fdNbkg6Vp7DeDBTe5Zso8qJ5v9uPSXHpQ5XlGkvputk="; 81 }) 82 ]; 83 84 cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON"; 85 86 meta = with lib; { 87 description = "3D graphics toolkit"; 88 homepage = "http://www.openscenegraph.org/"; 89 maintainers = with maintainers; [ aanderse raskin ]; 90 platforms = with platforms; linux ++ darwin; 91 license = "OpenSceneGraph Public License - free LGPL-based license"; 92 }; 93}