From 5ac9eed00ca0bbb1b8257aeaaf081607461ad35e Mon Sep 17 00:00:00 2001 From: chessai Date: Sun, 20 Oct 2019 21:46:17 -0400 Subject: [PATCH] forge: init at 1.0.4 --- pkgs/development/libraries/forge/default.nix | 51 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 53 insertions(+) create mode 100644 pkgs/development/libraries/forge/default.nix diff --git a/pkgs/development/libraries/forge/default.nix b/pkgs/development/libraries/forge/default.nix new file mode 100644 index 000000000000..e6e002f16c5a --- /dev/null +++ b/pkgs/development/libraries/forge/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchFromGitHub, cmake, pkgconfig +, arrayfire, expat, fontconfig, freeimage, freetype, boost +, mesa, libGLU_combined, glfw3, SDL2, cudatoolkit +}: + +stdenv.mkDerivation rec { + pname = "forge"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "arrayfire"; + repo = "forge"; + rev = "v${version}"; + sha256 = "00pmky6kccd7pwi8sma79qpmzr2f9pbn6gym3gyqm64yckw6m484"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + pkgconfig + ]; + + buildInputs = [ + expat + fontconfig + freetype + boost.out + boost.dev + freeimage + mesa + libGLU_combined + glfw3 + SDL2 + cudatoolkit + arrayfire + ]; + + meta = with stdenv.lib; { + description = "An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend"; + longDescription = '' + An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend. + The goal of Forge is to provide high performance OpenGL visualizations for C/C++ applications that use CUDA/OpenCL. + Forge uses OpenGL >=3.3 forward compatible contexts, so please make sure you have capable hardware before trying it out. + ''; + license = licenses.bsd3; + homepage = "https://arrayfire.com/"; + platforms = platforms.linux; + maintainers = with maintainers; [ chessai ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2a80fdc0b64..8888763a11cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10879,6 +10879,8 @@ in blas = if stdenv.isDarwin then blas else openblas; }; + forge = callPackage ../development/libraries/forge { }; + linbox = callPackage ../development/libraries/linbox { # We need to use blas instead of openblas on darwin, see # https://github.com/NixOS/nixpkgs/pull/45013 and