diff options
Diffstat (limited to 'pkgs/misc/emulators')
-rw-r--r-- | pkgs/misc/emulators/cdemu/libmirage.nix | 4 | ||||
-rw-r--r-- | pkgs/misc/emulators/qmc2/default.nix | 4 | ||||
-rw-r--r-- | pkgs/misc/emulators/ryujinx/default.nix | 6 | ||||
-rw-r--r-- | pkgs/misc/emulators/ryujinx/deps.nix | 14 | ||||
-rw-r--r-- | pkgs/misc/emulators/ryujinx/log.patch | 4 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/base.nix | 7 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/cert-path-stable.patch | 24 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/cert-path.patch | 41 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/packages.nix | 6 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/sources.nix | 36 | ||||
-rw-r--r-- | pkgs/misc/emulators/wine/staging.nix | 2 |
11 files changed, 99 insertions, 49 deletions
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/misc/emulators/cdemu/libmirage.nix index cc3118ace15..e824e19347a 100644 --- a/pkgs/misc/emulators/cdemu/libmirage.nix +++ b/pkgs/misc/emulators/cdemu/libmirage.nix @@ -1,6 +1,6 @@ { callPackage, gobject-introspection, cmake, pkgconfig , glib, libsndfile, zlib, bzip2, lzma, libsamplerate, intltool -, pcre, utillinux, libselinux, libsepol }: +, pcre, util-linux, libselinux, libsepol }: let pkg = import ./base.nix { version = "3.2.3"; @@ -13,6 +13,6 @@ in callPackage pkg { PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; nativeBuildInputs = [ cmake gobject-introspection pkgconfig ]; - propagatedBuildInputs = [ pcre utillinux libselinux libsepol ]; + propagatedBuildInputs = [ pcre util-linux libselinux libsepol ]; }; } diff --git a/pkgs/misc/emulators/qmc2/default.nix b/pkgs/misc/emulators/qmc2/default.nix index d089ddf2695..5a813c5d2ef 100644 --- a/pkgs/misc/emulators/qmc2/default.nix +++ b/pkgs/misc/emulators/qmc2/default.nix @@ -3,7 +3,7 @@ , minizip, zlib , qtbase, qtsvg, qtmultimedia, qtwebkit, qttranslations, qtxmlpatterns , rsync, SDL2, xwininfo -, utillinux +, util-linux , xorg }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qttools pkgconfig ]; buildInputs = [ minizip qtbase qtsvg qtmultimedia qtwebkit qttranslations qtxmlpatterns rsync SDL2 - xwininfo zlib utillinux xorg.libxcb ]; + xwininfo zlib util-linux xorg.libxcb ]; makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/misc/emulators/ryujinx/default.nix index d1fa0389823..0e6784e69ea 100644 --- a/pkgs/misc/emulators/ryujinx/default.nix +++ b/pkgs/misc/emulators/ryujinx/default.nix @@ -13,13 +13,13 @@ let ]; in stdenv.mkDerivation rec { pname = "ryujinx"; - version = "1.0.5346"; + version = "1.0.5551"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx src = fetchFromGitHub { owner = "Ryujinx"; repo = "Ryujinx"; - rev = "2ce59c44bcb2d789f4d6312b26cf41f36915d73c"; - sha256 = "0hk8jdacg8ryhh0mpnfjbzrrpy8gv87f4hp0hybyypglmaxz8grm"; + rev = "2dcc6333f8cbb959293832f52857bdaeab1918bf"; + sha256 = "1hfa498fr9mdxas9s02y25ncb982wa1sqhl06jpnkhqsiicbkgcf"; }; nativeBuildInputs = [ dotnet-sdk_3 dotnetPackages.Nuget makeWrapper wrapGAppsHook gobject-introspection ]; diff --git a/pkgs/misc/emulators/ryujinx/deps.nix b/pkgs/misc/emulators/ryujinx/deps.nix index 94093e1e29c..4f30b159a28 100644 --- a/pkgs/misc/emulators/ryujinx/deps.nix +++ b/pkgs/misc/emulators/ryujinx/deps.nix @@ -15,6 +15,11 @@ sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; }) (fetchNuGet { + name = "Crc32.NET"; + version = "1.2.0"; + sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; + }) + (fetchNuGet { name = "DiscordRichPresence"; version = "1.0.150"; sha256 = "0qmbi4sccia3w80q8xfvj3bw62nvz047wq198n2b2aflkf47bq79"; @@ -236,8 +241,8 @@ }) (fetchNuGet { name = "OpenTK.NetStandard"; - version = "1.0.5.12"; - sha256 = "1n8j6k47189l5b6rnhyq391d84v6zkpiiqq41cccb6qizvrcgl69"; + version = "1.0.5.22"; + sha256 = "10bdhc4qbffac862zg03ab5j3iqrr33bydxmnmrxn82brldahm23"; }) (fetchNuGet { name = "PangoSharp"; @@ -490,6 +495,11 @@ sha256 = "0szgbdhyhvzpw8nb9k2ww37p5qipab1pdll8idkk57y5xnl2f7ll"; }) (fetchNuGet { + name = "SharpZipLib"; + version = "1.2.0"; + sha256 = "0ynhx1qkjm723bwjwsrdviw1d2s9azndpa12dagrjshhma3igqm5"; + }) + (fetchNuGet { name = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; diff --git a/pkgs/misc/emulators/ryujinx/log.patch b/pkgs/misc/emulators/ryujinx/log.patch index d25e22fbd37..7283ef9e7d5 100644 --- a/pkgs/misc/emulators/ryujinx/log.patch +++ b/pkgs/misc/emulators/ryujinx/log.patch @@ -1,5 +1,5 @@ diff --git a/Ryujinx.Common/Configuration/LoggerModule.cs b/Ryujinx.Common/Configuration/LoggerModule.cs -index 20c0fb46..ce933730 100644 +index 20c0fb46..534576bc 100644 --- a/Ryujinx.Common/Configuration/LoggerModule.cs +++ b/Ryujinx.Common/Configuration/LoggerModule.cs @@ -75,7 +75,7 @@ namespace Ryujinx.Configuration @@ -7,7 +7,7 @@ index 20c0fb46..ce933730 100644 { Logger.AddTarget(new AsyncLogTargetWrapper( - new FileLogTarget(AppDomain.CurrentDomain.BaseDirectory, "file"), -+ new FileLogTarget(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"), "file"), ++ new FileLogTarget(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"), "file"), 1000, AsyncLogTargetOverflowAction.Block )); diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index c4858c6c579..0be36daac9f 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -2,6 +2,7 @@ name, version, src, mingwGccs, monos, geckos, platforms, pkgconfig, fontforge, makeWrapper, flex, bison, supportFlags, + patches, buildScript ? null, configureFlags ? [] }: @@ -9,6 +10,7 @@ with import ./util.nix { inherit lib; }; let vkd3d = callPackage ./vkd3d.nix {}; + patches' = patches; in stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { builder = buildScript; @@ -73,10 +75,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { ]) ++ [ pkgs.xorg.libX11 pkgs.perl ])); - patches = [ - # Also look for root certificates at $NIX_SSL_CERT_FILE - ./cert-path.patch - ]; + patches = [ ] ++ patches'; # Wine locates a lot of libraries dynamically through dlopen(). Add # them to the RPATH so that the user doesn't have to set them in diff --git a/pkgs/misc/emulators/wine/cert-path-stable.patch b/pkgs/misc/emulators/wine/cert-path-stable.patch new file mode 100644 index 00000000000..da01a477810 --- /dev/null +++ b/pkgs/misc/emulators/wine/cert-path-stable.patch @@ -0,0 +1,24 @@ +diff --git a/dlls/crypt32/rootstore.c b/dlls/crypt32/rootstore.c +index f795181..fb4926a 100644 +--- a/dlls/crypt32/rootstore.c ++++ b/dlls/crypt32/rootstore.c +@@ -18,6 +18,7 @@ + #include "config.h" + #include <stdarg.h> + #include <stdio.h> ++#include <stdlib.h> /* getenv */ + #include <sys/types.h> + #ifdef HAVE_SYS_STAT_H + #include <sys/stat.h> +@@ -916,6 +917,11 @@ static void read_trusted_roots_from_known_locations(HCERTSTORE store) + + for (i = 0; !ret && i < ARRAY_SIZE(CRYPT_knownLocations); i++) + ret = import_certs_from_path(CRYPT_knownLocations[i], from, TRUE); ++ ++ char *nix_cert_file = getenv("NIX_SSL_CERT_FILE"); ++ if (nix_cert_file != NULL) ++ ret = import_certs_from_path(nix_cert_file, from, TRUE); ++ + check_and_store_certs(from, store); + } + CertCloseStore(from, 0); diff --git a/pkgs/misc/emulators/wine/cert-path.patch b/pkgs/misc/emulators/wine/cert-path.patch index da01a477810..18a90e1a9af 100644 --- a/pkgs/misc/emulators/wine/cert-path.patch +++ b/pkgs/misc/emulators/wine/cert-path.patch @@ -1,24 +1,23 @@ -diff --git a/dlls/crypt32/rootstore.c b/dlls/crypt32/rootstore.c -index f795181..fb4926a 100644 ---- a/dlls/crypt32/rootstore.c -+++ b/dlls/crypt32/rootstore.c -@@ -18,6 +18,7 @@ - #include "config.h" +diff --git a/dlls/crypt32/unixlib.c b/dlls/crypt32/unixlib.c +index 035f2d936bb..959716d727a 100644 +--- a/dlls/crypt32/unixlib.c ++++ b/dlls/crypt32/unixlib.c +@@ -24,6 +24,7 @@ + #include "wine/port.h" + #include <stdarg.h> - #include <stdio.h> -+#include <stdlib.h> /* getenv */ - #include <sys/types.h> - #ifdef HAVE_SYS_STAT_H - #include <sys/stat.h> -@@ -916,6 +917,11 @@ static void read_trusted_roots_from_known_locations(HCERTSTORE store) ++#include <stdlib.h> + #include <dirent.h> + #include <fcntl.h> + #include <unistd.h> +@@ -605,6 +606,10 @@ static void load_root_certs(void) - for (i = 0; !ret && i < ARRAY_SIZE(CRYPT_knownLocations); i++) - ret = import_certs_from_path(CRYPT_knownLocations[i], from, TRUE); -+ -+ char *nix_cert_file = getenv("NIX_SSL_CERT_FILE"); -+ if (nix_cert_file != NULL) -+ ret = import_certs_from_path(nix_cert_file, from, TRUE); + for (i = 0; i < ARRAY_SIZE(CRYPT_knownLocations) && list_empty(&root_cert_list); i++) + import_certs_from_path( CRYPT_knownLocations[i], TRUE ); + - check_and_store_certs(from, store); - } - CertCloseStore(from, 0); ++ char *nix_cert_file = getenv("NIX_SSL_CERT_FILE"); ++ if (nix_cert_file != NULL) ++ import_certs_from_path(nix_cert_file, TRUE); + } + + static BOOL WINAPI enum_root_certs( void *buffer, SIZE_T size, SIZE_T *needed ) diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix index 31d21058e3a..c4fec3360e1 100644 --- a/pkgs/misc/emulators/wine/packages.nix +++ b/pkgs/misc/emulators/wine/packages.nix @@ -7,7 +7,7 @@ let src = lib.getAttr wineRelease (callPackage ./sources.nix {}); in with src; { wine32 = pkgsi686Linux.callPackage ./base.nix { name = "wine-${version}"; - inherit src version supportFlags; + inherit src version supportFlags patches; pkgArches = [ pkgsi686Linux ]; geckos = [ gecko32 ]; mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc ]; @@ -16,7 +16,7 @@ in with src; { }; wine64 = callPackage ./base.nix { name = "wine64-${version}"; - inherit src version supportFlags; + inherit src version supportFlags patches; pkgArches = [ pkgs ]; mingwGccs = with pkgsCross; [ mingwW64.buildPackages.gcc ]; geckos = [ gecko64 ]; @@ -26,7 +26,7 @@ in with src; { }; wineWow = callPackage ./base.nix { name = "wine-wow-${version}"; - inherit src version supportFlags; + inherit src version supportFlags patches; stdenv = stdenv_32bit; pkgArches = [ pkgs pkgsi686Linux ]; geckos = [ gecko32 gecko64 ]; diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index c26b84ffa0a..4b16e78cd73 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -13,9 +13,9 @@ let fetchurl = args@{url, sha256, ...}: in rec { stable = fetchurl rec { - version = "5.0.2"; + version = "5.0.3"; url = "https://dl.winehq.org/wine/source/5.0/wine-${version}.tar.xz"; - sha256 = "1g7c5djbi262h6zivmxbk26rsflwq8mrghr7hci3ajw7f3s89hn2"; + sha256 = "sha256-nBo1Ni/VE9/1yEW/dtpj6hBaeUrHFEqlA/cTYa820i8="; ## see http://wiki.winehq.org/Gecko gecko32 = fetchurl rec { @@ -31,27 +31,45 @@ in rec { ## see http://wiki.winehq.org/Mono mono = fetchurl rec { - version = "4.9.4"; - url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi"; - sha256 = "1p8g45xphxnns7dkg9rbaknarbjy5cjhrngaf0fsgk9z68wgz9ji"; + version = "5.1.1"; + url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi"; + sha256 = "09wjrfxbw0072iv6d2vqnkc3y7dzj15vp8mv4ay44n1qp5ji4m3l"; }; + + patches = [ + # Also look for root certificates at $NIX_SSL_CERT_FILE + ./cert-path-stable.patch + ]; }; unstable = fetchurl rec { # NOTE: Don't forget to change the SHA256 for staging as well. - version = "5.20"; + version = "5.22"; url = "https://dl.winehq.org/wine/source/5.x/wine-${version}.tar.xz"; - sha256 = "sha256-j1Ui+M6+vbqhL1jhumcaEfZjcuCu33T7kyz1qJOQhhw="; + sha256 = "sha256-Cb0GyHyMl05q00UHzsh11yF+tW/Anfg41UU+DrvOTSE="; inherit (stable) mono gecko32 gecko64; + + patches = [ + # Also look for root certificates at $NIX_SSL_CERT_FILE + ./cert-path.patch + + # Hotfix picked from master for https://bugs.winehq.org/show_bug.cgi?id=50163 + (pkgs.fetchpatch { + url = "https://bugs.winehq.org/attachment.cgi?id=68680"; + sha256 = "sha256-GTPQhRWeu6DPadqgFiuVUjI6MzJPaTN4l//8DSG6hpo="; + }) + ]; }; staging = fetchFromGitHub rec { # https://github.com/wine-staging/wine-staging/releases inherit (unstable) version; - sha256 = "sha256-1oWoLb5w9g3wDghpvHpNsJCws7QoZ/E2dqxLuaIgi6o="; + sha256 = "sha256-HzAKLPlybO1lrkHo4Q1Y9H0vmjiqo9HiT05TcX08Ubk="; owner = "wine-staging"; repo = "wine-staging"; - rev = "v${version}"; + #rev = "v${version}"; # revert back to this statement on next release + # Include hotfix for https://bugs.winehq.org/show_bug.cgi?id=50162 + rev = "f257f37b92041fc718de04aa83ec3139b748ffa2"; # Just keep list empty, if current release haven't broken patchsets disabledPatchsets = [ ]; diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix index f3b9fa30420..a628f5ded58 100644 --- a/pkgs/misc/emulators/wine/staging.nix +++ b/pkgs/misc/emulators/wine/staging.nix @@ -8,7 +8,7 @@ let patch = (callPackage ./sources.nix {}).staging; in assert stdenv.lib.getVersion wineUnstable == patch.version; (stdenv.lib.overrideDerivation wineUnstable (self: { - buildInputs = build-inputs [ "perl" "utillinux" "autoconf" "gitMinimal" ] self.buildInputs; + buildInputs = build-inputs [ "perl" "util-linux" "autoconf" "gitMinimal" ] self.buildInputs; name = "${self.name}-staging"; |