uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
110
pkgs/tools/graphics/vulkan-tools/default.nix
Normal file
110
pkgs/tools/graphics/vulkan-tools/default.nix
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, glslang
|
||||
, libffi
|
||||
, libX11
|
||||
, libXau
|
||||
, libxcb
|
||||
, libXdmcp
|
||||
, libXrandr
|
||||
, vulkan-headers
|
||||
, vulkan-loader
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, moltenvk
|
||||
, AppKit
|
||||
, Cocoa
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vulkan-tools";
|
||||
version = "1.3.211.0";
|
||||
|
||||
# It's not strictly necessary to have matching versions here, however
|
||||
# since we're using the SDK version we may as well be consistent with
|
||||
# the rest of nixpkgs.
|
||||
src = (assert version == vulkan-headers.version;
|
||||
fetchFromGitHub {
|
||||
owner = "KhronosGroup";
|
||||
repo = "Vulkan-Tools";
|
||||
rev = "sdk-${version}";
|
||||
sha256 = "sha256-iXsWTKNllPZy1Kpo3JHzEEus3Hu9LofvMB3c4Gn6/DM=";
|
||||
});
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glslang
|
||||
vulkan-headers
|
||||
vulkan-loader
|
||||
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||
libffi
|
||||
libX11
|
||||
libXau
|
||||
libxcb
|
||||
libXdmcp
|
||||
libXrandr
|
||||
wayland
|
||||
wayland-protocols
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
moltenvk
|
||||
moltenvk.dev
|
||||
AppKit
|
||||
Cocoa
|
||||
];
|
||||
|
||||
libraryPath = lib.strings.makeLibraryPath [ vulkan-loader ];
|
||||
|
||||
patches = [
|
||||
# Vulkan-Tools expects to find the MoltenVK ICD and `libMoltenVK.dylib` in its source repo.
|
||||
# Patch it to use the already-built binaries and ICD in nixpkgs.
|
||||
./use-nix-moltenvk.patch
|
||||
];
|
||||
|
||||
# vkcube.app and vkcubepp.app require `ibtool`, but the version in `xib2nib` is not capable of
|
||||
# building these apps. Build them using `ibtool` from Xcode, but don’t allow any other binaries
|
||||
# into the sandbox. Note that the CLT are not supported because `ibtool` requires Xcode.
|
||||
sandboxProfile = lib.optionalString stdenv.isDarwin ''
|
||||
(allow process-exec
|
||||
(literal "/usr/bin/ibtool")
|
||||
(regex "/Xcode.app/Contents/Developer/usr/bin/ibtool")
|
||||
(regex "/Xcode.app/Contents/Developer/usr/bin/xcodebuild"))
|
||||
(allow file-read*)
|
||||
(deny file-read* (subpath "/usr/local") (with no-log))
|
||||
(allow file-write* (subpath "/private/var/folders"))
|
||||
'';
|
||||
|
||||
dontPatchELF = true;
|
||||
|
||||
cmakeFlags = [
|
||||
# Don't build the mock ICD as it may get used instead of other drivers, if installed
|
||||
"-DBUILD_ICD=OFF"
|
||||
# vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
|
||||
"-DCMAKE_INSTALL_RPATH=${libraryPath}"
|
||||
"-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
|
||||
# Hide dev warnings that are useless for packaging
|
||||
"-Wno-dev"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"-DMOLTENVK_REPO_ROOT=${moltenvk}/share/vulkan/icd.d"
|
||||
"-DIBTOOL=/usr/bin/ibtool"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Khronos official Vulkan Tools and Utilities";
|
||||
longDescription = ''
|
||||
This project provides Vulkan tools and utilities that can assist
|
||||
development by enabling developers to verify their applications correct
|
||||
use of the Vulkan API.
|
||||
'';
|
||||
homepage = "https://github.com/KhronosGroup/Vulkan-Tools";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.ralith ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue