diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 5860bbad3d6..162c73127b8 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -279,6 +279,14 @@ virtualisation.docker.daemon.settings. + + + The backward compatibility in + services.wordpress to configure sites with + the old interface has been removed. Please use + services.wordpress.sites instead. + + The backward compatibility in diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 87610fc0f61..4fb78b49dfa 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -92,6 +92,10 @@ In addition to numerous new and upgraded packages, this release has the followin - If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`. +- The backward compatibility in `services.wordpress` to configure sites with + the old interface has been removed. Please use `services.wordpress.sites` + instead. + - The backward compatibility in `services.dokuwiki` to configure sites with the old interface has been removed. Please use `services.dokuwiki.sites` instead. diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix index 3753d01bf8d..59471a739cb 100644 --- a/nixos/modules/services/web-apps/wordpress.nix +++ b/nixos/modules/services/web-apps/wordpress.nix @@ -1,20 +1,14 @@ { config, pkgs, lib, ... }: -let - inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types; - inherit (lib) any attrValues concatMapStringsSep flatten literalExpression; - inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString; +with lib; - cfg = migrateOldAttrs config.services.wordpress; +let + cfg = config.services.wordpress; eachSite = cfg.sites; user = "wordpress"; webserver = config.services.${cfg.webserver}; stateDir = hostName: "/var/lib/wordpress/${hostName}"; - # Migrate config.services.wordpress. to config.services.wordpress.sites. - oldSites = filterAttrs (o: _: o != "sites" && o != "webserver"); - migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; }; - pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec { pname = "wordpress-${hostName}"; version = src.version; @@ -266,36 +260,29 @@ in { # interface options = { - services.wordpress = mkOption { - type = types.submodule { - # Used to support old interface - freeformType = types.attrsOf (types.submodule siteOpts); + services.wordpress = { - # New interface - options.sites = mkOption { - type = types.attrsOf (types.submodule siteOpts); - default = {}; - description = "Specification of one or more WordPress sites to serve"; - }; - - options.webserver = mkOption { - type = types.enum [ "httpd" "nginx" "caddy" ]; - default = "httpd"; - description = '' - Whether to use apache2 or nginx for virtual host management. - - Further nginx configuration can be done by adapting services.nginx.virtualHosts.<name>. - See for further information. - - Further apache2 configuration can be done by adapting services.httpd.virtualHosts.<name>. - See for further information. - ''; - }; + sites = mkOption { + type = types.attrsOf (types.submodule siteOpts); + default = {}; + description = "Specification of one or more WordPress sites to serve"; }; - default = {}; - description = "Wordpress configuration"; - }; + webserver = mkOption { + type = types.enum [ "httpd" "nginx" "caddy" ]; + default = "httpd"; + description = '' + Whether to use apache2 or nginx for virtual host management. + + Further nginx configuration can be done by adapting services.nginx.virtualHosts.<name>. + See for further information. + + Further apache2 configuration can be done by adapting services.httpd.virtualHosts.<name>. + See for further information. + ''; + }; + + }; }; # implementation @@ -312,8 +299,6 @@ in }) eachSite); - warnings = mapAttrsToList (hostName: _: ''services.wordpress."${hostName}" is deprecated use services.wordpress.sites."${hostName}"'') (oldSites cfg); - services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) { enable = true; package = mkDefault pkgs.mariadb; diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 2980b4ba685..adc89306309 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -271,7 +271,7 @@ def main() -> None: if os.readlink(system_dir(*gen)) == args.default_config: write_loader_conf(*gen) except OSError as e: - print("ignoring profile '{}' in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr) + print("ignoring generation '{}' in the list of boot entries because of the following error:\n{}".format(*gen, e), file=sys.stderr) for root, _, files in os.walk('@efiSysMountPoint@/efi/nixos/.extra-files', topdown=False): relative_root = root.removeprefix("@efiSysMountPoint@/efi/nixos/.extra-files").removeprefix("/") diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix index f7f39668c86..416a20aa7fe 100644 --- a/nixos/tests/wordpress.nix +++ b/nixos/tests/wordpress.nix @@ -15,15 +15,12 @@ import ./make-test-python.nix ({ pkgs, ... }: services.httpd.adminAddr = "webmaster@site.local"; services.httpd.logPerVirtualHost = true; - services.wordpress = { - # Test support for old interface + services.wordpress.sites = { "site1.local" = { database.tablePrefix = "site1_"; }; - sites = { - "site2.local" = { - database.tablePrefix = "site2_"; - }; + "site2.local" = { + database.tablePrefix = "site2_"; }; }; diff --git a/pkgs/applications/blockchains/snarkos/default.nix b/pkgs/applications/blockchains/snarkos/default.nix new file mode 100644 index 00000000000..e265d9de8de --- /dev/null +++ b/pkgs/applications/blockchains/snarkos/default.nix @@ -0,0 +1,61 @@ +{ stdenv +, fetchFromGitHub +, lib +, rustPlatform +, Security +, curl +, pkg-config +, openssl +, llvmPackages +}: +rustPlatform.buildRustPackage rec { + pname = "snarkos"; + version = "unstable-2021-01-21"; + + src = fetchFromGitHub { + owner = "AleoHQ"; + repo = "snarkOS"; + rev = "7068dc0394139c887f5187288ca2af54bc729614"; + sha256 = "sha256-fgdIJX/Ep3amPAjo00BtNGSXhaItw41S1XliDXk6b7k="; + }; + + cargoSha256 = "sha256-bax7cnqVY49rdcWs73+KqW+dzPebKLlsbPvOM1d25zA="; + + # buildAndTestSubdir = "cli"; + + nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config llvmPackages.clang ]; + + # Needed to get openssl-sys to use pkg-config. + OPENSSL_NO_VENDOR = 1; + OPENSSL_LIB_DIR = "${openssl.out}/lib"; + OPENSSL_DIR="${lib.getDev openssl}"; + + LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib"; + + # TODO check why rust compilation fails by including the rocksdb from nixpkgs + # Used by build.rs in the rocksdb-sys crate. If we don't set these, it would + # try to build RocksDB from source. + # ROCKSDB_INCLUDE_DIR="${rocksdb}/include"; + # ROCKSDB_LIB_DIR="${rocksdb}/lib"; + + buildInputs = lib.optionals stdenv.isDarwin [ Security curl ]; + + # some tests are flaky and some need network access + # TODO finish filtering the tests to enable them + doCheck = !stdenv.isLinux; + # checkFlags = [ + # # tries to make a network access + # "--skip=rpc::rpc::tests::test_send_transaction_large" + # # flaky test + # "--skip=helpers::block_requests::tests::test_block_requests_case_2ca" + # ]; + + + meta = with lib; { + description = "A Decentralized Operating System for Zero-Knowledge Applications"; + homepage = "https://snarkos.org"; + license = licenses.asl20; + maintainers = with maintainers; [ happysalada ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/misc/artha/default.nix b/pkgs/applications/misc/artha/default.nix index 37a1cee79a6..d91f769e954 100644 --- a/pkgs/applications/misc/artha/default.nix +++ b/pkgs/applications/misc/artha/default.nix @@ -1,21 +1,17 @@ { lib, stdenv, autoreconfHook, fetchurl, dbus-glib, gtk2, pkg-config, wordnet }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "artha"; - version = "1.0.3"; + version = "1.0.5"; src = fetchurl { - url = "mirror://sourceforge/artha/1.0.3/artha-1.0.3.tar.bz2"; - sha256 = "0qr4ihl7ma3cq82xi1fpzvf74mm9vsg0j035xvmcp3r6rmw2fycx"; + url = "mirror://sourceforge/artha/${version}/artha-${version}.tar.bz2"; + sha256 = "034r7vfk5y7705k068cdlq52ikp6ip10w6047a5zjdakbn55c3as"; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ dbus-glib gtk2 wordnet ]; - patches = [ - ./gio-underlink.patch - ]; - meta = with lib; { description = "An offline thesaurus based on WordNet"; homepage = "http://artha.sourceforge.net"; diff --git a/pkgs/applications/misc/artha/gio-underlink.patch b/pkgs/applications/misc/artha/gio-underlink.patch deleted file mode 100644 index 08d9c478736..00000000000 --- a/pkgs/applications/misc/artha/gio-underlink.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Makefile.am b/src/Makefile.am -index 0236d72..bcc1182 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -38,7 +38,7 @@ artha_LDADD = libwni.a $(WORDNET_LIB) - - if POSIX - AM_CFLAGS += @libdbus_CFLAGS@ --artha_LDADD += -lX11 -ldbus-1 -ldbus-glib-1 -lgtk-x11-2.0 \ -+artha_LDADD += -lX11 -ldbus-1 -ldbus-glib-1 -lgio-2.0 -lgtk-x11-2.0 \ - -lgdk-x11-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 - else - artha_LDADD += @GTK_LIBS@ diff --git a/pkgs/applications/misc/rivercarro/default.nix b/pkgs/applications/misc/rivercarro/default.nix new file mode 100644 index 00000000000..86ba7dbe137 --- /dev/null +++ b/pkgs/applications/misc/rivercarro/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromSourcehut +, zig +, river +, wayland +, pkg-config +, scdoc +}: + +stdenv.mkDerivation rec { + pname = "rivercarro"; + version = "0.1.1"; + + src = fetchFromSourcehut { + owner = "~novakane"; + repo = pname; + fetchSubmodules = true; + rev = "v${version}"; + sha256 = "0h1wvl6rlrpr67zl51x71hy7nwkfd5kfv5p2mql6w5fybxxyqnpm"; + }; + + nativeBuildInputs = [ + pkg-config + river + scdoc + wayland + zig + ]; + + dontConfigure = true; + + preBuild = '' + export HOME=$TMPDIR + ''; + + installPhase = '' + runHook preInstall + zig build -Drelease-safe -Dcpu=baseline -Dman-pages --prefix $out install + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://git.sr.ht/~novakane/rivercarro"; + description = "A layout generator for river Wayland compositor, fork of rivertile"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ kraem ]; + }; +} + diff --git a/pkgs/applications/networking/giara/default.nix b/pkgs/applications/networking/giara/default.nix index 1f4d2e0a2d9..b17430dc09b 100644 --- a/pkgs/applications/networking/giara/default.nix +++ b/pkgs/applications/networking/giara/default.nix @@ -1,22 +1,24 @@ { lib , fetchFromGitLab +, fetchpatch , meson , gobject-introspection , pkg-config , ninja , python3 -, wrapGAppsHook -, gtk3 +, wrapGAppsHook4 +, gtk4 , gdk-pixbuf , webkitgtk -, gtksourceview4 -, libhandy +, gtksourceview5 , glib-networking +, libadwaita +, appstream }: python3.pkgs.buildPythonApplication rec { pname = "giara"; - version = "0.3"; + version = "1.0"; format = "other"; @@ -25,24 +27,25 @@ python3.pkgs.buildPythonApplication rec { owner = "World"; repo = pname; rev = version; - sha256 = "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9"; + hash = "sha256-xDIzgr8zYal0r0sASWqiSZANCMC52LrVmLjlnGAd2Mg="; }; nativeBuildInputs = [ + appstream meson gobject-introspection pkg-config ninja - wrapGAppsHook + wrapGAppsHook4 ]; buildInputs = [ - gtk3 + gtk4 gdk-pixbuf webkitgtk - gtksourceview4 - libhandy + gtksourceview5 glib-networking + libadwaita ]; pythonPath = with python3.pkgs; [ @@ -55,6 +58,21 @@ python3.pkgs.buildPythonApplication rec { beautifulsoup4 ]; + patches = [ + # Proper support for gtk4 and libadwaita + # @TODO: Remove when bumping the version. + (fetchpatch { + name = "giara-gtk4-libadwaita.patch"; + url = "https://gitlab.gnome.org/World/giara/-/commit/6204427f8b8e3d8c72b669717a3f129ffae401d9.patch"; + sha256 = "sha256-E8kbVsACPD2gkfNrzYUy0+1U7+/pIkUu4rCkX+xY0us="; + }) + ]; + + postPatch = '' + substituteInPlace meson_post_install.py \ + --replace "gtk-update-icon-cache" "gtk4-update-icon-cache" + ''; + # Fix setup-hooks https://github.com/NixOS/nixpkgs/issues/56943 strictDeps = false; diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix index 830c1c42555..c6ee045dfbf 100644 --- a/pkgs/applications/office/qownnotes/default.nix +++ b/pkgs/applications/office/qownnotes/default.nix @@ -5,13 +5,13 @@ mkDerivation rec { pname = "qownnotes"; - version = "22.1.7"; + version = "22.1.9"; src = fetchurl { url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; # Fetch the checksum of current version with curl: # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-.tar.xz.sha256 - sha256 = "7ac13816e47e23e8469f47b6d48a29f7e98416de0fa9ef77eb3da63b191829f3"; + sha256 = "sha256-vUYfZpqOe7cZJxrNPXN2gCyNRNqC2/NA83+UCL9+mq0="; }; nativeBuildInputs = [ qmake qttools ]; diff --git a/pkgs/applications/office/super-productivity/default.nix b/pkgs/applications/office/super-productivity/default.nix index 6b06dcf4370..d9f77cb560f 100644 --- a/pkgs/applications/office/super-productivity/default.nix +++ b/pkgs/applications/office/super-productivity/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "super-productivity"; - version = "7.9.2"; + version = "7.10.0"; src = fetchurl { url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage"; - sha256 = "sha256-qeHFFG1Y8qZwFvo3CFIs1+BKQo287HJfOnKKguUOlu8="; + sha256 = "sha256-Aa0orJpsin7XntUVpW6VLcbGiTSeyySDCGNFOERtgvg="; name = "${pname}-${version}.AppImage"; }; diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix index a25613ba58e..78c6c0988c5 100644 --- a/pkgs/applications/terminal-emulators/alacritty/default.nix +++ b/pkgs/applications/terminal-emulators/alacritty/default.nix @@ -54,16 +54,16 @@ let in rustPlatform.buildRustPackage rec { pname = "alacritty"; - version = "0.9.0"; + version = "0.10.0"; src = fetchFromGitHub { owner = "alacritty"; repo = pname; rev = "v${version}"; - sha256 = "sha256-kgZEbOGmO+uRKaWR+oQBiGkBzDSuCznUyWNUoMICHhk="; + sha256 = "sha256-eVPy47T2wcsN7NxtwMoyuC6loBVXsoJjJ/2q31i3vxQ="; }; - cargoSha256 = "sha256-JqnYMDkagWNGliUxi5eqJN92ULsvT7Fwmah8um1xaRw="; + cargoSha256 = "sha256-RY+qidm7NZFKq6P8qVaMpxYfTfHpZac2YJwuNbOJwoM="; nativeBuildInputs = [ cmake @@ -88,19 +88,13 @@ rustPlatform.buildRustPackage rec { outputs = [ "out" "terminfo" ]; - patches = [ - # Handle PTY EIO error for Rust 1.55+ - (fetchpatch { - url = "https://github.com/alacritty/alacritty/commit/58985a4dcbe464230b5d2566ee68e2d34a1788c8.patch"; - sha256 = "sha256-Z6589yRrQtpx3/vNqkMiGgGsLysd/QyfaX7trqX+k5c="; - }) - ]; - postPatch = '' substituteInPlace alacritty/src/config/ui_config.rs \ --replace xdg-open ${xdg-utils}/bin/xdg-open ''; + checkFlags = [ "--skip=term::test::mock_term" ]; # broken on aarch64 + postInstall = ( if stdenv.isDarwin then '' mkdir $out/Applications @@ -126,6 +120,7 @@ rustPlatform.buildRustPackage rec { install -dm 755 "$out/share/man/man1" gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz" + gzip -c extra/alacritty-msg.man > "$out/share/man/man1/alacritty-msg.1.gz" install -Dm 644 alacritty.yml $out/share/doc/alacritty.yml diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index 121e9b14400..92160700167 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,14 +1,14 @@ { - "version": "14.6.2", - "repo_hash": "0n7l1f1w70nqb9ackcmi1yhx69a32zlkxa962v67782nn2vdcbiz", + "version": "14.6.3", + "repo_hash": "sha256-M8A6ZF1t+N48OTBhVwvOweITmavrl9+Z1Yqw4lxLk38=", "yarn_hash": "1kcjbf8xn3bwac2s9i2i7dpgbkwcjh09wvgbgysm5yffpdswg6nl", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v14.6.2-ee", + "rev": "v14.6.3-ee", "passthru": { - "GITALY_SERVER_VERSION": "14.6.2", + "GITALY_SERVER_VERSION": "14.6.3", "GITLAB_PAGES_VERSION": "1.49.0", "GITLAB_SHELL_VERSION": "13.22.1", - "GITLAB_WORKHORSE_VERSION": "14.6.2" + "GITLAB_WORKHORSE_VERSION": "14.6.3" } } diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index 8366de49cf6..bfccaafbc25 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -33,7 +33,7 @@ let }; }; - version = "14.6.2"; + version = "14.6.3"; gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}"; in @@ -45,7 +45,7 @@ buildGoModule { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "sha256-a9qFAtQP5QtI+E6V3LBYAMYQbvhgOcn75l+6pSQPZ+0="; + sha256 = "sha256-b4gNIYMtwsV2qv3mjKYDnCCGGmQseoqaTGN7k9mR1B8="; }; vendorSha256 = "sha256-ZLd4E3+e25Hqmd6ZyF3X6BveMEg7OF0FX9IvNBWn3v0="; diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index 6977dd81e2b..8e196e50d54 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -5,7 +5,7 @@ in buildGoModule rec { pname = "gitlab-workhorse"; - version = "14.6.2"; + version = "14.6.3"; src = fetchFromGitLab { owner = data.owner; diff --git a/pkgs/desktops/gnome/extensions/pop-shell/default.nix b/pkgs/desktops/gnome/extensions/pop-shell/default.nix index 759deb98b19..e4f8dfa03cd 100644 --- a/pkgs/desktops/gnome/extensions/pop-shell/default.nix +++ b/pkgs/desktops/gnome/extensions/pop-shell/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "gnome-shell-extension-pop-shell"; - version = "unstable-2021-11-30"; + version = "unstable-2022-01-14"; src = fetchFromGitHub { owner = "pop-os"; repo = "shell"; - rev = "4b65ee865d01436ec75a239a0586a2fa6051b8c3"; - sha256 = "DHmp3kzBgbyxRe0TjER/CAqyUmD9LeRqAFQ9apQDzfk="; + rev = "21745c4a8076ad52c9ccc77ca5726f5c7b83de6c"; + sha256 = "sha256-d6NRNbTimwtGVLhcpdFD1AuignVii/xi3YtMWzkS/v0="; }; nativeBuildInputs = [ glib nodePackages.typescript gjs ]; diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix index 6265e1697b3..0b7229a21b5 100644 --- a/pkgs/development/beam-modules/mix-release.nix +++ b/pkgs/development/beam-modules/mix-release.nix @@ -4,6 +4,7 @@ , version , src , nativeBuildInputs ? [ ] +, buildInputs ? [ ] , meta ? { } , enableDebugInfo ? false , mixEnv ? "prod" @@ -27,7 +28,7 @@ assert mixNixDeps != { } -> mixFodDeps == null; stdenv.mkDerivation (overridable // { # rg is used as a better grep to search for erlang references in the final release nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ripgrep ]; - buildInputs = builtins.attrValues mixNixDeps; + buildInputs = buildInputs ++ builtins.attrValues mixNixDeps; MIX_ENV = mixEnv; MIX_DEBUG = if enableDebugInfo then 1 else 0; diff --git a/pkgs/development/libraries/sope/default.nix b/pkgs/development/libraries/sope/default.nix index 415a2b1e1fb..bf2145c68c4 100644 --- a/pkgs/development/libraries/sope/default.nix +++ b/pkgs/development/libraries/sope/default.nix @@ -4,13 +4,13 @@ with lib; gnustep.stdenv.mkDerivation rec { pname = "sope"; - version = "5.4.0"; + version = "5.5.0"; src = fetchFromGitHub { owner = "inverse-inc"; repo = pname; rev = "SOPE-${version}"; - sha256 = "sha256-jOF429Gaf1Qo3bx9mUogBQ0u/tBUxnX7VZxJjxF24Rg="; + sha256 = "sha256-M5PF15Ok+rJLWlfHsC8F8JXJonAR0wwTUbWxegBZ/qQ="; }; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix index f496ce91c82..3d79fa377a5 100644 --- a/pkgs/development/ocaml-modules/camlpdf/default.nix +++ b/pkgs/development/ocaml-modules/camlpdf/default.nix @@ -1,17 +1,17 @@ { lib, stdenv, fetchFromGitHub, which, ocaml, findlib }: -if !lib.versionAtLeast ocaml.version "4.02" +if !lib.versionAtLeast ocaml.version "4.10" then throw "camlpdf is not available for OCaml ${ocaml.version}" else stdenv.mkDerivation rec { - version = "2.4"; + version = "2.5"; name = "ocaml${ocaml.version}-camlpdf-${version}"; src = fetchFromGitHub { owner = "johnwhitington"; repo = "camlpdf"; rev = "v${version}"; - sha256 = "09kzrgmlxb567315p3fy59ba0kv7xhp548n9i3l4wf9n06p0ww9m"; + sha256 = "sha256:1qmsa0xgi960y7r20mvf8hxiiml7l1908s4dm7nq262f19w51gsl"; }; buildInputs = [ which ocaml findlib ]; diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix index 2a0fae4a1db..d86c0d09324 100644 --- a/pkgs/development/ocaml-modules/cpdf/default.nix +++ b/pkgs/development/ocaml-modules/cpdf/default.nix @@ -4,7 +4,7 @@ if !lib.versionAtLeast ocaml.version "4.10" then throw "cpdf is not available for OCaml ${ocaml.version}" else -let version = "2.4"; in +let version = "2.5"; in stdenv.mkDerivation { name = "ocaml${ocaml.version}-cpdf-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { owner = "johnwhitington"; repo = "cpdf-source"; rev = "v${version}"; - sha256 = "1a8lmfc76dr8x6pxgm4aypbys02pfma9yh4z3l1qxp2q1909na5l"; + sha256 = "sha256:0ps6d78i5mp1gcigxfp9rxmjr1k00nkr37vllhr0rdyph97w41s1"; }; buildInputs = [ ocaml findlib ncurses ]; diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix index d379e652509..b37c04a9177 100644 --- a/pkgs/development/python-modules/afsapi/default.nix +++ b/pkgs/development/python-modules/afsapi/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "afsapi"; - version = "0.2.0"; + version = "0.2.1"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "wlcrs"; repo = "python-afsapi"; rev = version; - hash = "sha256-9cExuVFbESOUol10DUj9Bt6evtXi1ctBeAsGitrSDqc="; + hash = "sha256-LBK32CwiYEa+R5VhcpVzMYklPAgombxl05rM/KWRyIU="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/bsblan/default.nix b/pkgs/development/python-modules/bsblan/default.nix index f670bebc8ed..6db95234775 100644 --- a/pkgs/development/python-modules/bsblan/default.nix +++ b/pkgs/development/python-modules/bsblan/default.nix @@ -8,6 +8,7 @@ , pytest-asyncio , pytest-cov , pytest-mock +, pythonOlder , aiohttp , attrs , cattrs @@ -16,13 +17,16 @@ buildPythonPackage rec { pname = "bsblan"; - version = "0.4.1"; + version = "0.5.0"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "liudger"; repo = "python-bsblan"; rev = "v.${version}"; - sha256 = "0vyg9vsrs34jahlav83qp2djv81p3ks31qz4qh46zdij2nx7l1fv"; + sha256 = "1j41y2njnalcsp1vjqwl508yp3ki82lv8108ijz52hprhrq4fffb"; }; propagatedBuildInputs = [ @@ -42,7 +46,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "bsblan" ]; + pythonImportsCheck = [ + "bsblan" + ]; meta = with lib; { description = "Python client for BSB-Lan"; diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix index 6336fc0bdc0..250d337a07f 100644 --- a/pkgs/development/python-modules/cupy/default.nix +++ b/pkgs/development/python-modules/cupy/default.nix @@ -7,12 +7,12 @@ buildPythonPackage rec { pname = "cupy"; - version = "9.6.0"; + version = "10.1.0"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "22469ea1ad51ffbb4af2b139ed0820ac5d0b78f1265b2a095ed5e5d5299aab91"; + sha256 = "ad28e7311b2023391f2278b7649828decdd9d9599848e18845eb4ab1b2d01936"; }; preConfigure = '' diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix index 9546225dabc..c44bfda1331 100644 --- a/pkgs/development/python-modules/jc/default.nix +++ b/pkgs/development/python-modules/jc/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "jc"; - version = "1.17.6"; + version = "1.18.1"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "kellyjonbrazil"; repo = pname; rev = "v${version}"; - sha256 = "sha256-JWipvhMsVI/AX7Pj4iHJh5GIgfwGLc7s1hZZJnsYGIw="; + sha256 = "0xzx32fnm39w916z8wm387ry480rbf7n9qppc18bjdv4jjwgf2rw"; }; propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ]; diff --git a/pkgs/development/python-modules/jsmin/default.nix b/pkgs/development/python-modules/jsmin/default.nix index 3160af6f88f..58759393bbe 100644 --- a/pkgs/development/python-modules/jsmin/default.nix +++ b/pkgs/development/python-modules/jsmin/default.nix @@ -1,17 +1,38 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, pythonOlder +}: buildPythonPackage rec { pname = "jsmin"; version = "3.0.1"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; sha256 = "c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc"; }; + checkInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + "jsmin/test.py" + ]; + + pythonImportsCheck = [ + "jsmin" + ]; + meta = with lib; { description = "JavaScript minifier"; homepage = "https://github.com/tikitu/jsmin/"; license = licenses.mit; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/mattermostdriver/default.nix b/pkgs/development/python-modules/mattermostdriver/default.nix index 6a0be069606..2564670c8b9 100644 --- a/pkgs/development/python-modules/mattermostdriver/default.nix +++ b/pkgs/development/python-modules/mattermostdriver/default.nix @@ -8,13 +8,13 @@ buildPythonPackage rec { pname = "mattermostdriver"; - version = "7.3.1"; + version = "7.3.2"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; - sha256 = "bf629c4b8f825bd7196208aa93995ac5077bd60939ba67cca314a7f13c1dbcea"; + sha256 = "2e4d7b4a17d3013e279c6f993746ea18cd60b45d8fa3be24f47bc2de22b9b3b4"; }; propagatedBuildInputs = [ websockets requests ]; diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix index 6f2f887967e..5457e44dc3b 100644 --- a/pkgs/development/python-modules/pydal/default.nix +++ b/pkgs/development/python-modules/pydal/default.nix @@ -1,16 +1,17 @@ -{ buildPythonPackage +{ lib +, buildPythonPackage , fetchPypi , python -, lib }: buildPythonPackage rec { pname = "pydal"; - version = "20210626.3"; + version = "20220114.1"; + format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "043s52b7srqwwmj7rh783arqryilmv3m8dmmg9bn5sjgfi004jn4"; + sha256 = "8c872f1fd6759eef497d72cf33fe57537be86ccf23515bd47e1f8a04d862236e"; }; postPatch = '' @@ -33,10 +34,10 @@ buildPythonPackage rec { runHook postCheck ''; - meta = { - description = "A pure Python Database Abstraction Layer"; + meta = with lib; { + description = "Python Database Abstraction Layer"; homepage = "https://github.com/web2py/pydal"; - license = with lib.licenses; [ bsd3 ] ; - maintainers = with lib.maintainers; [ wamserma ]; + license = with licenses; [ bsd3 ] ; + maintainers = with maintainers; [ wamserma ]; }; } diff --git a/pkgs/development/python-modules/pymsteams/default.nix b/pkgs/development/python-modules/pymsteams/default.nix index 0fe7d97f499..0f452607518 100644 --- a/pkgs/development/python-modules/pymsteams/default.nix +++ b/pkgs/development/python-modules/pymsteams/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "pymsteams"; - version = "0.2.0"; + version = "0.2.1"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "rveachkc"; repo = pname; rev = version; - sha256 = "1q4fm9dwnx5cy8r6gfzbn2f05hacpjfqlsgcyf2cv56wzb9rrg8v"; + sha256 = "03lna3p8qkmsmaz2nzl76dnz6rci08wsybvr151zl8wwpjdj1sam"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix index c42510e0729..1caa20b3851 100644 --- a/pkgs/development/python-modules/sagemaker/default.nix +++ b/pkgs/development/python-modules/sagemaker/default.nix @@ -12,22 +12,21 @@ , pandas , pathos , packaging +, pythonOlder }: buildPythonPackage rec { pname = "sagemaker"; - version = "2.72.2"; + version = "2.73.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "7bc62eb713d6b2e72bf4b5635e2b1d18790f08ebd80cc9f380b5ba3a5000e727"; + sha256 = "6735874a29aefc1e989a132a2e24945e5b0d057d8b297a2da695cf8421a78810"; }; - pythonImportsCheck = [ - "sagemaker" - "sagemaker.lineage.visualizer" - ]; - propagatedBuildInputs = [ attrs boto3 @@ -42,12 +41,17 @@ buildPythonPackage rec { pandas ]; - doCheck = false; - postFixup = '' [ "$($out/bin/sagemaker-upgrade-v2 --help 2>&1 | grep -cim1 'pandas failed to import')" -eq "0" ] ''; + doCheck = false; + + pythonImportsCheck = [ + "sagemaker" + "sagemaker.lineage.visualizer" + ]; + meta = with lib; { description = "Library for training and deploying machine learning models on Amazon SageMaker"; homepage = "https://github.com/aws/sagemaker-python-sdk/"; diff --git a/pkgs/development/python-modules/sigrok/default.nix b/pkgs/development/python-modules/sigrok/default.nix new file mode 100644 index 00000000000..b8b925ba6b1 --- /dev/null +++ b/pkgs/development/python-modules/sigrok/default.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, libsigrok +, toPythonModule +, python +, autoreconfHook +, pythonImportsCheckHook +, pythonCatchConflictsHook +, swig +, setuptools +, numpy +, pygobject3 +}: + +# build libsigrok plus its Python bindings. Unfortunately it does not appear +# to be possible to build them separately, at least not easily. +toPythonModule ((libsigrok.override { + inherit python; +}).overrideAttrs (orig: { + pname = "${python.libPrefix}-sigrok"; + + patches = orig.patches or [] ++ [ + # Makes libsigrok install the bindings into site-packages properly (like + # we expect) instead of making a version-specific *.egg subdirectory. + ./python-install.patch + ]; + + nativeBuildInputs = orig.nativeBuildInputs or [] ++ [ + autoreconfHook + setuptools + swig + numpy + ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ + pythonImportsCheckHook + pythonCatchConflictsHook + ]; + + buildInputs = orig.buildInputs or [] ++ [ + pygobject3 # makes headers available the configure script checks for + ]; + + propagatedBuildInputs = orig.propagatedBuildInputs or [] ++ [ + pygobject3 + numpy + ]; + + postInstall = '' + ${orig.postInstall or ""} + + # for pythonImportsCheck + export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH" + ''; + + pythonImportsCheck = [ "sigrok" "sigrok.core" ]; + + meta = orig.meta // { + description = "Python bindings for libsigrok"; + maintainers = orig.meta.maintainers ++ [ + lib.maintainers.sternenseemann + ]; + }; +})) diff --git a/pkgs/development/python-modules/sigrok/python-install.patch b/pkgs/development/python-modules/sigrok/python-install.patch new file mode 100644 index 00000000000..9c25eab6f39 --- /dev/null +++ b/pkgs/development/python-modules/sigrok/python-install.patch @@ -0,0 +1,16 @@ +diff --git a/Makefile.am b/Makefile.am +index 280cf64d..e10eb79f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -888,8 +888,9 @@ $(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \ + + python-install: + $(AM_V_at)$(MKDIR_P) "$(DESTDIR)$(prefix)" "$(DESTDIR)$(exec_prefix)" +- destdir='$(DESTDIR)'; $(setup_py) install $${destdir:+"--root=$$destdir"} \ +- --prefix "$(prefix)" --exec-prefix "$(exec_prefix)" ++ destdir='$(DESTDIR)'; $(setup_py) install --root=$${destdir:-/} \ ++ --prefix "$(prefix)" --exec-prefix "$(exec_prefix)" \ ++ --single-version-externally-managed + + python-clean: + -$(AM_V_at)rm -f $(PDIR)/timestamp diff --git a/pkgs/development/python-modules/somajo/default.nix b/pkgs/development/python-modules/somajo/default.nix index 8701fa98e67..e332d0defd7 100644 --- a/pkgs/development/python-modules/somajo/default.nix +++ b/pkgs/development/python-modules/somajo/default.nix @@ -1,22 +1,36 @@ -{ lib, stdenv, fetchFromGitHub, buildPythonPackage, isPy3k, regex }: +{ lib +, stdenv +, fetchFromGitHub +, buildPythonPackage +, pythonOlder +, regex +}: buildPythonPackage rec { - pname = "SoMaJo"; - version = "2.1.6"; - disabled = !isPy3k; + pname = "somajo"; + version = "2.2.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "tsproisl"; - repo = pname; + repo = "SoMaJo"; rev = "v${version}"; - sha256 = "1q88x05729qdnl1gbahisjk3s97wha0b5dj3n63kq2qyvyy0929s"; + sha256 = "0ywdh1pfk0pgm64p97i9cwz0h9wggbp4shxp5l7kkqs2n2v5c6qg"; }; - propagatedBuildInputs = [ regex ]; + propagatedBuildInputs = [ + regex + ]; # loops forever doCheck = !stdenv.isDarwin; + pythonImportsCheck = [ + "somajo" + ]; + meta = with lib; { description = "Tokenizer and sentence splitter for German and English web texts"; homepage = "https://github.com/tsproisl/SoMaJo"; diff --git a/pkgs/development/python-modules/stumpy/default.nix b/pkgs/development/python-modules/stumpy/default.nix index 00e8306a25d..68e35a1d0ec 100644 --- a/pkgs/development/python-modules/stumpy/default.nix +++ b/pkgs/development/python-modules/stumpy/default.nix @@ -7,11 +7,7 @@ , pandas , dask , distributed -, coverage -, flake8 -, black -, pytest -, codecov +, pytestCheckHook }: buildPythonPackage rec { @@ -35,18 +31,9 @@ buildPythonPackage rec { pandas dask distributed - coverage - flake8 - black - pytest - codecov + pytestCheckHook ]; - # ignore changed numpy operations - checkPhase = '' - pytest -k 'not allc' - ''; - meta = with lib; { description = "A powerful and scalable library that can be used for a variety of time series data mining tasks"; homepage = "https://github.com/TDAmeritrade/stumpy"; diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix index 9db3df42823..5a11db8b3b9 100644 --- a/pkgs/development/tools/libsigrok/default.nix +++ b/pkgs/development/tools/libsigrok/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, libzip, glib, libusb1, libftdi1, check -, libserialport, librevisa, doxygen, glibmm, python3 +, libserialport, librevisa, doxygen, glibmm, python , version ? "0.5.1", sha256 ? "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4", doInstallCheck ? true }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { sha256 = "14sd8xqph4kb109g073daiavpadb20fcz7ch1ipn0waz7nlly4sw"; }; - nativeBuildInputs = [ doxygen pkg-config python3 ]; + nativeBuildInputs = [ doxygen pkg-config python ]; buildInputs = [ libzip glib libusb1 libftdi1 check libserialport librevisa glibmm ]; strictDeps = true; diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix index 6a9fc808004..5a01a0295a8 100644 --- a/pkgs/misc/cups/drivers/canon/default.nix +++ b/pkgs/misc/cups/drivers/canon/default.nix @@ -1,5 +1,6 @@ { lib , stdenv +, stdenv_32bit , fetchurl , unzip , autoconf @@ -10,10 +11,18 @@ , jbigkit , glib , gtk3 +, gdk-pixbuf +, pango +, cairo +, coreutils +, atk , pkg-config , gnome2 , libxml2 +, runtimeShell +, proot , ghostscript +, pkgs , pkgsi686Linux , zlib }: @@ -21,6 +30,12 @@ let i686_NIX_GCC = pkgsi686Linux.callPackage ({ gcc }: gcc) { }; + ld32 = + if stdenv.hostPlatform.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32" + else if stdenv.hostPlatform.system == "i686-linux" then "${stdenv.cc}/nix-support/dynamic-linker" + else throw "Unsupported platform for Canon UFR2 Drivers: ${stdenv.hostPlatform.system}"; + ld64 = "${stdenv.cc}/nix-support/dynamic-linker"; + libs = pkgs: lib.makeLibraryPath buildInputs; version = "5.40"; dl = "6/0100009236/10"; @@ -31,10 +46,12 @@ let sha256 = "sha256:069z6ijmql62mcdyxnzc9mf0dxa6z1107cd0ab4i1adk8kr3d75k"; }; + buildInputs = [ cups zlib jbigkit glib gtk3 pkg-config gnome2.libglade libxml2 gdk-pixbuf pango cairo atk ]; + in -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "canon-cups-ufr2"; inherit version; src = src_canon; @@ -59,7 +76,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ makeWrapper unzip autoconf automake libtool_1_5 ]; - buildInputs = [ cups zlib jbigkit glib gtk3 pkg-config gnome2.libglade libxml2 ]; + inherit buildInputs; installPhase = '' runHook preInstall @@ -78,6 +95,9 @@ stdenv.mkDerivation { cd cnrdrvcups-lb-${version} ./allgen.sh make install + + mkdir -p $out/share/cups/model + install -m 644 ppd/*.ppd $out/share/cups/model/ ) ( cd lib @@ -111,7 +131,7 @@ stdenv.mkDerivation { install -m 755 libs64/intel/cnpkbidir $out/bin install -m 755 libs64/intel/cnpkmoduleufr2r $out/bin install -m 755 libs64/intel/cnrsdrvufr2 $out/bin - install -m 755 libs64/intel/cnsetuputil2 $out/bin + install -m 755 libs64/intel/cnsetuputil2 $out/bin/cnsetuputil2 mkdir -p $out/share/cnpkbidir install -m 644 libs64/intel/cnpkbidir_info* $out/share/cnpkbidir @@ -123,27 +143,47 @@ stdenv.mkDerivation { ( cd $out/lib32 ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so + ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so.1 ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so.1 ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so.1 ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so.1 + + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${stdenv_32bit.glibc.out}/lib:${pkgsi686Linux.libxml2.out}/lib:$out/lib32" libcanonufr2r.so.1.0.0 + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${stdenv_32bit.glibc.out}/lib" libcaepcmufr2.so.1.0 + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${stdenv_32bit.glibc.out}/lib" libColorGearCufr2.so.2.0.0 ) ( cd $out/lib ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so + ln -sf libcaepcmufr2.so.1.0 libcaepcmufr2.so.1 ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so ln -sf libcaiowrapufr2.so.1.0.0 libcaiowrapufr2.so.1 ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so ln -sf libcanon_slimufr2.so.1.0.0 libcanon_slimufr2.so.1 ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so ln -sf libufr2filterr.so.1.0.0 libufr2filterr.so.1 + + patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64:$out/lib" libcanonufr2r.so.1.0.0 + patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" libcaepcmufr2.so.1.0 + patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" libColorGearCufr2.so.2.0.0 ) - # Perhaps patch the lib64 version as well??? - patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearCufr2.so.2.0.0 + ( + cd $out/bin + patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" cnsetuputil2 + patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64" cnpdfdrv + patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64:$out/lib" cnpkbidir + patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.glibc.out}/lib64:$out/lib" cnrsdrvufr2 + + mv cnsetuputil2 cnsetuputil2.wrapped + echo "#!${runtimeShell} -e" > cnsetuputil2 + echo "exec ${proot}/bin/proot -b $out/usr/share/cnsetuputil2:/usr/share/cnsetuputil2 -b ${coreutils}/bin/ls:/bin/ls -b ${cups}/share:/usr/share/cups $out/bin/cnsetuputil2.wrapped" > cnsetuputil2 + chmod +x cnsetuputil2 + ) ( cd lib/data/ufr2 @@ -154,8 +194,11 @@ stdenv.mkDerivation { install -m 644 CnLB* $out/share/caepcm ) - mkdir -p $out/share/cups/model - install -m 644 cnrdrvcups-lb-${version}/ppd/*.ppd $out/share/cups/model/ + ( + cd cnrdrvcups-utility-${version}/data + mkdir -p $out/usr/share/cnsetuputil2 + install -m 644 cnsetuputil* $out/usr/share/cnsetuputil2 + ) makeWrapper "${ghostscript}/bin/gs" "$out/bin/gs" \ --prefix LD_LIBRARY_PATH ":" "$out/lib" \ diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix index 4bbe12cbd29..e0045a3827d 100644 --- a/pkgs/misc/emulators/retroarch/cores.nix +++ b/pkgs/misc/emulators/retroarch/cores.nix @@ -8,7 +8,6 @@ , cmake , curl , fetchFromGitHub -, fetchpatch , ffmpeg , fluidsynth , gettext @@ -56,7 +55,7 @@ let , license , src ? (getCoreSrc core) , broken ? false - , version ? "unstable-2021-12-06" + , version ? "unstable-2022-01-21" , platforms ? retroarch.meta.platforms # The resulting core file is based on core name # Setting `normalizeCore` to `true` will convert `-` to `_` on the core filename @@ -245,14 +244,6 @@ in description = "Port of bsnes to libretro"; license = lib.licenses.gpl3Only; makefile = "Makefile"; - # https://github.com/libretro/bsnes-libretro/issues/10 - patches = [ - (fetchpatch { - name = "added-missing-GB_VERSION-define.patch"; - url = "https://github.com/nE0sIghT/bsnes-libretro/commit/97fd8b486f9a9046277a580b238b6673a98f7f72.patch"; - sha256 = "sha256-gCiy6sqc9sixT6Appr5ZCfHyBE2jYhPb0KvI63nfmEc="; - }) - ]; }; bsnes-hd = @@ -322,6 +313,24 @@ in postBuild = "cd src/citra_libretro"; }; + citra-canary = mkLibRetroCore { + core = "citra-canary"; + description = "Port of Citra Canary/Experimental to libretro"; + license = lib.licenses.gpl2Plus; + extraNativeBuildInputs = [ cmake pkg-config ]; + extraBuildInputs = [ libGLU libGL boost ]; + makefile = "Makefile"; + cmakeFlags = [ + "-DENABLE_LIBRETRO=ON" + "-DENABLE_QT=OFF" + "-DENABLE_SDL2=OFF" + "-DENABLE_WEB_SERVICE=OFF" + "-DENABLE_DISCORD_PRESENCE=OFF" + ]; + preConfigure = "sed -e '77d' -i externals/cmake-modules/GetGitRevisionDescription.cmake"; + postBuild = "cd src/citra_libretro"; + }; + desmume = mkLibRetroCore { core = "desmume"; description = "libretro wrapper for desmume NDS emulator"; @@ -865,6 +874,7 @@ in "-DBUILD_SDL=OFF" "-DBUILD_SOKOL=OFF" ]; + preConfigure = "cd core"; postBuild = "cd lib"; }; diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix index 861fa6a47f6..f0dba9058d1 100644 --- a/pkgs/misc/emulators/retroarch/default.nix +++ b/pkgs/misc/emulators/retroarch/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , enableNvidiaCgToolkit ? false +, withGamemode ? stdenv.isLinux , withVulkan ? stdenv.isLinux , alsa-lib , AppKit @@ -8,6 +9,7 @@ , ffmpeg , Foundation , freetype +, gamemode , libdrm , libGL , libGLU @@ -26,23 +28,22 @@ , pkg-config , python3 , SDL2 -, substituteAll , udev , vulkan-loader , wayland , which }: -with lib; - let - version = "1.9.14"; - libretroSuperSrc = fetchFromGitHub { + version = "1.10.0"; + libretroCoreInfo = fetchFromGitHub { owner = "libretro"; repo = "libretro-core-info"; - sha256 = "sha256-C2PiBcN5r9NDxFWFE1pytSGR1zq9E5aVt6QUf5aJ7I0="; + sha256 = "sha256-3j7fvcfbgyk71MmbUUKYi+/0cpQFNbYXO+DMDUjDqkQ="; rev = "v${version}"; }; + runtimeLibs = lib.optional withVulkan vulkan-loader + ++ lib.optional withGamemode gamemode.lib; in stdenv.mkDerivation rec { pname = "retroarch-bare"; @@ -51,7 +52,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "libretro"; repo = "RetroArch"; - sha256 = "sha256-H2fCA1sM8FZfVnLxBjnKe7RjHJNAn/Antxlos5oFFSY="; + sha256 = "sha256-bpTSzODVRKRs1OW6JafjbU3e/AqdQeGzWcg1lb9SIyo="; rev = "v${version}"; }; @@ -70,46 +71,49 @@ stdenv.mkDerivation rec { ''; nativeBuildInputs = [ pkg-config ] ++ - optional stdenv.isLinux wayland ++ - optional withVulkan makeWrapper; + lib.optional stdenv.isLinux wayland ++ + lib.optional (runtimeLibs != [ ]) makeWrapper; buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ++ - optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ - optional withVulkan vulkan-loader ++ - optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ - optionals stdenv.isLinux [ + lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++ + lib.optional withVulkan vulkan-loader ++ + lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++ + lib.optionals stdenv.isLinux [ alsa-lib - libdrm - libpulseaudio - libv4l libX11 libXdmcp libXext libXxf86vm + libdrm + libpulseaudio + libv4l + libxkbcommon mesa udev wayland - libxkbcommon ]; enableParallelBuilding = true; configureFlags = lib.optionals stdenv.isLinux [ "--enable-kms" "--enable-egl" ]; - postInstall = optionalString withVulkan '' + postInstall = '' mkdir -p $out/share/libretro/info # TODO: ideally each core should have its own core information - cp -r ${libretroSuperSrc}/* $out/share/libretro/info - wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib + cp -r ${libretroCoreInfo}/* $out/share/libretro/info + '' + lib.optionalString (runtimeLibs != [ ]) '' + wrapProgram $out/bin/retroarch \ + --prefix LD_LIBRARY_PATH ':' ${lib.makeLibraryPath runtimeLibs} ''; preFixup = "rm $out/bin/retroarch-cg2glsl"; - meta = { + meta = with lib; { homepage = "https://libretro.com"; description = "Multi-platform emulator frontend for libretro cores"; license = licenses.gpl3Plus; platforms = platforms.unix; + changelog = "https://github.com/libretro/RetroArch/blob/v${version}/CHANGES.md"; maintainers = with maintainers; [ MP2E edwtjo matthewbauer kolbycrouch thiagokokada ]; # FIXME: exits with error on macOS: # No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/misc/emulators/retroarch/hashes.json index 4f01bcf8b47..1280f25047d 100644 --- a/pkgs/misc/emulators/retroarch/hashes.json +++ b/pkgs/misc/emulators/retroarch/hashes.json @@ -3,120 +3,103 @@ "owner": "libretro", "repo": "libretro-atari800", "rev": "478a8ec99a7f8436a39d5ac193c5fe313233ee7b", - "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI=", - "fetchSubmodules": false + "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI=" }, "beetle-gba": { "owner": "libretro", "repo": "beetle-gba-libretro", "rev": "38182572571a48cb58057cde64b915237c4e2d58", - "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=", - "fetchSubmodules": false + "sha256": "4xnXWswozlcXBNI1lbGSNW/gAdIeLLO9Bf1SxOFLhSo=" }, "beetle-lynx": { "owner": "libretro", "repo": "beetle-lynx-libretro", - "rev": "24ca629d50de752861684a83cc9bcee96313f9e1", - "sha256": "LPt3JT0lyKK73yNIxvR1eUuzOkLKa8IkRA4cchhfljA=", - "fetchSubmodules": false + "rev": "8930e88a4342945c023cbf713031a65de11a8e75", + "sha256": "bg/a+9ZJNTUIuEHKrFIss8sia3JWMWXIXbxha5qKVeI=" }, "beetle-ngp": { "owner": "libretro", "repo": "beetle-ngp-libretro", "rev": "f7c393184e5228c3d3807ee74c951c4c549107d8", - "sha256": "7vki8VkwOzxwMZcUxekg1DFSskV7VNQ1SRaU3M1xHZ0=", - "fetchSubmodules": false + "sha256": "7vki8VkwOzxwMZcUxekg1DFSskV7VNQ1SRaU3M1xHZ0=" }, "beetle-pce-fast": { "owner": "libretro", "repo": "beetle-pce-fast-libretro", - "rev": "6f63eab86abab335c1e337d4e8c1582bceda5708", - "sha256": "QRw7FDd7rOTsTW4qGr2isvFHmobz7GgXUt84q0x2S/c=", - "fetchSubmodules": false + "rev": "0f43fd4dc406e7da6bbdc13b6eb1c105d6072f8a", + "sha256": "u1lOgXEYuGAF4sOLdsBzcA4/A5Yz1b82TjFBiM57yE4=" }, "beetle-pcfx": { "owner": "libretro", "repo": "beetle-pcfx-libretro", "rev": "6d2b11e17ad5a95907c983e7c8a70e75508c2d41", - "sha256": "WG2YpCYdL/MxW5EbiP2+1VtAjbX7yYDIcLXhb+YySI4=", - "fetchSubmodules": false + "sha256": "WG2YpCYdL/MxW5EbiP2+1VtAjbX7yYDIcLXhb+YySI4=" }, "beetle-psx": { "owner": "libretro", "repo": "beetle-psx-libretro", - "rev": "39be47bc9958258cf3b6f3c68d9485ea99971cf8", - "sha256": "q6aKSfG1A2AV2MppZFujDwqqZu26R7b0t9KyAETQTyU=", - "fetchSubmodules": false + "rev": "297970e4ff080ea80a5670209aeea4fde8059020", + "sha256": "6kZher3/+5ywXyC3n9R9JVA4IVLZBaSfAcWEKp2SsDE=" }, "beetle-saturn": { "owner": "libretro", "repo": "beetle-saturn-libretro", "rev": "e6ba71f8bcc647b646d94dec812b24d00c41cf3f", - "sha256": "tDbV+CsDr4bowBbJ/C8J9scfCryTAXxz58pGaUHU5yU=", - "fetchSubmodules": false + "sha256": "tDbV+CsDr4bowBbJ/C8J9scfCryTAXxz58pGaUHU5yU=" }, "beetle-snes": { "owner": "libretro", "repo": "beetle-bsnes-libretro", "rev": "bc867656d7438aaffc6818b3b92350587bc78a47", - "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=", - "fetchSubmodules": false + "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=" }, "beetle-supergrafx": { "owner": "libretro", "repo": "beetle-supergrafx-libretro", - "rev": "cd800d701f0b8f4dcb1654a5cb5b24ee09dd9257", - "sha256": "vnskn2+65cKQjaXO9GJnKNppi8TWHUO+uZdt2BYGN9Y=", - "fetchSubmodules": false + "rev": "7bae6fb1a238f1e66b129c7c70c7cb6dbdc09fa1", + "sha256": "OAJ86XrwjDrgCjrk0RHMn8sHYaJFhJhLaQnhaEVXN38=" }, "beetle-vb": { "owner": "libretro", "repo": "beetle-vb-libretro", "rev": "aa77198c6c60b935503b5ea2149b8ff7598344da", - "sha256": "ShsMYc2vjDoiN1yCCoSl91P5ecYJDj/V+VWUYuYVxas=", - "fetchSubmodules": false + "sha256": "ShsMYc2vjDoiN1yCCoSl91P5ecYJDj/V+VWUYuYVxas=" }, "beetle-wswan": { "owner": "libretro", "repo": "beetle-wswan-libretro", - "rev": "ea00c1d8eb9894538dd8758975cd9d6ae99ead1e", - "sha256": "0ptDbq3X8EGNwPePr4H0VQkgmXXIP50dNpITX8DX6w8=", - "fetchSubmodules": false + "rev": "5717c101b314f64d4c384c23b1934d09fcbf82bb", + "sha256": "Nfezb6hja1qHv1fMGU9HMbbb56GHAfe/zIgRqrzz334=" }, "blastem": { "owner": "libretro", "repo": "blastem", "rev": "0786858437ed71996f43b7af0fbe627eb88152fc", - "sha256": "uEP5hSgLAle1cLv/EM7D11TJMAggu7pqWxfrUt3rhEg=", - "fetchSubmodules": false + "sha256": "uEP5hSgLAle1cLv/EM7D11TJMAggu7pqWxfrUt3rhEg=" }, "bluemsx": { "owner": "libretro", "repo": "bluemsx-libretro", - "rev": "cfc1df4d026387883f21994bcce603c4a6be8730", - "sha256": "ix/AyYNer1R73ZJW1reXyj7geBr3ThrqXf5Ki5yrz9A=", - "fetchSubmodules": false + "rev": "5dfdb75106e10ef8bc21b8bcea1432ecbd590b2a", + "sha256": "0D0xufIt3qmQ+/UjyWynoLyLDSza8cTrFp3UwGWBXko=" }, "bsnes": { "owner": "libretro", "repo": "bsnes-libretro", - "rev": "44d97b17d06a10ae17d97a91a48e5acd10ec6db4", - "sha256": "VNSeTRryrX2/V38GGXTRLuDEQqDUmX2DUOHAKLxJezU=", - "fetchSubmodules": false + "rev": "1b2987ab1e9caf5c8d7550da01ffa08edff2f128", + "sha256": "l6Jvn0ZgFaKSWjiV2bN9aemxLyfnNEQFc+HS1/MuiaY=" }, "bsnes-hd": { "owner": "DerKoun", "repo": "bsnes-hd", "rev": "65f24e56c37f46bb752190024bd4058e64ad77d1", - "sha256": "1dk2i71NOLeTTOZjVll8wrkr5dIH5bGSGUeeHqWjZHE=", - "fetchSubmodules": false + "sha256": "1dk2i71NOLeTTOZjVll8wrkr5dIH5bGSGUeeHqWjZHE=" }, "bsnes-mercury": { "owner": "libretro", "repo": "bsnes-mercury", "rev": "d232c6ea90552f5921fec33a06626f08d3e18b24", - "sha256": "fpl7hmqz+Ca+9ZeM6E1JSikbiu+NJUU8xXtyl6Dd9Gg=", - "fetchSubmodules": false + "sha256": "fpl7hmqz+Ca+9ZeM6E1JSikbiu+NJUU8xXtyl6Dd9Gg=" }, "citra": { "owner": "libretro", @@ -127,438 +110,390 @@ "leaveDotGit": true, "deepClone": true }, + "citra-canary": { + "owner": "libretro", + "repo": "citra", + "rev": "5401990a9be46e4497abc92db3d5f2042674303d", + "sha256": "JKKJBa840i7ESwMrB5tKamCBmrYvvoEUdibqxkWg5Gc=", + "fetchSubmodules": true, + "leaveDotGit": true, + "deepClone": true + }, "desmume": { "owner": "libretro", "repo": "desmume", "rev": "7ea0fc96804fcd9c8d33e8f76cf64b1be50cc5ea", - "sha256": "4S/CirRVOBN6PVbato5X5fu0tBn3Fu5FEAbdf3TBqng=", - "fetchSubmodules": false + "sha256": "4S/CirRVOBN6PVbato5X5fu0tBn3Fu5FEAbdf3TBqng=" }, "desmume2015": { "owner": "libretro", "repo": "desmume2015", "rev": "cd89fb7c48c735cb321311fbce7e6e9889dda1ce", - "sha256": "9Ou/n6pxRjJOp/Ybpyg4+Simosj2X26kLZCMEqeVL6U=", - "fetchSubmodules": false + "sha256": "9Ou/n6pxRjJOp/Ybpyg4+Simosj2X26kLZCMEqeVL6U=" }, "dolphin": { "owner": "libretro", "repo": "dolphin", - "rev": "48066c84560322219be4080bca125cc03d48f411", - "sha256": "IPKcqges/BX6KFQSirLpmsI2+7/cjcrySK+YWaA1cuo=", - "fetchSubmodules": false + "rev": "3b19e6d1781584f3e1fd2922b48b8ae6b3bcb686", + "sha256": "EcgJhkMzdZfYRwSpU1OcsJqQyq4V8dq5PndVufZFy7k=" }, "dosbox": { "owner": "libretro", "repo": "dosbox-libretro", "rev": "aa71b67d54eaaf9e41cdd3cb5153d9cff0ad116e", - "sha256": "L0Y67UROjldnXUlLQ+Xbd7RHLb96jDxlB/k+LR9Kbas=", - "fetchSubmodules": false + "sha256": "L0Y67UROjldnXUlLQ+Xbd7RHLb96jDxlB/k+LR9Kbas=" }, "eightyone": { "owner": "libretro", "repo": "81-libretro", - "rev": "7e8153cd5b88cd5cb23fb0c03c04e7c7d8a73159", - "sha256": "Y+RU3T4qUmV44IZ5OBNhtC+f/DX6njOCF0tsl8MN4qM=", - "fetchSubmodules": false + "rev": "86d7d5afe98f16006d4b1fdb99d281f1d7ea6b2f", + "sha256": "QN7anzqv1z8SgY8dlkjr8Ns7reGWc7hTneiRmorXZSk=" }, "fbalpha2012": { "owner": "libretro", "repo": "fbalpha2012", "rev": "23f98fc7cf4f2f216149c263cf5913d2e28be8d4", - "sha256": "dAInW6tTV7oXcPhKMnHWcmQaWQCTqRrYHD2yuaI1I1w=", - "fetchSubmodules": false + "sha256": "dAInW6tTV7oXcPhKMnHWcmQaWQCTqRrYHD2yuaI1I1w=" }, "fbneo": { "owner": "libretro", "repo": "fbneo", - "rev": "8e9f73ab28fc6176f0bde53eac0f0b561b065e16", - "sha256": "gv1Yuo0wFB6MmCtnajM71EK2GEzd5X29VYY2yFcB6Uk=", - "fetchSubmodules": false + "rev": "4ecf2782a4eee042d1e126d1671e5231b6437b6e", + "sha256": "15MYI03r45mmRsXCwzWnjfBdtzSaHLp7DfmcACQFTvU=" }, "fceumm": { "owner": "libretro", "repo": "libretro-fceumm", - "rev": "02b5bbf26981b5ae0da81a9f312cb51ed64112b8", - "sha256": "zsY0RyWLJD2Zf1qDzuMbbNxV630TAIt3KqjLWXR4lgQ=", - "fetchSubmodules": false + "rev": "eb06d17e7912780a3ee117ae73bc50c3948c761c", + "sha256": "aBqskJtK1bFBjwaoo9hilr33fyAWsdj5+hFC3WY3sKk=" }, "flycast": { "owner": "libretro", "repo": "flycast", - "rev": "041297cc6c266b1185a4414271a10732c946239c", - "sha256": "htuUfzwlSbhh8CxMEeE8HqNqaJupav4cBfXMwMEKim8=", - "fetchSubmodules": false + "rev": "0d8c6a2e717c002bc76ce26a152353b004fb15e7", + "sha256": "t2RGHAyYXeHVqTqqhayOUWx/msFN9q/Z9P2wXJUtQTI=" }, "fmsx": { "owner": "libretro", "repo": "fmsx-libretro", - "rev": "cd2d59a9b820a0abf038fa7e279965da34132960", - "sha256": "8mOcTTETgDWGDV5q9n3UupMsbPXEqv0AbQGdgOSKfBk=", - "fetchSubmodules": false + "rev": "dfcda056896576c6a1c75c002a82d0e6c1160ccc", + "sha256": "9ANZ1suAQcYOhqSchQ20Yuqvgw06j5Sd3Z1fjrp2UFc=" }, "freeintv": { "owner": "libretro", "repo": "freeintv", - "rev": "0058a09492c5c17a4fa59ebb3601ce66844b3b25", - "sha256": "DA6eAl9ZR84Ow8rH9q/DVbEU83nmidwMy3kqk+hWWLQ=", - "fetchSubmodules": false + "rev": "d58caf23ed1438a1db58f8d6ac24ca521b411d3b", + "sha256": "nUV+A3Zh66M1K5NDK0ksNF5H1HS3AQdeYLaGfaA34n4=" }, "gambatte": { "owner": "libretro", "repo": "gambatte-libretro", - "rev": "eb6f26a57ff6c35154950da20f83ddf1d44d4ca6", - "sha256": "boPCbMX1o1i+rL0dnY0M3pzY1D6uzoYRN21C1zXXOJw=", - "fetchSubmodules": false + "rev": "79bb2e56d034c30d8dcac02b6c34a59ec8fe91bc", + "sha256": "H+Hkeep18whaSYbyG8DcaJqsVVu7DEX9T28pkfXfyCg=" }, "genesis-plus-gx": { "owner": "libretro", "repo": "Genesis-Plus-GX", - "rev": "8a7d4c87d2e6936d64c1251c6f968a93cc87cce5", - "sha256": "SX0jA8VuN4LNVhR/aw3gF0uF7+c9McEiHnNmxbPtE5g=", - "fetchSubmodules": false + "rev": "88c9ad000ba553b9c819d9eb259f741fabd877bb", + "sha256": "8ZCMq8/sk5TqwTNWMfDevZHRPSOM1PJ57kiZZ7qfQxA=" }, "gpsp": { "owner": "libretro", "repo": "gpsp", - "rev": "be3fdfd0b4e0529d7e00c4e16eb26d92fe0559a6", - "sha256": "GX3iAVNfznxa/3aIHuopFFNsdz2b22BiQyycioH1TGw=", - "fetchSubmodules": false + "rev": "e554360dd3ed283696fc607877024a219248b735", + "sha256": "ImsqB89XmjF8nvs7j8IZVvFltgZRYvF2L7LTcJG/xCU=" }, "gw": { "owner": "libretro", "repo": "gw-libretro", "rev": "0f1ccca156388880bf4507ad44741f80945dfc6f", - "sha256": "BVpx8pL224J2u9W6UDrxzfEv4qIsh6wrf3bDdd1R850=", - "fetchSubmodules": false + "sha256": "BVpx8pL224J2u9W6UDrxzfEv4qIsh6wrf3bDdd1R850=" }, "handy": { "owner": "libretro", "repo": "libretro-handy", - "rev": "ebcbb8be5d174306ffb091b7657637b910fc35d2", - "sha256": "mkPgOFfYDICmFu0nZ+9kfbrmSmPpNdC9lvci0MsXIwo=", - "fetchSubmodules": false + "rev": "3b02159ba32aa37c1b93d7f7eac56b28e3715645", + "sha256": "mBKK+pdWgkxYkV4OOiBrlWbLAMugDX0fd6QRh0D7JYU=" }, "hatari": { "owner": "libretro", "repo": "hatari", - "rev": "cea06eebf695b078fadc0e78bb0f2b2baaca799f", - "sha256": "Z05IGubwdgg7X/e2ZG49zVfXuITM59HW/1gicdpDXls=", - "fetchSubmodules": false + "rev": "79d128888ca3efdd27d639a35edf72a9bc81a798", + "sha256": "du2xORgAXTSQArqNuFa5gjticgZ+weqySFHVz2Y2qzI=" }, "mame": { "owner": "libretro", "repo": "mame", - "rev": "031ac783585e7d5156a6f87a9ba20d88caf94ad6", - "sha256": "hLMQw5jvJTxojGwCY7iUDHcJdLZjcLzEDhW576TerJI=", - "fetchSubmodules": false + "rev": "2f9c793a77222ae46266c71f64d491cf7870dc1e", + "sha256": "WAhm6QMMVbnuSIK4PW7Ek+AAkMs7s95gGb6ERzlon0w=" }, "mame2000": { "owner": "libretro", "repo": "mame2000-libretro", "rev": "4793742b457945afb74053c8a895e6ff0b36b033", - "sha256": "DA9fZTic/jlYzSAIiOjfhohyEyQZiBNdIa8YCZoKZNs=", - "fetchSubmodules": false + "sha256": "DA9fZTic/jlYzSAIiOjfhohyEyQZiBNdIa8YCZoKZNs=" }, "mame2003": { "owner": "libretro", "repo": "mame2003-libretro", - "rev": "80a4ca5c0db69be9fe9b65dcaa7ad45930c989b8", - "sha256": "ZViVX+Z40ctxWGiQtfmRUDbUT7EYHqTNDhwWbKBjTEQ=", - "fetchSubmodules": false + "rev": "dbda6ddacdd8962cfea25000421dba398e551aef", + "sha256": "RSL3iZZEJCxOtsJqjnM5ZiT0yM2nAgg/Ujq6FBLMHkk=" }, "mame2003-plus": { "owner": "libretro", "repo": "mame2003-plus-libretro", - "rev": "8dc4cfa741db8136e43c4a0eabdc1977fd88ccdb", - "sha256": "gcsL2xfF+q5ECN9u4JaKR8rimCXLt/bVSzybLo2ln3Q=", - "fetchSubmodules": false + "rev": "9c0c954f0f88730f44abdd4d414691fef6b1cd7c", + "sha256": "NLdHc0VuZhqQhAzv+8kipc0mhqT2BNaJeLYZUx7DwRU=" }, "mame2010": { "owner": "libretro", "repo": "mame2010-libretro", "rev": "932e6f2c4f13b67b29ab33428a4037dee9a236a8", - "sha256": "HSZRSnc+0300UE9fPcUOMrXABlxHhTewkFPTqQ4Srxs=", - "fetchSubmodules": false + "sha256": "HSZRSnc+0300UE9fPcUOMrXABlxHhTewkFPTqQ4Srxs=" }, "mame2015": { "owner": "libretro", "repo": "mame2015-libretro", - "rev": "ef41361dc9c88172617f7bbf6cd0ead4516a3c3f", - "sha256": "HZrw9KKwYAJyU4NH1BEvuod/TK/nqjN03qJuSX8JP8o=", - "fetchSubmodules": false + "rev": "e6a7aa4d53726e61498f68d6b8e2c092a2169fa2", + "sha256": "IgiLxYYuUIn3YE+kQCXzgshES2VNpUHn0Qjsorw0w/s=" }, "mame2016": { "owner": "libretro", "repo": "mame2016-libretro", - "rev": "69711c25c14f990b05fdce87fb92f3b5c312ec1e", - "sha256": "QdSgWcZIMDnmYAKAnvwNRPBYRaSMTcRpI7Vd04Xv3Is=", - "fetchSubmodules": false + "rev": "bcff8046328da388d100b1634718515e1b15415d", + "sha256": "XxnX39+0VUbG9TF8+wFEFVxHCm2rzrJsIQryyNsF6zU=" }, "melonds": { "owner": "libretro", "repo": "melonds", - "rev": "1ad65728476d7b9594c4ff91a1ba60460a0a30e7", - "sha256": "EBV8F2MCmWuxWKMOXipTZKRGHqp8sb/ojK3JpGZe818=", - "fetchSubmodules": false + "rev": "0053daa700018657bf2e47562b3b4eb86f9b9d03", + "sha256": "K6ZYuk7cE+ioq1rLRyAKNQxddCYIOXLU5SXT7sYgGnc=" }, "mesen": { "owner": "libretro", "repo": "mesen", "rev": "094d82bf724448426acbaad45e83bc38994e32f6", - "sha256": "9+AqZRv8lugNNa+ZZzIPJNO87J1aBUEiOggL8aYno1M=", - "fetchSubmodules": false + "sha256": "9+AqZRv8lugNNa+ZZzIPJNO87J1aBUEiOggL8aYno1M=" }, "mesen-s": { "owner": "libretro", "repo": "mesen-s", "rev": "42eb0e8ad346608dae86feb8a04833d16ad21541", - "sha256": "q6zeoNiZtFy8ZYls9/E+O7o9BYTcVcmYjbJA48qiraU=", - "fetchSubmodules": false + "sha256": "q6zeoNiZtFy8ZYls9/E+O7o9BYTcVcmYjbJA48qiraU=" }, "meteor": { "owner": "libretro", "repo": "meteor-libretro", "rev": "e533d300d0561564451bde55a2b73119c768453c", - "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=", - "fetchSubmodules": false + "sha256": "zMkgzUz2rk0SD5ojY4AqaDlNM4k4QxuUxVBRBcn6TqQ=" }, "mgba": { "owner": "libretro", "repo": "mgba", - "rev": "c33adfa66b4b3f72c939c27ff0668ebeada75086", - "sha256": "naZkfIghS4mIT5LT2x1E8W9/bju9pLZb8RfEHOlx7QI=", - "fetchSubmodules": false + "rev": "43da6e1d54ad0395f474346db88fe59a4c0aa451", + "sha256": "JxiWIBQi1fZoBV2lvx2r7iIvlQm0BYuJFz0TsxngUT8=" }, "mupen64plus": { "owner": "libretro", "repo": "mupen64plus-libretro-nx", - "rev": "018ee72b4fe247b38ed161033ad12a19bb936f00", - "sha256": "vJz9S9lUgJp8O0NgJF6/EYymFqwZefvrT/HJLpMhgEk=", - "fetchSubmodules": false + "rev": "350f90a73cf0f5d65357ce982ccbaa3b22fc3569", + "sha256": "9Hq93+dvO60LBbcXLIHsTq243QThicI0rVJW3tou/5Y=" }, "neocd": { "owner": "libretro", "repo": "neocd_libretro", "rev": "83d10f3be10fff2f28aa56fc674c687528cb7f5c", - "sha256": "yYZGoMsUfE8cpU9i826UWQGi1l0zPJPcBDb2CINxGeQ=", - "fetchSubmodules": false + "sha256": "yYZGoMsUfE8cpU9i826UWQGi1l0zPJPcBDb2CINxGeQ=" }, "nestopia": { "owner": "libretro", "repo": "nestopia", - "rev": "21e2cec7a13f0a09f493637de289e59386e2fd36", - "sha256": "XKEY43wtdE78XN2TnT8AW80irnsbIwPzQ1EkGXOrsG4=", - "fetchSubmodules": false + "rev": "8af07b7ab49e45495cbc4ba73cd2f879d9908b55", + "sha256": "Z447flP1L/7gWEovWhbBearPKzsZNnGE2cz7jH7kEnY=" }, "np2kai": { "owner": "AZO234", "repo": "NP2kai", - "rev": "3e8fedc7c1c6f68faa26589187512474a766ee9e", - "sha256": "5bfh/aZOqfHz1x2s5AzZo4zq9qA4w10d9vYuuILdKJQ=", + "rev": "30d4b6959c48db039207a37e278c868c7737ed69", + "sha256": "uIcgbpcEz6yUKrBe0r84Yq2ihWfT0+TdUTIF5kMT5mI=", "fetchSubmodules": true }, "o2em": { "owner": "libretro", "repo": "libretro-o2em", "rev": "f1050243e0d5285e7769e94a882b0cf39d2b7370", - "sha256": "wD+iJ8cKC8jYFZ6OVvX71uO7sSh5b/LLoc5+g7f3Yyg=", - "fetchSubmodules": false + "sha256": "wD+iJ8cKC8jYFZ6OVvX71uO7sSh5b/LLoc5+g7f3Yyg=" }, "opera": { "owner": "libretro", "repo": "opera-libretro", - "rev": "aa868e656b518567a95b11b2f14c5db8001b11a0", - "sha256": "YUzfHtgKCzgxZwslFxwmAN0hg+MIGLAYBAI7RUCIW40=", - "fetchSubmodules": false + "rev": "3849c969c64b82e622a7655b327fa94bc5a4c7cc", + "sha256": "McSrvjrYTemqAAnfHELf9qXC6n6Dg4kNsUDA7e2DvkE=" }, "parallel-n64": { "owner": "libretro", "repo": "parallel-n64", - "rev": "0a67445ce63513584d92e5c57ea87efe0da9b3bd", - "sha256": "rms+T8JOp/TJ/T5a5uLj8lu1LLz/GAsJZ7UbK42C9yU=", - "fetchSubmodules": false + "rev": "28c4572c9a09447b3bf5ed5fbd3594a558bc210d", + "sha256": "by8NvKjVT9OrgVhNtv5E4Fqmdva42lWV8UQi0SKfBL8=" }, "pcsx2": { "owner": "libretro", "repo": "pcsx2", - "rev": "26890da6f34176e70289c2f3004cd5660be0035b", - "sha256": "PocOjidZyv30kIjOq++9DZdCNBXbCbyd0vepjMFXflQ=", - "fetchSubmodules": false + "rev": "3ef2a36b0608e9dcae808c7ef01c7a760d628735", + "sha256": "ezqVntonhGfejiGx9cxQEnjsXEHqT++M1fO0Jz1t/Us=" }, "pcsx_rearmed": { "owner": "libretro", "repo": "pcsx_rearmed", - "rev": "589bd99ba31de8216624dbf0cbbc016f0663ce3d", - "sha256": "6OtsWXTo6ca0M/cofpvWPEd0Tqy3XDa8vaa7OUTxnMU=", - "fetchSubmodules": false + "rev": "12fc12797064599dfca2d44043d5c02a949711ef", + "sha256": "SXmNfHGyk+KChiwkKlA+d/oezzp/7p1DJY+w2bES6kg=" }, "picodrive": { "owner": "libretro", "repo": "picodrive", - "rev": "d44605c269e645a6734089ac1f95116a5ce57e0b", - "sha256": "Z4d+7Hf55raMAOIA2jrj6M99XhLTZqthHxi89ba+xEo=", + "rev": "50b8b47838fea8096535d543caaacdcc56aa7df2", + "sha256": "C1Htwel5PHZcjkKmjiiN/QgRofMhqlArxktOSqoTxTc=", "fetchSubmodules": true }, "play": { "owner": "jpd002", "repo": "Play-", - "rev": "65492042f0b2146d81decc8f63466362dd6122bc", - "sha256": "fpiOT6fXvjGWmnKwncV2NyuYeT2ACE8LLyisKsWqydQ=", + "rev": "fd6a5161030215090d48a8036680f57914c71bb0", + "sha256": "g6UBRV7biLjPBXdlejjXUSk3v1wrsYWA3quZlpPj23U=", "fetchSubmodules": true }, "ppsspp": { "owner": "hrydgard", "repo": "ppsspp", - "rev": "3e5511b6091b8af76d124d101f3d84ccc1021f30", - "sha256": "FCaKEdu55c7zxh9Mdi+xAFj8v5/AoT2AzYYEErHd9sQ=", + "rev": "54d63cc1daf2a0cdc812e9af85854bb4ae5ef399", + "sha256": "iB/8zf4FYdsbiKZVq/YISTEQSoo1kme1uZsyuhbOcoc=", "fetchSubmodules": true }, "prboom": { "owner": "libretro", "repo": "libretro-prboom", - "rev": "de19b1124559423244b4d677fd6006444d418c0e", - "sha256": "vt43eYYGGUotxYeotUfp/9fvWnKJLJtrvo+GNavH3QY=", - "fetchSubmodules": false + "rev": "af1b5bf89d01095326ee27e178f9257f9e728873", + "sha256": "pvTUv4E+wBOYfjz8Ph11CK4E7rIm1T+u90TWDNXEBIU=" }, "prosystem": { "owner": "libretro", "repo": "prosystem-libretro", "rev": "89e6df7b60d151310fedbe118fb472959a9dcd61", - "sha256": "uxgKddS53X7ntPClE8MGezBAG+7OAFvMXTnyKpOOau0=", - "fetchSubmodules": false + "sha256": "uxgKddS53X7ntPClE8MGezBAG+7OAFvMXTnyKpOOau0=" }, "quicknes": { "owner": "libretro", "repo": "QuickNES_Core", - "rev": "6444b56659ed887c3492831da188fbc42e3e8ca2", - "sha256": "FHV9oM4rmsCm7GsD5TKyVbBCN7uc9GRU5YGQE+2SiRM=", - "fetchSubmodules": false + "rev": "743e6e06db246c5edab27c738c7a573d83140485", + "sha256": "NYmP+HFeZGUeIRaT3bzdpWw9cmEAaBkA3EGnw/zpDXA=" }, "sameboy": { "owner": "libretro", "repo": "sameboy", - "rev": "685c6c8b497260f53a984d5c4398ef2b25253104", - "sha256": "OosKYG38NvfwrLSEhAe2CrUx8PiSv4OhkmrVUO6l1qc=", - "fetchSubmodules": false + "rev": "b154b7d3d885a3cf31203f0b8f50d3b37c8b742b", + "sha256": "tavGHiNpRiPkibi66orMf93cnCqQCD8XhSl/36nl/9M=" }, "scummvm": { "owner": "libretro", "repo": "scummvm", - "rev": "63e57573a9ffe71a1083ff46d9cd210203b87afb", - "sha256": "LTFe8HIX9OSJuJj5YfPigrPAE8nrbSpDckh0hj3w52s=", - "fetchSubmodules": false + "rev": "80cb7269a33b233dcea27d8d01df084b0d35c80a", + "sha256": "5kMWM8d5aBbT7TseNyaYxw7VDkrLL0G+KUvJcUboQgA=" }, "smsplus-gx": { "owner": "libretro", "repo": "smsplus-gx", "rev": "3f1ffede55bcfe0168caa484a00bf041ab591abf", - "sha256": "fD+grzMPk4uXvmzGf+f9Mor0eefBLHIumCydsSHUsck=", - "fetchSubmodules": false + "sha256": "fD+grzMPk4uXvmzGf+f9Mor0eefBLHIumCydsSHUsck=" }, "snes9x": { "owner": "snes9xgit", "repo": "snes9x", - "rev": "cf1a5901fccafdaead225b0a5e55ff74fdcf9678", - "sha256": "p6qTCZnZSV5vgpZglI/HMi/wOfu0hG2TuvOQhQHeo2s=", - "fetchSubmodules": false + "rev": "34b6160805c4995a8edf5f9b3328f5e492ae4c44", + "sha256": "YRRqtd5iu2evRk+7SyQpqpxqTaEFOkDZ/XQHEjpSBcM=" }, "snes9x2002": { "owner": "libretro", "repo": "snes9x2002", "rev": "e16cb16efa00765b1bc3b8fee195680efb1542c7", - "sha256": "0dhLpNy+NUE3mE/ejEwbq3G28/a2HONS5NPslI5LOEc=", - "fetchSubmodules": false + "sha256": "0dhLpNy+NUE3mE/ejEwbq3G28/a2HONS5NPslI5LOEc=" }, "snes9x2005": { "owner": "libretro", "repo": "snes9x2005", - "rev": "88a46f7c085f6e2accc4c777e264b9b5cd41cf0e", - "sha256": "5wVKK3xhCXkvonwQRyVtd8Afggb0gv8Sv7PEYkDfKRE=", - "fetchSubmodules": false + "rev": "77e9cd293c791b47f4397da0a47242b329243cb5", + "sha256": "iHGfZIGzE4n3EHrVRxTULuYKsOse5NcJftmasoJFwFo=" }, "snes9x2010": { "owner": "libretro", "repo": "snes9x2010", "rev": "714b1c8e08c7580430190119b07e793405773ac2", - "sha256": "yKSQEE+lT4V2V1XqemfziHuIt79TcvC0ranU9ounTXo=", - "fetchSubmodules": false + "sha256": "yKSQEE+lT4V2V1XqemfziHuIt79TcvC0ranU9ounTXo=" }, "stella": { "owner": "stella-emu", "repo": "stella", - "rev": "66e2c857c2bd85e778c51ae1cb99fb7669c7af17", - "sha256": "RWNEq5qwShbBKIx5bif4NDs/uJES2wf1CVSxZbb6beI=", - "fetchSubmodules": false + "rev": "1db9de390a331a7d55c35591c93d9e89184cce5f", + "sha256": "vICKxx+UBYvMzZ3a3F86yzJRKfdo0jMxa27wsUX0KZw=" }, "stella2014": { "owner": "libretro", "repo": "stella2014-libretro", "rev": "934c7a2a44ef038af529b68950ddba4f7ea3478e", - "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=", - "fetchSubmodules": false + "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=" }, "swanstation": { "owner": "libretro", "repo": "swanstation", - "rev": "8951ed1cea4ea65de5529a35e950f1b185e48b6e", - "sha256": "27EH4oiYf154DJwm738qPOMCuWOCKD7wuSng3hz/xh0=", - "fetchSubmodules": false + "rev": "61c5debe60192b0fecd8c15310b2e4c4473f9438", + "sha256": "DZJApJnGDMsUhjO35TBc7tMldCGKDPPtrwxPLe0Ey1s=" }, "tgbdual": { "owner": "libretro", "repo": "tgbdual-libretro", "rev": "1e0c4f931d8c5e859e6d3255d67247d7a2987434", - "sha256": "0wHv9DpKuzJ/q5vERqCo4GBLre2ggClBIWSjGnMLQq8=", - "fetchSubmodules": false + "sha256": "0wHv9DpKuzJ/q5vERqCo4GBLre2ggClBIWSjGnMLQq8=" }, "thepowdertoy": { "owner": "libretro", "repo": "ThePowderToy", "rev": "ac620c0a89a18774c3ad176a8a1bc596df23ff57", - "sha256": "C/X1DbmnucRddemEYml2zN3qr5yoXY3b+nvqfpboS0M=", - "fetchSubmodules": false + "sha256": "C/X1DbmnucRddemEYml2zN3qr5yoXY3b+nvqfpboS0M=" }, "tic80": { "owner": "libretro", "repo": "tic-80", - "rev": "bd03e6a548676745e81fa95e60b233b5a56420c2", - "sha256": "SXJvWX6Q3BrdajNnT4HIf6H2z7dXXvnXTJXf/TYRw4I=", + "rev": "967eb78c3610385a0e6cba8bb5c60ebc3b886d3e", + "sha256": "N0QFNTYFVbhWwt2yx5fLM7Dl6pJZPYrt9o3+6rjnWa8=", "fetchSubmodules": true }, "vba-m": { "owner": "libretro", "repo": "vbam-libretro", "rev": "254f6effebe882b7d3d29d9e417c6aeeabc08026", - "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=", - "fetchSubmodules": false + "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=" }, "vba-next": { "owner": "libretro", "repo": "vba-next", "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817", - "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=", - "fetchSubmodules": false + "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=" }, "vecx": { "owner": "libretro", "repo": "libretro-vecx", "rev": "28d6efc8972313903d0802a736ff8c3bc115e78f", - "sha256": "VYa8s+HB8IYF+HS6SA+sO5DzpgCtnMGrh88KTVNGICY=", - "fetchSubmodules": false + "sha256": "VYa8s+HB8IYF+HS6SA+sO5DzpgCtnMGrh88KTVNGICY=" }, "virtualjaguar": { "owner": "libretro", "repo": "virtualjaguar-libretro", "rev": "d1b1b28a6ad2518b746e3f7537ec6d66db96ec57", - "sha256": "Io25dt80fqIqIxwzF2DK9J5UFz6YCUQoqThcIuxdEBo=", - "fetchSubmodules": false + "sha256": "Io25dt80fqIqIxwzF2DK9J5UFz6YCUQoqThcIuxdEBo=" }, "yabause": { "owner": "libretro", "repo": "yabause", - "rev": "c940fe68461cb2bc6dd98cc162b46813ba12b081", - "sha256": "a4nTgOZ2xEq45sWZ9AxmrjEdMOjnG3Whfm8mrvEMnuY=", - "fetchSubmodules": false + "rev": "f30153ff9e534b96049c6f1ac3075b572642ceb5", + "sha256": "AdqCr5X3Bq8ic2jkIestmYi+CBByZ5Fyf0BUYwBkWnA=" } } diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/misc/emulators/retroarch/update.py index 857c5df6244..68f72103168 100755 --- a/pkgs/misc/emulators/retroarch/update.py +++ b/pkgs/misc/emulators/retroarch/update.py @@ -26,7 +26,19 @@ CORES = { "bsnes": {"repo": "bsnes-libretro"}, "bsnes-hd": {"repo": "bsnes-hd", "owner": "DerKoun"}, "bsnes-mercury": {"repo": "bsnes-mercury"}, - "citra": {"repo": "citra", "fetch_submodules": True, "deep_clone": True, "leave_dot_git": True}, + "citra": { + "repo": "citra", + "fetch_submodules": True, + "deep_clone": True, + "leave_dot_git": True, + }, + "citra-canary": { + "repo": "citra", + "fetch_submodules": True, + "deep_clone": True, + "leave_dot_git": True, + "rev": "canary", + }, "desmume": {"repo": "desmume"}, "desmume2015": {"repo": "desmume2015"}, "dolphin": {"repo": "dolphin"}, @@ -102,6 +114,7 @@ def get_repo_hash_fetchFromGitHub( deep_clone=False, fetch_submodules=False, leave_dot_git=False, + rev=None, ): extra_args = [] if deep_clone: @@ -110,13 +123,18 @@ def get_repo_hash_fetchFromGitHub( extra_args.append("--fetch-submodules") if leave_dot_git: extra_args.append("--leave-dot-git") + if rev: + extra_args.append("--rev") + extra_args.append(rev) result = subprocess.run( ["nix-prefetch-github", owner, repo, *extra_args], check=True, capture_output=True, text=True, ) - return json.loads(result.stdout) + j = json.loads(result.stdout) + # Remove False values + return {k: v for k, v in j.items() if v} def get_repo_hash(fetcher="fetchFromGitHub", **kwargs): diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix index b8fbd70ecc4..e667afdf079 100644 --- a/pkgs/misc/emulators/retroarch/wrapper.nix +++ b/pkgs/misc/emulators/retroarch/wrapper.nix @@ -28,10 +28,10 @@ stdenv.mkDerivation { preferLocalBuild = true; meta = with retroarch.meta; { - inherit license homepage platforms maintainers; + inherit changelog license homepage platforms maintainers; description = description - + " (with cores: " - + lib.concatStringsSep ", " (map (x: ""+x.name) cores) - + ")"; + + " (with cores: " + + lib.concatStringsSep ", " (map (x: "${x.name}") cores) + + ")"; }; } diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix index bf5977f8252..267f89182fb 100644 --- a/pkgs/servers/mautrix-telegram/default.nix +++ b/pkgs/servers/mautrix-telegram/default.nix @@ -6,11 +6,11 @@ let python = python3.override { packageOverrides = self: super: { tulir-telethon = self.telethon.overridePythonAttrs (oldAttrs: rec { - version = "1.25.0a1"; + version = "1.25.0a3"; pname = "tulir-telethon"; src = oldAttrs.src.override { inherit pname version; - sha256 = "sha256-TFZRmhCrQ9IccGFcYxwdbD2ReSCWZ2n33S1ank1Bn1k="; + sha256 = "sha256-/kau9Q2+7giVx52tmjvYIbcDcY1/om31X9BlRvZipuk="; }; }); }; @@ -25,14 +25,14 @@ let in python.pkgs.buildPythonPackage rec { pname = "mautrix-telegram"; - version = "0.11.0"; + version = "0.11.1"; disabled = python.pythonOlder "3.7"; src = fetchFromGitHub { owner = "mautrix"; repo = "telegram"; rev = "v${version}"; - sha256 = "sha256-s0UCl0FJWO53hvHJhpeSQVGCBKEH7COFLXFCFitpDjw="; + sha256 = "sha256-Df+v1Q+5Iaa9GKcwIabMKjJwmVd5Qub8M54jEEiAPFc="; }; patches = [ ./0001-Re-add-entrypoint.patch ]; diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index 5e4f1545e58..884b358644a 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -1,7 +1,14 @@ { lib, stdenv, fetchurl, fetchpatch, autoreconfHook, removeReferencesTo -, file, openssl, perl, perlPackages, unzip, nettools, ncurses }: +, file, openssl, perl, perlPackages, nettools, gnused +, withPerlTools ? false }: let -stdenv.mkDerivation rec { + perlWithPkgs = perl.withPackages (ps: with ps; [ + JSON + TermReadKey + Tk + ]); + +in stdenv.mkDerivation rec { pname = "net-snmp"; version = "5.9.1"; @@ -37,8 +44,9 @@ stdenv.mkDerivation rec { substituteInPlace testing/fulltests/support/simple_TESTCONF.sh --replace "/bin/netstat" "${nettools}/bin/netstat" ''; - nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo unzip ]; - buildInputs = with perlPackages; [ file perl openssl ncurses JSON Tk TermReadKey ]; + nativeBuildInputs = [ autoreconfHook nettools removeReferencesTo gnused file ]; + buildInputs = [ openssl ] + ++ lib.optional withPerlTools perlWithPkgs; enableParallelBuilding = true; doCheck = false; # tries to use networking @@ -56,7 +64,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Clients and server for the SNMP network monitoring protocol"; - homepage = "http://net-snmp.sourceforge.net/"; + homepage = "http://www.net-snmp.org/"; license = licenses.bsd3; platforms = platforms.linux; }; diff --git a/pkgs/servers/web-apps/sogo/default.nix b/pkgs/servers/web-apps/sogo/default.nix index 26586fbdabe..8af14f109a3 100644 --- a/pkgs/servers/web-apps/sogo/default.nix +++ b/pkgs/servers/web-apps/sogo/default.nix @@ -3,13 +3,13 @@ , oathToolkit }: gnustep.stdenv.mkDerivation rec { pname = "SOGo"; - version = "5.4.0"; + version = "5.5.0"; src = fetchFromGitHub { owner = "inverse-inc"; repo = pname; rev = "SOGo-${version}"; - sha256 = "0fwc9ia84f4ijnl5ymn4f6s1n8v3g7rqvpqaaadyw8jwj9x26a6k"; + sha256 = "1kyfn3qw299qsyivbrm487h68va99rrb3gmhpgjpwqd2xdg9aypk"; }; nativeBuildInputs = [ gnustep.make makeWrapper python3 ]; diff --git a/pkgs/tools/X11/bumblebee/default.nix b/pkgs/tools/X11/bumblebee/default.nix index 48d28562c20..534099ea5ac 100644 --- a/pkgs/tools/X11/bumblebee/default.nix +++ b/pkgs/tools/X11/bumblebee/default.nix @@ -58,7 +58,7 @@ in stdenv.mkDerivation rec { version = "3.2.1"; src = fetchurl { - url = "https://bumblebee-project.org/${pname}-${version}.tar.gz"; + url = "https://www.bumblebee-project.org/${pname}-${version}.tar.gz"; sha256 = "03p3gvx99lwlavznrpg9l7jnl1yfg2adcj8jcjj0gxp20wxp060h"; }; diff --git a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch index e011a15b43f..e2d22fed7e5 100644 --- a/pkgs/tools/admin/salt/fix-libcrypto-loading.patch +++ b/pkgs/tools/admin/salt/fix-libcrypto-loading.patch @@ -1,13 +1,13 @@ -diff --git a/salt/utils/rsax931.py b/salt/utils/rsax931.py -index f827cc6db8..b728595186 100644 ---- a/salt/utils/rsax931.py -+++ b/salt/utils/rsax931.py -@@ -74,7 +74,7 @@ +--- a/salt/utils/rsax931.py 2021-11-24 00:39:57.940790184 +0100 ++++ b/salt/utils/rsax931.py 2021-11-24 00:38:35.436728341 +0100 +@@ -85,6 +85,10 @@ """ Attempt to load libcrypto. """ -- return cdll.LoadLibrary(_find_libcrypto()) -+ return cdll.LoadLibrary('@libcrypto@') ++ try: ++ return cdll.LoadLibrary('@libcrypto@') ++ except OSError: ++ pass + return cdll.LoadLibrary(_find_libcrypto()) - def _init_libcrypto(): diff --git a/pkgs/tools/games/minecraft/optifine/default.nix b/pkgs/tools/games/minecraft/optifine/default.nix index b7ca74822c4..7152cb1eec4 100644 --- a/pkgs/tools/games/minecraft/optifine/default.nix +++ b/pkgs/tools/games/minecraft/optifine/default.nix @@ -1,39 +1,67 @@ -{ lib -, stdenv -, fetchurl -, makeWrapper -, jre }: +{ recurseIntoAttrs +, callPackage +}: -stdenv.mkDerivation rec { - pname = "optifine"; - version = "1.18.1_HD_U_H4"; +recurseIntoAttrs rec { + optifine-latest = optifine_1_18_1; - src = fetchurl { - url = "https://optifine.net/download?f=OptiFine_${version}.jar"; - sha256 = "325168569b21a2dcde82999876f69ec9d8af75202a7021691f2abede4d81dcec"; + optifine_1_18_1 = callPackage ./generic.nix { + version = "1.18.1_HD_U_H4"; + sha256 = "sha256-MlFoVpshotzegpmYdvaeydivdSAqcCFpHyq+3k2B3Ow="; }; - dontUnpack = true; + optifine_1_17_1 = callPackage ./generic.nix { + version = "1.17.1_HD_U_H1"; + sha256 = "sha256-HHt747bIHYY/WNAx19mNgvnLrLCqaKIqwXmmB7A895M="; + }; - nativeBuildInputs = [ jre makeWrapper ]; + optifine_1_16_5 = callPackage ./generic.nix { + version = "1.16.5_HD_U_G8"; + sha256 = "sha256-PHa8kO1EvOVnzufCDrLENhkm8jqG5TZ9WW9uYk0LSU8="; + }; - installPhase = '' - mkdir -p $out/{bin,lib/optifine} - cp $src $out/lib/optifine/optifine.jar + optifine_1_15_2 = callPackage ./generic.nix { + version = "1.16.5_HD_U_G8"; + sha256 = "sha256-PHa8kO1EvOVnzufCDrLENhkm8jqG5TZ9WW9uYk0LSU8="; + }; - makeWrapper ${jre}/bin/java $out/bin/optifine \ - --add-flags "-jar $out/lib/optifine/optifine.jar" - ''; + optifine_1_14_4 = callPackage ./generic.nix { + version = "1.14.4_HD_U_G5"; + sha256 = "sha256-I+65vQO6yG4AQ0ZLAfX73ImsFKAQkTyrIOnQHldTibs="; + }; - meta = with lib; { - homepage = "https://optifine.net/"; - description = "A Minecraft optimization mod"; - longDescription = '' - OptiFine is a Minecraft optimization mod. - It allows Minecraft to run faster and look better with full support for HD textures and many configuration options. - ''; - license = licenses.unfree; - maintainers = [ maintainers.ivar ]; - platforms = platforms.unix; + optifine_1_13_2 = callPackage ./generic.nix { + version = "1.13.2_HD_U_G5"; + sha256 = "sha256-sjUQot8fPdbZTiLqt+exbF5T8kI5bLQevu7atW9Xu3E="; + }; + + optifine_1_12_2 = callPackage ./generic.nix { + version = "1.12.2_HD_U_G5"; + sha256 = "sha256-OwAGeXdx/rl/LQ0pCK58mnjO+y5zCvHC6F0IqDm6Jx4="; + }; + + optifine_1_11_2 = callPackage ./generic.nix { + version = "1.11.2_HD_U_G5"; + sha256 = "sha256-1sLUBtM5e5LDTUFCRZf9UeH6WOA8zY6TAmB9PCS5iv4="; + }; + + optifine_1_10 = callPackage ./generic.nix { + version = "1.10_HD_U_I5"; + sha256 = "sha256-oKOsaNFnOKfhWLDDYG/0Z4h/ZCDtyJWS9LXPaKAApc0="; + }; + + optifine_1_9_4 = callPackage ./generic.nix { + version = "1.9.4_HD_U_I5"; + sha256 = "sha256-t+OxIf0Tl/NZxUTl+LGnWRUhEwZ+vxiZfhclxEAf6yI="; + }; + + optifine_1_8_9 = callPackage ./generic.nix { + version = "1.8.9_HD_U_M5"; + sha256 = "sha256-Jzl2CnD8pq5cfcgXvMYoPxj1Xjj6I3eNp/OHprckssQ="; + }; + + optifine_1_7_10 = callPackage ./generic.nix { + version = "1.7.10_HD_U_E7"; + sha256 = "sha256-i82dg94AGgWR9JgQXzafBwxH0skZJ3TVpbafZG5E+rQ="; }; } diff --git a/pkgs/tools/games/minecraft/optifine/generic.nix b/pkgs/tools/games/minecraft/optifine/generic.nix new file mode 100644 index 00000000000..d33e7d75126 --- /dev/null +++ b/pkgs/tools/games/minecraft/optifine/generic.nix @@ -0,0 +1,44 @@ +{ version +, sha256 +, lib +, runCommand +, fetchurl +, makeWrapper +, jre +}: + +let + mcVersion = builtins.head (lib.splitString "_" version); +in +runCommand "optifine-${mcVersion}" { + pname = "optifine"; + inherit version; + + src = fetchurl { + url = "https://optifine.net/download?f=OptiFine_${version}.jar"; + inherit sha256; + name = "OptiFine_${version}.jar"; + }; + + nativeBuildInputs = [ jre makeWrapper ]; + + meta = with lib; { + homepage = "https://optifine.net/"; + description = "A Minecraft ${mcVersion} optimization mod"; + longDescription = '' + OptiFine is a Minecraft optimization mod. + It allows Minecraft to run faster and look better with full support for HD textures and many configuration options. + This is for version ${mcVersion} of Minecraft. + ''; + license = licenses.unfree; + maintainers = [ maintainers.ivar ]; + platforms = platforms.unix; + mainProgram = "optifine"; + }; +} '' + mkdir -p $out/{bin,lib/optifine} + cp $src $out/lib/optifine/optifine.jar + + makeWrapper ${jre}/bin/java $out/bin/optifine \ + --add-flags "-jar $out/lib/optifine/optifine.jar" +'' diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix index b5a10a83d86..a81602b3cfe 100644 --- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix +++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , autoreconfHook , gettext @@ -11,6 +12,10 @@ , glib , gtk3 , python3 +, lua +, opencc +, libsoup +, json-glib }: stdenv.mkDerivation rec { @@ -31,6 +36,11 @@ stdenv.mkDerivation rec { wrapGAppsHook ]; + configureFlags = [ + "--enable-cloud-input-mode" + "--enable-opencc" + ]; + buildInputs = [ ibus glib @@ -42,6 +52,10 @@ stdenv.mkDerivation rec { ])) gtk3 db + lua + opencc + libsoup + json-glib ]; meta = with lib; { diff --git a/pkgs/tools/misc/broadlink-cli/default.nix b/pkgs/tools/misc/broadlink-cli/default.nix index 2acc8dabbef..b71b5b444e3 100644 --- a/pkgs/tools/misc/broadlink-cli/default.nix +++ b/pkgs/tools/misc/broadlink-cli/default.nix @@ -2,7 +2,7 @@ python3Packages.buildPythonApplication rec { pname = "broadlink-cli"; - version = "0.17.0"; + version = "0.18.0"; # the tools are available as part of the source distribution from GH but # not pypi, so we have to fetch them here. @@ -10,7 +10,7 @@ python3Packages.buildPythonApplication rec { owner = "mjg59"; repo = "python-broadlink"; rev = version; - sha256 = "sha256-b3A36BdIvyl1RxNO5SyxLIpQmu1UHHekyh6vrFjwpp4="; + sha256 = "0nh9rn1zpc44qsc50360ycg02gwbgq59784mnkp01nhavnwwwx10"; }; format = "other"; diff --git a/pkgs/tools/misc/mandoc/default.nix b/pkgs/tools/misc/mandoc/default.nix index 2d974b8af63..dc564776d89 100644 --- a/pkgs/tools/misc/mandoc/default.nix +++ b/pkgs/tools/misc/mandoc/default.nix @@ -1,12 +1,6 @@ { lib, stdenv, fetchurl, zlib, perl, nixosTests }: let - # check if we can execute binaries for the host platform on the build platform - # even though the platforms aren't the same. mandoc can't be cross compiled - # (easily) because of its configurePhase, but we want to allow “native” cross - # such as pkgsLLVM and pkgsStatic. - executableCross = stdenv.hostPlatform.isCompatible stdenv.buildPlatform; - # Name of an UTF-8 locale _always_ present at runtime, used for UTF-8 support # (locale set by the user may differ). This would usually be C.UTF-8, but # darwin has no such locale. @@ -16,9 +10,6 @@ let else "C.UTF-8"; in -assert executableCross || - throw "mandoc relies on executing compiled programs in configurePhase, can't cross compile"; - stdenv.mkDerivation rec { pname = "mandoc"; version = "1.14.6"; @@ -57,7 +48,7 @@ stdenv.mkDerivation rec { printf '%s' "$configureLocal" > configure.local ''; - doCheck = executableCross; + doCheck = true; checkTarget = "regress"; checkInputs = [ perl ]; preCheck = "patchShebangs --build regress/regress.pl"; @@ -67,6 +58,19 @@ stdenv.mkDerivation rec { }; meta = with lib; { + # check if we can execute binaries for the host platform on the build platform + # even though the platforms aren't the same. mandoc can't be cross compiled + # (easily) because of its configurePhase which executes compiled programs + # for gathering information about the host system. Consequently, we can only + # allow “native” cross such as pkgsLLVM and pkgsStatic. + # For a lack of a better predicate at the moment, we compare the platforms' + # system tuples. See also: + # * https://github.com/NixOS/nixpkgs/pull/140271 + # * https://github.com/NixOS/nixpkgs/issues/61414 + # We need to use broken instead of, say a top level assert, to keep splicing + # working. + broken = stdenv.buildPlatform.system != stdenv.hostPlatform.system; + homepage = "https://mandoc.bsd.lv/"; description = "suite of tools compiling mdoc and man"; downloadPage = "http://mandoc.bsd.lv/snapshots/"; diff --git a/pkgs/tools/misc/ytarchive/default.nix b/pkgs/tools/misc/ytarchive/default.nix index ef4d212a620..633fd2fb7e3 100644 --- a/pkgs/tools/misc/ytarchive/default.nix +++ b/pkgs/tools/misc/ytarchive/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "ytarchive"; - version = "0.3.0"; + version = "unstable-2021-12-29"; src = fetchFromGitHub { owner = "Kethsar"; repo = "ytarchive"; - rev = "v${version}"; - sha256 = "sha256-7D92xKxU2WBMDJSY5uFKDbLHWlyT761xuZDiBJ1GxE4="; + rev = "2d87608c0b159da876538380b3e613bce2797599"; + sha256 = "sha256-/cnyKcbgd6I0Ad5aZQd2pCbnU6HZYfuPHK2Ty7yYgHs="; }; vendorSha256 = "sha256-r9fDFSCDItQ7YSj9aTY1LXRrFE9T3XD0X36ywCfu0R8="; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eb97dc19437..0438d014146 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3598,6 +3598,8 @@ with pkgs; zig = zig_0_8_1; }; + rivercarro = callPackage ../applications/misc/rivercarro { }; + rmapi = callPackage ../applications/misc/remarkable/rmapi { }; rmview = libsForQt5.callPackage ../applications/misc/remarkable/rmview { }; @@ -8469,7 +8471,9 @@ with pkgs; openvswitch-lts = callPackage ../os-specific/linux/openvswitch/lts.nix { }; - optifine = callPackage ../tools/games/minecraft/optifine { }; + optifinePackages = callPackage ../tools/games/minecraft/optifine { }; + + optifine = optifinePackages.optifine-latest; optipng = callPackage ../tools/graphics/optipng { libpng = libpng12; @@ -14556,9 +14560,12 @@ with pkgs; libstdcxx5 = callPackage ../development/libraries/gcc/libstdc++/5.nix { }; - libsigrok = callPackage ../development/tools/libsigrok { }; + libsigrok = callPackage ../development/tools/libsigrok { + python = python3; + }; # old version: libsigrok_0_3 = libsigrok.override { + python = python3; version = "0.3.0"; sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3"; doInstallCheck = false; @@ -30259,6 +30266,10 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) IOKit Security AppKit; }; + snarkos = callPackage ../applications/blockchains/snarkos { + inherit (darwin.apple_sdk.frameworks) Security; + }; + tessera = callPackage ../applications/blockchains/tessera { }; vertcoin = libsForQt514.callPackage ../applications/blockchains/vertcoin { @@ -33455,7 +33466,10 @@ with pkgs; retroarch = wrapRetroArch { retroarch = retroarchBare; }; retroarchFull = retroarch.override { - cores = builtins.filter (c: c ? libretroCore) (builtins.attrValues libretro); + cores = builtins.filter + # Remove cores not supported on platform + (c: c ? libretroCore && (builtins.elem stdenv.hostPlatform.system c.meta.platforms)) + (builtins.attrValues libretro); }; libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9ba26177177..59e70c89922 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8952,6 +8952,8 @@ in { signedjson = callPackage ../development/python-modules/signedjson { }; + sigrok = callPackage ../development/python-modules/sigrok { }; + sigtools = callPackage ../development/python-modules/sigtools { }; simanneal = callPackage ../development/python-modules/simanneal { };