diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openhmd')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/openhmd/default.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/openhmd/default.nix b/nixpkgs/pkgs/development/libraries/openhmd/default.nix new file mode 100644 index 000000000000..a692dcb5e4e3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/openhmd/default.nix @@ -0,0 +1,61 @@ +{ lib, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, hidapi +, SDL2 +, libGL +, glew +, withExamples ? true +}: + +let examplesOnOff = if withExamples then "ON" else "OFF"; in + +stdenv.mkDerivation rec { + pname = "openhmd"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "OpenHMD"; + repo = "OpenHMD"; + rev = version; + sha256 = "1hkpdl4zgycag5k8njvqpx01apxmm8m8pvhlsxgxpqiqy9a38ccg"; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ + hidapi + ] ++ lib.optionals withExamples [ + SDL2 + glew + libGL + ]; + + cmakeFlags = [ + "-DBUILD_BOTH_STATIC_SHARED_LIBS=ON" + "-DOPENHMD_EXAMPLE_SIMPLE=${examplesOnOff}" + "-DOPENHMD_EXAMPLE_SDL=${examplesOnOff}" + "-DOpenGL_GL_PREFERENCE=GLVND" + ]; + + postInstall = lib.optionalString withExamples '' + mkdir -p $out/bin + install -D examples/simple/simple $out/bin/openhmd-example-simple + install -D examples/opengl/openglexample $out/bin/openhmd-example-opengl + ''; + + meta = with lib; { + homepage = "http://www.openhmd.net"; # https does not work + description = "Library API and drivers immersive technology"; + longDescription = '' + OpenHMD is a very simple FLOSS C library and a set of drivers + for interfacing with Virtual Reality (VR) Headsets aka + Head-mounted Displays (HMDs), controllers and trackers like + Oculus Rift, HTC Vive, Windows Mixed Reality, and etc. + ''; + license = licenses.boost; + maintainers = with maintainers; [ oxij ]; + platforms = platforms.unix; + }; +} |