Sandro 2022-11-21 21:11:49 +01:00 committed by GitHub
commit f3bf8a1b9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 139 additions and 40 deletions

View file

@ -1,10 +1,28 @@
{ lib, fetchFromGitHub, gitUpdater
, meson, ninja, pkg-config, wrapGAppsHook
, desktop-file-utils, gsettings-desktop-schemas, libnotify, libhandy, webkitgtk
, python3Packages, gettext
, appstream-glib, gdk-pixbuf, glib, gobject-introspection, gspell, gtk3, gtksourceview4, gnome
, steam, xdg-utils, pciutils, cabextract
, freetype, p7zip, gamemode, mangohud
{ lib
, fetchFromGitHub
, fetchFromGitLab
, gitUpdater
, python3Packages
, blueprint-compiler
, meson
, ninja
, pkg-config
, wrapGAppsHook4
, appstream-glib
, desktop-file-utils
, librsvg
, gtk4
, gtksourceview5
, libadwaita
, steam
, cabextract
, p7zip
, xdpyinfo
, imagemagick
, procps
, gamescope
, mangohud
, vmtouch
, wine
, bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs
, bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs
@ -21,75 +39,77 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "bottles";
version = "2022.5.28-trento-3";
version = "2022.10.14.1";
src = fetchFromGitHub {
owner = "bottlesdevs";
repo = pname;
rev = version;
sha256 = "sha256-KIDLRqDLFTsVAczRpTchnUtKJfVHqbYzf8MhIR5UdYY=";
sha256 = "sha256-FO91GSGlc2f3TSLrlmRDPi5p933/Y16tdEpX4RcKhL0=";
};
patches = [ ./vulkan_icd.patch ];
postPatch = ''
chmod +x build-aux/meson/postinstall.py
patchShebangs build-aux/meson/postinstall.py
substituteInPlace src/backend/wine/winecommand.py \
substituteInPlace bottles/backend/wine/winecommand.py \
--replace \
'self.__get_runner()' \
'(lambda r: (f"${steam-run}/bin/steam-run {r}", r)[r == "wine" or r == "wine64"])(self.__get_runner())'
'';
"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
ninja
pkg-config
wrapGAppsHook
gettext
wrapGAppsHook4
gtk4 # gtk4-update-icon-cache
appstream-glib
desktop-file-utils
];
buildInputs = [
gdk-pixbuf
glib
gobject-introspection
gsettings-desktop-schemas
gspell
gtk3
gtksourceview4
libhandy
libnotify
webkitgtk
gnome.adwaita-icon-theme
librsvg
gtk4
gtksourceview5
libadwaita
];
propagatedBuildInputs = with python3Packages; [
pyyaml
pytoml
requests
pycairo
pygobject3
lxml
dbus-python
gst-python
liblarch
patool
markdown
fvs
pefile
urllib3
chardet
certifi
idna
pillow
orjson
icoextract
] ++ [
steam-run
xdg-utils
pciutils
cabextract
wine
freetype
p7zip
gamemode # programs.gamemode.enable
xdpyinfo
imagemagick
procps
gamescope
mangohud
vmtouch
wine
];
format = "other";
strictDeps = false; # broken with gobject-introspection setup hook, see https://github.com/NixOS/nixpkgs/issues/56943
dontWrapGApps = true; # prevent double wrapping
preFixup = ''

View file

@ -0,0 +1,13 @@
diff --git a/bottles/backend/utils/vulkan.py b/bottles/backend/utils/vulkan.py
index 6673493..07f70d1 100644
--- a/bottles/backend/utils/vulkan.py
+++ b/bottles/backend/utils/vulkan.py
@@ -29,6 +29,8 @@ class VulkanUtils:
"/etc/vulkan",
"/usr/local/share/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 += [

View file

@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchPypi, orjson}:
buildPythonPackage rec {
pname = "fvs";
version = "0.3.4";
src = fetchPypi {
inherit version;
pname = "FVS";
extension = "tar.gz";
sha256 = "sha256-yYd0HzdwbqB9kexJjBRRYmdsoWtZtcjCNRz0ZJVM5CI=";
};
propagatedBuildInputs = [
orjson
];
# no tests in src
doCheck = false;
pythonImportsCheck = [
"fvs"
];
meta = with lib; {
description = "File Versioning System with hash comparison and data storage to create unlinked states that can be deleted";
homepage = "https://github.com/mirkobrombin/FVS";
license = licenses.mit;
maintainers = with maintainers; [ bryanasdev000 ];
};
}

View file

@ -0,0 +1,31 @@
{ lib, buildPythonPackage, fetchPypi, pefile, pillow}:
buildPythonPackage rec {
pname = "icoextract";
version = "0.1.4";
src = fetchPypi {
inherit pname version;
extension = "tar.gz";
sha256 = "sha256-x0GEV0PUbkAzoUJgAqup9bHd7iYttGyzIZNdo8KsFyo=";
};
propagatedBuildInputs = [
pefile
pillow
];
# tests expect mingw and multiarch
doCheck = false;
pythonImportsCheck = [
"icoextract"
];
meta = with lib; {
description = "Extract icons from Windows PE files";
homepage = "https://github.com/jlu5/icoextract";
license = licenses.mit;
maintainers = with maintainers; [ bryanasdev000 ];
};
}

View file

@ -27600,7 +27600,7 @@ with pkgs;
bonzomatic = callPackage ../applications/editors/bonzomatic { };
bottles = callPackage ../applications/misc/bottles {
wine = wineWowPackages.minimal;
wine = null;
};
brave = callPackage ../applications/networking/browsers/brave { };

View file

@ -3560,6 +3560,8 @@ self: super: with self; {
fuzzywuzzy = callPackage ../development/python-modules/fuzzywuzzy { };
fvs = callPackage ../development/python-modules/fvs { };
fx2 = callPackage ../development/python-modules/fx2 { };
g2pkk = callPackage ../development/python-modules/g2pkk { };
@ -4403,6 +4405,8 @@ self: super: with self; {
idasen = callPackage ../development/python-modules/idasen { };
icoextract = callPackage ../development/python-modules/icoextract { };
icontract = callPackage ../development/python-modules/icontract { };
identify = callPackage ../development/python-modules/identify { };