Loading pkgs/applications/misc/bottles/default.nix +13 −33 Original line number Diff line number Diff line Loading @@ -14,55 +14,31 @@ , gtk4 , gtksourceview5 , libadwaita , steam , cabextract , p7zip , xdpyinfo , imagemagick , lsb-release , pciutils , procps , gamescope , mangohud , vkbasalt-cli , vmtouch , wine , bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs , bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs }: let steam-run = (steam.override { # required by wine runner `caffe` extraLibraries = pkgs: with pkgs; [ libunwind libusb1 gnutls ] ++ bottlesExtraLibraries pkgs; extraPkgs = pkgs: [ ] ++ bottlesExtraPkgs pkgs; }).run; in python3Packages.buildPythonApplication rec { pname = "bottles"; version = "2022.10.14.1"; pname = "bottles-unwrapped"; version = "2022.11.14"; src = fetchFromGitHub { owner = "bottlesdevs"; repo = pname; repo = "bottles"; rev = version; sha256 = "sha256-FO91GSGlc2f3TSLrlmRDPi5p933/Y16tdEpX4RcKhL0="; sha256 = "sha256-bigrJtqx9iZURYojwxlGe7xSGWS13wSaGcrTTROP9J8="; }; patches = [ ./vulkan_icd.patch ]; postPatch = '' chmod +x build-aux/meson/postinstall.py patchShebangs build-aux/meson/postinstall.py substituteInPlace bottles/backend/wine/winecommand.py \ --replace \ "command = f\"{runner} {command}\"" \ "command = f\"{''' if runner == 'wine' or runner == 'wine64' else '${steam-run}/bin/steam-run '}{runner} {command}\"" \ --replace \ "command = f\"{_picked['entry_point']} {command}\"" \ "command = f\"${steam-run}/bin/steam-run {_picked['entry_point']} {command}\"" ''; nativeBuildInputs = [ blueprint-compiler meson Loading Loading @@ -101,12 +77,16 @@ python3Packages.buildPythonApplication rec { p7zip xdpyinfo imagemagick procps vkbasalt-cli gamescope mangohud vmtouch wine # Undocumented (subprocess.Popen()) lsb-release pciutils procps ]; format = "other"; Loading pkgs/applications/misc/bottles/fhsenv.nix 0 → 100644 +101 −0 Original line number Diff line number Diff line { lib , buildFHSUserEnvBubblewrap , symlinkJoin , bottles-unwrapped , extraPkgs ? pkgs: [ ] , extraLibraries ? pkgs: [ ] }: let fhsEnv = { targetPkgs = pkgs: with pkgs; [ bottles-unwrapped vkbasalt ] ++ extraPkgs pkgs; multiPkgs = let xorgDeps = pkgs: with pkgs.xorg; [ libpthreadstubs libSM libX11 libXaw libxcb libXcomposite libXcursor libXdmcp libXext libXi libXinerama libXmu libXrandr libXrender libXv libXxf86vm ]; in pkgs: with pkgs; [ # https://wiki.winehq.org/Building_Wine alsa-lib cups dbus fontconfig freetype glib gnutls libglvnd gsm gst_all_1.gstreamer gst_all_1.gst-plugins-base libgphoto2 libjpeg_turbo libkrb5 libpcap libpng libpulseaudio libtiff libunwind libusb1 libv4l libxml2 mpg123 ocl-icd openldap samba4 sane-backends SDL2 udev vulkan-loader # https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/ alsa-plugins dosbox giflib gtk3 libva libxslt ncurses openal # Steam runtime libgcrypt libgpg-error p11-kit zlib # Freetype ] ++ xorgDeps pkgs ++ extraLibraries pkgs; }; in symlinkJoin { name = "bottles"; paths = [ (buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; })) (buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; })) ]; postBuild = '' mkdir -p $out/share ln -s ${bottles-unwrapped}/share/applications $out/share ln -s ${bottles-unwrapped}/share/icons $out/share ''; inherit (bottles-unwrapped) meta; } pkgs/applications/misc/bottles/vulkan_icd.patch +7 −5 Original line number Diff line number Diff line diff --git a/bottles/backend/utils/vulkan.py b/bottles/backend/utils/vulkan.py index 6673493..07f70d1 100644 index 6673493..9191004 100644 --- a/bottles/backend/utils/vulkan.py +++ b/bottles/backend/utils/vulkan.py @@ -29,6 +29,8 @@ class VulkanUtils: @@ -28,7 +28,9 @@ class VulkanUtils: "/usr/share/vulkan", "/etc/vulkan", "/usr/local/share/vulkan", "/usr/local/etc/vulkan" + "/run/opengl-driver/share/vulkan/", + "/run/opengl-driver-32/share/vulkan/", - "/usr/local/etc/vulkan" + "/usr/local/etc/vulkan", + "/run/opengl-driver/share/vulkan", + "/run/opengl-driver-32/share/vulkan", ] if "FLATPAK_ID" in os.environ: __vk_icd_dirs += [ pkgs/tools/graphics/vkbasalt-cli/default.nix 0 → 100644 +31 −0 Original line number Diff line number Diff line { lib , python3Packages , fetchFromGitLab , vkbasalt }: python3Packages.buildPythonApplication rec { pname = "vkbasalt-cli"; version = "3.1.1"; src = fetchFromGitLab { owner = "TheEvilSkeleton"; repo = pname; rev = "v${version}"; sha256 = "sha256-4MFqndnvwAsqyer9kMNuCZFP/Xdl7W//AyCe7n83328="; }; postPatch = '' substituteInPlace vkbasalt/lib.py \ --replace /usr ${vkbasalt} ''; pythonImportsCheck = [ "vkbasalt.lib" ]; meta = with lib; { description = "Command-line utility for vkBasalt"; homepage = "https://gitlab.com/TheEvilSkeleton/vkbasalt-cli"; license = with licenses; [ lgpl3Only gpl3Only ]; maintainers = with maintainers; [ martfont ]; }; } pkgs/tools/graphics/vkBasalt/default.nix→pkgs/tools/graphics/vkbasalt/default.nix +5 −4 Original line number Diff line number Diff line Loading @@ -8,11 +8,11 @@ , libX11 , spirv-headers , vulkan-headers , vkBasalt32 , vkbasalt32 }: stdenv.mkDerivation rec { pname = "vkBasalt"; pname = "vkbasalt"; version = "0.3.2.6"; src = fetchFromGitHub { Loading @@ -26,9 +26,10 @@ stdenv.mkDerivation rec { buildInputs = [ libX11 spirv-headers vulkan-headers ]; mesonFlags = [ "-Dappend_libdir_vkbasalt=true" ]; # Include 32bit layer in 64bit build postInstall = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' ln -s ${vkBasalt32}/share/vulkan/implicit_layer.d/vkBasalt.json \ install -Dm 644 $src/config/vkBasalt.conf $out/share/vkBasalt/vkBasalt.conf # Include 32bit layer in 64bit build ln -s ${vkbasalt32}/share/vulkan/implicit_layer.d/vkBasalt.json \ "$out/share/vulkan/implicit_layer.d/vkBasalt32.json" ''; Loading Loading
pkgs/applications/misc/bottles/default.nix +13 −33 Original line number Diff line number Diff line Loading @@ -14,55 +14,31 @@ , gtk4 , gtksourceview5 , libadwaita , steam , cabextract , p7zip , xdpyinfo , imagemagick , lsb-release , pciutils , procps , gamescope , mangohud , vkbasalt-cli , vmtouch , wine , bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs , bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs }: let steam-run = (steam.override { # required by wine runner `caffe` extraLibraries = pkgs: with pkgs; [ libunwind libusb1 gnutls ] ++ bottlesExtraLibraries pkgs; extraPkgs = pkgs: [ ] ++ bottlesExtraPkgs pkgs; }).run; in python3Packages.buildPythonApplication rec { pname = "bottles"; version = "2022.10.14.1"; pname = "bottles-unwrapped"; version = "2022.11.14"; src = fetchFromGitHub { owner = "bottlesdevs"; repo = pname; repo = "bottles"; rev = version; sha256 = "sha256-FO91GSGlc2f3TSLrlmRDPi5p933/Y16tdEpX4RcKhL0="; sha256 = "sha256-bigrJtqx9iZURYojwxlGe7xSGWS13wSaGcrTTROP9J8="; }; patches = [ ./vulkan_icd.patch ]; postPatch = '' chmod +x build-aux/meson/postinstall.py patchShebangs build-aux/meson/postinstall.py substituteInPlace bottles/backend/wine/winecommand.py \ --replace \ "command = f\"{runner} {command}\"" \ "command = f\"{''' if runner == 'wine' or runner == 'wine64' else '${steam-run}/bin/steam-run '}{runner} {command}\"" \ --replace \ "command = f\"{_picked['entry_point']} {command}\"" \ "command = f\"${steam-run}/bin/steam-run {_picked['entry_point']} {command}\"" ''; nativeBuildInputs = [ blueprint-compiler meson Loading Loading @@ -101,12 +77,16 @@ python3Packages.buildPythonApplication rec { p7zip xdpyinfo imagemagick procps vkbasalt-cli gamescope mangohud vmtouch wine # Undocumented (subprocess.Popen()) lsb-release pciutils procps ]; format = "other"; Loading
pkgs/applications/misc/bottles/fhsenv.nix 0 → 100644 +101 −0 Original line number Diff line number Diff line { lib , buildFHSUserEnvBubblewrap , symlinkJoin , bottles-unwrapped , extraPkgs ? pkgs: [ ] , extraLibraries ? pkgs: [ ] }: let fhsEnv = { targetPkgs = pkgs: with pkgs; [ bottles-unwrapped vkbasalt ] ++ extraPkgs pkgs; multiPkgs = let xorgDeps = pkgs: with pkgs.xorg; [ libpthreadstubs libSM libX11 libXaw libxcb libXcomposite libXcursor libXdmcp libXext libXi libXinerama libXmu libXrandr libXrender libXv libXxf86vm ]; in pkgs: with pkgs; [ # https://wiki.winehq.org/Building_Wine alsa-lib cups dbus fontconfig freetype glib gnutls libglvnd gsm gst_all_1.gstreamer gst_all_1.gst-plugins-base libgphoto2 libjpeg_turbo libkrb5 libpcap libpng libpulseaudio libtiff libunwind libusb1 libv4l libxml2 mpg123 ocl-icd openldap samba4 sane-backends SDL2 udev vulkan-loader # https://www.gloriouseggroll.tv/how-to-get-out-of-wine-dependency-hell/ alsa-plugins dosbox giflib gtk3 libva libxslt ncurses openal # Steam runtime libgcrypt libgpg-error p11-kit zlib # Freetype ] ++ xorgDeps pkgs ++ extraLibraries pkgs; }; in symlinkJoin { name = "bottles"; paths = [ (buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; })) (buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; })) ]; postBuild = '' mkdir -p $out/share ln -s ${bottles-unwrapped}/share/applications $out/share ln -s ${bottles-unwrapped}/share/icons $out/share ''; inherit (bottles-unwrapped) meta; }
pkgs/applications/misc/bottles/vulkan_icd.patch +7 −5 Original line number Diff line number Diff line diff --git a/bottles/backend/utils/vulkan.py b/bottles/backend/utils/vulkan.py index 6673493..07f70d1 100644 index 6673493..9191004 100644 --- a/bottles/backend/utils/vulkan.py +++ b/bottles/backend/utils/vulkan.py @@ -29,6 +29,8 @@ class VulkanUtils: @@ -28,7 +28,9 @@ class VulkanUtils: "/usr/share/vulkan", "/etc/vulkan", "/usr/local/share/vulkan", "/usr/local/etc/vulkan" + "/run/opengl-driver/share/vulkan/", + "/run/opengl-driver-32/share/vulkan/", - "/usr/local/etc/vulkan" + "/usr/local/etc/vulkan", + "/run/opengl-driver/share/vulkan", + "/run/opengl-driver-32/share/vulkan", ] if "FLATPAK_ID" in os.environ: __vk_icd_dirs += [
pkgs/tools/graphics/vkbasalt-cli/default.nix 0 → 100644 +31 −0 Original line number Diff line number Diff line { lib , python3Packages , fetchFromGitLab , vkbasalt }: python3Packages.buildPythonApplication rec { pname = "vkbasalt-cli"; version = "3.1.1"; src = fetchFromGitLab { owner = "TheEvilSkeleton"; repo = pname; rev = "v${version}"; sha256 = "sha256-4MFqndnvwAsqyer9kMNuCZFP/Xdl7W//AyCe7n83328="; }; postPatch = '' substituteInPlace vkbasalt/lib.py \ --replace /usr ${vkbasalt} ''; pythonImportsCheck = [ "vkbasalt.lib" ]; meta = with lib; { description = "Command-line utility for vkBasalt"; homepage = "https://gitlab.com/TheEvilSkeleton/vkbasalt-cli"; license = with licenses; [ lgpl3Only gpl3Only ]; maintainers = with maintainers; [ martfont ]; }; }
pkgs/tools/graphics/vkBasalt/default.nix→pkgs/tools/graphics/vkbasalt/default.nix +5 −4 Original line number Diff line number Diff line Loading @@ -8,11 +8,11 @@ , libX11 , spirv-headers , vulkan-headers , vkBasalt32 , vkbasalt32 }: stdenv.mkDerivation rec { pname = "vkBasalt"; pname = "vkbasalt"; version = "0.3.2.6"; src = fetchFromGitHub { Loading @@ -26,9 +26,10 @@ stdenv.mkDerivation rec { buildInputs = [ libX11 spirv-headers vulkan-headers ]; mesonFlags = [ "-Dappend_libdir_vkbasalt=true" ]; # Include 32bit layer in 64bit build postInstall = lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") '' ln -s ${vkBasalt32}/share/vulkan/implicit_layer.d/vkBasalt.json \ install -Dm 644 $src/config/vkBasalt.conf $out/share/vkBasalt/vkBasalt.conf # Include 32bit layer in 64bit build ln -s ${vkbasalt32}/share/vulkan/implicit_layer.d/vkBasalt.json \ "$out/share/vulkan/implicit_layer.d/vkBasalt32.json" ''; Loading