diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/forge')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/forge/default.nix | 82 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/forge/no-download-glad.patch | 31 |
2 files changed, 113 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/forge/default.nix b/nixpkgs/pkgs/development/libraries/forge/default.nix new file mode 100644 index 000000000000..d9996ada5067 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/forge/default.nix @@ -0,0 +1,82 @@ +{ boost +, cmake +, expat +, fetchFromGitHub +, fontconfig +, freeimage +, freetype +, glfw3 +, glm +, lib +, libGLU +, libGL +, mesa +, opencl-clhpp +, pkg-config +, stdenv +, SDL2 +}: + +stdenv.mkDerivation rec { + pname = "forge"; + version = "1.0.8"; + + src = fetchFromGitHub { + owner = "arrayfire"; + repo = pname; + rev = "v1.0.8"; + sha256 = "sha256-lSZAwcqAHiuZkpYcVfwvZCfNmEF3xGN9S/HuZQrGeKU="; + }; + glad = fetchFromGitHub { + owner = "arrayfire"; + repo = "glad"; + rev = "b94680aee5b8ce01ae1644c5f2661769366c765a"; + hash = "sha256-CrZy76gOGMpy9f1NuMK4tokZ57U//zYeNH5ZYY0SC2U="; + }; + + # This patch ensures that Forge does not try to fetch glad from GitHub and + # uses our sources that we've checked out via Nix. + patches = [ ./no-download-glad.patch ]; + + postPatch = '' + mkdir -p ./extern + cp -R --no-preserve=mode,ownership ${glad} ./extern/fg_glad-src + ln -s ${opencl-clhpp} ./extern/cl2hpp + ''; + + cmakeFlags = [ "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + boost.out + boost.dev + expat + fontconfig + freeimage + freetype + glfw3 + glm + libGL + libGLU + opencl-clhpp + SDL2 + mesa + ]; + + meta = with 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 twesterhout ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/forge/no-download-glad.patch b/nixpkgs/pkgs/development/libraries/forge/no-download-glad.patch new file mode 100644 index 000000000000..0957be82a3b7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/forge/no-download-glad.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeModules/ForgeConfigureDepsVars.cmake b/CMakeModules/ForgeConfigureDepsVars.cmake +index ee5c2fc..2f75181 100644 +--- a/CMakeModules/ForgeConfigureDepsVars.cmake ++++ b/CMakeModules/ForgeConfigureDepsVars.cmake +@@ -84,7 +84,7 @@ macro(fg_dep_check_and_populate dep_prefix) + URL ${fdcp_args_URI} + URL_HASH ${fdcp_args_REF} + DOWNLOAD_COMMAND \"\" +- UPDATE_DISCONNECTED ON ++ UPDATE_COMMAND \"\" + SOURCE_DIR "${Forge_SOURCE_DIR}/extern/${dep_prefix}-src" + BINARY_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-build" + SUBBUILD_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-subbuild" +@@ -94,7 +94,7 @@ macro(fg_dep_check_and_populate dep_prefix) + QUIET + URL ${fdcp_args_URI} + DOWNLOAD_COMMAND \"\" +- UPDATE_DISCONNECTED ON ++ UPDATE_COMMAND \"\" + SOURCE_DIR "${Forge_SOURCE_DIR}/extern/${dep_prefix}-src" + BINARY_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-build" + SUBBUILD_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-subbuild" +@@ -106,7 +106,7 @@ macro(fg_dep_check_and_populate dep_prefix) + GIT_REPOSITORY ${fdcp_args_URI} + GIT_TAG ${fdcp_args_REF} + DOWNLOAD_COMMAND \"\" +- UPDATE_DISCONNECTED ON ++ UPDATE_COMMAND \"\" + SOURCE_DIR "${Forge_SOURCE_DIR}/extern/${dep_prefix}-src" + BINARY_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-build" + SUBBUILD_DIR "${Forge_BINARY_DIR}/extern/${dep_prefix}-subbuild" |