summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorDaniƫl de Kok <me@danieldk.eu>2020-06-25 15:17:52 +0200
committerGitHub <noreply@github.com>2020-06-25 15:17:52 +0200
commit80b6b9b7065a2bf6bc7932054bc225f474d4c284 (patch)
treedf31e770e490f1f63594294089f211cc54c02dd0 /pkgs/development
parent37aab787f545631acd10a30bae65bdc4b3f2ddad (diff)
parent3ff2165d4d43a42b2b9dec7a8366e49bf2db1f26 (diff)
downloadnixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.tar
nixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.tar.gz
nixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.tar.bz2
nixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.tar.lz
nixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.tar.xz
nixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.tar.zst
nixpkgs-80b6b9b7065a2bf6bc7932054bc225f474d4c284.zip
Merge pull request #82305 from Flakebi/amdvlk
amdvlk: init at 2020.Q2.5
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/libraries/amdvlk/default.nix85
1 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
new file mode 100644
index 00000000000..84b4d53bc56
--- /dev/null
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -0,0 +1,85 @@
+{ stdenv
+, lib
+, fetchpatch
+, fetchRepoProject
+, cmake
+, ninja
+, patchelf
+, perl
+, pkgconfig
+, python3
+, expat
+, libdrm
+, ncurses
+, openssl
+, wayland
+, xorg
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "amdvlk";
+  version = "2020.Q2.5";
+
+  src = fetchRepoProject {
+    name = "${pname}-src";
+    manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
+    rev = "refs/tags/v-${version}";
+    sha256 = "008adby8vx12ma155x64n7aj9vp9ygqgij3mm3q20i187db7d1ab";
+  };
+
+  buildInputs = [
+    expat
+    ncurses
+    openssl
+    wayland
+    xorg.libX11
+    xorg.libxcb
+    xorg.xcbproto
+    xorg.libXext
+    xorg.libXrandr
+    xorg.libXft
+    xorg.libxshmfence
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    patchelf
+    perl
+    pkgconfig
+    python3
+  ];
+
+  rpath = lib.makeLibraryPath [
+    libdrm
+    stdenv.cc.cc.lib
+    xorg.libX11
+    xorg.libxcb
+    xorg.libxshmfence
+  ];
+
+  cmakeDir = "../drivers/xgl";
+
+  installPhase = ''
+    install -Dm755 -t $out/lib icd/amdvlk64.so
+    install -Dm644 -t $out/share/vulkan/icd.d ../drivers/AMDVLK/json/Redhat/amd_icd64.json
+
+    substituteInPlace $out/share/vulkan/icd.d/amd_icd64.json --replace \
+      "/usr/lib64" "$out/lib"
+
+    patchelf --set-rpath "$rpath" $out/lib/amdvlk64.so
+  '';
+
+  # Keep the rpath, otherwise vulkaninfo and vkcube segfault
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    description = "AMD Open Source Driver For Vulkan";
+    homepage = "https://github.com/GPUOpen-Drivers/AMDVLK";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ Flakebi ];
+  };
+}