Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenvNoCC 3, fetchFromGitHub 4, pkgsCross 5, stdenv 6, bash 7}: 8 9stdenvNoCC.mkDerivation (finalAttrs: 10 let 11 dxvk32 = if stdenv.isDarwin then pkgsCross.mingw32.dxvk_1 else pkgsCross.mingw32.dxvk_2; 12 dxvk64 = if stdenv.isDarwin then pkgsCross.mingwW64.dxvk_1 else pkgsCross.mingwW64.dxvk_2; 13 in 14 { 15 pname = "dxvk"; 16 inherit (dxvk64) version; 17 18 outputs = [ "out" "bin" "lib" ]; 19 20 dontUnpack = true; 21 dontConfigure = true; 22 dontBuild = true; 23 24 installPhase = '' 25 mkdir -p $out/bin $bin $lib 26 substitute ${./setup_dxvk.sh} $out/bin/setup_dxvk.sh \ 27 --subst-var-by bash ${bash} \ 28 --subst-var-by dxvk32 ${dxvk32} \ 29 --subst-var-by dxvk64 ${dxvk64} \ 30 --subst-var-by mcfgthreads32 "${pkgsCross.mingw32.windows.mcfgthreads}" \ 31 --subst-var-by mcfgthreads64 "${pkgsCross.mingwW64.windows.mcfgthreads}" 32 chmod a+x $out/bin/setup_dxvk.sh 33 declare -A dxvks=( [x32]=${dxvk32} [x64]=${dxvk64} ) 34 for arch in "''${!dxvks[@]}"; do 35 ln -s "''${dxvks[$arch]}/bin" $bin/$arch 36 ln -s "''${dxvks[$arch]}/lib" $lib/$arch 37 done 38 ''; 39 40 meta = { 41 description = "Setup script for DXVK"; 42 homepage = "https://github.com/doitsujin/dxvk"; 43 changelog = "https://github.com/doitsujin/dxvk/releases"; 44 maintainers = [ lib.maintainers.reckenrode ]; 45 license = lib.licenses.zlib; 46 platforms = [ "x86_64-darwin" "i686-linux" "x86_64-linux" ]; 47 }; 48 })