diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/misc/emulators')
28 files changed, 338 insertions, 96 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/caprice32/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/caprice32/default.nix index 8694d4d2d5ae..4b2b6208bb40 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/caprice32/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/caprice32/default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { description = "A complete emulation of CPC464, CPC664 and CPC6128"; homepage = "https://github.com/ColinPitrat/caprice32"; license = licenses.gpl2; - maintainers = [ maintainers.genesis ]; + maintainers = [ ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix index cc3118ace151..e824e19347a6 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/cdemu/libmirage.nix +++ b/infra/libkookie/nixpkgs/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/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix index 0053079d992c..65484aab18e4 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix @@ -108,6 +108,10 @@ stdenv.mkDerivation rec { sfml ]; + postInstall = lib.optionalString stdenv.hostPlatform.isLinux '' + install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules + ''; + meta = with lib; { homepage = "https://dolphin-emu.org/"; description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8"; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix index 3865a4a70602..270ffde38bc9 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix @@ -21,13 +21,13 @@ let }; in stdenv.mkDerivation rec { pname = "dolphin-emu"; - version = "5.0-11824"; + version = "5.0-12716"; src = fetchFromGitHub { owner = "dolphin-emu"; repo = "dolphin"; - rev = "1b97f081b8eff9012132a4124537968bdb0e03e0"; - sha256 = "1v96hcn34040vjsw83k8p0r0nb8rrdcz80h4ngirxzm36b3l7w6m"; + rev = "31524288e3b2450eaefff8202c6d26c4ba3f7333"; + sha256 = "0vv3ahk6zdx2hx5diq4jkhl289wjybqcr4lwinrkfiywb83hcabg"; }; enableParallelBuilding = true; @@ -71,6 +71,8 @@ in stdenv.mkDerivation rec { postInstall = '' cp -r ${desktopItem}/share/applications $out/share ln -sf $out/bin/dolphin-emu $out/bin/dolphin-emu-master + '' + lib.optionalString stdenv.hostPlatform.isLinux '' + install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules ''; meta = with lib; { diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/hatari/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/hatari/default.nix index db1a6664c542..03397bd244cb 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/hatari/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/hatari/default.nix @@ -1,11 +1,12 @@ { stdenv, fetchurl, zlib, SDL, cmake }: stdenv.mkDerivation rec { - name = "hatari-2.2.1"; + pname = "hatari"; + version = "2.3.0"; src = fetchurl { - url = "https://download.tuxfamily.org/hatari/2.2.1/${name}.tar.bz2"; - sha256 = "0q3g23vnx58w666723v76ilh9j353md3sn48cmlq9gkll8qfzbqi"; + url = "https://download.tuxfamily.org/hatari/${version}/${pname}-${version}.tar.bz2"; + sha256 = "19dqadi32hgi78hyxxcm8v2vh28vyn9w5nd1xiq683wk0ccicj5z"; }; # For pthread_cancel diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/lambda-delta/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/lambda-delta/default.nix new file mode 100644 index 000000000000..0668d2db9086 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/lambda-delta/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkg-config, SDL2 }: + +stdenv.mkDerivation rec { + pname = "lambda-delta"; + version = "0.98.3"; + + src = fetchFromGitHub { + owner = "dseagrav"; + repo = "ld"; + rev = version; + sha256 = "02m43fj9dzc1i1jl01qwnhjiq1rh03jw1xq59sx2h3bhn7dk941x"; + }; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ SDL2 ]; + + configureFlags = [ "--without-SDL1" ]; + + meta = with stdenv.lib; { + description = "LMI (Lambda Lisp Machine) emulator"; + homepage = "https://github.com/dseagrav/ld"; + license = licenses.gpl2; + maintainers = with maintainers; [ siraben ]; + platforms = platforms.unix; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/libdsk/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/libdsk/default.nix index 6a2f94e77e6c..219875ba6fcb 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/libdsk/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/libdsk/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { description = "A library for accessing discs and disc image files"; homepage = "http://www.seasip.info/Unix/LibDsk/"; license = licenses.gpl2Plus; - maintainers = [ maintainers.genesis ]; + maintainers = [ ]; platforms = platforms.linux; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mame/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mame/default.nix index 3033ce8dc7b1..ddf0a129ab82 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mame/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mame/default.nix @@ -7,7 +7,7 @@ with stdenv; let majorVersion = "0"; - minorVersion = "225"; + minorVersion = "226"; desktopItem = makeDesktopItem { name = "MAME"; @@ -26,7 +26,7 @@ in mkDerivation { owner = "mamedev"; repo = "mame"; rev = "mame${majorVersion}${minorVersion}"; - sha256 = "0ln5z8xp81j2af2s94dixnk9n68qpi6b3plynp3pharg6dd55yac"; + sha256 = "0pnsvz4vkjkqb1ac5wzwz31vx0iknyg5ffly90nhl13kcr656jrj"; }; hardeningDisable = [ "fortify" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednafen/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednafen/default.nix index e356e636c5a2..cb4b7997383f 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednafen/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednafen/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "mednafen"; - version = "1.24.3"; + version = "1.26.1"; src = fetchurl { url = "https://mednafen.github.io/releases/files/${pname}-${version}.tar.xz"; - sha256 = "03zplcfvmnnv7grhacmr1zy789pb2wda36wylmzmar23g0zqbsix"; + sha256 = "1x7xhxjhwsdbak8l0iyb497f043xkhibk73w96xck4j2bk10fac4"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednaffe/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednaffe/default.nix index 7e231c5edd3a..60b0bfe1223b 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednaffe/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mednaffe/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "AmatCoder"; repo = "mednaffe"; - rev = "${version}"; + rev = version; sha256 = "15qk3a3l1phr8bap2ayh3c0vyvw2jwhny1iz1ajq2adyjpm9fhr7"; }; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mgba/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mgba/default.nix index 73845581b1bf..9efe47cc250e 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/mgba/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/mgba/default.nix @@ -15,13 +15,13 @@ let }; in stdenv.mkDerivation rec { pname = "mgba"; - version = "0.8.3"; + version = "0.8.4"; src = fetchFromGitHub { owner = "mgba-emu"; repo = "mgba"; rev = version; - sha256 = "0rwlfjdr0rzbq4kaplvwsgyb8xq6nrzxss2c8xrgw9hqw3ymx4s3"; + sha256 = "0nqj4bnn5c2z1bq4bnbw1wznc0wpmq4sy3w8pipd6n6620b9m4qq"; }; enableParallelBuilding = true; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix index af2cca5494e1..5bbf70004abe 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/pcsx2/default.nix @@ -1,21 +1,43 @@ -{ alsaLib, cmake, fetchFromGitHub, glib, gettext, gtk2, harfbuzz, lib, libaio -, libpng, libpcap, libxml2, makeWrapper, perl, pkgconfig, portaudio -, SDL2, soundtouch, stdenv, udev, wxGTK, zlib +{ alsaLib +, cmake +, fetchFromGitHub +, fmt +, gcc-unwrapped +, gettext +, glib +, gtk3 +, harfbuzz +, libaio +, libpcap +, libpng +, libpulseaudio +, libsamplerate +, libxml2 +, makeWrapper +, perl +, pkgconfig +, portaudio +, SDL2 +, soundtouch +, stdenv +, udev +, wrapGAppsHook +, wxGTK +, zlib }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "pcsx2"; - version = "1.6.0"; + version = "unstable-2020-11-13"; src = fetchFromGitHub { owner = "PCSX2"; repo = "pcsx2"; - rev = "v${version}"; - sha256 = "0528kh3275285lvfsykycdhc35c1z8pmccl2s7dfi3va2cp4x8wa"; + fetchSubmodules = true; + rev = "319287dbe552c8405720b25dfdf5fa518deeee0b"; + sha256 = "1kswc8vw9hbv2nigp8cxrgf2s0ik7p4i203cbqci8zjmnkaqpsai"; }; - postPatch = "sed '1i#include \"x86intrin.h\"' -i common/src/x86emitter/cpudetect.cpp"; - cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" "-DDISABLE_ADVANCE_SIMD=TRUE" @@ -23,35 +45,43 @@ stdenv.mkDerivation rec { "-DDOC_DIR=${placeholder "out"}/share/doc/pcsx2" "-DGAMEINDEX_DIR=${placeholder "out"}/share/pcsx2" "-DGLSL_SHADER_DIR=${placeholder "out"}/share/pcsx2" - "-DwxWidgets_LIBRARIES=${wxGTK}/lib" - "-DwxWidgets_INCLUDE_DIRS=${wxGTK}/include" - "-DwxWidgets_CONFIG_EXECUTABLE=${wxGTK}/bin/wx-config" + "-DGTK3_API=TRUE" "-DPACKAGE_MODE=TRUE" "-DPLUGIN_DIR=${placeholder "out"}/lib/pcsx2" "-DREBUILD_SHADER=TRUE" + "-DUSE_LTO=TRUE" + "-DwxWidgets_CONFIG_EXECUTABLE=${wxGTK}/bin/wx-config" + "-DwxWidgets_INCLUDE_DIRS=${wxGTK}/include" + "-DwxWidgets_LIBRARIES=${wxGTK}/lib" "-DXDG_STD=TRUE" - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" - "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0" - "-DGTK3_API=FALSE" ]; + postPatch = '' + substituteInPlace cmake/BuildParameters.cmake \ + --replace /usr/bin/gcc-ar ${gcc-unwrapped}/bin/gcc-ar \ + --replace /usr/bin/gcc-nm ${gcc-unwrapped}/bin/gcc-nm \ + --replace /usr/bin/gcc-ranlib ${gcc-unwrapped}/bin/gcc-ranlib + ''; + postFixup = '' wrapProgram $out/bin/PCSX2 \ --set __GL_THREADED_OPTIMIZATIONS 1 ''; - nativeBuildInputs = [ cmake makeWrapper perl pkgconfig ]; + nativeBuildInputs = [ cmake makeWrapper perl pkgconfig wrapGAppsHook ]; buildInputs = [ alsaLib - glib + fmt gettext - gtk2 + glib + gtk3 harfbuzz libaio libpcap libpng + libpulseaudio + libsamplerate libxml2 portaudio SDL2 @@ -71,13 +101,13 @@ stdenv.mkDerivation rec { PC, with many additional features and benefits. ''; homepage = "https://pcsx2.net"; - maintainers = with maintainers; [ hrdinka ]; + maintainers = with maintainers; [ hrdinka samuelgrf govanify ]; # PCSX2's source code is released under LGPLv3+. It However ships # additional data files and code that are licensed differently. # This might be solved in future, for now we should stick with # license.free license = licenses.free; - platforms = platforms.i686; + platforms = platforms.x86; }; } diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/qmc2/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/qmc2/default.nix index 1242a1ef11ac..5a813c5d2efe 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/qmc2/default.nix +++ b/infra/libkookie/nixpkgs/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 }: @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { url = "mirror://sourceforge/project/qmc2/qmc2/${version}/${pname}-${version}.tar.gz"; sha256 = "1dzmjlfk8pdspns6zg1jmd5fqzg8igd4q38cz4a1vf39lx74svns"; }; - + preBuild = '' patchShebangs scripts ''; @@ -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=/" @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { description = "A Qt frontend for MAME/MESS"; homepage = "https://qmc2.batcom-it.net"; license = licenses.gpl2; - maintainers = [ maintainers.genesis ]; + maintainers = [ ]; platforms = platforms.linux; broken = true; }; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix index 17b1679ed5ba..2b9cb5e6d27e 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/retroarch/cores.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, python37, retroarch +{ stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, fetchpatch, cmake, pkgconfig, makeWrapper, python27, python37, retroarch , alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, SDL_net, SDL2, SDL2_image, libGL , ffmpeg_3, pcre, libevdev, libpng, libjpeg, libzip, udev, libvorbis, snappy, which, hexdump , miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost, icu, openssl @@ -630,6 +630,13 @@ in with stdenv.lib.licenses; rev = "02987af9b81a9c3294af8fb9d5a34f9826a2cf4d"; sha256 = "0gl7irmn5d8lk7kf484vgw6kb325fq4ghwsni3il4nm5n2a8yglh"; }; + patches = [ + (fetchpatch { + name = "fix_mame_build_on_make-4.3.patch"; + url = "https://github.com/libretro/mame2016-libretro/commit/5874fae3d124f5e7c8a91634f5473a8eac902e47.patch"; + sha256 = "061f1lcm72glksf475ikl8w10pnbgqa7049ylw06nikis2qdjlfn"; + }) + ]; description = "Port of MAME ~2016 to libretro"; license = gpl2Plus; extraNativeBuildInputs = [ python27 ]; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/ruffle/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/ruffle/default.nix new file mode 100644 index 000000000000..f3518a647fa1 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/ruffle/default.nix @@ -0,0 +1,49 @@ +{ alsaLib +, fetchFromGitHub +, openssl +, pkg-config +, python3 +, rustPlatform +, stdenv +, wayland +, xorg +}: + +rustPlatform.buildRustPackage rec { + pname = "ruffle"; + version = "nightly-2020-11-30"; + + src = fetchFromGitHub { + owner = "ruffle-rs"; + repo = pname; + rev = version; + sha256 = "0z54swzy47laq3smficd3dyrs2zdi3cj2kb0b4hppjxpkkhiw4x0"; + }; + + nativeBuildInputs = [ + pkg-config + python3 + ]; + + buildInputs = [ + alsaLib + openssl + wayland + xorg.libX11 + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libxcb + xorg.libXrender + ]; + + cargoSha256 = "05kwfcbzjyyfhiqklhhlv06pinzw9bry4j8l9lk3k04c1q30gzkw"; + + meta = with stdenv.lib; { + description = "An Adobe Flash Player emulator written in the Rust programming language."; + homepage = "https://ruffle.rs/"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ govanify ]; + platforms = platforms.linux; + }; +} diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix index d1fa03898231..0e6784e69eab 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/default.nix +++ b/infra/libkookie/nixpkgs/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/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix index 94093e1e29c6..4f30b159a280 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/deps.nix +++ b/infra/libkookie/nixpkgs/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/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch b/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch index d25e22fbd373..7283ef9e7d5d 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/ryujinx/log.patch +++ b/infra/libkookie/nixpkgs/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/infra/libkookie/nixpkgs/pkgs/misc/emulators/simh/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/simh/default.nix new file mode 100644 index 000000000000..50e02a8f2403 --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/simh/default.nix @@ -0,0 +1,62 @@ +{ stdenv +, fetchFromGitHub +, SDL2 +, SDL2_ttf +, libpcap +, vde2 +, pcre +}: + +stdenv.mkDerivation rec { + pname = "simh"; + version = "3.11-1"; + + src = fetchFromGitHub { + owner = "simh"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-65+YfOWpVXPeT64TZcSaWJY+ODQ0q/pwF9jb8xGdpIs="; + }; + + buildInputs = [ SDL2 SDL2_ttf libpcap vde2 pcre ]; + + dontConfigure = true; + + makeFlags = [ "GCC=cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ]; + + preInstall = '' + install -d ${placeholder "out"}/bin + install -d ${placeholder "out"}/share/simh + ''; + + installPhase = '' + runHook preInstall + for i in BIN/*; do + install -D $i ${placeholder "out"}/bin + done + for i in VAX/*bin; do + install -D $i ${placeholder "out"}/share/simh + done + runHook postInstall + ''; + + postInstall = '' + (cd $out/bin; for i in *; do ln -s $i simh-$i; done) + ''; + + meta = with stdenv.lib; { + homepage = "http://simh.trailing-edge.com/"; + description = "A collection of simulators of historic hardware"; + longDescription = '' + SimH (History Simulator) is a collection of simulators for historically + significant or just plain interesting computer hardware and software from + the past. The goal of the project is to create highly portable system + simulators and to publish them as freeware on the Internet, with freely + available copies of significant or representative software. + ''; + license = with licenses; mit; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = with platforms; unix; + }; +} +# TODO: install documentation diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/stella/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/stella/default.nix index 33cd1879ce6a..ece734ef4bca 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/stella/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/stella/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "stella"; - version = "6.3"; + version = "6.4"; src = fetchFromGitHub { owner = "stella-emu"; repo = pname; rev = version; - sha256 = "sha256-5rH2a/Uvi0HuyU/86y87g5FN/dunlP65+K3j0Bo+yCg="; + sha256 = "0gva6pw5c1pplcf2g48zmm24h1134v0vr705rbzj4v6ifp3adrsl"; }; nativeBuildInputs = [ pkg-config ]; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/base.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/base.nix index 025158b07173..0be36daac9f9 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/base.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/base.nix @@ -1,7 +1,8 @@ { stdenv, lib, pkgArches, callPackage, - name, version, src, monos, geckos, platforms, + name, version, src, mingwGccs, monos, geckos, platforms, pkgconfig, fontforge, makeWrapper, flex, bison, supportFlags, + patches, buildScript ? null, configureFlags ? [] }: @@ -9,15 +10,21 @@ with import ./util.nix { inherit lib; }; let vkd3d = callPackage ./vkd3d.nix {}; + patches' = patches; in stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { builder = buildScript; }) // rec { inherit name src configureFlags; + # Fixes "Compiler cannot create executables" building wineWow with mingwSupport + # FIXME Breaks wineStaging builds + strictDeps = supportFlags.mingwSupport; + nativeBuildInputs = [ pkgconfig fontforge makeWrapper flex bison - ]; + ] + ++ lib.optionals supportFlags.mingwSupport mingwGccs; buildInputs = toBuildInputs pkgArches (with supportFlags; (pkgs: [ pkgs.freetype ] @@ -68,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 @@ -92,6 +96,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { # drive_c/windows/system32 will only contain a few files instead of # hundreds, there will be an error about winemenubuilder and MountMgr # on startup of Wine, and the Drives tab in winecfg will show an error. + # TODO: binutils 2.34 contains a fix for this bug, re-enable stripping once available. dontStrip = true; ## FIXME @@ -136,7 +141,8 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) { # https://bugs.winehq.org/show_bug.cgi?id=43530 # https://github.com/NixOS/nixpkgs/issues/31989 hardeningDisable = [ "bindnow" ] - ++ lib.optional (stdenv.hostPlatform.isDarwin) "fortify"; + ++ lib.optional (stdenv.hostPlatform.isDarwin) "fortify" + ++ lib.optional (supportFlags.mingwSupport) "format"; passthru = { inherit pkgArches; }; meta = { diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/cert-path-stable.patch b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/cert-path-stable.patch new file mode 100644 index 000000000000..da01a4778102 --- /dev/null +++ b/infra/libkookie/nixpkgs/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/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/cert-path.patch b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/cert-path.patch index da01a4778102..18a90e1a9af8 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/cert-path.patch +++ b/infra/libkookie/nixpkgs/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/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/default.nix index 368e2845ca40..24f827b25ffe 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/default.nix @@ -44,6 +44,7 @@ sdlSupport ? false, faudioSupport ? false, vkd3dSupport ? false, + mingwSupport ? false, }: let wine-build = build: release: @@ -56,7 +57,7 @@ let wine-build = build: release: gsmSupport gphoto2Support ldapSupport fontconfigSupport alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport xmlSupport tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport faudioSupport - vkd3dSupport; + vkd3dSupport mingwSupport; }; }); diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/packages.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/packages.nix index 3ea60e62c665..c4fec3360e1f 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/packages.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/packages.nix @@ -1,4 +1,4 @@ -{ stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, +{ stdenv_32bit, lib, pkgs, pkgsi686Linux, pkgsCross, callPackage, wineRelease ? "stable", supportFlags }: @@ -7,16 +7,18 @@ 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 ]; monos = [ mono ]; platforms = [ "i686-linux" "x86_64-linux" ]; }; 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 ]; monos = [ mono ]; configureFlags = [ "--enable-win64" ]; @@ -24,10 +26,11 @@ 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 ]; + mingwGccs = with pkgsCross; [ mingw32.buildPackages.gcc mingwW64.buildPackages.gcc ]; monos = [ mono ]; buildScript = ./builder-wow.sh; platforms = [ "x86_64-linux" ]; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/sources.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/sources.nix index e03cc06d55e6..4b16e78cd736 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/sources.nix +++ b/infra/libkookie/nixpkgs/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.18"; + version = "5.22"; url = "https://dl.winehq.org/wine/source/5.x/wine-${version}.tar.xz"; - sha256 = "0hpkcpi6j162bkgcgzzj8y471777q06j7pydl61yp6qscn4g80ch"; + 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 = "0bwcvkf1g1dsq1qmric3jfl85rfjzhq6x4h839hfqc536lkfbrpy"; + 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/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/staging.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/staging.nix index f3b9fa304204..a628f5ded58b 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/wine/staging.nix +++ b/infra/libkookie/nixpkgs/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"; diff --git a/infra/libkookie/nixpkgs/pkgs/misc/emulators/xcpc/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/emulators/xcpc/default.nix index 3806d25e5d00..75c30280e21f 100644 --- a/infra/libkookie/nixpkgs/pkgs/misc/emulators/xcpc/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/misc/emulators/xcpc/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { description = "A portable Amstrad CPC 464/664/6128 emulator written in C"; homepage = "https://www.xcpc-emulator.net"; license = licenses.gpl2Plus; - maintainers = [ maintainers.genesis ]; + maintainers = [ ]; platforms = platforms.linux; }; } |