opensubdiv: fix darwin build

This commit is contained in:
Matthew Bauer 2017-11-13 16:14:46 -06:00
parent 397532de76
commit 8416c45865

View File

@ -1,6 +1,7 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU { lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU
, libGL, glew, ocl-icd, python3 , libGL, glew, ocl-icd, python3
, cudaSupport ? false, cudatoolkit , cudaSupport ? false, cudatoolkit
, darwin
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -17,17 +18,21 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
buildInputs = buildInputs =
[ cmake pkgconfig libGLU libGL ocl-icd python3 [ cmake pkgconfig libGLU libGL python3
# FIXME: these are not actually needed, but the configure script wants them. # FIXME: these are not actually needed, but the configure script wants them.
glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor
xorg.libXinerama xorg.libXi xorg.libXinerama xorg.libXi
] ]
++ lib.optional (!stdenv.isDarwin) ocl-icd
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [OpenCL Cocoa CoreVideo IOKit AppKit AGL ])
++ lib.optional cudaSupport cudatoolkit; ++ lib.optional cudaSupport cudatoolkit;
cmakeFlags = cmakeFlags =
[ "-DNO_TUTORIALS=1" [ "-DNO_TUTORIALS=1"
"-DNO_REGRESSION=1" "-DNO_REGRESSION=1"
"-DNO_EXAMPLES=1" "-DNO_EXAMPLES=1"
"-DNO_METAL=1" # dont have metal in apple sdk
] ++ lib.optionals (!stdenv.isDarwin) [
"-DGLEW_INCLUDE_DIR=${glew.dev}/include" "-DGLEW_INCLUDE_DIR=${glew.dev}/include"
"-DGLEW_LIBRARY=${glew.dev}/lib" "-DGLEW_LIBRARY=${glew.dev}/lib"
] ++ lib.optionals cudaSupport [ ] ++ lib.optionals cudaSupport [
@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "An Open-Source subdivision surface library"; description = "An Open-Source subdivision surface library";
homepage = http://graphics.pixar.com/opensubdiv; homepage = http://graphics.pixar.com/opensubdiv;
platforms = lib.platforms.linux; platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.eelco ]; maintainers = [ lib.maintainers.eelco ];
license = lib.licenses.asl20; license = lib.licenses.asl20;
}; };