fbda1dbfd6
Allow the macOS GLUT framework to be used automatically in many cases. Packages that specifically search for freeglut or require its additional APIs should still explicitly depend on it. Deliberately skip the Haskell package set, which is mostly automatically generated, and mupdf, which has its own fork of freeglut.
34 lines
1.1 KiB
Nix
34 lines
1.1 KiB
Nix
{ stdenv, lib, fetchFromGitHub, cmake, libusb1, pkg-config, libglut, libGLU, libGL, libXi, libXmu
|
|
, GLUT, Cocoa
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "freenect";
|
|
version = "0.7.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "OpenKinect";
|
|
repo = "libfreenect";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-Lb5mrl9jiI1Z9UOAlP+bBPNoKNxm5VSrFZRvifEfhoU=";
|
|
};
|
|
|
|
buildInputs = [ libusb1 libglut libGLU libGL libXi libXmu ]
|
|
++ lib.optionals stdenv.isDarwin [ GLUT Cocoa ];
|
|
|
|
nativeBuildInputs = [ cmake pkg-config ];
|
|
|
|
# see https://aur.archlinux.org/cgit/aur.git/commit/PKGBUILD?h=libfreenect&id=0d17db49ba64bcb9e3a4eed61cf55c9a5ceb97f1
|
|
patchPhase = lib.concatMapStrings (x: ''
|
|
substituteInPlace ${x} --replace "{GLUT_LIBRARY}" "{GLUT_LIBRARIES}"
|
|
'') [ "examples/CMakeLists.txt" "wrappers/cpp/CMakeLists.txt" ];
|
|
|
|
meta = {
|
|
description = "Drivers and libraries for the Xbox Kinect device on Windows, Linux, and macOS";
|
|
homepage = "http://openkinect.org";
|
|
license = with lib.licenses; [ gpl2 asl20 ];
|
|
maintainers = with lib.maintainers; [ bennofs ];
|
|
platforms = with lib.platforms; linux ++ darwin ;
|
|
};
|
|
}
|