diff options
Diffstat (limited to 'pkgs/applications/misc/bottles/fhsenv.nix')
-rw-r--r-- | pkgs/applications/misc/bottles/fhsenv.nix | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/pkgs/applications/misc/bottles/fhsenv.nix b/pkgs/applications/misc/bottles/fhsenv.nix new file mode 100644 index 00000000000..dfb0d36f64d --- /dev/null +++ b/pkgs/applications/misc/bottles/fhsenv.nix @@ -0,0 +1,101 @@ +{ 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; +} |