diff --git a/doc/languages-frameworks/go.section.md b/doc/languages-frameworks/go.section.md index 6db0e73505d2..2f4cb0326a8a 100644 --- a/doc/languages-frameworks/go.section.md +++ b/doc/languages-frameworks/go.section.md @@ -142,6 +142,7 @@ Many attributes [controlling the build phase](#variables-controlling-the-build-p - [`patchFlags`](#var-stdenv-patchFlags) - [`postPatch`](#var-stdenv-postPatch) - [`preBuild`](#var-stdenv-preBuild) +- `env`: useful for passing down variables such as `GOWORK`. To control test execution of the build derivation, the following attributes are of interest: diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1b90aa6f4456..10d33816136b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2752,6 +2752,12 @@ githubId = 150560585; name = "Dmitry Ivankov"; }; + bonsairobo = { + email = "duncanfairbanks6@gmail.com"; + github = "bonsairobo"; + githubId = 3229981; + name = "Duncan Fairbanks"; + }; booklearner = { name = "booklearner"; email = "booklearner@proton.me"; @@ -5013,6 +5019,12 @@ github = "DimitarNestorov"; githubId = 8790386; }; + diniamo = { + name = "diniamo"; + email = "diniamo53@gmail.com"; + github = "diniamo"; + githubId = 55629891; + }; diogotcorreia = { name = "Diogo Correia"; email = "me@diogotc.com"; @@ -8683,6 +8695,12 @@ githubId = 137306; name = "Michele Catalano"; }; + isabelroses = { + email = "isabel@isabelroses.com"; + github = "isabelroses"; + githubId = 71222764; + name = "Isabel Roses"; + }; isaozler = { email = "isaozler@gmail.com"; github = "isaozler"; @@ -13318,6 +13336,12 @@ fingerprint = "E90C BA34 55B3 6236 740C 038F 0D94 8CE1 9CF4 9C5F"; }]; }; + mksafavi = { + name = "MK Safavi"; + email = "mksafavi@gmail.com"; + github = "mksafavi"; + githubId = 50653293; + }; mktip = { email = "mo.issa.ok+nix@gmail.com"; github = "mktip"; @@ -17671,7 +17695,7 @@ name = "Sanskar Gurdasani"; }; sarahec = { - email = "sarahec@nextquestion.net"; + email = "seclark@nextquestion.net"; github = "sarahec"; githubId = 11277967; name = "Sarah Clark"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index faa0b9b10f59..9fcfd6defc57 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -74,6 +74,8 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi - Plasma 6 is now available and can be installed with `services.xserver.desktopManager.plasma6.enable = true;`. Plasma 5 will likely be deprecated in the next release (24.11). Note that Plasma 6 runs as Wayland by default, and the X11 session needs to be explicitly selected if necessary. +- The desktop mode of Lomiri (formerly known as Unity8), using Mir 2.x to function as a Wayland compositor, is now available and can be installed with `services.desktopManager.lomiri.enable = true`. Note that some core applications, services and indicators have yet to be packaged, and some functions may remain incomplete, but the base experience should be there. + ## New Services {#sec-release-24.05-new-services} @@ -315,6 +317,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - The `cudaPackages` package scope has been updated to `cudaPackages_12`. +- The deprecated `cudaPackages.cudatoolkit` has been replaced with a + symlink-based wrapper for the splayed redistributable CUDA packages. The + wrapper only includes tools and libraries necessary to build common packages + like e.g. tensorflow. The original runfile-based `cudatoolkit` is still + available as `cudatoolkit-legacy-runfile`. + - The `halloy` package was updated past 2024.5 which introduced a breaking change by switching the config format from YAML to TOML. See https://github.com/squidowl/halloy/releases/tag/2024.5 for details. - Ada packages (libraries and tools) have been moved into the `gnatPackages` scope. `gnatPackages` uses the default GNAT compiler, `gnat12Packages` and `gnat13Packages` use the respective matching compiler version. diff --git a/nixos/modules/services/desktop-managers/lomiri.nix b/nixos/modules/services/desktop-managers/lomiri.nix new file mode 100644 index 000000000000..469144aef4e0 --- /dev/null +++ b/nixos/modules/services/desktop-managers/lomiri.nix @@ -0,0 +1,165 @@ +{ config, pkgs, lib, ... }: + +let + cfg = config.services.desktopManager.lomiri; +in { + options.services.desktopManager.lomiri = { + enable = lib.mkEnableOption '' + the Lomiri graphical shell (formerly known as Unity8) + ''; + }; + + config = lib.mkIf cfg.enable { + environment = { + systemPackages = (with pkgs; [ + glib # XDG MIME-related tools identify it as GNOME, add gio for MIME identification to work + libayatana-common + ubports-click + ]) ++ (with pkgs.lomiri; [ + content-hub + hfd-service + history-service + libusermetrics + lomiri + lomiri-download-manager + lomiri-schemas # exposes some required dbus interfaces + lomiri-session # wrappers to properly launch the session + lomiri-sounds + lomiri-system-settings + lomiri-terminal-app + lomiri-thumbnailer + lomiri-url-dispatcher + lomiri-wallpapers + mediascanner2 # TODO possibly needs to be kicked off by graphical-session.target + morph-browser + qtmir # not having its desktop file for Xwayland available causes any X11 application to crash the session + suru-icon-theme + telephony-service + ]); + }; + + systemd.packages = with pkgs.lomiri; [ + hfd-service + lomiri-download-manager + ]; + + services.dbus.packages = with pkgs.lomiri; [ + hfd-service + libusermetrics + lomiri-download-manager + ]; + + fonts.packages = with pkgs; [ + # Applications tend to default to Ubuntu font + ubuntu_font_family + ]; + + # Copy-pasted basic stuff + hardware.opengl.enable = lib.mkDefault true; + fonts.enableDefaultPackages = lib.mkDefault true; + programs.dconf.enable = lib.mkDefault true; + + # Xwayland is partly hardcoded in Mir so it can't really be fully turned off, and it must be on PATH for X11 apps *and Lomiri's web browser* to work. + # Until Mir/Lomiri can be properly used without it, force it on so everything behaves as expected. + programs.xwayland.enable = lib.mkForce true; + + services.accounts-daemon.enable = true; + + services.ayatana-indicators = { + enable = true; + packages = (with pkgs; [ + ayatana-indicator-datetime + ayatana-indicator-messages + ayatana-indicator-session + ]) ++ (with pkgs.lomiri; [ + telephony-service + ]); + }; + + services.udisks2.enable = true; + services.upower.enable = true; + services.geoclue2.enable = true; + + services.gnome.evolution-data-server = { + enable = true; + plugins = with pkgs; [ + # TODO: lomiri.address-book-service + ]; + }; + + services.telepathy.enable = true; + + services.displayManager = { + defaultSession = lib.mkDefault "lomiri"; + sessionPackages = with pkgs.lomiri; [ lomiri-session ]; + }; + + services.xserver = { + enable = lib.mkDefault true; + displayManager.lightdm = { + enable = lib.mkDefault true; + greeters.lomiri.enable = lib.mkDefault true; + }; + }; + + environment.pathsToLink = [ + # Configs for inter-app data exchange system + "/share/content-hub/peers" + # Configs for inter-app URL requests + "/share/lomiri-url-dispatcher/urls" + # Splash screens & other images for desktop apps launched via lomiri-app-launch + "/share/lomiri-app-launch" + # TODO Try to get maliit stuff working + "/share/maliit/plugins" + # Data + "/share/locale" # TODO LUITK hardcoded default locale path, fix individual apps to not rely on it + "/share/sounds" + "/share/wallpapers" + ]; + + systemd.user.services = { + # Unconditionally run service that collects system-installed URL handlers before LUD + # TODO also run user-installed one? + "lomiri-url-dispatcher-update-system-dir" = { + description = "Lomiri URL dispatcher system directory updater"; + wantedBy = [ "lomiri-url-dispatcher.service" ]; + before = [ "lomiri-url-dispatcher.service" ]; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.lomiri.lomiri-url-dispatcher}/libexec/lomiri-url-dispatcher/lomiri-update-directory /run/current-system/sw/share/lomiri-url-dispatcher/urls/"; + }; + }; + }; + + systemd.services = { + "dbus-com.lomiri.UserMetrics" = { + serviceConfig = { + Type = "dbus"; + BusName = "com.lomiri.UserMetrics"; + User = "usermetrics"; + StandardOutput = "syslog"; + SyslogIdentifier = "com.lomiri.UserMetrics"; + ExecStart = "${pkgs.lomiri.libusermetrics}/libexec/libusermetrics/usermetricsservice"; + } // lib.optionalAttrs (!config.security.apparmor.enable) { + # Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, auth must be disabled when not using AppArmor, lest the next database usage breaks + Environment = "USERMETRICS_NO_AUTH=1"; + }; + }; + }; + + users.users.usermetrics = { + group = "usermetrics"; + home = "/var/lib/usermetrics"; + createHome = true; + isSystemUser = true; + }; + + users.groups.usermetrics = { }; + + # TODO content-hub cannot pass files between applications without asking AA for permissions. And alot of the Lomiri stack is designed with AA availability in mind. This might be a requirement to be closer to upstream? + # But content-hub currently fails to pass files between applications even with AA enabled, and we can get away without AA in many places. Let's see how this develops before requiring this for good. + # security.apparmor.enable = true; + }; + + meta.maintainers = lib.teams.lomiri.members; +} diff --git a/nixos/modules/services/misc/ollama.nix b/nixos/modules/services/misc/ollama.nix index 30c2b26d8322..b2c3de09015b 100644 --- a/nixos/modules/services/misc/ollama.nix +++ b/nixos/modules/services/misc/ollama.nix @@ -40,14 +40,19 @@ in ''; }; acceleration = lib.mkOption { - type = types.nullOr (types.enum [ "rocm" "cuda" ]); + type = types.nullOr (types.enum [ false "rocm" "cuda" ]); default = null; example = "rocm"; description = '' What interface to use for hardware acceleration. - - `rocm`: supported by modern AMD GPUs - - `cuda`: supported by modern NVIDIA GPUs + - `null`: default behavior + if `nixpkgs.config.rocmSupport` is enabled, uses `"rocm"` + if `nixpkgs.config.cudaSupport` is enabled, uses `"cuda"` + otherwise defaults to `false` + - `false`: disable GPU, only use CPU + - `"rocm"`: supported by most modern AMD GPUs + - `"cuda"`: supported by most modern NVIDIA GPUs ''; }; environmentVariables = lib.mkOption { diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix index b79208751819..3456098073b3 100644 --- a/nixos/modules/services/misc/paperless.nix +++ b/nixos/modules/services/misc/paperless.nix @@ -3,7 +3,6 @@ with lib; let cfg = config.services.paperless; - pkg = cfg.package; defaultUser = "paperless"; defaultFont = "${pkgs.liberation_ttf}/share/fonts/truetype/LiberationSerif-Regular.ttf"; @@ -25,7 +24,7 @@ let } // optionalAttrs (cfg.settings.PAPERLESS_ENABLE_NLTK or true) { PAPERLESS_NLTK_DIR = pkgs.symlinkJoin { name = "paperless_ngx_nltk_data"; - paths = pkg.nltkData; + paths = cfg.package.nltkData; }; } // optionalAttrs (cfg.openMPThreadingWorkaround) { OMP_NUM_THREADS = "1"; @@ -38,7 +37,7 @@ let manage = pkgs.writeShellScript "manage" '' set -o allexport # Export the following env vars ${lib.toShellVars env} - exec ${pkg}/bin/paperless-ngx "$@" + exec ${cfg.package}/bin/paperless-ngx "$@" ''; # Secure the services @@ -200,7 +199,17 @@ in description = "User under which Paperless runs."; }; - package = mkPackageOption pkgs "paperless-ngx" { }; + package = mkPackageOption pkgs "paperless-ngx" { } // { + apply = pkg: pkg.override { + tesseract5 = pkg.tesseract5.override { + # always enable detection modules + enableLanguages = if cfg.settings ? PAPERLESS_OCR_LANGUAGE then + [ "equ" "osd" ] + ++ lib.splitString "+" cfg.settings.PAPERLESS_OCR_LANGUAGE + else null; + }; + }; + }; openMPThreadingWorkaround = mkEnableOption '' a workaround for document classifier timeouts. @@ -237,7 +246,7 @@ in wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ]; serviceConfig = defaultServiceConfig // { User = cfg.user; - ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO"; + ExecStart = "${cfg.package}/bin/celery --app paperless beat --loglevel INFO"; Restart = "on-failure"; LoadCredential = lib.optionalString (cfg.passwordFile != null) "PAPERLESS_ADMIN_PASSWORD:${cfg.passwordFile}"; }; @@ -250,8 +259,8 @@ in versionFile="${cfg.dataDir}/src-version" version=$(cat "$versionFile" 2>/dev/null || echo 0) - if [[ $version != ${pkg.version} ]]; then - ${pkg}/bin/paperless-ngx migrate + if [[ $version != ${cfg.package.version} ]]; then + ${cfg.package}/bin/paperless-ngx migrate # Parse old version string format for backwards compatibility version=$(echo "$version" | grep -ohP '[^-]+$') @@ -264,10 +273,10 @@ in if versionLessThan 1.12.0; then # Reindex documents as mentioned in https://github.com/paperless-ngx/paperless-ngx/releases/tag/v1.12.1 echo "Reindexing documents, to allow searching old comments. Required after the 1.12.x upgrade." - ${pkg}/bin/paperless-ngx document_index reindex + ${cfg.package}/bin/paperless-ngx document_index reindex fi - echo ${pkg.version} > "$versionFile" + echo ${cfg.package.version} > "$versionFile" fi '' + optionalString (cfg.passwordFile != null) '' @@ -277,7 +286,7 @@ in superuserStateFile="${cfg.dataDir}/superuser-state" if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then - ${pkg}/bin/paperless-ngx manage_superuser + ${cfg.package}/bin/paperless-ngx manage_superuser echo "$superuserState" > "$superuserStateFile" fi ''; @@ -290,7 +299,7 @@ in after = [ "paperless-scheduler.service" ]; serviceConfig = defaultServiceConfig // { User = cfg.user; - ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO"; + ExecStart = "${cfg.package}/bin/celery --app paperless worker --loglevel INFO"; Restart = "on-failure"; # The `mbind` syscall is needed for running the classifier. SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ]; @@ -308,7 +317,7 @@ in after = [ "paperless-scheduler.service" ]; serviceConfig = defaultServiceConfig // { User = cfg.user; - ExecStart = "${pkg}/bin/paperless-ngx document_consumer"; + ExecStart = "${cfg.package}/bin/paperless-ngx document_consumer"; Restart = "on-failure"; }; environment = env; @@ -340,8 +349,8 @@ in echo "PAPERLESS_SECRET_KEY is empty, refusing to start." exit 1 fi - exec ${pkg.python.pkgs.gunicorn}/bin/gunicorn \ - -c ${pkg}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application + exec ${cfg.package.python.pkgs.gunicorn}/bin/gunicorn \ + -c ${cfg.package}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application ''; serviceConfig = defaultServiceConfig // { User = cfg.user; @@ -357,7 +366,7 @@ in CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ]; }; environment = env // { - PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/paperless-ngx/src"; + PYTHONPATH = "${cfg.package.python.pkgs.makePythonPath cfg.package.propagatedBuildInputs}:${cfg.package}/lib/paperless-ngx/src"; }; # Allow the web interface to access the private /tmp directory of the server. # This is required to support uploading files via the web interface. diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix index e9d51b51f14d..7e707a13b790 100644 --- a/nixos/modules/services/monitoring/prometheus/default.nix +++ b/nixos/modules/services/monitoring/prometheus/default.nix @@ -537,7 +537,7 @@ let Refresh interval to re-read the instance list. ''; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. @@ -609,7 +609,7 @@ let }; promTypes.digitalocean_sd_config = mkSdConfigModule { - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. ''; @@ -626,7 +626,7 @@ let ''; }; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from, when `role` is nodes, and for discovered tasks and services that don't have published ports. ''; @@ -687,7 +687,7 @@ let The type of DNS query to perform. One of SRV, A, or AAAA. ''; - port = mkOpt types.int '' + port = mkOpt types.port '' The port number used if the query type is not SRV. ''; @@ -731,7 +731,7 @@ let Refresh interval to re-read the instance list. ''; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. @@ -840,7 +840,7 @@ let ''; }; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. ''; @@ -999,7 +999,7 @@ let Refresh interval to re-read the instance list. ''; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. ''; @@ -1007,7 +1007,7 @@ let }; promTypes.linode_sd_config = mkSdConfigModule { - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. ''; @@ -1148,7 +1148,7 @@ let Refresh interval to re-read the instance list. ''; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. If using the public IP address, this must instead be specified in the relabeling rule. ''; @@ -1193,7 +1193,7 @@ let Refresh interval to re-read the resources list. ''; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. ''; }; @@ -1231,7 +1231,7 @@ let ''; }; - port = mkDefOpt types.int "80" '' + port = mkDefOpt types.port "80" '' The port to scrape metrics from. ''; @@ -1307,7 +1307,7 @@ let If omitted all containers owned by the requesting account are scraped. ''; - port = mkDefOpt types.int "9163" '' + port = mkDefOpt types.port "9163" '' The port to use for discovery and metric scraping. ''; diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 621a44ad123c..6fe606f92267 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -21,7 +21,7 @@ in ./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ../../desktop-managers/plasma6.nix ./lumina.nix ./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix - ./cinnamon.nix ./budgie.nix ./deepin.nix + ./cinnamon.nix ./budgie.nix ./deepin.nix ../../desktop-managers/lomiri.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index a764e84d6068..c55d0021b6a7 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -145,7 +145,7 @@ in services.xserver.desktopManager.session = [{ name = "xfce"; desktopNames = [ "XFCE" ]; - bgSupport = true; + bgSupport = !cfg.noDesktop; start = '' ${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} & waitPID=$! diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix new file mode 100644 index 000000000000..0cc79178358b --- /dev/null +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix @@ -0,0 +1,34 @@ +{ config, lib, pkgs, ... }: + +let + + dmcfg = config.services.displayManager; + ldmcfg = config.services.xserver.displayManager.lightdm; + cfg = ldmcfg.greeters.lomiri; + +in +{ + meta.maintainers = lib.teams.lomiri.members; + + options = { + services.xserver.displayManager.lightdm.greeters.lomiri = { + enable = lib.mkEnableOption "lomiri's greeter as the lightdm greeter"; + }; + }; + + config = lib.mkIf (ldmcfg.enable && cfg.enable) { + services.xserver.displayManager.lightdm.greeters.gtk.enable = false; + + services.xserver.displayManager.lightdm.greeter = lib.mkDefault { + package = pkgs.lomiri.lomiri.greeter; + name = "lomiri-greeter"; + }; + + # Greeter needs to be run through its wrapper + # Greeter doesn't work with our set-session.py script, need to set default user-session + services.xserver.displayManager.lightdm.extraSeatDefaults = '' + greeter-wrapper = ${lib.getExe' pkgs.lomiri.lomiri "lomiri-greeter-wrapper"} + user-session = ${dmcfg.defaultSession} + ''; + }; +} diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 63561934be08..25e6c597adcb 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -81,6 +81,7 @@ in ./lightdm-greeters/mini.nix ./lightdm-greeters/enso-os.nix ./lightdm-greeters/pantheon.nix + ./lightdm-greeters/lomiri.nix ./lightdm-greeters/tiny.nix ./lightdm-greeters/slick.nix ./lightdm-greeters/mobile.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 7944952e2f4e..fd5a0186bdec 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -503,6 +503,7 @@ in { lxd = pkgs.recurseIntoAttrs (handleTest ./lxd { inherit handleTestOn; }); lxd-image-server = handleTest ./lxd-image-server.nix {}; #logstash = handleTest ./logstash.nix {}; + lomiri = handleTest ./lomiri.nix {}; lomiri-system-settings = handleTest ./lomiri-system-settings.nix {}; lorri = handleTest ./lorri/default.nix {}; maddy = discoverTests (import ./maddy { inherit handleTest; }); diff --git a/nixos/tests/lomiri.nix b/nixos/tests/lomiri.nix new file mode 100644 index 000000000000..c1e777873b08 --- /dev/null +++ b/nixos/tests/lomiri.nix @@ -0,0 +1,281 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: let + # Just to make sure everything is the same, need it for OCR & navigating greeter + user = "alice"; + description = "Alice Foobar"; + password = "foobar"; +in { + name = "lomiri"; + + meta = { + maintainers = lib.teams.lomiri.members; + }; + + nodes.machine = { config, ... }: { + imports = [ + ./common/user-account.nix + ]; + + users.users.${user} = { + inherit description password; + }; + + services.desktopManager.lomiri.enable = lib.mkForce true; + services.displayManager.defaultSession = lib.mkForce "lomiri"; + + fonts.packages = [ pkgs.inconsolata ]; + + environment = { + # Help with OCR + etc."xdg/alacritty/alacritty.yml".text = lib.generators.toYAML { } { + font = rec { + normal.family = "Inconsolata"; + bold.family = normal.family; + italic.family = normal.family; + bold_italic.family = normal.family; + size = 16; + }; + colors = rec { + primary = { + foreground = "0x000000"; + background = "0xffffff"; + }; + normal = { + green = primary.foreground; + }; + }; + }; + + variables = { + # So we can test what content-hub is working behind the scenes + CONTENT_HUB_LOGGING_LEVEL = "2"; + }; + + systemPackages = with pkgs; [ + # For a convenient way of kicking off content-hub peer collection + lomiri.content-hub.examples + + # Forcing alacritty to run as an X11 app when opened from the starter menu + (symlinkJoin { + name = "x11-${alacritty.name}"; + + paths = [ alacritty ]; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/alacritty \ + --set WINIT_UNIX_BACKEND x11 \ + --set WAYLAND_DISPLAY "" + ''; + + inherit (alacritty) meta; + }) + ]; + }; + + # Help with OCR + systemd.tmpfiles.settings = let + white = "255, 255, 255"; + black = "0, 0, 0"; + colorSection = color: { + Color = color; + Bold = true; + Transparency = false; + }; + terminalColors = pkgs.writeText "customized.colorscheme" (lib.generators.toINI {} { + Background = colorSection white; + Foreground = colorSection black; + Color2 = colorSection black; + Color2Intense = colorSection black; + }); + terminalConfig = pkgs.writeText "terminal.ubports.conf" (lib.generators.toINI {} { + General = { + colorScheme = "customized"; + fontSize = "16"; + fontStyle = "Inconsolata"; + }; + }); + confBase = "${config.users.users.${user}.home}/.config"; + userDirArgs = { + mode = "0700"; + user = user; + group = "users"; + }; + in { + "10-lomiri-test-setup" = { + "${confBase}".d = userDirArgs; + "${confBase}/terminal.ubports".d = userDirArgs; + "${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}"; + "${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}"; + }; + }; + }; + + enableOCR = true; + + testScript = { nodes, ... }: '' + def open_starter(): + """ + Open the starter, and ensure it's opened. + """ + machine.send_key("meta_l-a") + # Look for any of the default apps + machine.wait_for_text(r"(Search|System|Settings|Morph|Browser|Terminal|Alacritty)") + + def toggle_maximise(): + """ + Send the keybind to maximise the current window. + """ + machine.send_key("ctrl-meta_l-up") + + # For some reason, Lomiri in these VM tests very frequently opens the starter menu a few seconds after sending the above. + # Because this isn't 100% reproducible all the time, and there is no command to await when OCR doesn't pick up some text, + # the best we can do is send some Escape input after waiting some arbitrary time and hope that it works out fine. + machine.sleep(5) + machine.send_key("esc") + machine.sleep(5) + + start_all() + machine.wait_for_unit("multi-user.target") + + # Lomiri in greeter mode should work & be able to start a session + with subtest("lomiri greeter works"): + machine.wait_for_unit("display-manager.service") + # Start page shows current tie + machine.wait_for_text(r"(AM|PM)") + machine.screenshot("lomiri_greeter_launched") + + # Advance to login part + machine.send_key("ret") + machine.wait_for_text("${description}") + machine.screenshot("lomiri_greeter_login") + + # Login + machine.send_chars("${password}\n") + # Best way I can think of to differenciate "Lomiri in LightDM greeter mode" from "Lomiri in user shell mode" + machine.wait_until_succeeds("pgrep -u ${user} -f 'lomiri --mode=full-shell'") + + # The session should start, and not be stuck in i.e. a crash loop + with subtest("lomiri starts"): + # Output rendering from Lomiri has started when it starts printing performance diagnostics + machine.wait_for_console_text("Last frame took") + # Look for datetime's clock, one of the last elements to load + machine.wait_for_text(r"(AM|PM)") + machine.screenshot("lomiri_launched") + + # Working terminal keybind is good + with subtest("terminal keybind works"): + machine.send_key("ctrl-alt-t") + machine.wait_for_text(r"(${user}|machine)") + machine.screenshot("terminal_opens") + + # lomiri-terminal-app has a separate VM test to test its basic functionality + + # for the LSS content-hub test to work reliably, we need to kick off peer collecting + machine.send_chars("content-hub-test-importer\n") + machine.wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub + machine.send_key("ctrl-c") + + machine.send_key("alt-f4") + + # We want the ability to launch applications + with subtest("starter menu works"): + open_starter() + machine.screenshot("starter_opens") + + # Just try the terminal again, we know that it should work + machine.send_chars("Terminal\n") + machine.wait_for_text(r"(${user}|machine)") + machine.send_key("alt-f4") + + # We want support for X11 apps + with subtest("xwayland support works"): + open_starter() + machine.send_chars("Alacritty\n") + machine.wait_for_text(r"(${user}|machine)") + machine.screenshot("alacritty_opens") + machine.send_key("alt-f4") + + # LSS provides DE settings + with subtest("system settings open"): + open_starter() + machine.send_chars("System Settings\n") + machine.wait_for_text("Rotation Lock") + machine.screenshot("settings_open") + + # lomiri-system-settings has a separate VM test, only test Lomiri-specific content-hub functionalities here + + # Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio + toggle_maximise() + + # Load Background plugin + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("tab") + machine.send_key("ret") + machine.wait_for_text("Background image") + + # Try to load custom background + machine.send_key("shift-tab") + machine.send_key("shift-tab") + machine.send_key("shift-tab") + machine.send_key("shift-tab") + machine.send_key("shift-tab") + machine.send_key("shift-tab") + machine.send_key("ret") + + # Peers should be loaded + machine.wait_for_text("Morph") # or Gallery, but Morph is already packaged + machine.screenshot("settings_content-hub_peers") + + # Sadly, it doesn't seem possible to actually select a peer and attempt a content-hub data exchange with just the keyboard + + machine.send_key("alt-f4") + + # Morph is how we go online + with subtest("morph browser works"): + open_starter() + machine.send_chars("Morph\n") + machine.wait_for_text(r"(Bookmarks|address|site|visited any)") + machine.screenshot("morph_open") + + # morph-browser has a separate VM test, there isn't anything new we could test here + + machine.send_key("alt-f4") + + # The ayatana indicators are an important part of the experience, and they hold the only graphical way of exiting the session. + # Reaching them via the intended way requires wayland mouse control, but ydotool lacks a module for its daemon: + # https://github.com/NixOS/nixpkgs/issues/183659 + # Luckily, there's a test app that also displays their contents, but it's abit inconsistent. Hopefully this is *good-enough*. + with subtest("ayatana indicators work"): + open_starter() + machine.send_chars("Indicators\n") + machine.wait_for_text(r"(Indicators|Client|List|datetime|session)") + machine.screenshot("indicators_open") + + # Element tab order within the indicator menus is not fully deterministic + # Only check that the indicators are listed & their items load + + with subtest("ayatana indicator datetime works"): + # Select ayatana-indicator-datetime + machine.send_key("tab") + machine.send_key("ret") + machine.wait_for_text("Time and Date Settings") + machine.screenshot("indicators_timedate") + + machine.send_key("shift-tab") + machine.send_key("ret") + machine.wait_for_text(r"(Indicators|Client|List|datetime|session)") + + with subtest("ayatana indicator session works"): + # Select ayatana-indicator-session + machine.send_key("tab") + machine.send_key("down") + machine.send_key("ret") + machine.wait_for_text("Log Out") + machine.screenshot("indicators_session") + ''; +}) diff --git a/pkgs/applications/audio/listenbrainz-mpd/default.nix b/pkgs/applications/audio/listenbrainz-mpd/default.nix index 9bf9c35d4bd7..5a7ef4417876 100644 --- a/pkgs/applications/audio/listenbrainz-mpd/default.nix +++ b/pkgs/applications/audio/listenbrainz-mpd/default.nix @@ -14,17 +14,17 @@ rustPlatform.buildRustPackage rec { pname = "listenbrainz-mpd"; - version = "2.3.3"; + version = "2.3.4"; src = fetchFromGitea { domain = "codeberg.org"; owner = "elomatreb"; repo = "listenbrainz-mpd"; rev = "v${version}"; - hash = "sha256-4FNFaVi+fxoXo2tl+bynHqh8yRt0Q4z/El/4m0GXZUY="; + hash = "sha256-QHhSrmBNvUTffPzjns670Tn3Z3UDcDvarq605Qx9k4w="; }; - cargoHash = "sha256-FS7OYzKx/lQh86QQ8Dk9v1JrWUxPHNz3kITiEJ3sNng="; + cargoHash = "sha256-vtU439Pd3zWx+qakh1xTENQhun7S+WsJMndXqPWrPWU="; nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ]; diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 387fc659aa65..d2a2170609c1 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -28,13 +28,13 @@ let in stdenv.mkDerivation rec { pname = "reaper"; - version = "7.13"; + version = "7.14"; src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; - hash = if stdenv.isDarwin then "sha256-g9t1vCPKTw68w6/b401OAdMNth4UlT9Obht6oPArqKY=" else { - x86_64-linux = "sha256-Zj+3LXNoHD6+v0dDn8mKqN14Y9Tk2+fZ4W343VjZoLw="; - aarch64-linux = "sha256-kbonwYlEd13AIzy1DNbsFwy+rRrQpOTrup3NZpJOmUA="; + hash = if stdenv.isDarwin then "sha256-cPxHriUNIG1EUmvOoW00V2Y0j+7BuxSIEbPy+qy5ZEM=" else { + x86_64-linux = "sha256-RgKteq157r4r088mr9wvPPa/rhmX88/lmVJ7mS17px4="; + aarch64-linux = "sha256-Qnb6ZoDIkfRct6dvqXKeYHgXyyEFLSj9R0hwa2bUiXo="; }.${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/audio/spotify-qt/default.nix b/pkgs/applications/audio/spotify-qt/default.nix index 4f6460bd3a2d..d5947d145172 100644 --- a/pkgs/applications/audio/spotify-qt/default.nix +++ b/pkgs/applications/audio/spotify-qt/default.nix @@ -9,13 +9,13 @@ mkDerivation rec { pname = "spotify-qt"; - version = "3.9"; + version = "3.11"; src = fetchFromGitHub { owner = "kraxarn"; repo = pname; rev = "v${version}"; - sha256 = "sha256-8rLpasgXiaL2KpGnYMQdNN2ayjcSkmz5hDkNBnKNWHk="; + sha256 = "sha256-Dm+ELHtYZGSzJSrERtvpuuV5cVZ9ah9WQ0iTTJqGqVg="; }; buildInputs = [ libxcb qtbase qtsvg ]; diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 2339503977af..5f7b3d259dec 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -18,8 +18,8 @@ let sha256Hash = "sha256-zROBKzQiP4V2P67HgOIkHgn8q/M0zy5MkZozVSiQsWU="; }; latestVersion = { - version = "2024.1.1.2"; # "Android Studio Koala | 2024.1.1 Canary 4" - sha256Hash = "sha256-d/bzgKimps0Tw7GQD9sc2LLDNaVpWlqNTKkuyxKrCWo="; + version = "2024.1.1.3"; # "Android Studio Koala | 2024.1.1 Canary 5" + sha256Hash = "sha256-JL2cloR0RhSnr8e62fHhxIzF286fT9sahTuv2OoQVRY="; }; in { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/editors/aseprite/default.nix b/pkgs/applications/editors/aseprite/default.nix index 92d8771383dc..e41edcdd66b8 100644 --- a/pkgs/applications/editors/aseprite/default.nix +++ b/pkgs/applications/editors/aseprite/default.nix @@ -14,14 +14,14 @@ let in stdenv.mkDerivation rec { pname = "aseprite"; - version = "1.3.2"; + version = "1.3.6"; src = fetchFromGitHub { owner = "aseprite"; repo = "aseprite"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-8PXqMDf2ATxmtFqyZlGip+DhGrdK8M6Ztte7fGH6Fmo="; + hash = "sha256-17f6pIGsOIswnyY63pjHKEEYuCo43kf25mPLBv4vQAs="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix index 2533153bd447..7418a842148a 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/agda2-mode/default.nix @@ -1,21 +1,23 @@ { trivialBuild , haskellPackages }: - -trivialBuild rec { +let + Agda = haskellPackages.Agda.bin; +in +trivialBuild { pname = "agda-mode"; - version = haskellPackages.Agda.version; + version = Agda.version; dontUnpack = true; # already byte-compiled by Agda builder buildPhase = '' - agda=`${haskellPackages.Agda}/bin/agda-mode locate` + agda=`${Agda}/bin/agda-mode locate` cp `dirname $agda`/*.el* . ''; meta = { - inherit (haskellPackages.Agda.meta) homepage license; + inherit (Agda.meta) homepage license; description = "Agda2-mode for Emacs extracted from Agda package"; longDescription = '' Wrapper packages that liberates init.el from `agda-mode locate` magic. diff --git a/pkgs/applications/emulators/sameboy/default.nix b/pkgs/applications/emulators/sameboy/default.nix index 7433d2128a71..09d0136c6d88 100644 --- a/pkgs/applications/emulators/sameboy/default.nix +++ b/pkgs/applications/emulators/sameboy/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "sameboy"; - version = "0.16.2"; + version = "0.16.3"; src = fetchFromGitHub { owner = "LIJI32"; repo = "SameBoy"; rev = "v${version}"; - sha256 = "sha256-KEbwug/cwGLS/uhY1rKasLJWaKtiYYzdZvbAU2orfbI="; + sha256 = "sha256-sQWmuF1dQgvW9WyOxgxaupTUcde3KzzYiGv+v1N5ssk="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/graphics/emulsion/default.nix b/pkgs/applications/graphics/emulsion/default.nix index f970b7ffc58f..323920ff4deb 100644 --- a/pkgs/applications/graphics/emulsion/default.nix +++ b/pkgs/applications/graphics/emulsion/default.nix @@ -37,16 +37,16 @@ let in rustPlatform.buildRustPackage rec { pname = "emulsion"; - version = "10.4"; + version = "10.5"; src = fetchFromGitHub { owner = "ArturKovacs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-9M9FyDehony5+1UwtEk7bRjBAlV4GvhtABi0MpjYcIA="; + sha256 = "sha256-Wrb5jHr2rXDpXF/uHpNLKSc//Xdj0/VsXQcytit0hKY="; }; - cargoHash = "sha256-fcZCFD4XBHFIhwZtpYLkv8oDe+TmhvUEKFY3iJAMdFI="; + cargoHash = "sha256-zfR4sp/AmK3+UcFdqMMZE9O9+oGathqmuqFw11SmUWI="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/applications/graphics/structorizer/default.nix b/pkgs/applications/graphics/structorizer/default.nix index a702aef4b4b7..e639efa4e2a7 100644 --- a/pkgs/applications/graphics/structorizer/default.nix +++ b/pkgs/applications/graphics/structorizer/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { pname = "structorizer"; - version = "3.32-19"; + version = "3.32-20"; desktopItems = [ (makeDesktopItem { @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { owner = "fesch"; repo = "Structorizer.Desktop"; rev = version; - hash = "sha256-bHD/E6FWzig73+v4ROZ00TyB79bnlx16/+bBsmboKco="; + hash = "sha256-kFgypwSmXRkIyb0ZMcoTSgQdODfn9F81ABlFWATvh3M="; }; patches = [ ./makeStructorizer.patch ./makeBigJar.patch ]; diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix index 4bfeaea7d36a..f9533663daa4 100644 --- a/pkgs/applications/misc/albert/default.nix +++ b/pkgs/applications/misc/albert/default.nix @@ -12,6 +12,7 @@ , qtdeclarative , qtwayland , qt5compat +, qttools , wrapQtAppsHook , nix-update-script , pkg-config @@ -19,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "albert"; - version = "0.22.17"; + version = "0.23.0"; src = fetchFromGitHub { owner = "albertlauncher"; repo = "albert"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-2wu4bOQDKoZ4DDzTttXXRNDluvuJth7M1pCvJmYQ+f4="; + sha256 = "sha256-L6qHaksArgwySk6J7N5zamUDWh5qa6zTtPFdpxU2NTM="; fetchSubmodules = true; }; @@ -45,6 +46,7 @@ stdenv.mkDerivation (finalAttrs: { qtdeclarative qtwayland qt5compat + qttools ] ++ (with python3Packages; [ python pybind11 ]); postPatch = '' diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index da1e263107b3..3f57531e099d 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -32,11 +32,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "calibre"; - version = "7.7.0"; + version = "7.8.0"; src = fetchurl { url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz"; - hash = "sha256-+kz3Fz1RDQ+ROgv7y0WNAWvIESKvHKID8UnSeCh8yA4="; + hash = "sha256-FxYuQzzuaWZihSsmeJc6ssG3VBr2YNEi3TkXyyymLUQ="; }; patches = [ diff --git a/pkgs/applications/misc/deckmaster/default.nix b/pkgs/applications/misc/deckmaster/default.nix index f977fd1980bb..03e5e05852ad 100644 --- a/pkgs/applications/misc/deckmaster/default.nix +++ b/pkgs/applications/misc/deckmaster/default.nix @@ -17,7 +17,7 @@ buildGoModule rec { hash = "sha256-1hZ7yAKTvkk20ho+QOqFEtspBvFztAtfmITs2uxhdmQ="; }; - vendorHash = "sha256-d38s5sSvENIou+rlphXIrrOcGOdsvkNaMJlhiXVWN6c="; + vendorHash = "sha256-DFssAic2YtXNH1Jm6zCDv1yPNz3YUXaFLs7j7rNHhlE="; proxyVendor = true; diff --git a/pkgs/applications/misc/far2l/default.nix b/pkgs/applications/misc/far2l/default.nix index ad2cc905d9cf..656db7284630 100644 --- a/pkgs/applications/misc/far2l/default.nix +++ b/pkgs/applications/misc/far2l/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "far2l"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "elfmz"; repo = "far2l"; rev = "v_${version}"; - sha256 = "sha256-fLBWHhvfqEiaZkFyNs8CKr5vFMQ5mrbo/X3oGwJmFoo="; + sha256 = "sha256-fFwO06edv2f/remnKc5snAjgmqveVNqxHiUcTlfe+4Y="; }; nativeBuildInputs = [ cmake ninja pkg-config m4 perl makeWrapper ]; diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix index 496ef38626bc..8b98b27667b2 100644 --- a/pkgs/applications/misc/fuzzel/default.nix +++ b/pkgs/applications/misc/fuzzel/default.nix @@ -22,16 +22,16 @@ assert svgSupport -> enableCairo; -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "fuzzel"; - version = "1.9.2"; + version = "1.10.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; - repo = pname; - rev = version; - hash = "sha256-X1P/ghX97KCQcrNk44Cy2IAGuZ8DDwHBWzh1AHLDvd4="; + repo = "fuzzel"; + rev = finalAttrs.version; + hash = "sha256-4wTwsjnmPsg+kc05izeyXilzDO0LpD3g3PRBqgLPK2I="; }; depsBuildBuild = [ @@ -73,4 +73,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ fionera polykernel rodrgz ]; platforms = with platforms; linux; }; -} +}) diff --git a/pkgs/applications/misc/klipper-estimator/default.nix b/pkgs/applications/misc/klipper-estimator/default.nix index 2eff4a1cf08d..243a485c4a52 100644 --- a/pkgs/applications/misc/klipper-estimator/default.nix +++ b/pkgs/applications/misc/klipper-estimator/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "klipper-estimator"; - version = "3.7.1"; + version = "3.7.2"; src = fetchFromGitHub { owner = "Annex-Engineering"; repo = "klipper_estimator"; rev = "v${version}"; - hash = "sha256-zRHV8Bc4+diSfb/hhBxBTaSiZHlKZ9wgd8DZ4Kt6nf0="; + hash = "sha256-OvDdANowsz3qU2KV4WbUWyDrh3sG02+lBKNtcq6ecZ8="; }; - cargoHash = "sha256-zozZuVzn/xYjmP9+B5uzIBuu/rx/tymgvOuiKz617eo="; + cargoHash = "sha256-1O3kXeGPALSa/kNWRArk6ULG0+3UgTxVBzrsqDHHpDU="; buildInputs = [ openssl ] diff --git a/pkgs/applications/misc/pop/default.nix b/pkgs/applications/misc/pop/default.nix index 3fbf063e7315..f20ab86c85c9 100644 --- a/pkgs/applications/misc/pop/default.nix +++ b/pkgs/applications/misc/pop/default.nix @@ -13,7 +13,7 @@ buildGoModule rec { vendorHash = "sha256-8YcJXvR0cdL9PlP74Qh6uN2XZoN16sz/yeeZlBsk5N8="; - GOWORK = "off"; + env.GOWORK = "off"; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/applications/misc/ratt/default.nix b/pkgs/applications/misc/ratt/default.nix index afdc3c231418..fd882b3b572c 100644 --- a/pkgs/applications/misc/ratt/default.nix +++ b/pkgs/applications/misc/ratt/default.nix @@ -11,7 +11,7 @@ buildGoModule rec { }; proxyVendor = true; - vendorHash = "sha256-6cpHDwnxdc/9YPj77JVuT5ZDFjKkF6nBX4RgZr/9fFY="; + vendorHash = "sha256-L8mDs9teQJW6P3dhKSLfzbpA7kzhJk61oR2q0ME+u0M="; # tests try to access the internet to scrape websites doCheck = false; diff --git a/pkgs/applications/misc/skate/default.nix b/pkgs/applications/misc/skate/default.nix index 16849996441f..b344a0e0639e 100644 --- a/pkgs/applications/misc/skate/default.nix +++ b/pkgs/applications/misc/skate/default.nix @@ -12,7 +12,7 @@ buildGoModule rec { }; proxyVendor = true; - vendorHash = "sha256-xNM4qmpv+wcoiGrQ585N3VoKW6tio0cdHmUHRl2Pvio="; + vendorHash = "sha256-/qZB/GGEkoqRoNhEmZw9Q2lsUPZRg5/xVxWgdBZTMLk="; ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; diff --git a/pkgs/applications/misc/wtf/default.nix b/pkgs/applications/misc/wtf/default.nix index f604f50eb7fc..a32527de7dab 100644 --- a/pkgs/applications/misc/wtf/default.nix +++ b/pkgs/applications/misc/wtf/default.nix @@ -17,7 +17,7 @@ buildGoModule rec { sha256 = "sha256-DFrA4bx+wSOxmt1CVA1oNiYVmcWeW6wpfR5F1tnhyDY="; }; - vendorHash = "sha256-9uuLidieBMoKz/FLcBnp9wenyveOIzB0IvRBRasulZk="; + vendorHash = "sha256-mQdKw3DeBEkCOtV2/B5lUIHv5EBp+8QSxpA13nFxESw="; proxyVendor = true; doCheck = false; diff --git a/pkgs/applications/networking/browsers/ladybird/default.nix b/pkgs/applications/networking/browsers/ladybird/default.nix index 04e786bcaad4..fc81be712441 100644 --- a/pkgs/applications/networking/browsers/ladybird/default.nix +++ b/pkgs/applications/networking/browsers/ladybird/default.nix @@ -151,7 +151,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://ladybird.dev"; license = licenses.bsd2; maintainers = with maintainers; [ fgaz ]; - platforms = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; mainProgram = "Ladybird"; }; }) diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix index 55028845e2cb..63466a3efdbf 100644 --- a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix +++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix @@ -11,7 +11,7 @@ buildGoModule rec { sha256 = "sha256-txbs1SzAaV1nCl104m0Ht5DwzCmK+sBDn4rZ1newdLc="; }; - vendorHash = "sha256-1nolJLWkArzSKf11fzlvvgiCnvMYSu5MHRNAn1lryms="; + vendorHash = "sha256-QbjiQVclT8paEKYQmMwj5MLq40mAVh5Ji5VJJTOmEZI="; proxyVendor = true; diff --git a/pkgs/applications/networking/cluster/atmos/default.nix b/pkgs/applications/networking/cluster/atmos/default.nix index b08f1b524e40..0c371bfac2cd 100644 --- a/pkgs/applications/networking/cluster/atmos/default.nix +++ b/pkgs/applications/networking/cluster/atmos/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "atmos"; - version = "1.68.0"; + version = "1.69.0"; src = fetchFromGitHub { owner = "cloudposse"; repo = pname; rev = "v${version}"; - sha256 = "sha256-tyK45RWLZFC2yLqEvEE/U0QjNaQ0Kwx37BL/5d9Bmdc="; + sha256 = "sha256-H2RyxUeOgIiGpR50sDP6bjZ6BKRB47oLUpdtawSRnmo="; }; vendorHash = "sha256-dJJPq2HcGZ+MqtJ848gsrvzD1rMVrwJQKwq+UpZsFB0="; diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix index afc3b7bdf5aa..3651d4652fc7 100644 --- a/pkgs/applications/networking/cluster/talosctl/default.nix +++ b/pkgs/applications/networking/cluster/talosctl/default.nix @@ -15,7 +15,7 @@ buildGoModule rec { ldflags = [ "-s" "-w" ]; - GOWORK = "off"; + env.GOWORK = "off"; subPackages = [ "cmd/talosctl" ]; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 2f605b8837e4..2428750c6961 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -242,7 +242,7 @@ "repo": "terraform-provider-cloudfoundry", "rev": "v0.52.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-g1T6kH8Rv9bpvb6Q3YHCseEi1ayydJIxlplH3k12s8c=" + "vendorHash": "sha256-6MKWpiDq4yI3mfIJyzEsWLa7gi0+DScI5jKcOcM6Qs0=" }, "cloudinit": { "hash": "sha256-etZeCGtYhO0szRGxnj1c3/WOelxScWiHEA9w1Jb7bEE=", @@ -316,7 +316,7 @@ "repo": "terraform-provider-dhall", "rev": "v0.0.7", "spdx": "BSD-3-Clause", - "vendorHash": "sha256-e/+czUeOACwRC7xY90pZp2EWDzDpLU6Ud9RPzuNKaOY=" + "vendorHash": "sha256-quoFrJbB1vjz+MdV+jnr7FPACHuUe5Gx9POLubD2IaM=" }, "digitalocean": { "hash": "sha256-wwb62tZZxpr7NXbiqcS40aF9E2msagj2Mqy4kogDsEA=", @@ -434,7 +434,7 @@ "repo": "terraform-provider-fortios", "rev": "1.19.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-DwRfbD4AqB+4KLuYtqY5fUdzRrEpTIvL4VAM7nieJJA=" + "vendorHash": "sha256-mE25KfP2+7K7nHpkQOn1pfilm+fz5kGDDW8U+P2zglY=" }, "gandi": { "hash": "sha256-fsCtmwyxkXfOtiZG27VEb010jglK35yr4EynnUWlFog=", @@ -552,7 +552,7 @@ "repo": "terraform-provider-htpasswd", "rev": "v1.0.4", "spdx": "MIT", - "vendorHash": "sha256-+D8HxLRUSh7bCN6j+NSkPZTabvqknY7uJ9F5JxefomA=" + "vendorHash": "sha256-6jaAgyHS5H63YKnm4xcYmjKVhPbWm6KK6qHzxg/78yU=" }, "http": { "hash": "sha256-druSExXZeZMNWFIJQoQ/Xh0gCQQx0AnKbIAJQlRi8Po=", diff --git a/pkgs/applications/networking/instant-messengers/beeper/default.nix b/pkgs/applications/networking/instant-messengers/beeper/default.nix index c14f2e8a4385..63d6720aaf0d 100644 --- a/pkgs/applications/networking/instant-messengers/beeper/default.nix +++ b/pkgs/applications/networking/instant-messengers/beeper/default.nix @@ -11,11 +11,11 @@ }: let pname = "beeper"; - version = "3.102.14"; + version = "3.103.36"; name = "${pname}-${version}"; src = fetchurl { - url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.102.14-build-24040616ytycz8q-x86_64.AppImage"; - hash = "sha256-A+0dXAddZq7GWMyi9v1g0B9f7b6COMkFlm8bX4XXvzU="; + url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.103.36-build-240411hw9xbpc7s-x86_64.AppImage"; + hash = "sha256-qxu/a8eeWeOKCsno51J2IHUXTXH82KXBNajfoEkkid8="; }; appimage = appimageTools.wrapType2 { inherit version pname src; diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index f406181b4511..e0ce9027551c 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -45,14 +45,14 @@ let pname = "slack"; - x86_64-darwin-version = "4.37.94"; - x86_64-darwin-sha256 = "01v7v977fq8mfsl0lipdc7ig55p2sknxzr1jmh8qxiq4f4y0rj5g"; + x86_64-darwin-version = "4.37.101"; + x86_64-darwin-sha256 = "03k4iv6y7y1z9ac7if35r3lk7kp7ic4aa4rdyzbrzihvpfb3nvdh"; - x86_64-linux-version = "4.37.94"; - x86_64-linux-sha256 = "1f1spl767ldrarvpxrayry2d0nyr22b8xacxl4g1r8raryvnyz0x"; + x86_64-linux-version = "4.37.101"; + x86_64-linux-sha256 = "0vmaam0aiqcqmm8n3zrjmf012d6pdi0g1d08v1zhgx2rhl614ff9"; - aarch64-darwin-version = "4.37.94"; - aarch64-darwin-sha256 = "0gh45gvlbjzxh0fn24z15glxqih5lggam8w6kpawsxgivkw6rjcc"; + aarch64-darwin-version = "4.37.101"; + aarch64-darwin-sha256 = "07qfqrq32sh5cw7vmq2x0s5zvkvcl7j1kkvdncg36fay9276f2pp"; version = { x86_64-darwin = x86_64-darwin-version; diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix index 2c776a05d053..003b07d2d5f6 100644 --- a/pkgs/applications/networking/mailreaders/aerc/default.nix +++ b/pkgs/applications/networking/mailreaders/aerc/default.nix @@ -22,7 +22,7 @@ buildGoModule rec { }; proxyVendor = true; - vendorHash = "sha256-rycAGqZhO48bPTFO2y2J1d16oon24sEEUns4EayWDvg="; + vendorHash = "sha256-AHEhIWa6PP8f+hhIdY+0brLF2HYhvTal7qXfCwG9iyo="; nativeBuildInputs = [ scdoc diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix index 68dd3ec0f6da..554aeb588ef7 100644 --- a/pkgs/applications/office/paperless-ngx/default.nix +++ b/pkgs/applications/office/paperless-ngx/default.nix @@ -37,8 +37,11 @@ let # https://github.com/NixOS/nixpkgs/issues/298719 # https://github.com/paperless-ngx/paperless-ngx/issues/5494 python = python3.override { - packageOverrides = self: super: { - uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: { + packageOverrides = final: prev: { + # tesseract5 may be overwritten in the paperless module and we need to propagate that to make the closure reduction effective + ocrmypdf = prev.ocrmypdf.override { tesseract = tesseract5; }; + + uvicorn = prev.uvicorn.overridePythonAttrs (_: { version = "0.25.0"; src = fetchFromGitHub { owner = "encode"; @@ -245,7 +248,7 @@ python.pkgs.buildPythonApplication rec { doCheck = !stdenv.isDarwin; passthru = { - inherit python path frontend; + inherit python path frontend tesseract5; nltkData = with nltk-data; [ punkt snowball_data stopwords ]; tests = { inherit (nixosTests) paperless; }; }; diff --git a/pkgs/applications/science/electronics/simulide/default.nix b/pkgs/applications/science/electronics/simulide/default.nix index fbd76a0e0ffc..613ec21dbd96 100644 --- a/pkgs/applications/science/electronics/simulide/default.nix +++ b/pkgs/applications/science/electronics/simulide/default.nix @@ -121,9 +121,9 @@ in simulide_1_1_0 = generic { version = "1.1.0"; - release = "RC1"; + release = "SR0"; branch = "1.1.0"; - rev = "1912"; - sha256 = "sha256-bgRAqt7h2LtU2Ze6Jiz8APhyPcV15v4ofxIilIeZV9E="; + rev = "1917"; + sha256 = "sha256-qNBaGWl89Le9uC1VFK+xYhrLzIvOIWjkQbutnrAmZ2M="; }; } diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 25f7229a845a..2a84d4b27b14 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -22,7 +22,7 @@ }: let - inherit (cudaPackages) cudatoolkit nccl; + inherit (cudaPackages) backendStdenv cudatoolkit nccl; # The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1. # However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead. # Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default. @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { "-DBLAS=open" ] ++ (if cudaSupport then [ "-DCUDA_ARCH_NAME=All" - "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" + "-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc" ] else [ "-DCPU_ONLY=ON" ]) ++ ["-DUSE_NCCL=${toggle ncclSupport}"] ++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"] diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix index 993da2b89898..839537438962 100644 --- a/pkgs/applications/science/math/mxnet/default.nix +++ b/pkgs/applications/science/math/mxnet/default.nix @@ -5,7 +5,7 @@ }: let - inherit (cudaPackages) cudatoolkit cudaFlags cudnn; + inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn; in assert cudnnSupport -> cudaSupport; @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { ++ (if cudaSupport then [ "-DUSE_OLDCMAKECUDA=ON" # see https://github.com/apache/incubator-mxnet/issues/10743 "-DCUDA_ARCH_NAME=All" - "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" + "-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc" "-DMXNET_CUDA_ARCH=${builtins.concatStringsSep ";" cudaFlags.realArches}" ] else [ "-DUSE_CUDA=OFF" ]) ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF"; diff --git a/pkgs/applications/version-management/git-town/default.nix b/pkgs/applications/version-management/git-town/default.nix index 1c99b7a0e2a9..379aa21ef3f1 100644 --- a/pkgs/applications/version-management/git-town/default.nix +++ b/pkgs/applications/version-management/git-town/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "git-town"; - version = "13.0.2"; + version = "14.0.0"; src = fetchFromGitHub { owner = "git-town"; repo = "git-town"; rev = "v${version}"; - hash = "sha256-NT/d6JRecM2g7e+mREYEi1LbUcRkwxmMEuy+IrpCjFA="; + hash = "sha256-GF1nNb/poFDXKwpqYZvQrTZ7CkNgO39KrrDuc94o/tw="; }; vendorHash = null; diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index c0d38801216b..1e72e6d49802 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,15 +1,15 @@ { - "version": "16.10.1", - "repo_hash": "sha256-Bd2BvdWUJJm+hJZHFaW2PyMdaNTZWArpaQ3nY06BBBY=", + "version": "16.10.2", + "repo_hash": "sha256-hKd++fjBaCidBB9DbitWTJjvmiXU0iN1HY4S2gtscW8=", "yarn_hash": "0yzywfg4lqxjwm5cqsm4bn97zcrfvpnrs8rjrv9wv3xqvi9h9skd", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v16.10.1-ee", + "rev": "v16.10.2-ee", "passthru": { - "GITALY_SERVER_VERSION": "16.10.1", - "GITLAB_PAGES_VERSION": "16.10.1", + "GITALY_SERVER_VERSION": "16.10.2", + "GITLAB_PAGES_VERSION": "16.10.2", "GITLAB_SHELL_VERSION": "14.34.0", "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.8.0", - "GITLAB_WORKHORSE_VERSION": "16.10.1" + "GITLAB_WORKHORSE_VERSION": "16.10.2" } } diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index 7cdcebb5ba4d..994cdafc4109 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -6,7 +6,7 @@ }: let - version = "16.10.1"; + version = "16.10.2"; package_version = "v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; @@ -18,7 +18,7 @@ let owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - hash = "sha256-YMvxSQcvFj/ugTGjTThmwi1V9M+rc3fldrmChWzXKR8="; + hash = "sha256-oV6MV9W5kC43orMn78A3UpuR71crN7tcN3xy56S/Ar0="; }; vendorHash = "sha256-zaldiRg7fk/HncpfR7k+dDprsOp1ziQHgX8B4l7bwe0="; diff --git a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix index fbea45b432bd..c7f241aa0f42 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-container-registry/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "gitlab-container-registry"; - version = "3.91.0"; + version = "3.92.0"; rev = "v${version}-gitlab"; # nixpkgs-update: no auto update @@ -10,7 +10,7 @@ buildGoModule rec { owner = "gitlab-org"; repo = "container-registry"; inherit rev; - hash = "sha256-C6tCwVfVZ9CMP0X5NiOdPAuSz5yeu9LAnvOPrq2QLJo="; + hash = "sha256-NHpqfqv3RCbWZilhXLGnQTN+ytzifAix6mcLk5Bw124="; }; vendorHash = "sha256-KZWdM8Q8ipsgm7OoLyOuHo+4Vg2Nve+yZtTSUDgjOW4="; diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix index 92ca11e7884b..c203d4a6db6f 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix @@ -2,14 +2,14 @@ buildGoModule rec { pname = "gitlab-pages"; - version = "16.10.1"; + version = "16.10.2"; # nixpkgs-update: no auto update src = fetchFromGitLab { owner = "gitlab-org"; repo = "gitlab-pages"; rev = "v${version}"; - hash = "sha256-jUTUYbkUad2WrI8lkktd2pr3+GPraEUXT+efOb7JcKw="; + hash = "sha256-lJYQBNJFAVq9SKS1gc2rhdE3qFO7x7xcCXT4hlDwtB8="; }; vendorHash = "sha256-WrR4eZRAuYkhr7ZqP7OXqJ6uwvxzn+t+3OdBNcNaq0M="; diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index 213989465b52..2fbd41cff8d1 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 = "16.10.1"; + version = "16.10.2"; # nixpkgs-update: no auto update src = fetchFromGitLab { diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix index ecadfb5d13cd..40c744e1aed4 100644 --- a/pkgs/applications/version-management/gitoxide/default.nix +++ b/pkgs/applications/version-management/gitoxide/default.nix @@ -18,16 +18,16 @@ let gix = "${stdenv.hostPlatform.emulator buildPackages} $out/bin/gix"; in rustPlatform.buildRustPackage rec { pname = "gitoxide"; - version = "0.34.0"; + version = "0.35.0"; src = fetchFromGitHub { owner = "Byron"; repo = "gitoxide"; rev = "v${version}"; - hash = "sha256-CHlLValZnO5Jd7boMWnK9bYCSjjM4Dj6xvn6tBlvP8c="; + hash = "sha256-Sl7nNYoiCdTZ50tIfJcq5x9KOBkgJsb5bq09chWbyQc="; }; - cargoHash = "sha256-7nc6eIuY08nTeHMVwKukOdd0zP6xbUPo7NcZ8EEGUNI="; + cargoHash = "sha256-G1NWRkhcmFrcHaIxQ7nzvRejPZUuZQDiNonZykkt4qM="; nativeBuildInputs = [ cmake pkg-config installShellFiles ]; diff --git a/pkgs/applications/video/frigate/default.nix b/pkgs/applications/video/frigate/default.nix index 9aee25c46ce5..cf381a5f4265 100644 --- a/pkgs/applications/video/frigate/default.nix +++ b/pkgs/applications/video/frigate/default.nix @@ -65,6 +65,12 @@ python.pkgs.buildPythonApplication rec { url = "https://github.com/blakeblackshear/frigate/commit/56bdacc1c661eff8a323e033520e75e2ba0a3842.patch"; hash = "sha256-s/goUJxIbjq/woCEOEZECdcZoJDoWc1eM63sd60cxeY="; }) + (fetchpatch2 { + # https://github.com/blakeblackshear/frigate/pull/10967 + name = "frigate-wsdl-path.patch"; + url = "https://github.com/blakeblackshear/frigate/commit/b65656fa8733c1c2f3d944f716d2e9493ae7c99f.patch"; + hash = "sha256-taPWFV4PldBGUKAwFMKag4W/3TLMSGdKLYG8bj1Y5mU="; + }) ]; postPatch = '' diff --git a/pkgs/applications/video/mlv-app/default.nix b/pkgs/applications/video/mlv-app/default.nix index e3bd3cbf99a2..72e53090d33c 100644 --- a/pkgs/applications/video/mlv-app/default.nix +++ b/pkgs/applications/video/mlv-app/default.nix @@ -9,13 +9,13 @@ mkDerivation rec { pname = "mlv-app"; - version = "1.11"; + version = "1.14"; src = fetchFromGitHub { owner = "ilia3101"; repo = "MLV-App"; rev = "QTv${version}"; - sha256 = "0s5sjdxi8a17ddvih4ara7mlb2xrc9xqx52jmhfaca6ng341gi4x"; + sha256 = "sha256-RfZXHmWSjZBxNFwQ/bzHppsLS0LauURIdnkAzxAIBcU="; }; patches = if stdenv.isAarch64 then ./aarch64-flags.patch else null; diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix index 44c9ade02ffb..b5d72d9ccf19 100644 --- a/pkgs/build-support/agda/default.nix +++ b/pkgs/build-support/agda/default.nix @@ -40,13 +40,14 @@ let allPackages = withPackages (filter self.lib.isUnbrokenAgdaPackage (attrValues self)); }; }; - inherit (Agda) meta; + # Agda is a split package with multiple outputs; do not inherit them here. + meta = removeAttrs Agda.meta [ "outputsToInstall" ]; } '' mkdir -p $out/bin - makeWrapper ${Agda}/bin/agda $out/bin/agda \ + makeWrapper ${Agda.bin}/bin/agda $out/bin/agda \ --add-flags "--with-compiler=${ghc}/bin/ghc" \ --add-flags "--library-file=${library-file}" - ln -s ${Agda}/bin/agda-mode $out/bin/agda-mode + ln -s ${Agda.bin}/bin/agda-mode $out/bin/agda-mode ''; withPackages = arg: if isAttrs arg then withPackages' arg else withPackages' { pkgs = arg; }; diff --git a/pkgs/build-support/go/module.nix b/pkgs/build-support/go/module.nix index ab8491da34cd..6f568c0eb4f9 100644 --- a/pkgs/build-support/go/module.nix +++ b/pkgs/build-support/go/module.nix @@ -84,6 +84,7 @@ let preBuild = args.preBuild or ""; postBuild = args.modPostBuild or ""; sourceRoot = args.sourceRoot or ""; + env = args.env or { }; impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [ "GIT_PROXY_COMMAND" diff --git a/pkgs/by-name/4d/4d-minesweeper/package.nix b/pkgs/by-name/4d/4d-minesweeper/package.nix new file mode 100644 index 000000000000..006480efc058 --- /dev/null +++ b/pkgs/by-name/4d/4d-minesweeper/package.nix @@ -0,0 +1,89 @@ +{ lib +, fetchFromGitHub +, stdenv +, unzip +, alsa-lib +, gcc-unwrapped +, git +, godot3-export-templates +, godot3-headless +, libGLU +, libX11 +, libXcursor +, libXext +, libXfixes +, libXi +, libXinerama +, libXrandr +, libXrender +, libglvnd +, libpulseaudio +, zlib +}: + +stdenv.mkDerivation { + pname = "4d-minesweeper"; + version = "2.0"; + + src = fetchFromGitHub { + owner = "gapophustu"; + repo = "4D-Minesweeper"; + rev = "db176d8aa5981a597bbae6a1a74aeebf0f376df4"; + sha256 = "sha256-A5QKqCo9TTdzmK13WRSAfkrkeUqHc4yQCzy4ZZ9uX2M="; + }; + + nativeBuildInputs = [ + godot3-headless + unzip + ]; + + buildInputs = [ + alsa-lib + gcc-unwrapped.lib + git + libGLU + libX11 + libXcursor + libXext + libXfixes + libXi + libXinerama + libXrandr + libXrender + libglvnd + libpulseaudio + zlib + ]; + + buildPhase = '' + runHook preBuild + + # Cannot create file '/homeless-shelter/.config/godot/projects/...' + export HOME=$TMPDIR + + # Link the export-templates to the expected location. The --export commands + # expects the template-file at .../templates/3.2.3.stable/linux_x11_64_release + # with 3.2.3 being the version of godot. + mkdir -p $HOME/.local/share/godot + ln -s ${godot3-export-templates}/share/godot/templates $HOME/.local/share/godot + + mkdir -p $out/bin/ + cd source/ + godot3-headless --export "Linux/X11" $out/bin/4d-minesweeper + + runHook postBuild + ''; + + dontInstall = true; + dontFixup = true; + dontStrip = true; + + meta = with lib; { + homepage = "https://github.com/gapophustu/4D-Minesweeper"; + description = "A 4D Minesweeper game written in Godot"; + license = licenses.mpl20; + platforms = platforms.linux; + maintainers = with maintainers; [ nayala ]; + mainProgram = "4d-minesweeper"; + }; +} diff --git a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix index 936c39a7fdce..c630b1b4e4ad 100644 --- a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix @@ -119,6 +119,15 @@ stdenv.mkDerivation (finalAttrs: { chmod +w doc/reference/html/* ''; + # Indicators that talk to it may issue requests to parse desktop files, which needs binaries in Exec on PATH + # messaging_menu_app_set_desktop_id -> g_desktop_app_info_new -...-> g_desktop_app_info_load_from_keyfile -> g_find_program_for_path + # When launched via systemd, PATH is very narrow + preFixup = '' + gappsWrapperArgs+=( + --suffix PATH : '/run/current-system/sw/bin' + ) + ''; + passthru = { ayatana-indicators = [ "ayatana-indicator-messages" diff --git a/pkgs/by-name/be/bepass/package.nix b/pkgs/by-name/be/bepass/package.nix index 9e74015f8d4c..b18dce4c0108 100644 --- a/pkgs/by-name/be/bepass/package.nix +++ b/pkgs/by-name/be/bepass/package.nix @@ -23,7 +23,7 @@ buildGoModule rec{ hash = "sha256-ruOhPWNs1WWM3r6X+6ch0HoDCu/a+IkBQiCr0Wh6yS8="; }; - vendorHash = "sha256-SiggDy6vc19yIw15g45yjl8gscE91zUoR6woECbAtR0="; + vendorHash = "sha256-Juie/Hq3i6rvAK19x6ah3SCQJL0uCrmV9gvzHih3crY="; subPackages = [ "cmd/cli" diff --git a/pkgs/by-name/bu/butler/package.nix b/pkgs/by-name/bu/butler/package.nix index 29407276aba6..62d215dc5af0 100644 --- a/pkgs/by-name/bu/butler/package.nix +++ b/pkgs/by-name/bu/butler/package.nix @@ -31,7 +31,7 @@ buildGoModule rec { proxyVendor = true; - vendorHash = "sha256-CtBwc5mcgLvl2Bvg5gI+ULJMQEEibx1aN3IpmRNUtwE="; + vendorHash = "sha256-GvUUCQ2BPW0HlXZljBWJ2Wyys9OEIM55dEWAa6J19Zg="; doCheck = false; diff --git a/pkgs/by-name/cl/clipcat/package.nix b/pkgs/by-name/cl/clipcat/package.nix index 0ffb17d27273..fdf91c96f8d9 100644 --- a/pkgs/by-name/cl/clipcat/package.nix +++ b/pkgs/by-name/cl/clipcat/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "clipcat"; - version = "0.16.5"; + version = "0.16.6"; src = fetchFromGitHub { owner = "xrelkd"; repo = pname; rev = "v${version}"; - hash = "sha256-/YoEUZ6/aFqlIPAWi95yZHVwLXHf/vsx8L3NdmZfiVk="; + hash = "sha256-FSgBTQGl8LSLdv+SOAgQWLWiqFY+PRQBFYYdbmCttcY="; }; - cargoHash = "sha256-O1jL2ett8aI8lEwnhAELAP5zphjqf9CFrdCn00V5ImQ="; + cargoHash = "sha256-TrzHmWUDAe4gbwm+VoTOuC50CWWnFsF99zscM85ammo="; nativeBuildInputs = [ protobuf diff --git a/pkgs/by-name/ga/gamescope/package.nix b/pkgs/by-name/ga/gamescope/package.nix index a0dd62ab9494..96102fe2258c 100644 --- a/pkgs/by-name/ga/gamescope/package.nix +++ b/pkgs/by-name/ga/gamescope/package.nix @@ -24,9 +24,11 @@ , stb , wlroots , libliftoff +, libdecor , libdisplay-info , lib , makeBinaryWrapper +, patchelfUnstable , nix-update-script , enableExecutable ? true , enableWsi ? true @@ -41,14 +43,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "gamescope"; - version = "3.14.2"; + version = "3.14.3"; src = fetchFromGitHub { owner = "ValveSoftware"; repo = "gamescope"; rev = "refs/tags/${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus="; + hash = "sha256-+6RyrdHRDk9aeM52wcgLo966jP70EAiXSMR3sffNeZM="; }; patches = [ @@ -99,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: { glm ] ++ lib.optionals enableWsi [ vulkan-headers - ] ++ lib.optionals enableExecutable [ + ] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch xorg.libXcomposite xorg.libXcursor xorg.libXdamage @@ -114,7 +116,7 @@ stdenv.mkDerivation (finalAttrs: { libdrm libliftoff SDL2 - wlroots + libdecor libinput libxkbcommon gbenchmark @@ -122,9 +124,13 @@ stdenv.mkDerivation (finalAttrs: { libcap stb libdisplay-info - ]; + ]); postInstall = lib.optionalString enableExecutable '' + # using patchelf unstable because the stable version corrupts the binary + ${lib.getExe patchelfUnstable} $out/bin/gamescope \ + --add-rpath ${vulkan-loader}/lib --add-needed libvulkan.so.1 + # --debug-layers flag expects these in the path wrapProgram "$out/bin/gamescope" \ --prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]} diff --git a/pkgs/by-name/ga/gatus/package.nix b/pkgs/by-name/ga/gatus/package.nix index 311d0ff8ce63..ef7df35bdaed 100644 --- a/pkgs/by-name/ga/gatus/package.nix +++ b/pkgs/by-name/ga/gatus/package.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "gatus"; - version = "5.8.0"; + version = "5.9.0"; src = fetchFromGitHub { owner = "TwiN"; repo = "gatus"; rev = "v${version}"; - hash = "sha256-FFnrtdJiN7B27sJXzoGsbPKX3NeuHOtA34WQrw6pvEI="; + hash = "sha256-obrdEnNxLdWtbGL57D/nTClaOdzJlLDU3+K9VdR8XI4="; }; vendorHash = "sha256-VICVo7XYeHs/43knHA4CMSgHloyYSjOFe1TUb4u+egE="; diff --git a/pkgs/by-name/jr/jrl-cmakemodules/package.nix b/pkgs/by-name/jr/jrl-cmakemodules/package.nix new file mode 100644 index 000000000000..bca4ba0e8231 --- /dev/null +++ b/pkgs/by-name/jr/jrl-cmakemodules/package.nix @@ -0,0 +1,27 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, +}: + +stdenv.mkDerivation { + pname = "jrl-cmakemodules"; + version = "0-unstable-2024-04-12"; + + src = fetchFromGitHub { + owner = "jrl-umi3218"; + repo = "jrl-cmakemodules"; + rev = "a914fa836ab4d2f01c191c93a763cfa322820dc7"; + hash = "sha256-/VedtcRqy4SUTZfrtg01Z1lSPFRg/858hgve+nKTqPo="; + }; + + nativeBuildInputs = [ cmake ]; + + meta = { + description = "CMake utility toolbox"; + homepage = "https://github.com/jrl-umi3218/jrl-cmakemodules"; + license = lib.licenses.lgpl3Plus; + maintainers = [ lib.maintainers.nim65s ]; + }; +} diff --git a/pkgs/by-name/ki/kittysay/package.nix b/pkgs/by-name/ki/kittysay/package.nix new file mode 100644 index 000000000000..27433adcc99c --- /dev/null +++ b/pkgs/by-name/ki/kittysay/package.nix @@ -0,0 +1,28 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: let + version = "0.5.0"; +in + rustPlatform.buildRustPackage { + pname = "kittysay"; + inherit version; + + src = fetchFromGitHub { + owner = "uncenter"; + repo = "kittysay"; + rev = "v${version}"; + sha256 = "sha256-eOcHrEvU3nBKFokwE8CyDOUYoBA1+gBlnl7VRUuoFfE="; + }; + + cargoHash = "sha256-dVgPp5jY3ii8mO/HLTDESQzQyZXzqut8Bjm2KfWD0+U="; + + meta = { + description = "Cowsay, but with a cute kitty :3"; + homepage = "https://github.com/uncenter/kittysay"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [isabelroses uncenter]; + mainProgram = "kittysay"; + }; + } diff --git a/pkgs/by-name/kt/ktx-tools/package.nix b/pkgs/by-name/kt/ktx-tools/package.nix new file mode 100644 index 000000000000..24e55148a8cb --- /dev/null +++ b/pkgs/by-name/kt/ktx-tools/package.nix @@ -0,0 +1,66 @@ +{ + cmake, + doxygen, + fetchFromGitHub, + getopt, + ninja, + lib, + pkg-config, + stdenv, +}: +stdenv.mkDerivation rec { + pname = "ktx-tools"; + version = "4.3.2"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "KTX-Software"; + rev = "v${version}"; + hash = "sha256-zjiJ8B8FEZUJ3iFTYXRmuIEtcaCWtBIbYwz0DwjTDFo"; + }; + + nativeBuildInputs = [ + cmake + doxygen + getopt + ninja + pkg-config + ]; + + cmakeBuildType = "RelWithDebInfo"; + + cmakeFlags = [ "-DKTX_FEATURE_DOC=ON" ]; + + postPatch = '' + patchShebangs . + ''; + + meta = with lib; { + description = "KTX (Khronos Texture) Library and Tools"; + longDescription = '' + KTX (Khronos Texture) is a lightweight container for textures for OpenGL®, + Vulkan® and other GPU APIs. KTX files contain all the parameters needed + for texture loading. A single file can contain anything from a simple + base-level 2D texture through to a cubemap array texture with mipmaps. + + This software package contains: + - libktx: a small library of functions for writing and reading KTX + files, and instantiating OpenGL®, OpenGL ES™️ and Vulkan® textures + from them. + - ktx2check: a tool for validating KTX Version 2 format files. + - ktx2ktx2: a tool for converting a KTX Version 1 file to a KTX Version + 2 file. + - ktxinfo: a tool to display information about a KTX file in human + readable form. + - ktxsc: a tool to supercompress a KTX Version 2 file that contains + uncompressed images. + - toktx: a tool to create KTX files from PNG, Netpbm or JPEG format + images. It supports mipmap generation, encoding to Basis Universal + formats and Zstd supercompression. + ''; + homepage = "https://github.com/KhronosGroup/KTX-Software"; + license = licenses.asl20; + maintainers = with maintainers; [ bonsairobo ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/li/livi/package.nix b/pkgs/by-name/li/livi/package.nix new file mode 100644 index 000000000000..92c7edee95eb --- /dev/null +++ b/pkgs/by-name/li/livi/package.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, gst_all_1 +, wrapGAppsHook4 +, appstream-glib +, gtk4 +, libadwaita +, desktop-file-utils +, libGL +}: + +stdenv.mkDerivation rec { + pname = "livi"; + version = "0.0.6"; + + src = fetchFromGitLab { + owner = "guidog"; + repo = "livi"; + domain = "gitlab.gnome.org"; + rev = "v${version}"; + sha256 = "sha256-DaIbBCJT4Da5noW6Q5z1yzTZ256HNqrvdXgwSY7p/D8="; + }; + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook4 + appstream-glib + desktop-file-utils + ]; + + buildInputs = [ + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gtk4 + libadwaita + libGL + ]; + strictDeps = true; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/guidog/livi"; + description = "A small video player targeting mobile devices (also named μPlayer)"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + mainProgram = "livi"; + maintainers = with maintainers; [ mksafavi ]; + }; +} diff --git a/pkgs/by-name/lo/local-ai/package.nix b/pkgs/by-name/lo/local-ai/package.nix index 7142a529b486..f597097dc8e3 100644 --- a/pkgs/by-name/lo/local-ai/package.nix +++ b/pkgs/by-name/lo/local-ai/package.nix @@ -371,12 +371,12 @@ let stdenv; pname = "local-ai"; - version = "2.12.3"; + version = "2.12.4"; src = fetchFromGitHub { owner = "go-skynet"; repo = "LocalAI"; rev = "v${version}"; - hash = "sha256-/Q0t5OozpgqmjUOYHvVAj1k7VnIixfOS8gNAguuu6p0="; + hash = "sha256-piu2B6u4ZfxiOd9SXrE7jiiiwL2SM8EqXo2s5qeKRl0="; }; self = buildGoModule.override { stdenv = effectiveStdenv; } { diff --git a/pkgs/by-name/mc/mcap-cli/package.nix b/pkgs/by-name/mc/mcap-cli/package.nix index 81853d252efa..80ddcd574b02 100644 --- a/pkgs/by-name/mc/mcap-cli/package.nix +++ b/pkgs/by-name/mc/mcap-cli/package.nix @@ -20,7 +20,7 @@ buildGoModule { modRoot = "go/cli/mcap"; - GOWORK="off"; + env.GOWORK="off"; # copy the local versions of the workspace modules postConfigure = '' diff --git a/pkgs/by-name/me/mercure/package.nix b/pkgs/by-name/me/mercure/package.nix index bd4bdd231a2b..0e8cc02fbe72 100644 --- a/pkgs/by-name/me/mercure/package.nix +++ b/pkgs/by-name/me/mercure/package.nix @@ -8,18 +8,18 @@ buildGoModule rec { pname = "mercure"; - version = "0.15.10"; + version = "0.15.11"; src = fetchFromGitHub { owner = "dunglas"; repo = "mercure"; rev = "v${version}"; - hash = "sha256-ot4Gb2Zg4VaF/ip9cLJYP69WGmKw/+WQSf20o1aQtpM="; + hash = "sha256-qPKfF0awRsMfXu7N/xNwFVmmuqTMGsDDqrVgt6LwviI="; }; sourceRoot = "${src.name}/caddy"; - vendorHash = "sha256-K+9LQ9wI0ltZI7N2mshiDsjEMc2FzenqSGP00fEWuMQ="; + vendorHash = "sha256-evUGa1kFWbj0ynDQruBRDx2opzh7Tc7eHnWn3H4xwxY="; subPackages = [ "mercure" ]; excludedPackages = [ "../cmd/mercure" ]; diff --git a/pkgs/by-name/mi/minijinja/package.nix b/pkgs/by-name/mi/minijinja/package.nix index 6e4a404f4f87..686cb741ebc6 100644 --- a/pkgs/by-name/mi/minijinja/package.nix +++ b/pkgs/by-name/mi/minijinja/package.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "minijinja"; - version = "1.0.17"; + version = "1.0.20"; src = fetchFromGitHub { owner = "mitsuhiko"; repo = "minijinja"; rev = version; - hash = "sha256-NMDPOvSTBEw0469BKEAjL5T/OfVw807KESOpflNe3GI="; + hash = "sha256-NVG9Zpt/CRumlJYsILzjJLo5nY6IZxVdjf6asrglIW0="; }; - cargoHash = "sha256-50fJ7Pb4MLICv3JkeeqiXEcu5cYYU0653YYWEd8HlJU="; + cargoHash = "sha256-fMlk48H9qz8r3gwDD5tXHc+CEgOnQo0pWzhsD9dvl0I="; # The tests relies on the presence of network connection doCheck = false; diff --git a/pkgs/by-name/my/mystmd/package.nix b/pkgs/by-name/my/mystmd/package.nix index e00a9ec2dda4..6c4277ee5823 100644 --- a/pkgs/by-name/my/mystmd/package.nix +++ b/pkgs/by-name/my/mystmd/package.nix @@ -2,16 +2,16 @@ buildNpmPackage rec { pname = "mystmd"; - version = "1.1.52"; + version = "1.1.53"; src = fetchFromGitHub { owner = "executablebooks"; repo = "mystmd"; rev = "mystmd@${version}"; - hash = "sha256-m3SjY5mmq+hzxVwpHgXNvE4PyLwMqPtZY5cOYlOPa6M="; + hash = "sha256-neJKlUk0NHdAh7y92Iyv2kouASPzv1PIl79+D0mgckI="; }; - npmDepsHash = "sha256-pFAf3ZIvJPM6AftwTtzAUBzlbwzT+jiEZm9w3xhQlMI="; + npmDepsHash = "sha256-bXvOzx89MR7KL9wsqzB1uorjGGjh++mw17Ni65LLz28="; dontNpmInstall = true; diff --git a/pkgs/by-name/pa/pace/package.nix b/pkgs/by-name/pa/pace/package.nix new file mode 100644 index 000000000000..738077648c1b --- /dev/null +++ b/pkgs/by-name/pa/pace/package.nix @@ -0,0 +1,38 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, +}: let + version = "0.15.2"; +in + rustPlatform.buildRustPackage { + pname = "pace"; + inherit version; + + src = fetchFromGitHub { + owner = "pace-rs"; + repo = "pace"; + rev = "refs/tags/pace-rs-v${version}"; + hash = "sha256-gyyf4GGHIEdiAWvzKbaOApFikoh3RLWBCZUfJ0MjbIE="; + }; + + cargoHash = "sha256-D7jxju2R0S5wAsK7Gd8W32t/KKFaDjLHNZ2X/OEuPtk="; + + nativeBuildInputs = [installShellFiles]; + + postInstall = '' + installShellCompletion --cmd pace \ + --bash <($out/bin/pace setup completions bash) \ + --fish <($out/bin/pace setup completions fish) \ + --zsh <($out/bin/pace setup completions zsh) + ''; + + meta = { + description = "Command-line program for mindful time tracking"; + homepage = "https://github.com/pace-rs/pace"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [isabelroses]; + mainProgram = "pace"; + }; + } diff --git a/pkgs/by-name/qu/quarkus/package.nix b/pkgs/by-name/qu/quarkus/package.nix index 066de0736456..8128b434ddb0 100644 --- a/pkgs/by-name/qu/quarkus/package.nix +++ b/pkgs/by-name/qu/quarkus/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "quarkus-cli"; - version = "3.9.2"; + version = "3.9.3"; src = fetchurl { url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz"; - hash = "sha256-olMkkvyEfMSktypmLBjJo/wL2zKOLvqms7TRucuAt78="; + hash = "sha256-VTgBwpE5b/OgM7kkzZijmj9H4d8jy0HNMGl5tfmBe4E="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/ra/radcli/package.nix b/pkgs/by-name/ra/radcli/package.nix new file mode 100644 index 000000000000..86774e3762c4 --- /dev/null +++ b/pkgs/by-name/ra/radcli/package.nix @@ -0,0 +1,51 @@ +{ + lib, + stdenv, + autoreconfHook, + doxygen, + fetchFromGitHub, + gettext, + gnutls, + libabigail, + nettle, + pkg-config, +}: + +stdenv.mkDerivation rec { + pname = "radcli"; + version = "1.3.1"; + + src = fetchFromGitHub { + owner = "radcli"; + repo = "radcli"; + rev = "refs/tags/${version}"; + hash = "sha256-KBgimvhuHvaVh9hxPr+CtibGWyscSi0KXk8S1/STk+Q="; + }; + + postUnpack = '' + touch ${src.name}/config.rpath + ''; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + doxygen + gettext + gnutls + libabigail + nettle + ]; + + meta = with lib; { + description = "A simple RADIUS client library"; + homepage = "https://github.com/radcli/radcli"; + changelog = "https://github.com/radcli/radcli/blob/${version}/NEWS"; + license = licenses.bsd2; + maintainers = with maintainers; [ fab ]; + mainProgram = "radcli"; + platforms = platforms.all; + }; +} diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix index ebd4fedee2ad..87470d96c2b7 100644 --- a/pkgs/by-name/rp/rpcs3/package.nix +++ b/pkgs/by-name/rp/rpcs3/package.nix @@ -32,10 +32,10 @@ let # Keep these separate so the update script can regex them - rpcs3GitVersion = "16271-4ecf8ecd0"; - rpcs3Version = "0.0.31-16271-4ecf8ecd0"; - rpcs3Revision = "4ecf8ecd06c15f0557e1d9243f31e4c2d7baebe2"; - rpcs3Hash = "sha256-y7XLYo1qYYiNE4TXVxfUTCmyGkthpj3IU1gdKTgb8KY="; + rpcs3GitVersion = "16334-fba1db29b"; + rpcs3Version = "0.0.31-16334-fba1db29b"; + rpcs3Revision = "fba1db29b32b5cfeb66cb6bd3c2745e190557b10"; + rpcs3Hash = "sha256-vCdZVecvFeWXYG9Hb0oT/gGdlLnTFOORTUdKGBD9onM="; inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland; in diff --git a/pkgs/by-name/sa/sarasa-gothic/package.nix b/pkgs/by-name/sa/sarasa-gothic/package.nix index c2cf97028eca..ef900d6d476a 100644 --- a/pkgs/by-name/sa/sarasa-gothic/package.nix +++ b/pkgs/by-name/sa/sarasa-gothic/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "sarasa-gothic"; - version = "1.0.9"; + version = "1.0.10"; src = fetchurl { # Use the 'ttc' files here for a smaller closure size. # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.) url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${finalAttrs.version}/Sarasa-TTC-${finalAttrs.version}.zip"; - hash = "sha256-g9XtMIgQtqOei38OHMynyjqkWkFzaIq+/s7cKXPe1vA="; + hash = "sha256-P7A788hlyfb3bQsltMvGlbMn67643h6/ijEQP0yjIaU="; }; sourceRoot = "."; diff --git a/pkgs/by-name/sp/spotube/package.nix b/pkgs/by-name/sp/spotube/package.nix index 57411c32068f..300b011dc425 100644 --- a/pkgs/by-name/sp/spotube/package.nix +++ b/pkgs/by-name/sp/spotube/package.nix @@ -1,19 +1,20 @@ -{ lib -, stdenv -, fetchurl +{ + lib, + stdenv, + fetchurl, -, autoPatchelfHook -, dpkg -, makeBinaryWrapper -, makeWrapper -, undmg -, wrapGAppsHook + autoPatchelfHook, + dpkg, + makeBinaryWrapper, + makeWrapper, + undmg, + wrapGAppsHook, -, libappindicator -, libnotify -, libsecret -, mpv-unwrapped -, xdg-user-dirs + libappindicator, + libnotify, + libsecret, + mpv-unwrapped, + xdg-user-dirs, }: let @@ -28,15 +29,20 @@ let as an audio source, eliminating the need for Spotify Premium ''; downloadPage = "https://github.com/KRTirtho/spotube/releases"; - homepage = "https://spotube.netlify.app/"; + homepage = "https://spotube.krtirtho.dev/"; license = lib.licenses.bsdOriginal; mainProgram = "spotube"; maintainers = with lib.maintainers; [ tomasajt ]; - platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + platforms = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; - fetchArtifact = { filename, hash }: + fetchArtifact = + { filename, hash }: fetchurl { url = "https://github.com/KRTirtho/spotube/releases/download/v${version}/${filename}"; inherit hash; @@ -52,7 +58,10 @@ let sourceRoot = "."; - nativeBuildInputs = [ undmg makeBinaryWrapper ]; + nativeBuildInputs = [ + undmg + makeBinaryWrapper + ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix index 9f95375f10aa..8f62b21a5da1 100644 --- a/pkgs/by-name/ta/tailscale-nginx-auth/package.nix +++ b/pkgs/by-name/ta/tailscale-nginx-auth/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, buildGoModule, fetchFromGitHub }: let - version = "1.62.1"; + version = "1.64.0"; in buildGoModule { pname = "tailscale-nginx-auth"; @@ -11,9 +11,9 @@ buildGoModule { owner = "tailscale"; repo = "tailscale"; rev = "v${version}"; - hash = "sha256-gV1k+8n6vuL9q4hNaMdQLf6083Em+CC7/uTdUpehbUU="; + hash = "sha256-qBZoiqhBMBNbeytDBH+sOxxsVjOcH6vnSgIufx+Op04="; }; - vendorHash = "sha256-jyRjT/CQBlmjHzilxJvMuzZQlGyJB4X/yISgWjBVDxc="; + vendorHash = "sha256-pYeHqYd2cCOVQlD1r2lh//KC+732H0lj1fPDBr+W8qA="; CGO_ENABLED = 0; diff --git a/pkgs/development/tools/templ/default.nix b/pkgs/by-name/te/templ/package.nix similarity index 75% rename from pkgs/development/tools/templ/default.nix rename to pkgs/by-name/te/templ/package.nix index d4380a959609..f3442c0de4fb 100644 --- a/pkgs/development/tools/templ/default.nix +++ b/pkgs/by-name/te/templ/package.nix @@ -7,6 +7,15 @@ buildGoModule rec { pname = "templ"; version = "0.2.663"; + src = fetchFromGitHub { + owner = "a-h"; + repo = "templ"; + rev = "v${version}"; + hash = "sha256-TU8QG6OmUzSNDAX9W0Ntmz5cucLqVQeTskfnJbm/YM0="; + }; + + vendorHash = "sha256-Upd5Wq4ajsyOMDiAWS2g2iNO1sm1XJc43AFQLIo5eDM="; + subPackages = [ "cmd/templ" ]; CGO_ENABLED = 0; @@ -17,20 +26,11 @@ buildGoModule rec { "-extldflags -static" ]; - src = fetchFromGitHub { - owner = "a-h"; - repo = "templ"; - rev = "refs/tags/v${version}"; - hash = "sha256-TU8QG6OmUzSNDAX9W0Ntmz5cucLqVQeTskfnJbm/YM0="; - }; - - vendorHash = "sha256-Upd5Wq4ajsyOMDiAWS2g2iNO1sm1XJc43AFQLIo5eDM="; - - meta = with lib; { + meta = { description = "A language for writing HTML user interfaces in Go"; - homepage = "https://templ.guide/"; - license = licenses.mit; - maintainers = with maintainers; [ luleyleo ]; + homepage = "https://github.com/a-h/templ"; + license = lib.licenses.mit; mainProgram = "templ"; + maintainers = with lib.maintainers; [ luleyleo ]; }; } diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix index 9916cbced371..37724fe2d166 100644 --- a/pkgs/by-name/te/tenv/package.nix +++ b/pkgs/by-name/te/tenv/package.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "tenv"; - version = "1.7.0"; + version = "1.7.1"; src = fetchFromGitHub { owner = "tofuutils"; repo = "tenv"; rev = "v${version}"; - hash = "sha256-yAwjNh4Qc09VNpVZ6/e6nnPrz61K/tkSa1df+sMXBj8="; + hash = "sha256-Iq1yv80qiQxISS0r1ShjJOXVtp/ryodgih1m3ykI8+0="; }; vendorHash = "sha256-NMkR90+kJ3VsuhF45l5K68uOqenPfINZDEE0GfjULro="; diff --git a/pkgs/by-name/un/unciv/package.nix b/pkgs/by-name/un/unciv/package.nix index 5a256c31bf6a..b73b58113728 100644 --- a/pkgs/by-name/un/unciv/package.nix +++ b/pkgs/by-name/un/unciv/package.nix @@ -27,11 +27,11 @@ let in stdenv.mkDerivation rec { pname = "unciv"; - version = "4.11.2"; + version = "4.11.4"; src = fetchurl { url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar"; - hash = "sha256-ZUDfJf+FgIX8gRoZYlYAJhpLwNWp3MCKEQOSQGQ88T8="; + hash = "sha256-QqnM1kTXHHpf8l99J8ydIjTkl/LetijzIJgLYt6OaRA="; }; dontUnpack = true; diff --git a/pkgs/by-name/vi/victoriametrics/package.nix b/pkgs/by-name/vi/victoriametrics/package.nix index ce98a2624b05..5ff42e61b677 100644 --- a/pkgs/by-name/vi/victoriametrics/package.nix +++ b/pkgs/by-name/vi/victoriametrics/package.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "VictoriaMetrics"; - version = "1.100.0"; + version = "1.100.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-jrKTic80y8r/1wOR8Prqe9PG57yo8qQIGsobu0I4kTY="; + hash = "sha256-OheW6sCn/yXgSrtUe1zqDGaH6G8HG4QRQhFznaZGvX0="; }; vendorHash = null; diff --git a/pkgs/by-name/zi/zitadel/console.nix b/pkgs/by-name/zi/zitadel/console.nix index 163ed7aded29..ffef4ca1d4e5 100644 --- a/pkgs/by-name/zi/zitadel/console.nix +++ b/pkgs/by-name/zi/zitadel/console.nix @@ -23,7 +23,7 @@ let workDir = "console"; bufArgs = "../proto --include-imports --include-wkt"; outputPath = "src/app/proto"; - hash = "sha256-h/5K6PvEFyjzS5p7SfuDIk91TkN1iPc+iXor8T/QSeE="; + hash = "sha256-BBXFt4f2SQphr106sQ0eEL4Z2ooAI8fxXhu2rKqhjb4="; }; in mkYarnPackage rec { diff --git a/pkgs/by-name/zi/zitadel/package.nix b/pkgs/by-name/zi/zitadel/package.nix index cb5888bab476..14c9ff1a3ad8 100644 --- a/pkgs/by-name/zi/zitadel/package.nix +++ b/pkgs/by-name/zi/zitadel/package.nix @@ -22,7 +22,7 @@ let rev = "v${version}"; hash = "sha256-Uv0iEIFkTdBAi0WDBQHf0ATs4L2FOU4NmiE9p1MHSa0="; }; - goModulesHash = "sha256-PQch046YjYhAmVlNNdgDLWIqFvEpXRgXAYFMwSZmk4w="; + goModulesHash = "sha256-thd1bhbPVedYd+Yq1IYYUJFr66AWRTzA3DceCXFTEQo="; buildZitadelProtocGen = name: buildGoModule { @@ -92,7 +92,7 @@ let protoc-gen-zitadel ]; outputPath = ".artifacts"; - hash = "sha256-3qDVY2CvtY8lZDr+p5i0vV6zZ5KyTtxBLyV7Os9KuIw="; + hash = "sha256-ntIKudNFBs7kHjK7cfzbOfDCA6J8uvJRUbCTa6afK/I="; }; in buildGoModule rec { diff --git a/pkgs/data/fonts/sketchybar-app-font/default.nix b/pkgs/data/fonts/sketchybar-app-font/default.nix index c131069e9e74..ff1a2fe7c742 100644 --- a/pkgs/data/fonts/sketchybar-app-font/default.nix +++ b/pkgs/data/fonts/sketchybar-app-font/default.nix @@ -18,7 +18,7 @@ lib.checkListOfEnum "sketchybar-app-font: artifacts" artifacts artifactList in { pname = "sketchybar-app-font"; - version = "2.0.16"; + version = "2.0.17"; srcs = selectedSources; @@ -52,15 +52,15 @@ lib.checkListOfEnum "sketchybar-app-font: artifacts" artifacts artifactList sources = { font = fetchurl { url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf"; - hash = "sha256-mZ3LmkL54NNQzXuCyWVNlAIod3T5/aGKvnLZjZ/GYdw="; + hash = "sha256-iVSWFqhzf0ZxfQODAf+uvGIiWMjWbir6ZWurlx3n6/w="; }; lua = fetchurl { url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/icon_map.lua"; - hash = "sha256-8daDECZ8hsoyh4Rp3xbkYgPSamCylrzf8zzyu/iwZEc="; + hash = "sha256-/N16zLflQ2sONBFOZiIdC8KR1rd5pZvXftiXjXJvTVA="; }; shell = fetchurl { url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/icon_map.sh"; - hash = "sha256-h0rGkzy1smDL2guvvgeUVUD0q4n9LDKDLQJahbWHgWA="; + hash = "sha256-nPBiNz+3oHwiertjMJ6YW6g6WZglGjassUGrsQVvnRM="; }; }; diff --git a/pkgs/data/themes/colloid-gtk-theme/default.nix b/pkgs/data/themes/colloid-gtk-theme/default.nix index 71e7fb9a2863..be35d1c544bb 100644 --- a/pkgs/data/themes/colloid-gtk-theme/default.nix +++ b/pkgs/data/themes/colloid-gtk-theme/default.nix @@ -22,13 +22,13 @@ lib.checkListOfEnum "${pname}: tweaks" [ "nord" "dracula" "gruvbox" "all" "black stdenvNoCC.mkDerivation rec { inherit pname; - version = "2023-10-28"; + version = "2024-04-14"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - hash = "sha256-NxIWH3qLW8sEguovAv9wfgnlnmPlTipRJTmMo3rSHNY="; + hash = "sha256-DQYnR2V86KbIJfAA4ObRtKQq1IuECie1qdOBYVu8NtA="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix index 82ffce3fd247..a4050e596d09 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix @@ -125,6 +125,11 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace plugins/language/{PageComponent,SpellChecking,ThemeValues}.qml plugins/language/onscreenkeyboard-plugin.cpp plugins/sound/PageComponent.qml \ --replace-fail 'com.lomiri.keyboard.maliit' 'org.maliit.keyboard.maliit' + # Gets list of available localisations from current system, but later drops any language that doesn't cover LSS + # So just give it its own prefix + substituteInPlace plugins/language/language-plugin.cpp \ + --replace-fail '/usr/share/locale' '${placeholder "out"}/share/locale' + # Decide which entries should be visible based on the current system substituteInPlace plugins/*/*.settings \ --replace-warn '/etc' '/run/current-system/sw/etc' diff --git a/pkgs/desktops/lomiri/applications/lomiri/9901-lomiri-Disable-Wizard.patch b/pkgs/desktops/lomiri/applications/lomiri/9901-lomiri-Disable-Wizard.patch new file mode 100644 index 000000000000..7fe6332cadab --- /dev/null +++ b/pkgs/desktops/lomiri/applications/lomiri/9901-lomiri-Disable-Wizard.patch @@ -0,0 +1,30 @@ +From b7757a71bbce18b4718474cab6a7ff7b613f8c86 Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Sun, 19 Nov 2023 13:25:55 +0100 +Subject: [PATCH] lomiri: Disable Wizard + +NixOS does all of this configuration statically at generation build & setup time. For us this just ends up being series of screens +re-confirming abunch of things set in your configuration, so pointless. +--- + plugins/Wizard/System.cpp | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/plugins/Wizard/System.cpp b/plugins/Wizard/System.cpp +index aee8184a8..06c867023 100644 +--- a/plugins/Wizard/System.cpp ++++ b/plugins/Wizard/System.cpp +@@ -69,10 +69,7 @@ bool System::wizardPathExists() { + + bool System::wizardEnabled() const + { +- if (!wizardPathExists()) { +- return true; +- } +- return isUpdate(); ++ return false; + } + + QString System::readCurrentFramework() +-- +2.40.1 + diff --git a/pkgs/desktops/lomiri/applications/lomiri/default.nix b/pkgs/desktops/lomiri/applications/lomiri/default.nix new file mode 100644 index 000000000000..2c1b64bf0ca8 --- /dev/null +++ b/pkgs/desktops/lomiri/applications/lomiri/default.nix @@ -0,0 +1,289 @@ +{ stdenv +, lib +, fetchFromGitLab +, fetchpatch +, fetchpatch2 +, gitUpdater +, linkFarm +, nixosTests +, ayatana-indicator-datetime +, bash +, biometryd +, boost +, cmake +, cmake-extras +, coreutils +, dbus +, dbus-test-runner +, deviceinfo +, geonames +, glib +, glm +, gnome-desktop +, gsettings-qt +, gtk3 +, hfd-service +, libevdev +, libqtdbustest +, libqtdbusmock +, libusermetrics +, libuuid +, lightdm_qt +, lomiri-api +, lomiri-app-launch +, lomiri-download-manager +, lomiri-indicator-network +, lomiri-ui-toolkit +, lomiri-settings-components +, lomiri-system-settings-unwrapped +, lomiri-schemas +, lomiri-notifications +, lomiri-thumbnailer +, maliit-keyboard +, mir +, nixos-icons +, pam +, pkg-config +, properties-cpp +, protobuf +, python3 +, qmenumodel +, qtbase +, qtdeclarative +, qtmir +, qtmultimedia +, qtsvg +, telephony-service +, wrapGAppsHook +, wrapQtAppsHook +, xwayland +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lomiri"; + version = "0.2.1"; + + src = fetchFromGitLab { + owner = "ubports"; + repo = "development/core/lomiri"; + rev = finalAttrs.version; + hash = "sha256-V5Lt870eHgmJ63OF8bTiNFLAFrxdgNihkd7aodSO3v8="; + }; + + patches = [ + # Remove when version > 0.2.1 + (fetchpatch { + name = "0001-lomiri-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/53190bf2f03c8a35491efb26222b8d67ff6caa34.patch"; + hash = "sha256-sbwqOqpTf5OlEB4NZZZTFNXyKq4rTQAxJ6U8YP/DT5s="; + }) + + # fetchpatch2 for renames + # Use GNUInstallDirs variables better, replace more /usr references + # Remove when https://gitlab.com/ubports/development/core/lomiri/-/merge_requests/137 merged & in release + (fetchpatch2 { + name = "0002-lomiri-Make-less-FHS-assumptions.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/817ae1d8ed927e661fbc006851163ba99c46ae13.patch"; + hash = "sha256-NLvpzI2MtjKcGrgTn6PbLXSy3/Jg8KxdSvVYO9KYu9g="; + }) + + # Fix greeter & related settings + # These patches are seemingly not submitted upstream yet + (fetchpatch { + name = "1000-lomiri-QT_IM_MODULE-maliit.patch"; + url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2003_maliit-not-maliitphablet-as-im-module-namespace.patch"; + hash = "sha256-5HEMl0x1S9Hb7spxPRgu8OBebmpaLa6zko2uVEYtBmY="; + }) + (fetchpatch { + name = "1001-lomiri-QT_QPA_PLATFORM-wayland.patch"; + url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2004_qt-qpa-platform-is-wayland.patch"; + hash = "sha256-4C6X2TW+yjZhqYPIcQ3GJeTKbz785i7p/DpT+vX1DSQ="; + }) + (fetchpatch { + name = "1002-lomiri-Fix-Lomiri-greeter.patch"; + url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/1008_lomiri-greeter-wayland.patch"; + excludes = [ "data/lomiri-greeter.desktop.in.in" ]; # conflict with GNUInstallDirs patch + hash = "sha256-XSSxf06Su8PMoqYwqevN034b/li8G/cNXjrqOXyhTRg="; + }) + (fetchpatch { + name = "1003-lomiri-Hide-launcher-in-greeter-mode.patch"; + url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/0002_qml-shell-hide-and-disallow-launcher-in-greeter-only-mode.patch"; + hash = "sha256-R0aMlb7N7XACCthML4SQSd0LvbadADfdQJqrYFhmujk="; + }) + (fetchpatch { + name = "1004-lomiri-Dont-reset-OSK-setting.patch"; + url = "https://salsa.debian.org/ubports-team/lomiri/-/raw/ebbe0f3f568bd145bb58a2e47f7112442328a0a5/debian/patches/2005_dont-reset-alwaysShowOsk-to-system-defaults-on-login.patch"; + hash = "sha256-guq/Ykcq4WcuXxNKO1eA4sJFyGSpZo0gtyFTdeK/GeE="; + }) + + ./9901-lomiri-Disable-Wizard.patch + ]; + + postPatch = '' + # Part of greeter fix, applies separately due to merge conflicts + substituteInPlace data/lomiri-greeter.desktop.in.in \ + --replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-greeter-wrapper @CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' \ + --replace-fail 'X-LightDM-Session-Type=mir' 'X-LightDM-Session-Type=wayland' + + # Need to replace prefix + substituteInPlace data/systemd-user/CMakeLists.txt \ + --replace-fail 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' + + # Don't embed full paths into regular desktop files (but do embed them into lightdm greeter one) + substituteInPlace data/{indicators-client,lomiri}.desktop.in.in \ + --replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/' "" + + # Exclude tests that don't compile (Mir headers these relied on were removed in mir 2.9) + # fatal error: mirtest/mir/test/doubles/stub_surface.h: No such file or directory + substituteInPlace tests/mocks/CMakeLists.txt \ + --replace-fail 'add_subdirectory(QtMir/Application)' "" + + #substituteInPlace plugins/AccountsService/CMakeLists.txt \ + # --replace-fail 'CMAKE_INSTALL_DATADIR' 'CMAKE_INSTALL_FULL_DATADIR' + + # NixOS-ify + + # Use Nix flake instead of Canonical's Ubuntu logo + rm qml/Launcher/graphics/home.svg + ln -s ${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg qml/Launcher/graphics/home.svg + + # Look up default wallpaper in current system + substituteInPlace plugins/Utils/constants.cpp \ + --replace-fail '/usr/share/backgrounds' '/run/current-system/sw/share/wallpapers' + '' + lib.optionalString finalAttrs.finalPackage.doCheck '' + patchShebangs tests/whitespace/check_whitespace.py + ''; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + glib # populates GSETTINGS_SCHEMAS_PATH + pkg-config + wrapGAppsHook # XDG_DATA_DIRS wrapper flags for schemas + wrapQtAppsHook + ]; + + buildInputs = [ + ayatana-indicator-datetime + bash + boost + cmake-extras + dbus + dbus-test-runner + deviceinfo + geonames + glib + glm + gnome-desktop + gsettings-qt + gtk3 + libevdev + libusermetrics + libuuid + lightdm_qt + lomiri-api + lomiri-app-launch + lomiri-download-manager + lomiri-indicator-network + lomiri-schemas + lomiri-system-settings-unwrapped + lomiri-ui-toolkit + maliit-keyboard + mir + pam + properties-cpp + protobuf + qmenumodel + qtbase + qtdeclarative + qtmir + qtsvg + + # QML import path + biometryd + hfd-service + lomiri-notifications + lomiri-settings-components + lomiri-thumbnailer + qtmultimedia + telephony-service + ]; + + nativeCheckInputs = [ + (python3.withPackages (ps: with ps; [ + python-dbusmock + ])) + ]; + + checkInputs = [ + libqtdbustest + libqtdbusmock + ]; + + # Need its flags + dontWrapGApps = true; + + # Manually calling, to avoid double & unnecessary wrapping + dontWrapQtApps = true; + + cmakeFlags = [ + (lib.cmakeBool "NO_TESTS" (!finalAttrs.finalPackage.doCheck)) + ]; + + postInstall = '' + install -Dm755 ../data/lomiri-greeter-wrapper $out/bin/lomiri-greeter-wrapper + ''; + + doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + + preCheck = '' + export QT_PLUGIN_PATH=${lib.getBin qtbase}/${qtbase.qtPluginPrefix} + export XDG_DATA_DIRS=${libqtdbusmock}/share + ''; + + preFixup = '' + qtWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + postFixup = '' + wrapQtApp $out/bin/lomiri + wrapQtApp $out/bin/indicators-client + wrapQtApp $out/bin/lomiri-mock-indicator-service + + wrapProgram $out/bin/lomiri-greeter-wrapper \ + --prefix PATH : ${lib.makeBinPath [ coreutils dbus deviceinfo glib ]} \ + --set LOMIRI_BINARY "$out/bin/lomiri" + + wrapProgram $out/libexec/Xwayland.lomiri \ + --prefix PATH : ${lib.makeBinPath [ deviceinfo ]} + + wrapProgram $out/libexec/lomiri-systemd-wrapper \ + --prefix PATH : ${lib.makeBinPath [ dbus ]} + ''; + + passthru = { + tests.lomiri = nixosTests.lomiri; + updateScript = gitUpdater { }; + greeter = linkFarm "lomiri-greeter" [{ + path = "${finalAttrs.finalPackage}/share/lightdm/greeters/lomiri-greeter.desktop"; + name = "lomiri-greeter.desktop"; + }]; + }; + + meta = with lib; { + description = "Shell of the Lomiri Operating environment"; + longDescription = '' + Shell of the Lomiri Operating environment optimized for touch based human-machine interaction, but also supporting + convergence (i.e. switching between tablet/phone and desktop mode). + + Lomiri is the user shell driving Ubuntu Touch based mobile devices. + ''; + homepage = "https://lomiri.com/"; + changelog = "https://gitlab.com/ubports/development/core/lomiri/-/blob/${finalAttrs.version}/ChangeLog"; + license = licenses.gpl3Only; + mainProgram = "lomiri"; + maintainers = teams.lomiri.members; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index 910008136d7e..f6e92d0c3504 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -56,9 +56,12 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/{Morph,Ubuntu}/CMakeLists.txt \ --replace '/usr/lib/''${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml' "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - # Don't use absolute paths in desktop file + # We normally don't want to use absolute paths in desktop file, but this one is special + # There appears to be some issue in lomiri-app-launch's lookup of relative Icon entries (while lomiri is starting up?) + # that makes the session segfault. + # As a compromise, hardcode /run/current-system substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \ - --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=morph-browser' \ + --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=/run/current-system/sw/share/icons/hicolor/scalable/apps/morph-browser.svg' \ --replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg' '' + lib.optionalString (!finalAttrs.doCheck) '' substituteInPlace CMakeLists.txt \ @@ -124,7 +127,13 @@ stdenv.mkDerivation (finalAttrs: { passthru = { updateScript = gitUpdater { }; - tests.standalone = nixosTests.morph-browser; + tests = { + # Test of morph-browser itself + standalone = nixosTests.morph-browser; + + # Lomiri-specific issues with the desktop file may break the entire session, make sure it still works + lomiri = nixosTests.lomiri; + }; }; meta = with lib; { diff --git a/pkgs/desktops/lomiri/data/lomiri-session/default.nix b/pkgs/desktops/lomiri/data/lomiri-session/default.nix new file mode 100644 index 000000000000..c62e4ab572bd --- /dev/null +++ b/pkgs/desktops/lomiri/data/lomiri-session/default.nix @@ -0,0 +1,198 @@ +{ stdenvNoCC +, lib +, fetchFromGitLab +, fetchpatch +, fetchpatch2 +, gitUpdater +, nixosTests +, bash +, cmake +, dbus +, deviceinfo +, inotify-tools +, lomiri +, makeWrapper +, pkg-config +, runtimeShell +, systemd +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "lomiri-session"; + version = "0.2"; + + src = fetchFromGitLab { + owner = "ubports"; + repo = "development/core/lomiri-session"; + rev = finalAttrs.version; + hash = "sha256-1ZpAn1tFtlXIfeejG0TnrJBRjf3tyz7CD+riWo+sd0s="; + }; + + patches = [ + # Properly gate of UBtouch-specific code + # Otherwise session won't launch, errors out on a removed Mir setting + # Remove when version > 0.2 + (fetchpatch { + name = "0001-lomiri-session-Properly-differentiate-between-Ubuntu-Touch-and-Lomiri-Desktop-session.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/780c19d8b4f18ce24ceb64b8abfae70018579dce.patch"; + hash = "sha256-eFiagFEpH43WpVGA6xkI1IiQ99HHizonhXYg1wYAhwU="; + }) + + # Export Lomiri-prefixed stop envvar + # Remove when version > 0.2 + (fetchpatch { + name = "0002-lomiri-session-Use-LOMIRI_MIR_EMITS_SIGSTOP.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/452e38b489b5893aac3481410d708f4397b1fa1c.patch"; + hash = "sha256-w/kifBLfDm8+CBliVjm4o8JtjaOByHf97XyPhVk6Gho="; + }) + + # Removes broken first-time wizard check + # Remove when version > 0.2 + (fetchpatch { + name = "0003-lomiri-session-Drop-old-wizard-has-run-check.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/c16ae87d8848f9909850072f7728c03c894b1a47.patch"; + hash = "sha256-AIwgztFOGwG2zUsaUen/Z3Mes9m7VgbvNKWp/qYp4g4="; + }) + + # Fix quoting on ps check + # Remove when version > 0.2 + (fetchpatch { + name = "0004-lomiri-session-Put-evaluation-of-ps-call-in-quotes.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/2d7368eae99f07200c814c840636206b9eaa485d.patch"; + hash = "sha256-6LqurJqi/I+Qw64hWTrvA8uA/EIRZbcS6TRRXK+9s1s="; + }) + + # Check for Xwayland presense to determine X11 support + # Remove when version > 0.2 + (fetchpatch { + name = "0005-lomiri-session-Check-for-Xwayland-presence.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/707e43d3b1a6200535b7682e63817265a8e4ee7e.patch"; + hash = "sha256-sI00P31QVF7ZKdwNep2r+0MetNGg/bbrd2YfEzZPLFI="; + }) + + # Fix systemd service startup things, drop upstart hacks + # Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/13 merged & in release + (fetchpatch { + name = "0100-lomiri-session-Drop-Before-Wants-for-App-Indicator-targets.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/ccebdc1c47d7411a9cf4ad2e529471fb0403433a.patch"; + hash = "sha256-vGFvcCjbwcuLrAUIsL5y/QmoOR5i0560LNv01ZT9OOg="; + }) + (fetchpatch { + name = "0101-lomiri-session-Start-lal-application-end.target-on-stop-restart.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9a945b09feff0c1d2b3203caaf3cec5230481e80.patch"; + hash = "sha256-1vD+I5YDEh2wF7UDn6ZxPTBRrdUvwWVXt5x5QdkIAkY="; + }) + (fetchpatch { + name = "0102-lomiri-session-Drop-manual-Xwayland-start-logic.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/6aee0d6cfd76ab1904876f4166621f9f6d833056.patch"; + hash = "sha256-iW/Ko+Xm2ZuJuNE7ATeuMTSHby0fXD+D5nWjX6LLLwU="; + }) + (fetchpatch { + name = "0103-lomiri-session-Set-SyslogIdentifier.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/09d378728685411a04333040279cdaef487dedc8.patch"; + hash = "sha256-minJSxrn2d0+FBlf7bdN3ddSvsn6YWdeH6ZuCW7qbII="; + }) + (fetchpatch { + name = "0104-lomiri-session-Use-LOMIRI_AS_SYSTEMD_UNIT-to-launch-session.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9bd2552c2638c139a0abff527fda99f2ef94cc42.patch"; + hash = "sha256-7ipsGrQRJ98uVSRp2e0U4q3iTuyeUalqZIohbxXpT9k="; + }) + (fetchpatch { + name = "0105-lomiri-session-Allow-sd_notify-calls-for-NOTIFY_SOCKET.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/2157bfc472f2d35e7c81002a924a1f6aa85f7395.patch"; + hash = "sha256-qtArOG4gysFWGnXbz3KpXEppaZ1PGDQKEGqnJvU6/RE="; + }) + (fetchpatch { + name = "0106-lomiri-session-Change-envvar-for-1-time-binary.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/0cd1dbd30f3d5c6e50bce79146e8511e0ee56153.patch"; + hash = "sha256-b8/Mrs36JPJE6l6/Dc/PN+zNV8Oq37HOFx+zMQvWPBY="; + }) + (fetchpatch { + name = "0107-lomiri-session-Drag-lomiri-process-under-umbrella-of-wrapper-script.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/d8212b1862924eb283fd1ee7ea390a144d5ee97e.patch"; + hash = "sha256-UJzV0pYEBBrXSpYxdFoBoMRzPeIQtvtPzDW2/Ljz+uI="; + }) + (fetchpatch { + name = "0108-lomiri-session-Dont-hide-exit-code-from-systemd.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/9ac78d736caa891a4923be8d040fe8224e335215.patch"; + hash = "sha256-yPg1K0IfaGYKqg9536i9AFCLTcAENlsJNdHjrElSeZ4="; + }) + + # Don't require a C & C++ compiler, nothing to compile + # Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/14 merged & in release + (fetchpatch { + name = "0200-lomiri-session-Dont-require-a-compiler.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/6915a5678e09e5dbcb26d29a8e5585d032a19186.patch"; + hash = "sha256-2SWiOLDLsdTjRHaJcnZe/WKcFMFmHtpZsuj7bQCtB4A="; + }) + + # Use GNUInstallDirs for install locations, find_program() for locations of used binaries + # fetchpatch2 due to renames, need to resolve merge conflict manually in postPatch + # Remove when https://gitlab.com/ubports/development/core/lomiri-session/-/merge_requests/15 merged & in release + (fetchpatch2 { + name = "0201-lomiri-session-Hardcode-less-locations.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-session/-/commit/d5b93ecaf08ba776a79c69e8a9dd05d0b6181947.patch"; + excludes = [ "systemd/lomiri.service" ]; + hash = "sha256-BICb6ZwU/sUBzmM4udsOndIgw1A03I/UEG000YvMZ9Y="; + }) + ]; + + postPatch = '' + # Resolving merge conflict + mv systemd/lomiri.service{,.in} + substituteInPlace systemd/lomiri.service.in \ + --replace-fail '/usr/bin/lomiri-session' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-session' \ + --replace-fail '/usr/bin/dbus-update-activation-environment' '@DUAE_BIN@' + + substituteInPlace lomiri-session \ + --replace-fail '/usr/libexec/Xwayland.lomiri' '${lib.getBin lomiri}/libexec/Xwayland.lomiri' + ''; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + makeWrapper + pkg-config + ]; + + buildInputs = [ + bash + deviceinfo + dbus + inotify-tools + lomiri + systemd + ]; + + cmakeFlags = [ + # Requires lomiri-system-compositor -> not ported to Mir 2.x yet + (lib.cmakeBool "ENABLE_TOUCH_SESSION" false) + ]; + + postInstall = '' + patchShebangs $out/bin/lomiri-session + wrapProgram $out/bin/lomiri-session \ + --prefix PATH : ${lib.makeBinPath [ deviceinfo inotify-tools lomiri ]} + ''; + + passthru = { + providedSessions = [ + "lomiri" + # not packaged/working yet + # "lomiri-touch" + ]; + tests.lomiri = nixosTests.lomiri; + updateScript = gitUpdater { }; + }; + + meta = with lib; { + description = "Integrates Lomiri desktop/touch sessions into display / session managers"; + homepage = "https://gitlab.com/ubports/development/core/lomiri-session"; + changelog = "https://gitlab.com/ubports/development/core/lomiri-session/-/blob/${finalAttrs.version}/ChangeLog"; + license = licenses.gpl3Only; + mainProgram = "lomiri-session"; + maintainers = teams.lomiri.members; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 4ac9a72eb7fb..76e0351e5a07 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -8,6 +8,7 @@ let inherit (self) callPackage; in { #### Core Apps + lomiri = callPackage ./applications/lomiri { }; lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { }; lomiri-system-settings-security-privacy = callPackage ./applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix { }; lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { }; @@ -16,6 +17,7 @@ let #### Data lomiri-schemas = callPackage ./data/lomiri-schemas { }; + lomiri-session = callPackage ./data/lomiri-session { }; lomiri-sounds = callPackage ./data/lomiri-sounds { }; lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { }; suru-icon-theme = callPackage ./data/suru-icon-theme { }; diff --git a/pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch b/pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch new file mode 100644 index 000000000000..82961cd4ba79 --- /dev/null +++ b/pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch @@ -0,0 +1,21 @@ +From cf8ba54d22f5ac839004c0d984fb402bde82b527 Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Mon, 8 Apr 2024 15:22:55 +0200 +Subject: [PATCH] Launch module-created systemd service + +--- + data/com.lomiri.UserMetrics.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/com.lomiri.UserMetrics.service.in b/data/com.lomiri.UserMetrics.service.in +index c2e6ae1..212e24f 100644 +--- a/data/com.lomiri.UserMetrics.service.in ++++ b/data/com.lomiri.UserMetrics.service.in +@@ -3,3 +3,4 @@ Name=com.lomiri.UserMetrics + Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/libusermetrics/usermetricsservice + User=usermetrics + StandardOutput=syslog ++SystemdService=dbus-com.lomiri.UserMetrics.service +-- +2.42.0 + diff --git a/pkgs/desktops/lomiri/development/libusermetrics/default.nix b/pkgs/desktops/lomiri/development/libusermetrics/default.nix index d4767b705825..351900af7f13 100644 --- a/pkgs/desktops/lomiri/development/libusermetrics/default.nix +++ b/pkgs/desktops/lomiri/development/libusermetrics/default.nix @@ -43,6 +43,10 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # Not submitted yet, waiting for decision on how CMake testing should be handled ./2001-Remove-custom-check-target.patch + + # Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, we require knowledge about AppArmor availability at launch time + # Custom patch to launch a module-defined service that can handle this + ./2002-Launch-module-created-systemd-service.patch ]; postPatch = '' @@ -91,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) (lib.cmakeBool "GSETTINGS_COMPILE" true) + (lib.cmakeBool "ENABLE_CLICK" true) (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [ # Exclude tests diff --git a/pkgs/desktops/lomiri/services/content-hub/default.nix b/pkgs/desktops/lomiri/services/content-hub/default.nix index 17120d5370f5..7cbf7f205871 100644 --- a/pkgs/desktops/lomiri/services/content-hub/default.nix +++ b/pkgs/desktops/lomiri/services/content-hub/default.nix @@ -161,6 +161,7 @@ stdenv.mkDerivation (finalAttrs: { moveToOutput share/applications/$exampleExe.desktop $examples done moveToOutput share/icons $examples + moveToOutput share/content-hub/peers $examples ''; postFixup = '' diff --git a/pkgs/desktops/lomiri/services/telephony-service/default.nix b/pkgs/desktops/lomiri/services/telephony-service/default.nix index 63a426aa30e0..975f96bce992 100644 --- a/pkgs/desktops/lomiri/services/telephony-service/default.nix +++ b/pkgs/desktops/lomiri/services/telephony-service/default.nix @@ -176,6 +176,10 @@ stdenv.mkDerivation (finalAttrs: { sed -i $out/lib/systemd/user/"$service".service \ -e '/ofono-setup.service/d' done + + # Parses the call & SMS indicator desktop files & tries to find its own executable in PATH + wrapProgram $out/bin/telephony-service-indicator \ + --prefix PATH : "$out/bin" ''; passthru = { diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh index 3d1df94ce875..a64e0ec1581d 100644 --- a/pkgs/desktops/plasma-5/fetch.sh +++ b/pkgs/desktops/plasma-5/fetch.sh @@ -1 +1 @@ -WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.10/ -A '*.tar.xz' ) +WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.11/ -A '*.tar.xz' ) diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix index 0876308cb311..07e6b4b15b08 100644 --- a/pkgs/desktops/plasma-5/srcs.nix +++ b/pkgs/desktops/plasma-5/srcs.nix @@ -1,486 +1,486 @@ # DO NOT EDIT! This file is generated automatically. -# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5 +# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/ { fetchurl, mirror }: { aura-browser = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/aura-browser-5.27.10.tar.xz"; - sha256 = "0rc5vsk3hy4i3fqzrj7kkshijkkrfin3km7n9agv9xs6bjrrca2k"; - name = "aura-browser-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/aura-browser-5.27.11.tar.xz"; + sha256 = "098s0r3lr5svdysc93nvv8xqj3dlslly733hf8pz1nlp621dhx7k"; + name = "aura-browser-5.27.11.tar.xz"; }; }; bluedevil = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/bluedevil-5.27.10.tar.xz"; - sha256 = "1051gx6xv514qa7g102mv51927b7408mv2jrfpryji8r5s6da7vp"; - name = "bluedevil-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/bluedevil-5.27.11.tar.xz"; + sha256 = "1134pm16db70h79q55c9ir1d1amqscdd8bvkf92nmmk6s2zsimdl"; + name = "bluedevil-5.27.11.tar.xz"; }; }; breeze = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/breeze-5.27.10.tar.xz"; - sha256 = "18h08w3ylgvhgcs63ai8airh59yb4kc0bz2zi6lm77fsa83rdg5y"; - name = "breeze-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/breeze-5.27.11.tar.xz"; + sha256 = "1ascvlkycbn4h0bi2cdjljnpi3cfp7whvzslm4fb2gdwwlpnlx8l"; + name = "breeze-5.27.11.tar.xz"; }; }; breeze-grub = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/breeze-grub-5.27.10.tar.xz"; - sha256 = "072zqs723phm27cn359lpaw29zqbx23w4gi4shk00x1n0j5s0spz"; - name = "breeze-grub-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/breeze-grub-5.27.11.tar.xz"; + sha256 = "03l6lpqj1fp2645qy23fcngfzwzhdgyj3xw563gx3gcgqwrc84h6"; + name = "breeze-grub-5.27.11.tar.xz"; }; }; breeze-gtk = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/breeze-gtk-5.27.10.tar.xz"; - sha256 = "1dk9f2l4jqdhzr5xd7ym107zayygjdmibl3jkhnbnq97rs6gk8qx"; - name = "breeze-gtk-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/breeze-gtk-5.27.11.tar.xz"; + sha256 = "1vkzyv65m37jg436brscgn61dd6mil50s8jyn2szwka0hyzx7gfw"; + name = "breeze-gtk-5.27.11.tar.xz"; }; }; breeze-plymouth = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/breeze-plymouth-5.27.10.tar.xz"; - sha256 = "1xabkvnpxh2qw1x5w1fkrcg31h8j0baq4ls6ckw6647gikvnf7h8"; - name = "breeze-plymouth-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/breeze-plymouth-5.27.11.tar.xz"; + sha256 = "16vp6a2bp6s57wb9cb4dhac650m93829xp7q44n172564lz0pn8d"; + name = "breeze-plymouth-5.27.11.tar.xz"; }; }; discover = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/discover-5.27.10.tar.xz"; - sha256 = "1a4z21qrc6wjwcv0hnw8wnkk8w0bli12hfm8bdd07b2rlzi8k48z"; - name = "discover-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/discover-5.27.11.tar.xz"; + sha256 = "0b79x5xfggymxmh0fr45ndc3k3xd2gjryhmy8xd370bd5d964arl"; + name = "discover-5.27.11.tar.xz"; }; }; drkonqi = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/drkonqi-5.27.10.tar.xz"; - sha256 = "1l3zcmjjndqq6y25v74kmzddkkqr8j4030z7rz5333hxraa4gsm3"; - name = "drkonqi-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/drkonqi-5.27.11.tar.xz"; + sha256 = "0g2q959wswjwpn2vj4mmfy3xr6yj4mch55lr8b2xyd0bxw4vb810"; + name = "drkonqi-5.27.11.tar.xz"; }; }; flatpak-kcm = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/flatpak-kcm-5.27.10.tar.xz"; - sha256 = "0masi1nciqzrymcq5i4b2jmhxliqf88z9g11607aqfgsli070lms"; - name = "flatpak-kcm-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/flatpak-kcm-5.27.11.tar.xz"; + sha256 = "0jnzxk9fhpck19k48fw2mcvr5512xnw3jss9c7xp5h27jhml8b4p"; + name = "flatpak-kcm-5.27.11.tar.xz"; }; }; kactivitymanagerd = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kactivitymanagerd-5.27.10.tar.xz"; - sha256 = "1nax1vbl5cxqf8rxmmqfnjnrh36ic16yrbdmcqzgp1s9dkxn5qlf"; - name = "kactivitymanagerd-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kactivitymanagerd-5.27.11.tar.xz"; + sha256 = "1mawqh3vkbibyjijh5797fzj5ldadzvbmkck23v6s34516rpgfxj"; + name = "kactivitymanagerd-5.27.11.tar.xz"; }; }; kde-cli-tools = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kde-cli-tools-5.27.10.tar.xz"; - sha256 = "0gsdl33bnxfg2zf8dgbg3wk40g0j4qjjzk9mz6a43qghkj4nvakv"; - name = "kde-cli-tools-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kde-cli-tools-5.27.11.tar.xz"; + sha256 = "0mc2n91124cxgfhdz6l0x87665q2jamiq14qlzapynjflvzgh9ca"; + name = "kde-cli-tools-5.27.11.tar.xz"; }; }; kde-gtk-config = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kde-gtk-config-5.27.10.tar.xz"; - sha256 = "0swfyvq687ankny7qj7imj691c0mmgifwircxw4w7d9qn5832fvg"; - name = "kde-gtk-config-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kde-gtk-config-5.27.11.tar.xz"; + sha256 = "02hdy55vp6yvx8p877jdr5l5hs46k1rxrwj90m93m2vv0ysib2d4"; + name = "kde-gtk-config-5.27.11.tar.xz"; }; }; kdecoration = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kdecoration-5.27.10.tar.xz"; - sha256 = "1plxczgqj8g99jh1c8jiy5ji086xs4gv12halmfval4b4nw6r5k4"; - name = "kdecoration-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kdecoration-5.27.11.tar.xz"; + sha256 = "0f7qy5y0352ib6lqq8fv22y3f5zvfbzm9ydn8li3m4lk3531gi3i"; + name = "kdecoration-5.27.11.tar.xz"; }; }; kdeplasma-addons = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kdeplasma-addons-5.27.10.tar.xz"; - sha256 = "139y1zsw720j19bzx9m6xlf46n7i7sz12bcdkzs5b8wav0yyyr4y"; - name = "kdeplasma-addons-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kdeplasma-addons-5.27.11.tar.xz"; + sha256 = "016dsfg54gyjk4l0qr8s7rdmyhrvf7b2n9nfkx65cb5ja2x6h875"; + name = "kdeplasma-addons-5.27.11.tar.xz"; }; }; kgamma = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kgamma-5.27.10.tar.xz"; - sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx"; - name = "kgamma-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kgamma-5.27.11.tar.xz"; + sha256 = "0y6n2dp0d7snj72vhm63612a5649qscfv7zcgvdmz3mb8h1xhm5n"; + name = "kgamma-5.27.11.tar.xz"; }; }; kgamma5 = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kgamma5-5.27.10.tar.xz"; - sha256 = "0w7m9via36qk8s92mflh27ngjl1a0zj9im1f93jgrr2wldibp0fx"; - name = "kgamma5-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kgamma5-5.27.11.tar.xz"; + sha256 = "0y6n2dp0d7snj72vhm63612a5649qscfv7zcgvdmz3mb8h1xhm5n"; + name = "kgamma5-5.27.11.tar.xz"; }; }; khotkeys = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/khotkeys-5.27.10.tar.xz"; - sha256 = "1rznv44ixb8l5flcc4rqnj1cfldna0ikbmg50lqznsvsnbkm2p34"; - name = "khotkeys-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/khotkeys-5.27.11.tar.xz"; + sha256 = "0na4h225yrjfivyw3d1c3p2db1djymyz3wahjgmlz1s6wml7qjcb"; + name = "khotkeys-5.27.11.tar.xz"; }; }; kinfocenter = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kinfocenter-5.27.10.tar.xz"; - sha256 = "04fa5bdw84k9ikv7chl1nrh857sb1gzq43f7rc7vb1q7hhs2lp6f"; - name = "kinfocenter-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kinfocenter-5.27.11.tar.xz"; + sha256 = "01qdyklvr1ff83zlpgysa7qlkzv9m6ff1hjjnxcp007k5cal79r9"; + name = "kinfocenter-5.27.11.tar.xz"; }; }; kmenuedit = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kmenuedit-5.27.10.tar.xz"; - sha256 = "1mr09zx37wky8cnf3r2mcvnl8nmhdi9rwdawsz946l66jrz0n28w"; - name = "kmenuedit-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kmenuedit-5.27.11.tar.xz"; + sha256 = "0mrvqif3k7lsvwn7slmm7b4k27v2km04r7v5jr9dsl865h3dwkch"; + name = "kmenuedit-5.27.11.tar.xz"; }; }; kpipewire = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kpipewire-5.27.10.tar.xz"; - sha256 = "1vn3g3rmgwyhrzg9hv7y9249v1gzwid7q43r3ndhdvz2k8baag62"; - name = "kpipewire-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kpipewire-5.27.11.tar.xz"; + sha256 = "1h2czy5qz026gqid2klfnqim4j1p5r526vrp44jxrf1fjhj0z6mc"; + name = "kpipewire-5.27.11.tar.xz"; }; }; kscreen = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kscreen-5.27.10.tar.xz"; - sha256 = "0g0wk17fs0rg7myfv6wf4asw0ahlwk245zwhj0i7lqg8nk6vz1w9"; - name = "kscreen-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kscreen-5.27.11.tar.xz"; + sha256 = "0ly7rd519glhv25a4dsxnnxjizqj6j62gf2kfrbcimg7yj77lzvy"; + name = "kscreen-5.27.11.tar.xz"; }; }; kscreenlocker = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kscreenlocker-5.27.10.tar.xz"; - sha256 = "129xrdlg86qlcp2ssk46xq1h2v00z4cqha2wc5fr3d65gyw80kfp"; - name = "kscreenlocker-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kscreenlocker-5.27.11.tar.xz"; + sha256 = "1pynfzms3iihfpzhlma7769zaaslk9jnfpgmhx6kah227gmcxf1k"; + name = "kscreenlocker-5.27.11.tar.xz"; }; }; ksshaskpass = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/ksshaskpass-5.27.10.tar.xz"; - sha256 = "0sp275r8jqlh1as47r0df3lli17lnw6m2h5j9k85hglwrgfyg3fk"; - name = "ksshaskpass-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/ksshaskpass-5.27.11.tar.xz"; + sha256 = "1fqrw6n9fggdz6rhg0985s6dg6x2h1a8i9zic5zsv24wnbqvsy4y"; + name = "ksshaskpass-5.27.11.tar.xz"; }; }; ksystemstats = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/ksystemstats-5.27.10.tar.xz"; - sha256 = "0f723yq5wyfxfj9cx13cpvxhq28blglzpsgdh843has3xlnxlpjs"; - name = "ksystemstats-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/ksystemstats-5.27.11.tar.xz"; + sha256 = "1mawh8icgrx18z7dyqzxxikl0z9fq87z5a1hx6ykimcri345z3ip"; + name = "ksystemstats-5.27.11.tar.xz"; }; }; kwallet-pam = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kwallet-pam-5.27.10.tar.xz"; - sha256 = "1yx18j9823xfqwrhzy3wnzqzw7zhdya9r3xh84qg9j9psqa1f6dc"; - name = "kwallet-pam-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kwallet-pam-5.27.11.tar.xz"; + sha256 = "0h6qmrl4qa5m4csqvn3rvkvlqi6aa606bnfaxx77kqc65a7vhlvz"; + name = "kwallet-pam-5.27.11.tar.xz"; }; }; kwayland-integration = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kwayland-integration-5.27.10.tar.xz"; - sha256 = "17xxlfs63sxcziv8nl50qlpcy8w0h259mblxxvx99cmnc930azgk"; - name = "kwayland-integration-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kwayland-integration-5.27.11.tar.xz"; + sha256 = "1dmwd3mw5s67pngb0gd6ki0vfzj0aamkyxiqagn06jkvwsxlfjcb"; + name = "kwayland-integration-5.27.11.tar.xz"; }; }; kwin = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kwin-5.27.10.tar.xz"; - sha256 = "1inswsd078lbbr7pwc84a3smhnn4i089c2f6lfsjrdh0b492anmq"; - name = "kwin-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kwin-5.27.11.tar.xz"; + sha256 = "0vxmj50wran5glgzs3cwpyjk9qwgwnzlmq0gb4kcsm5x54xv40l9"; + name = "kwin-5.27.11.tar.xz"; }; }; kwrited = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/kwrited-5.27.10.tar.xz"; - sha256 = "0haddznfis4fhz7nkjpqakxwk4zh50q7g578ksng17gbd2x9x8as"; - name = "kwrited-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/kwrited-5.27.11.tar.xz"; + sha256 = "18f054ya2kkxsivh5pdfl7ja5g26m337bkp65famwd94gsnca487"; + name = "kwrited-5.27.11.tar.xz"; }; }; layer-shell-qt = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/layer-shell-qt-5.27.10.tar.xz"; - sha256 = "1hn3sjimplsbl5afid0rwj08qqydb8hl6lyzhv0k6c0l5b7q1v8a"; - name = "layer-shell-qt-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/layer-shell-qt-5.27.11.tar.xz"; + sha256 = "0l6kfqg0v5gm4dp9xs5kvhw4ahx45gr8ymp3x7zsxj8r2q4j3hzl"; + name = "layer-shell-qt-5.27.11.tar.xz"; }; }; libkscreen = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/libkscreen-5.27.10.tar.xz"; - sha256 = "167z7bgqzjclqvcqiplgnpjxscl8m6fznly3c2spzg19i449zx97"; - name = "libkscreen-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/libkscreen-5.27.11.tar.xz"; + sha256 = "1m8xl9z000pjbgk18mpaz8cfpx7prvlfx8p5i0wk0clz90fz848d"; + name = "libkscreen-5.27.11.tar.xz"; }; }; libksysguard = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/libksysguard-5.27.10.tar.xz"; - sha256 = "1r9wzx0r1m3m2gb9k4xgwra84vc05lxyjilcns8j69yb52q37z0p"; - name = "libksysguard-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/libksysguard-5.27.11.tar.xz"; + sha256 = "0ncnrg5g1h7c1w66mks73md3fz5n4axmxw5jb85a3kg8vm6gbx11"; + name = "libksysguard-5.27.11.tar.xz"; }; }; milou = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/milou-5.27.10.tar.xz"; - sha256 = "1hqa25grsdmwr1y3fra6k09czrd6iagf9fqq85cxz6yc2s5xs6bw"; - name = "milou-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/milou-5.27.11.tar.xz"; + sha256 = "06iyb2zn19xz837wfz86xz5i3rkfkyvyy6xgywhjknvsvi06k08b"; + name = "milou-5.27.11.tar.xz"; }; }; oxygen = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/oxygen-5.27.10.tar.xz"; - sha256 = "02q95nx0706p9zhzbvx89ssk20mv7cizvqf0kyavn4gfwpizc5jv"; - name = "oxygen-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/oxygen-5.27.11.tar.xz"; + sha256 = "0w7mnh4ds7avv3xdgd4rb6b5612krbpzm8dx3fgpr2yp7c1lfbxs"; + name = "oxygen-5.27.11.tar.xz"; }; }; oxygen-sounds = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/oxygen-sounds-5.27.10.tar.xz"; - sha256 = "0py37frx59f3c4dxv3llsxky1cb03ynyqfphdx3ndsgfma8g1893"; - name = "oxygen-sounds-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/oxygen-sounds-5.27.11.tar.xz"; + sha256 = "1ppikl4b9rldj9d0cgn52vi7jhjrkqkj0blq7c11x52ibb2lk8kg"; + name = "oxygen-sounds-5.27.11.tar.xz"; }; }; plank-player = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plank-player-5.27.10.tar.xz"; - sha256 = "04idirgwrgys6p4b6l86z46lxjw9m1chi3fhp9yk4s52grdwx3ib"; - name = "plank-player-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plank-player-5.27.11.tar.xz"; + sha256 = "1sg6zk97qawpmizdykl6q27h5aha6cfj0qcqx4l606mcixf4gskc"; + name = "plank-player-5.27.11.tar.xz"; }; }; plasma-bigscreen = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-bigscreen-5.27.10.tar.xz"; - sha256 = "06420vpfjjg5zy21r6l6vdj2vs37aqy02hw351n5q3l2kc3snc9p"; - name = "plasma-bigscreen-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-bigscreen-5.27.11.tar.xz"; + sha256 = "0rv0hcff6z6xnxpx10by5mxmi6pm16wsa9akd9nf8m5jbm1b7r43"; + name = "plasma-bigscreen-5.27.11.tar.xz"; }; }; plasma-browser-integration = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-browser-integration-5.27.10.tar.xz"; - sha256 = "1kncrxz08w9fvvl2ag3gk3iw1gwbwm5kpc23iq6fypfjk6pbwzd1"; - name = "plasma-browser-integration-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-browser-integration-5.27.11.tar.xz"; + sha256 = "0k0jbhhvmgv1xqw8bz4kn7j1r8d69n1r1mbb1px8ibl6d4famrn4"; + name = "plasma-browser-integration-5.27.11.tar.xz"; }; }; plasma-desktop = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-desktop-5.27.10.tar.xz"; - sha256 = "17yhrz4i7d52ywgjcmcwbmgr67f8lyph72lrhlys4kfk474my0fy"; - name = "plasma-desktop-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-desktop-5.27.11.tar.xz"; + sha256 = "18s4zh8z1x0519xlh156xfay865hpyyhf172znvb9rsic9bix7yh"; + name = "plasma-desktop-5.27.11.tar.xz"; }; }; plasma-disks = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-disks-5.27.10.tar.xz"; - sha256 = "0ysqaky2bv7yk76swkrvyqcv2y41xr4m9b61bn5cj5lzb8a4v3qy"; - name = "plasma-disks-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-disks-5.27.11.tar.xz"; + sha256 = "1js1m46bh7hshcqx90b97rc5k9gk9rg4kyqc8h3bs767fbvp9l4q"; + name = "plasma-disks-5.27.11.tar.xz"; }; }; plasma-firewall = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-firewall-5.27.10.tar.xz"; - sha256 = "1k443ikbnny7xpi52xmbfnl5iy8alx7jnrx9grb6wlwghh06lnkm"; - name = "plasma-firewall-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-firewall-5.27.11.tar.xz"; + sha256 = "01f1429ks9rkh8wsmjw91ryrmifnsxq3q8mxawcwaswiykyykkil"; + name = "plasma-firewall-5.27.11.tar.xz"; }; }; plasma-integration = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-integration-5.27.10.tar.xz"; - sha256 = "1fzz581pfdzli62riw7mnfhqdp5pp929rkdw9g6il1c6hlgciwim"; - name = "plasma-integration-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-integration-5.27.11.tar.xz"; + sha256 = "0ydzy1fy6j6ais1y5zgfai6kxhinf8478jcsa7blg43061zsj55j"; + name = "plasma-integration-5.27.11.tar.xz"; }; }; plasma-mobile = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-mobile-5.27.10.tar.xz"; - sha256 = "0bjv890m9pf5f8zynhjnhhc3dbd5iz5fvhrsa7jjgds8v26gza1c"; - name = "plasma-mobile-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-mobile-5.27.11.tar.xz"; + sha256 = "167hm5p3bhpnf8c5xn4f4r6grldv31wcfbrpyfvkf4kv94pspsq4"; + name = "plasma-mobile-5.27.11.tar.xz"; }; }; plasma-nano = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-nano-5.27.10.tar.xz"; - sha256 = "170w5vf91dr8l3m6jljwrm1xlzha8nxixwnh9ic0j4kyy8dirxjb"; - name = "plasma-nano-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-nano-5.27.11.tar.xz"; + sha256 = "1yrgfhhj6vdc6ppnc8iys1b8wj3mfsf1p9w81d05fy5ka8ykjh0c"; + name = "plasma-nano-5.27.11.tar.xz"; }; }; plasma-nm = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-nm-5.27.10.tar.xz"; - sha256 = "1c6wngqmvdqkypifi5p0s0ax092wagiw6f7la3ipq4sfcakx6pdp"; - name = "plasma-nm-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-nm-5.27.11.tar.xz"; + sha256 = "0mlybqjnx9xgdmdbhzh65is62x8mwy6h8aw21n31g3nlwafq2spz"; + name = "plasma-nm-5.27.11.tar.xz"; }; }; plasma-pa = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-pa-5.27.10.tar.xz"; - sha256 = "021zdcqrhwmdkklzlv8hlnykycv2zfcwxn3qwviqf9a7y513fw8d"; - name = "plasma-pa-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-pa-5.27.11.tar.xz"; + sha256 = "1cr0lywxpidhmn0n62xsf4gs94g723rxv5lwdf26jfqnlwg6gaix"; + name = "plasma-pa-5.27.11.tar.xz"; }; }; plasma-remotecontrollers = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-remotecontrollers-5.27.10.tar.xz"; - sha256 = "0wzly5r4bhl1m661hww98008fpbgmz9ymsndj426xf3wnkgjc12i"; - name = "plasma-remotecontrollers-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-remotecontrollers-5.27.11.tar.xz"; + sha256 = "0w77bh27d948sznbs22j5jzlp06711x0g0v3sbm7cy3r6dw7rwsr"; + name = "plasma-remotecontrollers-5.27.11.tar.xz"; }; }; plasma-sdk = { - version = "5.27.10"; + version = "5.27.11.1"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-sdk-5.27.10.tar.xz"; - sha256 = "08q1d74iqkg7aa1pvvk7p0gl4a8y6c0hf15kxlk032na1qfymagf"; - name = "plasma-sdk-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-sdk-5.27.11.1.tar.xz"; + sha256 = "0i073qv2drnjixv7p8kzzq05wggdsj2jdckhz1i46dwsd65s38lh"; + name = "plasma-sdk-5.27.11.1.tar.xz"; }; }; plasma-systemmonitor = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-systemmonitor-5.27.10.tar.xz"; - sha256 = "03laxgby4ms7rzxv96z0anqzh44vh88qn9g81gny2axljxbp18b4"; - name = "plasma-systemmonitor-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-systemmonitor-5.27.11.tar.xz"; + sha256 = "1zaxddrjhypf7pc40gyanymf0l5bbdijc3lf5bkl6p8vjaywpjha"; + name = "plasma-systemmonitor-5.27.11.tar.xz"; }; }; plasma-thunderbolt = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-thunderbolt-5.27.10.tar.xz"; - sha256 = "15k161q4qvx7zg9303074grc10z95q0137lk76mqqg9prgjmw92d"; - name = "plasma-thunderbolt-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-thunderbolt-5.27.11.tar.xz"; + sha256 = "1yw9bampcbjxqrxiri3ac933gk29rmn2jcfbxqsb5kcb6gbc5rsz"; + name = "plasma-thunderbolt-5.27.11.tar.xz"; }; }; plasma-vault = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-vault-5.27.10.tar.xz"; - sha256 = "0nqss7ijlamjzxycs5m8vsq61fxzhfk4wky1zv43ymdcc5bd1wbm"; - name = "plasma-vault-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-vault-5.27.11.tar.xz"; + sha256 = "1hkn4a61kwnhscl1cq3nza323p4l513d0c3va70vqa7psxwrsn8b"; + name = "plasma-vault-5.27.11.tar.xz"; }; }; plasma-welcome = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-welcome-5.27.10.tar.xz"; - sha256 = "008wga32j5f7cmwabxvlc3dzfj17fa0wkfj8dbvfd2gv34sf08w4"; - name = "plasma-welcome-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-welcome-5.27.11.tar.xz"; + sha256 = "02rjm23qqfwnasiqj4ksl4yayg0xijmdxzqqc4f5by17vplcmgng"; + name = "plasma-welcome-5.27.11.tar.xz"; }; }; plasma-workspace = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-5.27.10.tar.xz"; - sha256 = "0y4p6lk481byracfhvvqf7bbk13isl9m1zsl7prk0rqsqrjc2paj"; - name = "plasma-workspace-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-5.27.11.tar.xz"; + sha256 = "1pbsxssa8jgpy2kkhf43ck6gdkjr216b7ashy8sm7v306v29pmh7"; + name = "plasma-workspace-5.27.11.tar.xz"; }; }; plasma-workspace-wallpapers = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plasma-workspace-wallpapers-5.27.10.tar.xz"; - sha256 = "1l345rzg626krmriz54j480lh9zza7liq6bfz7vmifck558jv1l2"; - name = "plasma-workspace-wallpapers-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-wallpapers-5.27.11.tar.xz"; + sha256 = "02p59m54g453pl3cjx932xpfhz73lc8yq1hxq9pzsyhjd3y2fg12"; + name = "plasma-workspace-wallpapers-5.27.11.tar.xz"; }; }; plymouth-kcm = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/plymouth-kcm-5.27.10.tar.xz"; - sha256 = "10p6ikppr1vzafx2qvb4pmzkgpja2bnqp60np46q1nnajgng4w3z"; - name = "plymouth-kcm-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/plymouth-kcm-5.27.11.tar.xz"; + sha256 = "1m645zw0vi1zj6sqplc7x23ycwkh9x41nxq413njz5sgmb76k8ig"; + name = "plymouth-kcm-5.27.11.tar.xz"; }; }; polkit-kde-agent = { - version = "1-5.27.10"; + version = "1-5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/polkit-kde-agent-1-5.27.10.tar.xz"; - sha256 = "1nwbiwwz5x1h4xhx021izrm685pq5bh9mi5v85x32s74hlkjm5d3"; - name = "polkit-kde-agent-1-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/polkit-kde-agent-1-5.27.11.tar.xz"; + sha256 = "06swprc498fjbk0aw2ac6x4g7sx5whzbaci12nwl068h9y4hisf9"; + name = "polkit-kde-agent-1-5.27.11.tar.xz"; }; }; powerdevil = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/powerdevil-5.27.10.tar.xz"; - sha256 = "1wf89sh8b7v6hhjkr8vf2q7qm3anv24n20n8wdh21pc0k30a7h86"; - name = "powerdevil-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/powerdevil-5.27.11.tar.xz"; + sha256 = "0wvmdjrmlphxx2jcabsnqzayz50chvrgxsp5ynw3kgdw0lpapli8"; + name = "powerdevil-5.27.11.tar.xz"; }; }; qqc2-breeze-style = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/qqc2-breeze-style-5.27.10.tar.xz"; - sha256 = "0fwbgfm8n79zslmm4ww177zlk7gjklhyj1h71kzmdb7p32z6z2ix"; - name = "qqc2-breeze-style-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/qqc2-breeze-style-5.27.11.tar.xz"; + sha256 = "03v1wdl3wq5xn185b28ljj62qggjllw6s8xzi91s0g3sxfvp3fgx"; + name = "qqc2-breeze-style-5.27.11.tar.xz"; }; }; sddm-kcm = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/sddm-kcm-5.27.10.tar.xz"; - sha256 = "1bgljl6ybm7bgz2brv2a6nq81nyv2fwrnd0psv2v5mw3pxvk3r43"; - name = "sddm-kcm-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/sddm-kcm-5.27.11.tar.xz"; + sha256 = "1h3lg25hrggwd8f3ivgndwd9vwkvhxh22jgfmsvjxqcv6n0zx6rv"; + name = "sddm-kcm-5.27.11.tar.xz"; }; }; systemsettings = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/systemsettings-5.27.10.tar.xz"; - sha256 = "0f8dhqnbix813fkwa03mzsfr0wsfmgb6kbgai63wv9g3rgr4fk5g"; - name = "systemsettings-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/systemsettings-5.27.11.tar.xz"; + sha256 = "0jlj3wcf3npwi83yhgczkz116p0fiwvgkwnk39zmdba4kqkj8pqg"; + name = "systemsettings-5.27.11.tar.xz"; }; }; xdg-desktop-portal-kde = { - version = "5.27.10"; + version = "5.27.11"; src = fetchurl { - url = "${mirror}/stable/plasma/5.27.10/xdg-desktop-portal-kde-5.27.10.tar.xz"; - sha256 = "0azggffvjxzxs3qibfdv9y5aslxgfrrb1qcjh9r96wp2qgq1ywxx"; - name = "xdg-desktop-portal-kde-5.27.10.tar.xz"; + url = "${mirror}/stable/plasma/5.27.11/xdg-desktop-portal-kde-5.27.11.tar.xz"; + sha256 = "1cyr2scjrdvx0x2qcpky7qr5rxxjlsavwvyjwajlfm0l3s5qjxin"; + name = "xdg-desktop-portal-kde-5.27.11.tar.xz"; }; }; } diff --git a/pkgs/development/compilers/llvm/12/clang/default.nix b/pkgs/development/compilers/llvm/12/clang/default.nix deleted file mode 100644 index c482a8ee6875..000000000000 --- a/pkgs/development/compilers/llvm/12/clang/default.nix +++ /dev/null @@ -1,132 +0,0 @@ -{ lib, stdenv, llvm_meta, fetch, substituteAll, cmake, libxml2, libllvm, version, clang-tools-extra_src, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation ({ - pname = "clang"; - inherit version; - - src = fetch "clang" "0px4gl27az6cdz6adds89qzdwb1cqpjsfvrldbz9qvpmphrj34bf"; - inherit clang-tools-extra_src; - - unpackPhase = '' - unpackFile $src - mv clang-* clang - sourceRoot=$PWD/clang - unpackFile ${clang-tools-extra_src} - mv clang-tools-extra-* $sourceRoot/tools/extra - substituteInPlace $sourceRoot/tools/extra/clangd/quality/CompletionModel.cmake \ - --replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra' - ''; - - nativeBuildInputs = [ cmake python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - (substituteAll { - src = ../../common/clang/clang-11-15-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ - -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ - lib/Driver/ToolChains/*.cpp - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/{clang,scan-view} - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - mv $out/share/scan-view/*.py $python/share/scan-view - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/clang-tblgen $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ]; - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - buildPhase = '' - make docs-clang-man - ''; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix index 7bd82c071538..0d9202df8aee 100644 --- a/pkgs/development/compilers/llvm/12/default.nix +++ b/pkgs/development/compilers/llvm/12/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake , preLibcCrossHeaders -, substitute, fetchFromGitHub, fetchpatch +, substitute, substituteAll, fetchFromGitHub, fetchpatch , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross @@ -56,7 +56,7 @@ let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -66,7 +66,17 @@ let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + src = fetch "clang" "0px4gl27az6cdz6adds89qzdwb1cqpjsfvrldbz9qvpmphrj34bf"; + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + (substituteAll { + src = ../common/clang/clang-11-15-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit clang-tools-extra_src llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/13/clang/default.nix b/pkgs/development/compilers/llvm/13/clang/default.nix deleted file mode 100644 index 2d02ffb60b36..000000000000 --- a/pkgs/development/compilers/llvm/13/clang/default.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ lib, stdenv, llvm_meta, src, substituteAll, cmake, libxml2, libllvm, version, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation ({ - pname = "clang"; - inherit version; - - inherit src; - sourceRoot = "${src.name}/clang"; - - nativeBuildInputs = [ cmake python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - # Revert of https://reviews.llvm.org/D100879 - # The malloc alignment assumption is incorrect for jemalloc and causes - # mis-compilation in firefox. - # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1741454 - ./revert-malloc-alignment-assumption.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-11-15-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/{clang,scan-view} - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - mv $out/share/scan-view/*.py $python/share/scan-view - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/clang-tblgen $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ]; - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - buildPhase = '' - make docs-clang-man - ''; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix index 712c6e160d1e..ecdbd14e98e7 100644 --- a/pkgs/development/compilers/llvm/13/default.nix +++ b/pkgs/development/compilers/llvm/13/default.nix @@ -1,7 +1,7 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake , preLibcCrossHeaders , fetchpatch -, libxml2, python3, isl, fetchFromGitHub, substitute, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, isl, fetchFromGitHub, substitute, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -82,7 +82,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -92,7 +92,22 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + # Revert of https://reviews.llvm.org/D100879 + # The malloc alignment assumption is incorrect for jemalloc and causes + # mis-compilation in firefox. + # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1741454 + ./clang/revert-malloc-alignment-assumption.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-11-15-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/14/clang/default.nix b/pkgs/development/compilers/llvm/14/clang/default.nix deleted file mode 100644 index 829edb15d600..000000000000 --- a/pkgs/development/compilers/llvm/14/clang/default.nix +++ /dev/null @@ -1,129 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, substituteAll, cmake, libxml2, libllvm, version, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation (rec { - pname = "clang"; - inherit version; - - src = runCommand "${pname}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${pname} "$out" - cp -r ${monorepoSrc}/clang-tools-extra "$out" - ''; - - sourceRoot = "${src.name}/${pname}"; - - nativeBuildInputs = [ cmake python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-11-15-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/{clang,scan-view} - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - mv $out/share/scan-view/*.py $python/share/scan-view - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/clang-tblgen $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ]; - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - buildPhase = '' - make docs-clang-man - ''; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix index efab4ca73572..fb1b8743b6eb 100644 --- a/pkgs/development/compilers/llvm/14/default.nix +++ b/pkgs/development/compilers/llvm/14/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, substitute, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, substitute, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -78,7 +78,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -88,7 +88,17 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-11-15-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/15/default.nix b/pkgs/development/compilers/llvm/15/default.nix index 01112e0165e4..ce8426857ebe 100644 --- a/pkgs/development/compilers/llvm/15/default.nix +++ b/pkgs/development/compilers/llvm/15/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, fetchpatch, substitute, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, fetchpatch, substitute, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -84,7 +84,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -94,7 +94,17 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-11-15-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/16/clang/default.nix b/pkgs/development/compilers/llvm/16/clang/default.nix deleted file mode 100644 index c5d9af356d9e..000000000000 --- a/pkgs/development/compilers/llvm/16/clang/default.nix +++ /dev/null @@ -1,137 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, substituteAll, cmake, ninja, libxml2, libllvm, version, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation (finalAttrs: rec { - pname = "clang"; - inherit version; - - src = runCommand "${pname}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${pname} "$out" - cp -r ${monorepoSrc}/clang-tools-extra "$out" - ''; - - sourceRoot = "${src.name}/${pname}"; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - # Added in LLVM15: - # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb - # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7 - "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen" - "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-at-least-16-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/clang/ - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ - "fortify3" - ]; - hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: - lib.optional (!(targetPlatform.isx86_64 || targetPlatform.isAarch64)) "zerocallusedregs" - ++ (finalAttrs.passthru.hardeningUnsupportedFlags or []); - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - ninjaFlags = [ "docs-clang-man" ]; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix index 99ab725273b8..5716267426b2 100644 --- a/pkgs/development/compilers/llvm/16/default.nix +++ b/pkgs/development/compilers/llvm/16/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -85,7 +85,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -95,7 +95,17 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-at-least-16-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/17/clang/default.nix b/pkgs/development/compilers/llvm/17/clang/default.nix deleted file mode 100644 index f7922f3d9951..000000000000 --- a/pkgs/development/compilers/llvm/17/clang/default.nix +++ /dev/null @@ -1,141 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, substituteAll, cmake, ninja, libxml2, libllvm, version, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation (finalAttrs: rec { - pname = "clang"; - inherit version; - - src = runCommand "${pname}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${pname} "$out" - cp -r ${monorepoSrc}/clang-tools-extra "$out" - ''; - - sourceRoot = "${src.name}/${pname}"; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_INCLUDE_TESTS=OFF" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - # Added in LLVM15: - # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb - # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7 - "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen" - "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-at-least-16-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - mkdir -p $lib/lib/clang - mv $lib/lib/17 $lib/lib/clang/17 - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/clang/ - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ - "fortify3" - ]; - hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: - lib.optional (!(targetPlatform.isx86_64 || targetPlatform.isAarch64)) "zerocallusedregs" - ++ (finalAttrs.passthru.hardeningUnsupportedFlags or []); - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - ninjaFlags = [ "docs-clang-man" ]; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/17/default.nix b/pkgs/development/compilers/llvm/17/default.nix index 2f2663217653..2f60666536f3 100644 --- a/pkgs/development/compilers/llvm/17/default.nix +++ b/pkgs/development/compilers/llvm/17/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, fetchpatch, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, fetchpatch, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -80,7 +80,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -90,7 +90,17 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-at-least-16-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/18/clang/default.nix b/pkgs/development/compilers/llvm/18/clang/default.nix deleted file mode 100644 index 1e777c6132e4..000000000000 --- a/pkgs/development/compilers/llvm/18/clang/default.nix +++ /dev/null @@ -1,139 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, substituteAll, cmake, ninja, libxml2, libllvm, version, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation (finalAttrs: rec { - pname = "clang"; - inherit version; - - src = runCommand "${pname}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${pname} "$out" - cp -r ${monorepoSrc}/clang-tools-extra "$out" - ''; - - sourceRoot = "${src.name}/${pname}"; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional (lib.versionAtLeast version "18" && enableManpages) python3.pkgs.myst-parser - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_INCLUDE_TESTS=OFF" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - # Added in LLVM15: - # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb - # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7 - "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen" - "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-at-least-16-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/clang/ - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ - "fortify3" - ]; - hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: - lib.optional (!(targetPlatform.isx86_64 || targetPlatform.isAarch64)) "zerocallusedregs" - ++ (finalAttrs.passthru.hardeningUnsupportedFlags or []); - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - ninjaFlags = [ "docs-clang-man" ]; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/18/default.nix b/pkgs/development/compilers/llvm/18/default.nix index 4bc56be45b3e..0a30288755e6 100644 --- a/pkgs/development/compilers/llvm/18/default.nix +++ b/pkgs/development/compilers/llvm/18/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -80,7 +80,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -90,7 +90,17 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-at-least-16-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/compilers/llvm/15/clang/default.nix b/pkgs/development/compilers/llvm/common/clang/default.nix similarity index 56% rename from pkgs/development/compilers/llvm/15/clang/default.nix rename to pkgs/development/compilers/llvm/common/clang/default.nix index de789edaa9ff..2373795b49fd 100644 --- a/pkgs/development/compilers/llvm/15/clang/default.nix +++ b/pkgs/development/compilers/llvm/common/clang/default.nix @@ -1,109 +1,145 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, substituteAll, cmake, ninja, libxml2, libllvm, version, python3 +{ lib +, stdenv +, llvm_meta +, patches ? [] +, src ? null +, monorepoSrc ? null +, runCommand +, substituteAll +, cmake +, ninja +, libxml2 +, libllvm +, release_version +, version +, python3 , buildLlvmTools , fixDarwinDylibNames , enableManpages ? false +, clang-tools-extra_src ? null }: let - self = stdenv.mkDerivation (finalAttrs: rec { - pname = "clang"; - inherit version; + pname = "clang"; - src = runCommand "${pname}-src-${version}" {} '' + src' = if monorepoSrc != null then + runCommand "${pname}-src-${version}" {} '' mkdir -p "$out" cp -r ${monorepoSrc}/cmake "$out" cp -r ${monorepoSrc}/${pname} "$out" cp -r ${monorepoSrc}/clang-tools-extra "$out" - ''; + '' else src; - sourceRoot = "${src.name}/${pname}"; + self = stdenv.mkDerivation (finalAttrs: rec { + inherit pname version patches; - nativeBuildInputs = [ cmake ninja python3 ] + src = src'; + + sourceRoot = if lib.versionOlder release_version "13" then null + else "${src.name}/${pname}"; + + nativeBuildInputs = [ cmake ] + ++ (lib.optional (lib.versionAtLeast release_version "15") ninja) + ++ [ python3 ] + ++ lib.optional (lib.versionAtLeast version "18" && enableManpages) python3.pkgs.myst-parser ++ lib.optional enableManpages python3.pkgs.sphinx ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; buildInputs = [ libxml2 libllvm ]; - cmakeFlags = [ + cmakeFlags = (lib.optionals (lib.versionAtLeast release_version "15") [ "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" + ]) ++ [ "-DCLANGD_BUILD_XPC=OFF" "-DLLVM_ENABLE_RTTI=ON" + ] ++ lib.optionals (lib.versionAtLeast release_version "17") [ + "-DLLVM_INCLUDE_TESTS=OFF" ] ++ lib.optionals enableManpages [ "-DCLANG_INCLUDE_DOCS=ON" "-DLLVM_ENABLE_SPHINX=ON" "-DSPHINX_OUTPUT_MAN=ON" "-DSPHINX_OUTPUT_HTML=OFF" "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) ([ "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" + ] ++ lib.optionals (lib.versionAtLeast release_version "15") [ # Added in LLVM15: # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7 "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen" "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen" - ]; + ]); - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-11-15-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' + postPatch = (if lib.versionOlder release_version "13" then '' + sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \ + -e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \ + lib/Driver/ToolChains/*.cpp + '' else '' (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' + '') + lib.optionalString stdenv.hostPlatform.isMusl '' sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp ''; outputs = [ "out" "lib" "dev" "python" ]; - env = lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { - # The following warning is triggered with (at least) gcc >= - # 12, but appears to occur only for cross compiles. - NIX_CFLAGS_COMPILE = "-Wno-maybe-uninitialized"; - }; - postInstall = '' ln -sv $out/bin/clang $out/bin/cpp + '' + (lib.optionalString (lib.versions.major release_version == "17") '' + + mkdir -p $lib/lib/clang + mv $lib/lib/17 $lib/lib/clang/17 + '') + '' # Move libclang to 'lib' output moveToOutput "lib/libclang.*" "$lib" moveToOutput "lib/libclang-cpp.*" "$lib" + '' + (if lib.versionOlder release_version "15" then '' + substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ + --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." + '' else '' substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \ --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." + '') + '' + '' + (if lib.versionOlder release_version "15" then '' + mkdir -p $python/bin $python/share/{clang,scan-view} + '' else '' mkdir -p $python/bin $python/share/clang/ + '') + '' mv $out/bin/{git-clang-format,scan-view} $python/bin if [ -e $out/bin/set-xcode-analyzer ]; then mv $out/bin/set-xcode-analyzer $python/bin fi mv $out/share/clang/*.py $python/share/clang + '' + (lib.optionalString (lib.versionOlder release_version "15") '' + mv $out/share/scan-view/*.py $python/share/scan-view + '') + '' rm $out/bin/c-index-test patchShebangs $python/bin mkdir -p $dev/bin + '' + (if lib.versionOlder release_version "15" then '' + cp bin/clang-tblgen $dev/bin + '' else '' cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin - ''; + ''); passthru = { inherit libllvm; isClang = true; + } // (lib.optionalAttrs (lib.versionAtLeast release_version "15") { hardeningUnsupportedFlags = [ "fortify3" ]; hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: lib.optional (!(targetPlatform.isx86_64 || targetPlatform.isAarch64)) "zerocallusedregs" ++ (finalAttrs.passthru.hardeningUnsupportedFlags or []); - }; + }) // (lib.optionalAttrs (lib.versionOlder release_version "15") { + hardeningUnsupportedFlags = [ "fortify3" "zerocallusedregs" ]; + }); meta = llvm_meta // { homepage = "https://clang.llvm.org/"; @@ -121,11 +157,9 @@ let ''; mainProgram = "clang"; }; - } // lib.optionalAttrs enableManpages { + } // lib.optionalAttrs enableManpages ({ pname = "clang-manpages"; - ninjaFlags = [ "docs-clang-man" ]; - installPhase = '' mkdir -p $out/share/man/man1 # Manually install clang manpage @@ -139,5 +173,29 @@ let meta = llvm_meta // { description = "man page for Clang ${version}"; }; - }); + } // (if lib.versionOlder release_version "15" then { + buildPhase = '' + make docs-clang-man + ''; + } else { + ninjaFlags = [ "docs-clang-man" ]; + })) // (lib.optionalAttrs (clang-tools-extra_src != null) { inherit clang-tools-extra_src; }) + // (lib.optionalAttrs (lib.versionOlder release_version "13") { + unpackPhase = '' + unpackFile $src + mv clang-* clang + sourceRoot=$PWD/clang + unpackFile ${clang-tools-extra_src} + mv clang-tools-extra-* $sourceRoot/tools/extra + substituteInPlace $sourceRoot/tools/extra/clangd/quality/CompletionModel.cmake \ + --replace ' ''${CMAKE_SOURCE_DIR}/../clang-tools-extra' ' ''${CMAKE_SOURCE_DIR}/tools/extra' + ''; + }) + // (lib.optionalAttrs (lib.versionAtLeast release_version "15") { + env = lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) { + # The following warning is triggered with (at least) gcc >= + # 12, but appears to occur only for cross compiles. + NIX_CFLAGS_COMPILE = "-Wno-maybe-uninitialized"; + }; + })); in self diff --git a/pkgs/development/compilers/llvm/git/clang/default.nix b/pkgs/development/compilers/llvm/git/clang/default.nix deleted file mode 100644 index 1e777c6132e4..000000000000 --- a/pkgs/development/compilers/llvm/git/clang/default.nix +++ /dev/null @@ -1,139 +0,0 @@ -{ lib, stdenv, llvm_meta -, monorepoSrc, runCommand -, substituteAll, cmake, ninja, libxml2, libllvm, version, python3 -, buildLlvmTools -, fixDarwinDylibNames -, enableManpages ? false -}: - -let - self = stdenv.mkDerivation (finalAttrs: rec { - pname = "clang"; - inherit version; - - src = runCommand "${pname}-src-${version}" {} '' - mkdir -p "$out" - cp -r ${monorepoSrc}/cmake "$out" - cp -r ${monorepoSrc}/${pname} "$out" - cp -r ${monorepoSrc}/clang-tools-extra "$out" - ''; - - sourceRoot = "${src.name}/${pname}"; - - nativeBuildInputs = [ cmake ninja python3 ] - ++ lib.optional (lib.versionAtLeast version "18" && enableManpages) python3.pkgs.myst-parser - ++ lib.optional enableManpages python3.pkgs.sphinx - ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames; - - buildInputs = [ libxml2 libllvm ]; - - cmakeFlags = [ - "-DCLANG_INSTALL_PACKAGE_DIR=${placeholder "dev"}/lib/cmake/clang" - "-DCLANGD_BUILD_XPC=OFF" - "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_INCLUDE_TESTS=OFF" - ] ++ lib.optionals enableManpages [ - "-DCLANG_INCLUDE_DOCS=ON" - "-DLLVM_ENABLE_SPHINX=ON" - "-DSPHINX_OUTPUT_MAN=ON" - "-DSPHINX_OUTPUT_HTML=OFF" - "-DSPHINX_WARNINGS_AS_ERRORS=OFF" - ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - "-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen" - "-DCLANG_TABLEGEN=${buildLlvmTools.libclang.dev}/bin/clang-tblgen" - # Added in LLVM15: - # `clang-tidy-confusable-chars-gen`: https://github.com/llvm/llvm-project/commit/c3574ef739fbfcc59d405985a3a4fa6f4619ecdb - # `clang-pseudo-gen`: https://github.com/llvm/llvm-project/commit/cd2292ef824591cc34cc299910a3098545c840c7 - "-DCLANG_TIDY_CONFUSABLE_CHARS_GEN=${buildLlvmTools.libclang.dev}/bin/clang-tidy-confusable-chars-gen" - "-DCLANG_PSEUDO_GEN=${buildLlvmTools.libclang.dev}/bin/clang-pseudo-gen" - ]; - - patches = [ - ./purity.patch - # https://reviews.llvm.org/D51899 - ./gnu-install-dirs.patch - ../../common/clang/add-nostdlibinc-flag.patch - (substituteAll { - src = ../../common/clang/clang-at-least-16-LLVMgold-path.patch; - libllvmLibdir = "${libllvm.lib}/lib"; - }) - ]; - - postPatch = '' - (cd tools && ln -s ../../clang-tools-extra extra) - '' + lib.optionalString stdenv.hostPlatform.isMusl '' - sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp - ''; - - outputs = [ "out" "lib" "dev" "python" ]; - - postInstall = '' - ln -sv $out/bin/clang $out/bin/cpp - - # Move libclang to 'lib' output - moveToOutput "lib/libclang.*" "$lib" - moveToOutput "lib/libclang-cpp.*" "$lib" - substituteInPlace $dev/lib/cmake/clang/ClangTargets-release.cmake \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang." \ - --replace "\''${_IMPORT_PREFIX}/lib/libclang-cpp." "$lib/lib/libclang-cpp." - - mkdir -p $python/bin $python/share/clang/ - mv $out/bin/{git-clang-format,scan-view} $python/bin - if [ -e $out/bin/set-xcode-analyzer ]; then - mv $out/bin/set-xcode-analyzer $python/bin - fi - mv $out/share/clang/*.py $python/share/clang - rm $out/bin/c-index-test - patchShebangs $python/bin - - mkdir -p $dev/bin - cp bin/{clang-tblgen,clang-tidy-confusable-chars-gen,clang-pseudo-gen} $dev/bin - ''; - - passthru = { - inherit libllvm; - isClang = true; - hardeningUnsupportedFlags = [ - "fortify3" - ]; - hardeningUnsupportedFlagsByTargetPlatform = targetPlatform: - lib.optional (!(targetPlatform.isx86_64 || targetPlatform.isAarch64)) "zerocallusedregs" - ++ (finalAttrs.passthru.hardeningUnsupportedFlags or []); - }; - - meta = llvm_meta // { - homepage = "https://clang.llvm.org/"; - description = "A C language family frontend for LLVM"; - longDescription = '' - The Clang project provides a language front-end and tooling - infrastructure for languages in the C language family (C, C++, Objective - C/C++, OpenCL, CUDA, and RenderScript) for the LLVM project. - It aims to deliver amazingly fast compiles, extremely useful error and - warning messages and to provide a platform for building great source - level tools. The Clang Static Analyzer and clang-tidy are tools that - automatically find bugs in your code, and are great examples of the sort - of tools that can be built using the Clang frontend as a library to - parse C/C++ code. - ''; - mainProgram = "clang"; - }; - } // lib.optionalAttrs enableManpages { - pname = "clang-manpages"; - - ninjaFlags = [ "docs-clang-man" ]; - - installPhase = '' - mkdir -p $out/share/man/man1 - # Manually install clang manpage - cp docs/man/*.1 $out/share/man/man1/ - ''; - - outputs = [ "out" ]; - - doCheck = false; - - meta = llvm_meta // { - description = "man page for Clang ${version}"; - }; - }); -in self diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix index 1b65ce81055b..56fae64d59d8 100644 --- a/pkgs/development/compilers/llvm/git/default.nix +++ b/pkgs/development/compilers/llvm/git/default.nix @@ -1,6 +1,6 @@ { lowPrio, newScope, pkgs, lib, stdenv, cmake, ninja , preLibcCrossHeaders -, libxml2, python3, fetchFromGitHub, overrideCC, wrapCCWith, wrapBintoolsWith +, libxml2, python3, fetchFromGitHub, substituteAll, overrideCC, wrapCCWith, wrapBintoolsWith , buildLlvmTools # tools, but from the previous stage, for cross , targetLlvmLibraries # libraries, but from the next stage, for cross , targetLlvm @@ -85,7 +85,7 @@ in let then tools.bintools else bootBintools; - in { + in rec { libllvm = callPackage ./llvm { inherit llvm_meta; @@ -95,7 +95,17 @@ in let # we need to reintroduce `outputSpecified` to get the expected behavior e.g. of lib.get* llvm = tools.libllvm; - libclang = callPackage ./clang { + libclang = callPackage ../common/clang { + patches = [ + ./clang/purity.patch + # https://reviews.llvm.org/D51899 + ./clang/gnu-install-dirs.patch + ../common/clang/add-nostdlibinc-flag.patch + (substituteAll { + src = ../common/clang/clang-at-least-16-LLVMgold-path.patch; + libllvmLibdir = "${libllvm.lib}/lib"; + }) + ]; inherit llvm_meta; }; diff --git a/pkgs/development/cuda-modules/cudatoolkit/default.nix b/pkgs/development/cuda-modules/cudatoolkit/default.nix index 5a983aaf5c70..e5606f939512 100644 --- a/pkgs/development/cuda-modules/cudatoolkit/default.nix +++ b/pkgs/development/cuda-modules/cudatoolkit/default.nix @@ -411,7 +411,7 @@ backendStdenv.mkDerivation rec { }; meta = with lib; { - description = "A compiler for NVIDIA GPUs, math libraries, and tools"; + description = "The deprecated runfile-based CUDAToolkit installation (a compiler for NVIDIA GPUs, math libraries, and tools)"; homepage = "https://developer.nvidia.com/cuda-toolkit"; platforms = [ "x86_64-linux" ]; license = licenses.nvidiaCuda; diff --git a/pkgs/development/cuda-modules/cudatoolkit/redist-wrapper.nix b/pkgs/development/cuda-modules/cudatoolkit/redist-wrapper.nix new file mode 100644 index 000000000000..6bdcdecbacd6 --- /dev/null +++ b/pkgs/development/cuda-modules/cudatoolkit/redist-wrapper.nix @@ -0,0 +1,86 @@ +{ + lib, + symlinkJoin, + backendStdenv, + cudaOlder, + cudatoolkit-legacy-runfile, + cudaVersion, + cuda_cccl ? null, + cuda_cudart ? null, + cuda_cuobjdump ? null, + cuda_cupti ? null, + cuda_cuxxfilt ? null, + cuda_gdb ? null, + cuda_nvcc ? null, + cuda_nvdisasm ? null, + cuda_nvml_dev ? null, + cuda_nvprune ? null, + cuda_nvrtc ? null, + cuda_nvtx ? null, + cuda_profiler_api ? null, + cuda_sanitizer_api ? null, + libcublas ? null, + libcufft ? null, + libcurand ? null, + libcusolver ? null, + libcusparse ? null, + libnpp ? null, +}: + +let + getAllOutputs = p: [ + (lib.getBin p) + (lib.getLib p) + (lib.getDev p) + ]; + hostPackages = [ + cuda_cuobjdump + cuda_gdb + cuda_nvcc + cuda_nvdisasm + cuda_nvprune + ]; + targetPackages = [ + cuda_cccl + cuda_cudart + cuda_cupti + cuda_cuxxfilt + cuda_nvml_dev + cuda_nvrtc + cuda_nvtx + cuda_profiler_api + cuda_sanitizer_api + libcublas + libcufft + libcurand + libcusolver + libcusparse + libnpp + ]; + + # This assumes we put `cudatoolkit` in `buildInputs` instead of `nativeBuildInputs`: + allPackages = (map (p: p.__spliced.buildHost or p) hostPackages) ++ targetPackages; +in + +if cudaOlder "11.4" then + cudatoolkit-legacy-runfile +else + symlinkJoin rec { + name = "cuda-merged-${cudaVersion}"; + version = cudaVersion; + + paths = builtins.concatMap getAllOutputs allPackages; + + passthru = { + cc = lib.warn "cudaPackages.cudatoolkit is deprecated, refer to the manual and use splayed packages instead" backendStdenv.cc; + lib = symlinkJoin { + inherit name; + paths = map (p: lib.getLib p) allPackages; + }; + }; + + meta = with lib; { + description = "A wrapper substituting the deprecated runfile-based CUDA installation"; + license = licenses.nvidiaCuda; + }; + } diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 8bec59f4da59..72cc9c4c85a9 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -1073,6 +1073,8 @@ self: super: builtins.intersectAttrs super { # very useful. # Flag added in Agda 2.6.4.1, was always enabled before (enableCabalFlag "debug") + # Split outputs to reduce closure size + enableSeparateBinOutput ]; # ats-format uses cli-setup in Setup.hs which is quite happy to write diff --git a/pkgs/development/interpreters/erlang/25.nix b/pkgs/development/interpreters/erlang/25.nix index 5f94c27dbd4a..441d12d747c5 100644 --- a/pkgs/development/interpreters/erlang/25.nix +++ b/pkgs/development/interpreters/erlang/25.nix @@ -1,6 +1,6 @@ { mkDerivation }: mkDerivation { - version = "25.3.2.10"; - sha256 = "sha256-CibLQnzQxvFDMNiX26n0b725o8BV4FJXBXmwW1sEpkk="; + version = "25.3.2.11"; + sha256 = "sha256-GeYDTgUcU//KjEw8jX/zR5OagHQLqpYLitn1PVmcIi0="; } diff --git a/pkgs/development/interpreters/erlang/27-rc2.nix b/pkgs/development/interpreters/erlang/27-rc2.nix new file mode 100644 index 000000000000..a9b6fa05e518 --- /dev/null +++ b/pkgs/development/interpreters/erlang/27-rc2.nix @@ -0,0 +1,6 @@ +{ mkDerivation }: + +mkDerivation { + version = "27.0-rc2"; + sha256 = "sha256-o+uqQMlrh7wJQbiecMnn3/tv6nqSJh7unOj0A95mMb0="; +} diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix index 6e9373b4a563..32d1466f326e 100644 --- a/pkgs/development/interpreters/erlang/generic-builder.nix +++ b/pkgs/development/interpreters/erlang/generic-builder.nix @@ -18,9 +18,11 @@ , libGLU ? null , wxGTK ? null , xorg ? null +, exdoc ? null , parallelBuild ? false , systemd , wxSupport ? true +, exdocSupport ? false , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd # systemd support in epmd # updateScript deps , writeScript @@ -77,6 +79,7 @@ else libGL != null && libGLU != null && wxGTK != null && xorg != null); assert odbcSupport -> unixODBC != null; assert javacSupport -> openjdk11 != null; +assert exdocSupport -> exdoc != null; let inherit (lib) optional optionals optionalAttrs optionalString; @@ -114,8 +117,21 @@ stdenv.mkDerivation ({ ${postPatch} ''; + # For OTP 27+ we need ex_doc to build the documentation + # When exdocSupport is enabled, grab the raw ex_doc executable from the exdoc + # derivation. Next, patch the first line to use the escript that will be + # built during the build phase of this derivation. Finally, building the + # documentation requires the erlang-logo.png asset. preConfigure = '' ./otp_build autoconf + '' + optionalString exdocSupport '' + mkdir -p $out/bin + cp ${exdoc}/bin/.ex_doc-wrapped $out/bin/ex_doc + sed -i "1 s:^.*$:#!$out/bin/escript:" $out/bin/ex_doc + export EX_DOC=$out/bin/ex_doc + + mkdir -p $out/lib/erlang/system/doc/assets + cp $src/system/doc/assets/erlang-logo.png $out/lib/erlang/system/doc/assets ''; configureFlags = [ "--with-ssl=${lib.getOutput "out" opensslPackage}" ] diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 03147bc4c5f3..0edf4dcc027b 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -93,9 +93,9 @@ in { major = "3"; minor = "13"; patch = "0"; - suffix = "a5"; + suffix = "a6"; }; - hash = "sha256-Hom1NVGD58iYpaAbL2AXKP5J/bidnJeB8TNghHqu+mI="; + hash = "sha256-S+85PXKygaz4HTnXRV8AA26GYZPfohpO05cP0PTLoEg="; inherit (darwin) configd; inherit passthruFun; }; diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix index fadf478e037f..9bb0967bd5c6 100644 --- a/pkgs/development/libraries/boringssl/default.nix +++ b/pkgs/development/libraries/boringssl/default.nix @@ -20,7 +20,7 @@ buildGoModule { nativeBuildInputs = [ cmake ninja perl ]; - vendorHash = "sha256-McSmG+fMO8/T/bJR6YAJDYw9pxsWJoj1hcSTPv/wMsI="; + vendorHash = "sha256-074bgtoBRS3SOxLrwZbBdK1jFpdCvF6tRtU1CkrhoDY="; proxyVendor = true; # hack to get both go and cmake configure phase diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index fc3cff98d7e8..e24f519d1cc3 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -18,6 +18,11 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; + # https://github.com/libgeos/geos/issues/930 + cmakeFlags = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ + "-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;unit-geom-Envelope" + ]; + doCheck = true; passthru.tests = { diff --git a/pkgs/development/libraries/lightgbm/default.nix b/pkgs/development/libraries/lightgbm/default.nix index 5f8e6ceaecd0..57d3407aef91 100644 --- a/pkgs/development/libraries/lightgbm/default.nix +++ b/pkgs/development/libraries/lightgbm/default.nix @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { ''; cmakeFlags = lib.optionals doCheck [ "-DBUILD_CPP_TEST=ON" ] - ++ lib.optionals cudaSupport [ "-DUSE_CUDA=1" "-DCMAKE_CXX_COMPILER=${cudaPackages.cudatoolkit.cc}/bin/cc" ] + ++ lib.optionals cudaSupport [ "-DUSE_CUDA=1" "-DCMAKE_CXX_COMPILER=${cudaPackages.backendStdenv.cc}/bin/cc" ] ++ lib.optionals openclSupport [ "-DUSE_GPU=ON" ] ++ lib.optionals mpiSupport [ "-DUSE_MPI=ON" ] ++ lib.optionals hdfsSupport [ diff --git a/pkgs/development/libraries/nghttp3/default.nix b/pkgs/development/libraries/nghttp3/default.nix index d2bd0900dd3c..849a464b1c0d 100644 --- a/pkgs/development/libraries/nghttp3/default.nix +++ b/pkgs/development/libraries/nghttp3/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchFromGitHub , cmake +, CoreServices , curlHTTP3 }: @@ -18,6 +19,9 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "doc" ]; nativeBuildInputs = [ cmake ]; + buildInputs = lib.optionals stdenv.isDarwin [ + CoreServices + ]; cmakeFlags = [ (lib.cmakeBool "ENABLE_STATIC_LIB" false) diff --git a/pkgs/development/libraries/ngtcp2/default.nix b/pkgs/development/libraries/ngtcp2/default.nix index 344d85591eef..6a0e15dfcd9c 100644 --- a/pkgs/development/libraries/ngtcp2/default.nix +++ b/pkgs/development/libraries/ngtcp2/default.nix @@ -1,6 +1,7 @@ { lib, stdenv, fetchFromGitHub , cmake , brotli, libev, nghttp3, quictls +, CoreServices , withJemalloc ? false, jemalloc , curlHTTP3 }: @@ -20,7 +21,14 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" "doc" ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ brotli libev nghttp3 quictls ] ++ lib.optional withJemalloc jemalloc; + buildInputs = [ + brotli + libev + nghttp3 + quictls + ] ++ lib.optionals stdenv.isDarwin [ + CoreServices + ] ++ lib.optional withJemalloc jemalloc; cmakeFlags = [ (lib.cmakeBool "ENABLE_STATIC_LIB" false) diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix index 377ebb3acdb5..5e9409368cc7 100644 --- a/pkgs/development/libraries/opencv/3.x.nix +++ b/pkgs/development/libraries/opencv/3.x.nix @@ -39,7 +39,7 @@ assert blas.implementation == "openblas" && lapack.implementation == "openblas"; assert enablePython -> pythonPackages != null; let - inherit (cudaPackages) cudatoolkit; + inherit (cudaPackages) backendStdenv cudatoolkit; inherit (cudaPackages.cudaFlags) cudaCapabilities; version = "3.4.18"; @@ -241,7 +241,7 @@ stdenv.mkDerivation { (opencvFlag "TBB" enableTbb) ] ++ lib.optionals enableCuda [ "-DCUDA_FAST_MATH=ON" - "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc" + "-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc" "-DCUDA_NVCC_FLAGS=--expt-relaxed-constexpr" "-DCUDA_ARCH_BIN=${lib.concatStringsSep ";" cudaCapabilities}" "-DCUDA_ARCH_PTX=${lib.last cudaCapabilities}" diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix index a1ae57f8824f..0018a73341e3 100644 --- a/pkgs/development/libraries/xgboost/default.nix +++ b/pkgs/development/libraries/xgboost/default.nix @@ -75,8 +75,8 @@ stdenv.mkDerivation rec { "-DUSE_CUDA=ON" # Their CMakeLists.txt does not respect CUDA_HOST_COMPILER, instead using the CXX compiler. # https://github.com/dmlc/xgboost/blob/ccf43d4ba0a94e2f0a3cc5a526197539ae46f410/CMakeLists.txt#L145 - "-DCMAKE_C_COMPILER=${cudaPackages.cudatoolkit.cc}/bin/gcc" - "-DCMAKE_CXX_COMPILER=${cudaPackages.cudatoolkit.cc}/bin/g++" + "-DCMAKE_C_COMPILER=${cudaPackages.backendStdenv.cc}/bin/gcc" + "-DCMAKE_CXX_COMPILER=${cudaPackages.backendStdenv.cc}/bin/g++" ] ++ lib.optionals (cudaSupport && lib.versionAtLeast cudaPackages.cudatoolkit.version "11.4.0") diff --git a/pkgs/development/ocaml-modules/janestreet/0.12.nix b/pkgs/development/ocaml-modules/janestreet/0.12.nix index 2ea593e10b44..a3b2ac581555 100644 --- a/pkgs/development/ocaml-modules/janestreet/0.12.nix +++ b/pkgs/development/ocaml-modules/janestreet/0.12.nix @@ -24,7 +24,7 @@ with self; hash = "0gl89zpgsf3n30nb6v5cns27g2bfg4rf3s2427gqvwbkr5gcf7ri"; meta.description = "Full standard library replacement for OCaml"; propagatedBuildInputs = [ sexplib0 ]; - buildInputs = [ dune_1 ]; + buildInputs = [ dune-configurator ]; }; stdio = janePackage { @@ -106,7 +106,6 @@ with self; }; ppx_expect = janePackage { - duneVersion = "3"; pname = "ppx_expect"; hash = "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q"; meta.description = "Cram like framework for OCaml"; @@ -170,8 +169,9 @@ with self; }; base_quickcheck = janePackage { + version = "0.12.1"; pname = "base_quickcheck"; - hash = "1la6qgq1zwmfyq1hqy6i337w435ym5yqgx2ygk86qip6nws0s6r3"; + hash = "sha256-ABfUtOzdtGrYR6EgtVYkmxRvsH48jJwSVVOwf4Od12Y="; meta.description = "Randomized testing framework, designed for compatibility with Base"; propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let splittable_random ]; }; @@ -209,7 +209,7 @@ with self; pname = "jst-config"; hash = "0yxcz13vda1mdh9ah7qqxwfxpcqang5sgdssd8721rszbwqqaw93"; meta.description = "Compile-time configuration for Jane Street libraries"; - buildInputs = [ dune_1 ppx_assert ]; + buildInputs = [ dune-configurator ppx_assert ]; }; ppx_optcomp = janePackage { @@ -276,7 +276,6 @@ with self; }; ppx_jane = janePackage { - duneVersion = "3"; pname = "ppx_jane"; hash = "1a2602isqzsh640q20qbmarx0sc316mlsqc3i25ysv2kdyhh0kyw"; meta.description = "Standard Jane Street ppx rewriters"; @@ -284,7 +283,6 @@ with self; }; base_bigstring = janePackage { - duneVersion = "3"; pname = "base_bigstring"; hash = "0rbgyg511847fbnxad40prz2dyp4da6sffzyzl88j18cxqxbh1by"; meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; @@ -306,7 +304,6 @@ with self; }; core_kernel = janePackage { - duneVersion = "3"; pname = "core_kernel"; version = "0.12.3"; hash = "sha256-bDgxuOILAs4FYB8o92ysPHDdEzflZMsU/jk5hB9xfuc="; @@ -316,7 +313,6 @@ with self; }; spawn = janePackage { - duneVersion = "3"; pname = "spawn"; version = "0.13.0"; hash = "1w003k1kw1lmyiqlk58gkxx8rac7dchiqlz6ah7aj7bh49b36ppf"; @@ -325,7 +321,6 @@ with self; }; core = janePackage { - duneVersion = "3"; pname = "core"; version = "0.12.3"; hash = "1vmjqiafkg45hqfvahx6jnlaww1q4a4215k8znbgprf0qn3zymnj"; @@ -335,7 +330,6 @@ with self; }; async_kernel = janePackage { - duneVersion = "3"; pname = "async_kernel"; hash = "1d9illx7vvpblj1i2r9y0f2yff2fbhy3rp4hhvamq1n9n3lvxmh2"; meta.description = "Monadic concurrency library"; @@ -343,7 +337,6 @@ with self; }; protocol_version_header = janePackage { - duneVersion = "3"; pname = "protocol_version_header"; hash = "14vqhx3r84rlfhcjq52gxdqksckiaswlck9s47g7y2z1lsc17v7r"; meta.description = "Protocol versioning"; @@ -351,7 +344,6 @@ with self; }; async_rpc_kernel = janePackage { - duneVersion = "3"; pname = "async_rpc_kernel"; hash = "1znhqbzx4fp58i7dbcgyv5rx7difbhb5d8cbqzv96yqvbn67lsjk"; meta.description = "Platform-independent core of Async RPC library"; @@ -359,7 +351,6 @@ with self; }; async_unix = janePackage { - duneVersion = "3"; pname = "async_unix"; hash = "09h10rdyykbm88n6r9nb5a22mlb6vcxa04q6hvrcr0kys6qhhqmb"; meta.description = "Monadic concurrency library"; @@ -367,7 +358,6 @@ with self; }; async_extra = janePackage { - duneVersion = "3"; pname = "async_extra"; hash = "10j4mwlyqvf67yrp5dwd857llqjinpnnykmlzw2gpmks9azxk6mh"; meta.description = "Monadic concurrency library"; @@ -375,7 +365,6 @@ with self; }; textutils = janePackage { - duneVersion = "3"; pname = "textutils"; hash = "0302awqihf3abib9mvzvn4g8m364hm6jxry1r3kc01hzybhy9acq"; meta.description = "Text output utilities"; @@ -383,7 +372,6 @@ with self; }; async = janePackage { - duneVersion = "3"; pname = "async"; hash = "0pk7z3h2gi21nfchvmjz2wx516bynf9vgwf84zf5qhvlvqqsmyrx"; meta.description = "Monadic concurrency library"; @@ -391,7 +379,6 @@ with self; }; async_find = janePackage { - duneVersion = "3"; pname = "async_find"; hash = "0qsz9f15s5rlk6za10s810v6nlkdxg2g9p1827lcpa7nhjcpi673"; meta.description = "Directory traversal with Async"; @@ -399,7 +386,6 @@ with self; }; re2 = janePackage { - duneVersion = "3"; pname = "re2"; version = "0.12.1"; hash = "sha256-NPQKKUSwckZx4GN4wX2sc0Mn7bes6p79oZrN6xouc6o="; @@ -412,7 +398,6 @@ with self; }; shell = janePackage { - duneVersion = "3"; pname = "shell"; hash = "158857rdr6qgglc5iksg0l54jgf51b5lmsw7nlazpxwdwc9fcn5n"; meta.description = "Yet another implementation of fork&exec and related functionality"; @@ -421,7 +406,6 @@ with self; }; async_shell = janePackage { - duneVersion = "3"; pname = "async_shell"; hash = "0cxln9hkc3cy522la9yi9p23qjwl69kqmadsq4lnjh5bxdad06sv"; meta.description = "Shell helpers for Async"; @@ -429,7 +413,6 @@ with self; }; core_bench = janePackage { - duneVersion = "3"; pname = "core_bench"; hash = "00hyzbbj19dkcw0vhfnc8w0ca3zkjriwwvl00ssa0a2g9mygijdm"; meta.description = "Benchmarking library"; @@ -437,7 +420,6 @@ with self; }; core_extended = janePackage { - duneVersion = "3"; pname = "core_extended"; hash = "1gwx66235irpf5krb1r25a3c7w52qhmass8hp7rdv89il9jn49w4"; meta.description = "Extra components that are not as closely vetted or as stable as Core"; @@ -445,7 +427,6 @@ with self; }; sexp_pretty = janePackage { - duneVersion = "3"; pname = "sexp_pretty"; hash = "06hdsaszc5cd7fphiblbn4r1sh36xgjwf2igzr2rvlzqs7jiv2v4"; meta.description = "S-expression pretty-printer"; @@ -453,7 +434,6 @@ with self; }; expect_test_helpers_kernel = janePackage { - duneVersion = "3"; pname = "expect_test_helpers_kernel"; hash = "18ya187y2i2hfxr771sd9vy5jdsa30vhs56yjdhwk06v01b2fzbq"; meta.description = "Helpers for writing expectation tests"; @@ -462,7 +442,6 @@ with self; }; expect_test_helpers = janePackage { - duneVersion = "3"; pname = "expect_test_helpers"; hash = "0ixqck2lnsmz107yw0q2sr8va80skjpldx7lz4ymjiq2vsghk0rb"; meta.description = "Async helpers for writing expectation tests"; @@ -470,7 +449,6 @@ with self; }; patience_diff = janePackage { - duneVersion = "3"; pname = "patience_diff"; hash = "055kd3piadjnplip8c8q99ssh79d4irmhg2wng7aida5pbqp2p9f"; meta.description = "Diff library using Bram Cohen's patience diff algorithm"; @@ -478,45 +456,10 @@ with self; }; ecaml = janePackage { - duneVersion = "3"; pname = "ecaml"; hash = "0n9xi6agc3lgyj2nsi10cbif0xwn57xyaranad9r285rmbxrgjh7"; meta.description = "Library for writing Emacs plugin in OCaml"; propagatedBuildInputs = [ async expect_test_helpers_kernel ]; }; - ### Packages at version 0.11, with dependencies at version 0.12 - - configurator = janePackage { - pname = "configurator"; - version = "0.11.0"; - hash = "0h686630cscav7pil8c3w0gbh6rj4b41dvbnwmicmlkc746q5bfk"; - propagatedBuildInputs = [ stdio ]; - meta.description = "Helper library for gathering system configuration"; - }; - - ppx_core = janePackage { - pname = "ppx_core"; - version = "0.11.0"; - hash = "11hgm9mxig4cm3c827f6dns9mjv3pf8g6skf10x0gw9xnp1dmzmx"; - propagatedBuildInputs = [ ppxlib ]; - meta.description = "Deprecated (see ppxlib)"; - }; - - ppx_driver = janePackage { - pname = "ppx_driver"; - version = "0.11.0"; - hash = "00kfx6js2kxk57k4v7hiqvwk7h35whgjihnxf75m82rnaf4yzvfi"; - propagatedBuildInputs = [ ppxlib ]; - meta.description = "Deprecated (see ppxlib)"; - }; - - ppx_type_conv = janePackage { - pname = "ppx_type_conv"; - version = "0.11.0"; - hash = "04dbrglqqhkas25cpjz8xhjcbpk141c35qggzw66bn69izczfmaf"; - propagatedBuildInputs = [ ppxlib ]; - meta.description = "Deprecated (see ppxlib)"; - }; - } diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix index e5a79ba598f4..bbfd492cb64f 100644 --- a/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_12.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.12.0" }: -{ pname, version ? defaultVersion, duneVersion ? "1", hash, ...}@args: +{ pname, version ? defaultVersion, duneVersion ? "3", hash, ...}@args: buildDunePackage (args // { inherit version duneVersion; diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix index daed1a7fbffb..9802d07d4a4f 100644 --- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix +++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/1.8.x.nix @@ -8,8 +8,6 @@ buildDunePackage rec { pname = "ocaml-migrate-parsetree"; version = "1.8.0"; - duneVersion = if lib.versionAtLeast ocaml.version "4.08" then "3" else "1"; - src = fetchFromGitHub { owner = "ocaml-ppx"; repo = pname; diff --git a/pkgs/development/ocaml-modules/ocaml-result/default.nix b/pkgs/development/ocaml-modules/ocaml-result/default.nix index 15e8f96a4846..2814c6c52806 100644 --- a/pkgs/development/ocaml-modules/ocaml-result/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-result/default.nix @@ -1,6 +1,6 @@ -{ lib, buildDunePackage, fetchurl, ocaml }: +{ lib, buildDunePackage, fetchurl }: -buildDunePackage (rec { +buildDunePackage rec { pname = "result"; version = "1.5"; @@ -19,6 +19,4 @@ buildDunePackage (rec { ''; license = lib.licenses.bsd3; }; -} // lib.optionalAttrs (!lib.versionAtLeast ocaml.version "4.08") { - duneVersion = "1"; -}) +} diff --git a/pkgs/development/ocaml-modules/octavius/default.nix b/pkgs/development/ocaml-modules/octavius/default.nix index 5c108ac6b80e..1a973da5e84d 100644 --- a/pkgs/development/ocaml-modules/octavius/default.nix +++ b/pkgs/development/ocaml-modules/octavius/default.nix @@ -1,6 +1,6 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml }: +{ lib, fetchFromGitHub, buildDunePackage }: -buildDunePackage (rec { +buildDunePackage rec { pname = "octavius"; version = "1.2.2"; @@ -21,6 +21,4 @@ buildDunePackage (rec { license = licenses.isc; maintainers = with maintainers; [ vbgl ]; }; -} // lib.optionalAttrs (!lib.versionAtLeast ocaml.version "4.08") { - duneVersion = "1"; -}) +} diff --git a/pkgs/development/ocaml-modules/ppx_derivers/default.nix b/pkgs/development/ocaml-modules/ppx_derivers/default.nix index 49217781b8ac..ebf19c70ff30 100644 --- a/pkgs/development/ocaml-modules/ppx_derivers/default.nix +++ b/pkgs/development/ocaml-modules/ppx_derivers/default.nix @@ -1,6 +1,6 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml }: +{ lib, fetchFromGitHub, buildDunePackage }: -buildDunePackage (rec { +buildDunePackage rec { pname = "ppx_derivers"; version = "1.2.1"; @@ -19,6 +19,4 @@ buildDunePackage (rec { maintainers = [ lib.maintainers.vbgl ]; inherit (src.meta) homepage; }; -} // lib.optionalAttrs (!lib.versionAtLeast ocaml.version "4.08") { - duneVersion = "1"; -}) +} diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix index 0998b5d6a134..ab0e6bd30c38 100644 --- a/pkgs/development/ocaml-modules/ppxlib/default.nix +++ b/pkgs/development/ocaml-modules/ppxlib/default.nix @@ -12,14 +12,12 @@ let param = { "0.8.1" = { sha256 = "sha256-pct57oO7qAMEtlvEfymFOCvviWaLG0b5/7NzTC8vdSE="; max_version = "4.10"; - useDune2 = false; OMP = [ ocaml-migrate-parsetree ]; }; "0.13.0" = { sha256 = "sha256-geHz0whQDg5/YQjVsN2iuHlkClwh7z3Eqb2QOBzuOdk="; min_version = "4.07"; max_version = "4.11"; - useDune2 = false; OMP = [ ocaml-migrate-parsetree ]; }; "0.15.0" = { @@ -80,8 +78,6 @@ buildDunePackage rec { pname = "ppxlib"; inherit version; - duneVersion = if param.useDune2 or true then "3" else "1"; - src = fetchurl { url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz"; inherit (param) sha256; diff --git a/pkgs/development/python-modules/ansicolor/default.nix b/pkgs/development/python-modules/ansicolor/default.nix index 697ded7ac4e2..8ec12d37f598 100644 --- a/pkgs/development/python-modules/ansicolor/default.nix +++ b/pkgs/development/python-modules/ansicolor/default.nix @@ -1,18 +1,35 @@ -{ lib, buildPythonPackage, fetchPypi }: +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + pythonOlder, + setuptools, +}: buildPythonPackage rec { pname = "ansicolor"; version = "0.3.2"; - format = "setuptools"; + pyproject = true; - src = fetchPypi { - inherit pname version; - sha256 = "3b840a6b1184b5f1568635b1adab28147947522707d41ceba02d5ed0a0877279"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "numerodix"; + repo = "ansicolor"; + rev = "refs/tags/${version}"; + hash = "sha256-a/BAU42AfMR8C94GwmrLkvSvolFEjV0LbDypvS9UuOA="; }; + build-system = [ setuptools ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "ansicolor" ]; + meta = with lib; { - homepage = "https://github.com/numerodix/ansicolor/"; description = "A library to produce ansi color output and colored highlighting and diffing"; + homepage = "https://github.com/numerodix/ansicolor/"; license = licenses.asl20; maintainers = with maintainers; [ ]; }; diff --git a/pkgs/development/python-modules/attrdict/default.nix b/pkgs/development/python-modules/attrdict/default.nix index 4054fbd78b68..fb7bc91ad132 100644 --- a/pkgs/development/python-modules/attrdict/default.nix +++ b/pkgs/development/python-modules/attrdict/default.nix @@ -1,17 +1,17 @@ -{ lib -, buildPythonPackage -, fetchPypi -, coverage -, pythonOlder -, nose -, pytestCheckHook -, six +{ + lib, + buildPythonPackage, + fetchPypi, + pytestCheckHook, + pythonOlder, + setuptools, + six, }: buildPythonPackage rec { pname = "attrdict"; version = "2.0.1"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -20,36 +20,30 @@ buildPythonPackage rec { hash = "sha256-NckGmLVcaDlGCRF3F3qenAcToIYPDgSf69cmSczXe3A="; }; - propagatedBuildInputs = [ - six - ]; - - nativeCheckInputs = [ - coverage - nose - ]; - postPatch = '' substituteInPlace attrdict/merge.py \ - --replace "from collections" "from collections.abc" + --replace-fail "from collections" "from collections.abc" substituteInPlace attrdict/mapping.py \ - --replace "from collections" "from collections.abc" + --replace-fail "from collections" "from collections.abc" substituteInPlace attrdict/default.py \ - --replace "from collections" "from collections.abc" + --replace-fail "from collections" "from collections.abc" substituteInPlace attrdict/mixins.py \ - --replace "from collections" "from collections.abc" + --replace-fail "from collections" "from collections.abc" ''; + build-system = [ setuptools ]; + + dependencies = [ six ]; + # Tests are not shipped and source is not tagged doCheck = false; - pythonImportsCheck = [ - "attrdict" - ]; + pythonImportsCheck = [ "attrdict" ]; meta = with lib; { description = "A dict with attribute-style access"; homepage = "https://github.com/bcj/AttrDict"; + changelog = "https://github.com/bcj/AttrDict/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ ]; }; diff --git a/pkgs/development/python-modules/azure-appconfiguration/default.nix b/pkgs/development/python-modules/azure-appconfiguration/default.nix index 40726506f72b..7beb170dd22c 100644 --- a/pkgs/development/python-modules/azure-appconfiguration/default.nix +++ b/pkgs/development/python-modules/azure-appconfiguration/default.nix @@ -1,24 +1,28 @@ -{ lib -, pythonOlder -, isodate -, fetchPypi -, buildPythonPackage -, azure-core +{ + lib, + azure-core, + buildPythonPackage, + fetchPypi, + isodate, + pythonOlder, + setuptools, }: buildPythonPackage rec { pname = "azure-appconfiguration"; - version = "1.5.0"; - format = "setuptools"; + version = "1.6.0"; + pyporject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-cJIRe68GzY6T7ukhN+coF2m0AD/EFtSh7aZGuyVkAnw="; + hash = "sha256-z2KKPh6mZDR5ZDzSRt2kZO3Eq3hXQzOaao/oCbwTf+w="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ azure-core isodate ]; @@ -26,9 +30,7 @@ buildPythonPackage rec { # Tests are not shipped doCheck = false; - pythonImportsCheck = [ - "azure.appconfiguration" - ]; + pythonImportsCheck = [ "azure.appconfiguration" ]; meta = with lib; { description = "Microsoft App Configuration Data Library for Python"; diff --git a/pkgs/development/python-modules/django-ipware/default.nix b/pkgs/development/python-modules/django-ipware/default.nix index 34f17a8d7304..26b4cc7308b8 100644 --- a/pkgs/development/python-modules/django-ipware/default.nix +++ b/pkgs/development/python-modules/django-ipware/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "django-ipware"; - version = "6.0.4"; + version = "6.0.5"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-YU0PCpEfinZeVbbTWLFxW7he62PR67d0R9CdZF8TQ+g="; + hash = "sha256-s54nQDKH1r6wUT5pQCQBfbpY0Sn9QQoQFKyKFYTnP84="; }; propagatedBuildInputs = [ django ]; diff --git a/pkgs/development/python-modules/eigenpy/default.nix b/pkgs/development/python-modules/eigenpy/default.nix index e3ec6adf2f72..ccc0254c9997 100644 --- a/pkgs/development/python-modules/eigenpy/default.nix +++ b/pkgs/development/python-modules/eigenpy/default.nix @@ -1,26 +1,32 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, doxygen -, boost -, eigen -, numpy -, scipy +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, + boost, + eigen, + jrl-cmakemodules, + numpy, + scipy, }: stdenv.mkDerivation (finalAttrs: { pname = "eigenpy"; - version = "3.4.0"; + version = "3.5.0"; src = fetchFromGitHub { owner = "stack-of-tasks"; - repo = finalAttrs.pname; + repo = "eigenpy"; rev = "v${finalAttrs.version}"; - fetchSubmodules = true; hash = "sha256-/k5eltoeUW05FTjvStAOw+tguWLUaUced8TArrk4UDI="; }; + outputs = [ + "dev" + "out" + ]; + cmakeFlags = [ "-DINSTALL_DOCUMENTATION=ON" "-DBUILD_TESTING_SCIPY=ON" @@ -34,26 +40,26 @@ stdenv.mkDerivation (finalAttrs: { scipy ]; - buildInputs = [ - boost - ]; + buildInputs = [ boost ]; propagatedBuildInputs = [ eigen + jrl-cmakemodules numpy ]; doCheck = true; - pythonImportsCheck = [ - "eigenpy" - ]; + pythonImportsCheck = [ "eigenpy" ]; meta = with lib; { description = "Bindings between Numpy and Eigen using Boost.Python"; homepage = "https://github.com/stack-of-tasks/eigenpy"; changelog = "https://github.com/stack-of-tasks/eigenpy/releases/tag/v${version}"; license = licenses.bsd2; - maintainers = with maintainers; [ nim65s wegank ]; + maintainers = with maintainers; [ + nim65s + wegank + ]; platforms = platforms.unix; }; }) diff --git a/pkgs/development/python-modules/equinox/default.nix b/pkgs/development/python-modules/equinox/default.nix index e679e15d9704..976406b399b1 100644 --- a/pkgs/development/python-modules/equinox/default.nix +++ b/pkgs/development/python-modules/equinox/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "equinox"; - version = "0.11.3"; + version = "0.11.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "patrick-kidger"; repo = "equinox"; rev = "refs/tags/v${version}"; - hash = "sha256-la3gPfwQ2pxfZoEikn9uG+Pc3PKafgEgxZ8oVQEm9YM="; + hash = "sha256-3OwHND1YEdg/SppqiB7pCdp6v+lYwTbtX07tmyEMWDo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix index 3742c9ef9a44..e1ded2da5f9b 100644 --- a/pkgs/development/python-modules/frozendict/default.nix +++ b/pkgs/development/python-modules/frozendict/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "frozendict"; - version = "2.4.1"; + version = "2.4.2"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "Marco-Sulla"; repo = "python-frozendict"; rev = "refs/tags/v${version}"; - hash = "sha256-cPDuJ6AzMxOmJztSf6IZ04acJhjJCphQSl0DaN9cChI="; + hash = "sha256-SXUPzFDVw8+CmD/Jxm/EB70UBdOmauQs69hNr0l3l90="; }; # build C version if it exists diff --git a/pkgs/development/python-modules/hishel/default.nix b/pkgs/development/python-modules/hishel/default.nix index 112d8759c62c..a4ab7b504a91 100644 --- a/pkgs/development/python-modules/hishel/default.nix +++ b/pkgs/development/python-modules/hishel/default.nix @@ -1,18 +1,19 @@ -{ lib -, anysqlite -, boto3 -, buildPythonPackage -, fetchFromGitHub -, hatch-fancy-pypi-readme -, hatchling -, httpx -, moto -, pytest-asyncio -, pytestCheckHook -, pythonOlder -, pyyaml -, redis -, trio +{ + lib, + anysqlite, + boto3, + buildPythonPackage, + fetchFromGitHub, + hatch-fancy-pypi-readme, + hatchling, + httpx, + moto, + pytest-asyncio, + pytestCheckHook, + pythonOlder, + pyyaml, + redis, + trio, }: buildPythonPackage rec { @@ -34,23 +35,13 @@ buildPythonPackage rec { hatchling ]; - dependencies = [ - httpx - ]; + dependencies = [ httpx ]; passthru.optional-dependencies = { - redis = [ - redis - ]; - s3 = [ - boto3 - ]; - sqlite = [ - anysqlite - ]; - yaml = [ - pyyaml - ]; + redis = [ redis ]; + s3 = [ boto3 ]; + sqlite = [ anysqlite ]; + yaml = [ pyyaml ]; }; nativeCheckInputs = [ @@ -60,9 +51,7 @@ buildPythonPackage rec { trio ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); - pythonImportsCheck = [ - "hishel" - ]; + pythonImportsCheck = [ "hishel" ]; disabledTests = [ # Tests require a running Redis instance @@ -83,4 +72,3 @@ buildPythonPackage rec { maintainers = with maintainers; [ fab ]; }; } - diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix index 6fc8f23d754f..3c4c70bc4095 100644 --- a/pkgs/development/python-modules/litellm/default.nix +++ b/pkgs/development/python-modules/litellm/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "litellm"; - version = "1.35.1"; + version = "1.35.4"; pyproject = true; disabled = pythonOlder "3.8"; @@ -42,7 +42,7 @@ buildPythonPackage rec { owner = "BerriAI"; repo = "litellm"; rev = "refs/tags/v${version}"; - hash = "sha256-bFAoaKH1y+Q5JE7OEY8w5hX3+6LAgswaCx1bKYmLZX0="; + hash = "sha256-5z2qyzDMfksxlj2KxAGw5TYn3aXbeUHZvwHiNjeWmLA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/mdformat-mkdocs/default.nix b/pkgs/development/python-modules/mdformat-mkdocs/default.nix index a7740111324f..8bca9230d914 100644 --- a/pkgs/development/python-modules/mdformat-mkdocs/default.nix +++ b/pkgs/development/python-modules/mdformat-mkdocs/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "mdformat-mkdocs"; - version = "2.0.7"; + version = "2.0.8"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "KyleKing"; repo = "mdformat-mkdocs"; rev = "refs/tags/v${version}"; - hash = "sha256-8fatoXZTi7yQhbs95AN8japcPfbqcpjsDiLlqsG0QWI="; + hash = "sha256-HBRhmCqi13D+y+Vp2F27twU2eaRmJTcAzGOPCWMDtZU="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix index 0c33c0b2cdf5..ecf1ca2e4ef6 100644 --- a/pkgs/development/python-modules/pylitterbot/default.nix +++ b/pkgs/development/python-modules/pylitterbot/default.nix @@ -1,38 +1,39 @@ -{ lib -, aiohttp -, aioresponses -, buildPythonPackage -, fetchFromGitHub -, poetry-core -, poetry-dynamic-versioning -, pyjwt -, pytest-aiohttp -, pytest-freezegun -, pytestCheckHook -, pythonOlder -, deepdiff +{ + lib, + aiohttp, + aioresponses, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + poetry-dynamic-versioning, + pyjwt, + pytest-aiohttp, + pytest-freezegun, + pytestCheckHook, + pythonOlder, + deepdiff, }: buildPythonPackage rec { pname = "pylitterbot"; version = "2023.4.11"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "natekspencer"; - repo = pname; + repo = "pylitterbot"; rev = "refs/tags/v${version}"; hash = "sha256-OTyQgcGGNktCgYJN33SZn7La7ec+gwR/yVDuH7kcEh4="; }; - nativeBuildInputs = [ + build-system = [ poetry-core poetry-dynamic-versioning ]; - propagatedBuildInputs = [ + dependencies = [ aiohttp deepdiff pyjwt @@ -45,9 +46,7 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ - "pylitterbot" - ]; + pythonImportsCheck = [ "pylitterbot" ]; meta = with lib; { description = "Modulefor controlling a Litter-Robot"; diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix index f85b893c24bb..d3c34f4c052d 100644 --- a/pkgs/development/python-modules/pymodbus/default.nix +++ b/pkgs/development/python-modules/pymodbus/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "pymodbus"; - version = "3.6.7"; + version = "3.6.8"; pyproject = true; disabled = pythonOlder "3.9"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "pymodbus-dev"; repo = "pymodbus"; rev = "refs/tags/v${version}"; - hash = "sha256-SbfvVaIpTz4Mzojx9y13lYei4dEz+1NQEE/7bwz29tQ="; + hash = "sha256-6Rt5fbuaeAgbW5KKse1zZIJyq/p2P2MjXGwA7q0C7wA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyprecice/default.nix b/pkgs/development/python-modules/pyprecice/default.nix index f6c5d8fc2387..b390314dd981 100644 --- a/pkgs/development/python-modules/pyprecice/default.nix +++ b/pkgs/development/python-modules/pyprecice/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pyprecice"; - version = "3.0.0.0"; + version = "3.1.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "precice"; repo = "python-bindings"; rev = "refs/tags/v${version}"; - hash = "sha256-iW3Mll28Z3Ew+eIJxeF1HR7JhVhXs9FiYaAb5TwYSpg="; + hash = "sha256-5K6oVBhR6mBdkyOb/Ec0qg9x63tkoTnLIrE8dz8oCtc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pysimplegui/default.nix b/pkgs/development/python-modules/pysimplegui/default.nix index 30e5de7abd8d..58deefb4f3d3 100644 --- a/pkgs/development/python-modules/pysimplegui/default.nix +++ b/pkgs/development/python-modules/pysimplegui/default.nix @@ -29,7 +29,8 @@ buildPythonPackage rec { meta = with lib; { description = "Python GUIs for Humans"; homepage = "https://github.com/PySimpleGUI/PySimpleGUI"; - license = licenses.lgpl3Plus; + license = licenses.unfree; maintainers = with maintainers; [ lucasew ]; + broken = true; # update to v5 broke the package, it now needs rsa and is trying to access an X11 socket? }; } diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix index 410f0da478ce..9c89a38c1059 100644 --- a/pkgs/development/python-modules/pytest-cases/default.nix +++ b/pkgs/development/python-modules/pytest-cases/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "pytest-cases"; - version = "3.8.4"; + version = "3.8.5"; pyproject = true; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-tM7DNRVvRPO8+oXnnys0tfpS5jMqhULd8+hPoT+qzXY="; + hash = "sha256-ySBUGHhHp9MNirZwn7FnCoMOThkjS+cAyFyWttcQLBY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/qdldl/default.nix b/pkgs/development/python-modules/qdldl/default.nix index 1a988afce428..a5af403d4d7a 100644 --- a/pkgs/development/python-modules/qdldl/default.nix +++ b/pkgs/development/python-modules/qdldl/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "qdldl"; - version = "0.1.7.post0"; + version = "0.1.7.post1"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-80ahFMg0LubU29ZHHu8xQZn7Jo0797lYhco1H94rAj8="; + hash = "sha256-eY2IwW4CU2rmXHHwa2Tj+/MbdNfke8EP+YFnaGMrOmQ="; }; dontUseCmakeConfigure = true; diff --git a/pkgs/development/python-modules/simplekv/default.nix b/pkgs/development/python-modules/simplekv/default.nix index 12e2449b04c5..22851e6da57b 100644 --- a/pkgs/development/python-modules/simplekv/default.nix +++ b/pkgs/development/python-modules/simplekv/default.nix @@ -1,17 +1,19 @@ -{ lib -, buildPythonPackage -, dulwich -, fetchFromGitHub -, mock -, pytestCheckHook -, pythonOlder -, six +{ + lib, + buildPythonPackage, + dulwich, + fetchFromGitHub, + mock, + pytestCheckHook, + pythonOlder, + setuptools, + six, }: buildPythonPackage rec { pname = "simplekv"; version = "0.14.1"; - format = "setuptools"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -22,16 +24,16 @@ buildPythonPackage rec { hash = "sha256-seUGDj2q84+AjDFM1pxMLlHbe9uBgEhmqA96UHjnCmo="; }; - nativeCheckInputs = [ + build-system = [ setuptools ]; + + dependencies = [ dulwich mock pytestCheckHook six ]; - pythonImportsCheck = [ - "simplekv" - ]; + pythonImportsCheck = [ "simplekv" ]; disabledTests = [ # Issue with fixture diff --git a/pkgs/development/python-modules/yq/default.nix b/pkgs/development/python-modules/yq/default.nix index 16a5ea17c8e9..58ffc9a516c2 100644 --- a/pkgs/development/python-modules/yq/default.nix +++ b/pkgs/development/python-modules/yq/default.nix @@ -13,12 +13,12 @@ buildPythonPackage rec { pname = "yq"; - version = "3.2.3"; + version = "3.3.0"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-Kcj+HTa09kFj9NATFMauIXU5hw9hAhbe5gJd+16vr7E="; + hash = "sha256-0qtWLxGx4OW5ZUubBtQ/iiBSacx72izgdzJfWhI2Udw="; }; patches = [ diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 3aaffff2b41f..f908ee34e1a2 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -651,7 +651,7 @@ let matchingMarkets = [ pkgs.zlib.dev ]; methylKit = with pkgs; [ zlib.dev bzip2.dev xz.dev ]; ndjson = [ pkgs.zlib.dev ]; - podkat = [ pkgs.zlib.dev ]; + podkat = with pkgs; [ zlib.dev xz.dev bzip2.dev ]; qrqc = [ pkgs.zlib.dev ]; rJPSGCS = [ pkgs.zlib.dev ]; rhdf5filters = with pkgs; [ zlib.dev bzip2.dev ]; @@ -962,7 +962,9 @@ let "PhIPData" # tries to download something from a DB "pbdMPI" # tries to run MPI processes "data_table" # fails to rename shared library before check + "coMethDMR" # tries to connect to ExperimentHub "multiMiR" # tries to connect to DB + "snapcount" # tries to connect to snaptron.cs.jhu.edu ]; # Packages which cannot be installed due to lack of dependencies or other reasons. diff --git a/pkgs/development/rocm-modules/6/llvm/add-compression-to-clang-offload-bundler.patch b/pkgs/development/rocm-modules/6/llvm/add-compression-to-clang-offload-bundler.patch new file mode 100644 index 000000000000..8589ac527dcb --- /dev/null +++ b/pkgs/development/rocm-modules/6/llvm/add-compression-to-clang-offload-bundler.patch @@ -0,0 +1,1191 @@ +From 058d9ba2f54a8c7c47b6522db808db87fed82e78 Mon Sep 17 00:00:00 2001 +From: "Yaxun (Sam) Liu" +Date: Thu, 4 Apr 2024 03:25:28 +0200 +Subject: [PATCH] backport 7e2823438e920d25364ff92b62ad90020c31bb59 + +Reland "[HIP] Support compressing device binary" + +Original PR: https://github.com/llvm/llvm-project/pull/67162 + +The commit was reverted due to UB detected by santizer: + +https://lab.llvm.org/buildbot/#/builders/238/builds/5955 + +clang/lib/Driver/OffloadBundler.cpp:1012:25: runtime error: + load of misaligned address 0xaaaae2d90e7c for type + 'const uint64_t' (aka 'const unsigned long'), which + requires 8 byte alignment + +It was fixed by using memcpy instead of dereferencing int* +casted from unaligned char*. + +Co-Authored-By: Martin Schwaighofer +(only did the backport) +--- + clang/docs/ClangOffloadBundler.rst | 27 ++ + clang/include/clang/Driver/OffloadBundler.h | 37 ++ + clang/include/clang/Driver/Options.td | 5 + + clang/lib/Driver/OffloadBundler.cpp | 346 +++++++++++++++--- + clang/lib/Driver/ToolChains/Clang.cpp | 7 + + clang/lib/Driver/ToolChains/HIPUtility.cpp | 6 + + .../test/Driver/clang-offload-bundler-zlib.c | 75 ++++ + .../test/Driver/clang-offload-bundler-zstd.c | 72 ++++ + .../test/Driver/hip-offload-compress-zlib.hip | 45 +++ + .../test/Driver/hip-offload-compress-zstd.hip | 45 +++ + .../clang-offload-bundler/CMakeLists.txt | 1 + + .../ClangOffloadBundler.cpp | 10 + + llvm/include/llvm/BinaryFormat/Magic.h | 28 +- + llvm/lib/BinaryFormat/Magic.cpp | 11 + + llvm/lib/Object/Binary.cpp | 2 + + llvm/lib/Object/ObjectFile.cpp | 2 + + 16 files changed, 659 insertions(+), 60 deletions(-) + create mode 100644 clang/test/Driver/clang-offload-bundler-zlib.c + create mode 100644 clang/test/Driver/clang-offload-bundler-zstd.c + create mode 100644 clang/test/Driver/hip-offload-compress-zlib.hip + create mode 100644 clang/test/Driver/hip-offload-compress-zstd.hip + +diff --git a/clang/docs/ClangOffloadBundler.rst b/clang/docs/ClangOffloadBundler.rst +index 432da787249b..d47997bf718d 100644 +--- a/clang/docs/ClangOffloadBundler.rst ++++ b/clang/docs/ClangOffloadBundler.rst +@@ -498,3 +498,30 @@ target by comparing bundle ID's. Two bundle ID's are considered compatible if: + Verbose printing of matched/unmatched comparisons between bundle entry id of + a device binary from HDA and bundle entry ID of a given target processor + (see :ref:`compatibility-bundle-entry-id`). ++ ++Compression and Decompression ++============================= ++ ++``clang-offload-bundler`` provides features to compress and decompress the full ++bundle, leveraging inherent redundancies within the bundle entries. Use the ++`-compress` command-line option to enable this compression capability. ++ ++The compressed offload bundle begins with a header followed by the compressed binary data: ++ ++- **Magic Number (4 bytes)**: ++ This is a unique identifier to distinguish compressed offload bundles. The value is the string 'CCOB' (Compressed Clang Offload Bundle). ++ ++- **Version Number (16-bit unsigned int)**: ++ This denotes the version of the compressed offload bundle format. The current version is `1`. ++ ++- **Compression Method (16-bit unsigned int)**: ++ This field indicates the compression method used. The value corresponds to either `zlib` or `zstd`, represented as a 16-bit unsigned integer cast from the LLVM compression enumeration. ++ ++- **Uncompressed Binary Size (32-bit unsigned int)**: ++ This is the size (in bytes) of the binary data before it was compressed. ++ ++- **Hash (64-bit unsigned int)**: ++ This is a 64-bit truncated MD5 hash of the uncompressed binary data. It serves for verification and caching purposes. ++ ++- **Compressed Data**: ++ The actual compressed binary data follows the header. Its size can be inferred from the total size of the file minus the header size. +diff --git a/clang/include/clang/Driver/OffloadBundler.h b/clang/include/clang/Driver/OffloadBundler.h +index fe263f0540b9..fc96f200414d 100644 +--- a/clang/include/clang/Driver/OffloadBundler.h ++++ b/clang/include/clang/Driver/OffloadBundler.h +@@ -19,6 +19,7 @@ + + #include "llvm/Support/Error.h" + #include "llvm/TargetParser/Triple.h" ++#include + #include + #include + +@@ -26,11 +27,15 @@ namespace clang { + + class OffloadBundlerConfig { + public: ++ OffloadBundlerConfig(); ++ + bool AllowNoHost = false; + bool AllowMissingBundles = false; + bool CheckInputArchive = false; + bool PrintExternalCommands = false; + bool HipOpenmpCompatible = false; ++ bool Compress = false; ++ bool Verbose = false; + + unsigned BundleAlignment = 1; + unsigned HostInputIndex = ~0u; +@@ -82,6 +87,38 @@ struct OffloadTargetInfo { + std::string str() const; + }; + ++// CompressedOffloadBundle represents the format for the compressed offload ++// bundles. ++// ++// The format is as follows: ++// - Magic Number (4 bytes) - A constant "CCOB". ++// - Version (2 bytes) ++// - Compression Method (2 bytes) - Uses the values from ++// llvm::compression::Format. ++// - Uncompressed Size (4 bytes). ++// - Truncated MD5 Hash (8 bytes). ++// - Compressed Data (variable length). ++ ++class CompressedOffloadBundle { ++private: ++ static inline const size_t MagicSize = 4; ++ static inline const size_t VersionFieldSize = sizeof(uint16_t); ++ static inline const size_t MethodFieldSize = sizeof(uint16_t); ++ static inline const size_t SizeFieldSize = sizeof(uint32_t); ++ static inline const size_t HashFieldSize = 8; ++ static inline const size_t HeaderSize = MagicSize + VersionFieldSize + ++ MethodFieldSize + SizeFieldSize + ++ HashFieldSize; ++ static inline const llvm::StringRef MagicNumber = "CCOB"; ++ static inline const uint16_t Version = 1; ++ ++public: ++ static llvm::Expected> ++ compress(const llvm::MemoryBuffer &Input, bool Verbose = false); ++ static llvm::Expected> ++ decompress(const llvm::MemoryBuffer &Input, bool Verbose = false); ++}; ++ + } // namespace clang + + #endif // LLVM_CLANG_DRIVER_OFFLOADBUNDLER_H +diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td +index c206ab84508f..f8df98678396 100644 +--- a/clang/include/clang/Driver/Options.td ++++ b/clang/include/clang/Driver/Options.td +@@ -984,6 +984,11 @@ def fconvergent_functions : Flag<["-"], "fconvergent-functions">, Group + def gpu_use_aux_triple_only : Flag<["--"], "gpu-use-aux-triple-only">, + InternalDriverOpt, HelpText<"Prepare '-aux-triple' only without populating " + "'-aux-target-cpu' and '-aux-target-feature'.">; ++ ++def offload_compress : Flag<["--"], "offload-compress">, ++ HelpText<"Compress offload device binaries (HIP only)">; ++def no_offload_compress : Flag<["--"], "no-offload-compress">; ++ + def cuda_include_ptx_EQ : Joined<["--"], "cuda-include-ptx=">, Flags<[NoXarchOption]>, + HelpText<"Include PTX for the following GPU architecture (e.g. sm_35) or 'all'. May be specified more than once.">; + def no_cuda_include_ptx_EQ : Joined<["--"], "no-cuda-include-ptx=">, Flags<[NoXarchOption]>, +diff --git a/clang/lib/Driver/OffloadBundler.cpp b/clang/lib/Driver/OffloadBundler.cpp +index 29250c49eb0c..69e14679da1c 100644 +--- a/clang/lib/Driver/OffloadBundler.cpp ++++ b/clang/lib/Driver/OffloadBundler.cpp +@@ -21,24 +21,29 @@ + #include "llvm/ADT/ArrayRef.h" + #include "llvm/ADT/SmallString.h" + #include "llvm/ADT/SmallVector.h" ++#include "llvm/ADT/StringExtras.h" + #include "llvm/ADT/StringMap.h" + #include "llvm/ADT/StringRef.h" ++#include "llvm/BinaryFormat/Magic.h" + #include "llvm/Object/Archive.h" + #include "llvm/Object/ArchiveWriter.h" + #include "llvm/Object/Binary.h" + #include "llvm/Object/ObjectFile.h" + #include "llvm/Support/Casting.h" ++#include "llvm/Support/Compression.h" + #include "llvm/Support/Debug.h" + #include "llvm/Support/EndianStream.h" + #include "llvm/Support/Errc.h" + #include "llvm/Support/Error.h" + #include "llvm/Support/ErrorOr.h" + #include "llvm/Support/FileSystem.h" ++#include "llvm/Support/MD5.h" + #include "llvm/Support/MemoryBuffer.h" + #include "llvm/Support/Path.h" + #include "llvm/Support/Program.h" + #include "llvm/Support/Signals.h" + #include "llvm/Support/StringSaver.h" ++#include "llvm/Support/Timer.h" + #include "llvm/Support/WithColor.h" + #include "llvm/Support/raw_ostream.h" + #include "llvm/TargetParser/Host.h" +@@ -48,6 +53,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -58,6 +64,10 @@ using namespace llvm; + using namespace llvm::object; + using namespace clang; + ++static llvm::TimerGroup ++ ClangOffloadBundlerTimerGroup("Clang Offload Bundler Timer Group", ++ "Timer group for clang offload bundler"); ++ + /// Magic string that marks the existence of offloading data. + #define OFFLOAD_BUNDLER_MAGIC_STR "__CLANG_OFFLOAD_BUNDLE__" + +@@ -229,20 +239,22 @@ public: + + /// Write the header of the bundled file to \a OS based on the information + /// gathered from \a Inputs. +- virtual Error WriteHeader(raw_fd_ostream &OS, ++ virtual Error WriteHeader(raw_ostream &OS, + ArrayRef> Inputs) = 0; + + /// Write the marker that initiates a bundle for the triple \a TargetTriple to + /// \a OS. +- virtual Error WriteBundleStart(raw_fd_ostream &OS, +- StringRef TargetTriple) = 0; ++ virtual Error WriteBundleStart(raw_ostream &OS, StringRef TargetTriple) = 0; + + /// Write the marker that closes a bundle for the triple \a TargetTriple to \a + /// OS. +- virtual Error WriteBundleEnd(raw_fd_ostream &OS, StringRef TargetTriple) = 0; ++ virtual Error WriteBundleEnd(raw_ostream &OS, StringRef TargetTriple) = 0; + + /// Write the bundle from \a Input into \a OS. +- virtual Error WriteBundle(raw_fd_ostream &OS, MemoryBuffer &Input) = 0; ++ virtual Error WriteBundle(raw_ostream &OS, MemoryBuffer &Input) = 0; ++ ++ /// Finalize output file. ++ virtual Error finalizeOutputFile() { return Error::success(); } + + /// List bundle IDs in \a Input. + virtual Error listBundleIDs(MemoryBuffer &Input) { +@@ -330,7 +342,7 @@ static uint64_t Read8byteIntegerFromBuffer(StringRef Buffer, size_t pos) { + } + + /// Write 8-byte integers to a buffer in little-endian format. +-static void Write8byteIntegerToBuffer(raw_fd_ostream &OS, uint64_t Val) { ++static void Write8byteIntegerToBuffer(raw_ostream &OS, uint64_t Val) { + llvm::support::endian::write(OS, Val, llvm::support::little); + } + +@@ -378,8 +390,7 @@ public: + return Error::success(); + + // Check if no magic was found. +- StringRef Magic(FC.data(), sizeof(OFFLOAD_BUNDLER_MAGIC_STR) - 1); +- if (!Magic.equals(OFFLOAD_BUNDLER_MAGIC_STR)) ++ if (llvm::identify_magic(FC) != llvm::file_magic::offload_bundle) + return Error::success(); + + // Read number of bundles. +@@ -454,7 +465,7 @@ public: + return Error::success(); + } + +- Error WriteHeader(raw_fd_ostream &OS, ++ Error WriteHeader(raw_ostream &OS, + ArrayRef> Inputs) final { + + // Compute size of the header. +@@ -491,19 +502,27 @@ public: + return Error::success(); + } + +- Error WriteBundleStart(raw_fd_ostream &OS, StringRef TargetTriple) final { ++ Error WriteBundleStart(raw_ostream &OS, StringRef TargetTriple) final { + CurWriteBundleTarget = TargetTriple.str(); + return Error::success(); + } + +- Error WriteBundleEnd(raw_fd_ostream &OS, StringRef TargetTriple) final { ++ Error WriteBundleEnd(raw_ostream &OS, StringRef TargetTriple) final { + return Error::success(); + } + +- Error WriteBundle(raw_fd_ostream &OS, MemoryBuffer &Input) final { ++ Error WriteBundle(raw_ostream &OS, MemoryBuffer &Input) final { + auto BI = BundlesInfo[CurWriteBundleTarget]; +- OS.seek(BI.Offset); ++ ++ // Pad with 0 to reach specified offset. ++ size_t CurrentPos = OS.tell(); ++ size_t PaddingSize = BI.Offset > CurrentPos ? BI.Offset - CurrentPos : 0; ++ for (size_t I = 0; I < PaddingSize; ++I) ++ OS.write('\0'); ++ assert(OS.tell() == BI.Offset); ++ + OS.write(Input.getBufferStart(), Input.getBufferSize()); ++ + return Error::success(); + } + }; +@@ -560,7 +579,7 @@ class ObjectFileHandler final : public FileHandler { + return NameOrErr.takeError(); + + // If it does not start with the reserved suffix, just skip this section. +- if (!NameOrErr->startswith(OFFLOAD_BUNDLER_MAGIC_STR)) ++ if (llvm::identify_magic(*NameOrErr) != llvm::file_magic::offload_bundle) + return std::nullopt; + + // Return the triple that is right after the reserved prefix. +@@ -625,7 +644,7 @@ public: + return Error::success(); + } + +- Error WriteHeader(raw_fd_ostream &OS, ++ Error WriteHeader(raw_ostream &OS, + ArrayRef> Inputs) final { + assert(BundlerConfig.HostInputIndex != ~0u && + "Host input index not defined."); +@@ -635,12 +654,16 @@ public: + return Error::success(); + } + +- Error WriteBundleStart(raw_fd_ostream &OS, StringRef TargetTriple) final { ++ Error WriteBundleStart(raw_ostream &OS, StringRef TargetTriple) final { + ++NumberOfProcessedInputs; + return Error::success(); + } + +- Error WriteBundleEnd(raw_fd_ostream &OS, StringRef TargetTriple) final { ++ Error WriteBundleEnd(raw_ostream &OS, StringRef TargetTriple) final { ++ return Error::success(); ++ } ++ ++ Error finalizeOutputFile() final { + assert(NumberOfProcessedInputs <= NumberOfInputs && + "Processing more inputs that actually exist!"); + assert(BundlerConfig.HostInputIndex != ~0u && +@@ -658,10 +681,6 @@ public: + assert(BundlerConfig.ObjcopyPath != "" && + "llvm-objcopy path not specified"); + +- // We write to the output file directly. So, we close it and use the name +- // to pass down to llvm-objcopy. +- OS.close(); +- + // Temporary files that need to be removed. + TempFileHandlerRAII TempFiles; + +@@ -702,7 +721,7 @@ public: + return Error::success(); + } + +- Error WriteBundle(raw_fd_ostream &OS, MemoryBuffer &Input) final { ++ Error WriteBundle(raw_ostream &OS, MemoryBuffer &Input) final { + return Error::success(); + } + +@@ -799,22 +818,22 @@ protected: + return Error::success(); + } + +- Error WriteHeader(raw_fd_ostream &OS, ++ Error WriteHeader(raw_ostream &OS, + ArrayRef> Inputs) final { + return Error::success(); + } + +- Error WriteBundleStart(raw_fd_ostream &OS, StringRef TargetTriple) final { ++ Error WriteBundleStart(raw_ostream &OS, StringRef TargetTriple) final { + OS << BundleStartString << TargetTriple << "\n"; + return Error::success(); + } + +- Error WriteBundleEnd(raw_fd_ostream &OS, StringRef TargetTriple) final { ++ Error WriteBundleEnd(raw_ostream &OS, StringRef TargetTriple) final { + OS << BundleEndString << TargetTriple << "\n"; + return Error::success(); + } + +- Error WriteBundle(raw_fd_ostream &OS, MemoryBuffer &Input) final { ++ Error WriteBundle(raw_ostream &OS, MemoryBuffer &Input) final { + OS << Input.getBuffer(); + return Error::success(); + } +@@ -899,6 +918,187 @@ CreateFileHandler(MemoryBuffer &FirstInput, + "'" + FilesType + "': invalid file type specified"); + } + ++OffloadBundlerConfig::OffloadBundlerConfig() { ++ auto IgnoreEnvVarOpt = ++ llvm::sys::Process::GetEnv("OFFLOAD_BUNDLER_IGNORE_ENV_VAR"); ++ if (IgnoreEnvVarOpt.has_value() && IgnoreEnvVarOpt.value() == "1") ++ return; ++ ++ auto VerboseEnvVarOpt = llvm::sys::Process::GetEnv("OFFLOAD_BUNDLER_VERBOSE"); ++ if (VerboseEnvVarOpt.has_value()) ++ Verbose = VerboseEnvVarOpt.value() == "1"; ++ ++ auto CompressEnvVarOpt = ++ llvm::sys::Process::GetEnv("OFFLOAD_BUNDLER_COMPRESS"); ++ if (CompressEnvVarOpt.has_value()) ++ Compress = CompressEnvVarOpt.value() == "1"; ++} ++ ++llvm::Expected> ++CompressedOffloadBundle::compress(const llvm::MemoryBuffer &Input, ++ bool Verbose) { ++ llvm::Timer HashTimer("Hash Calculation Timer", "Hash calculation time", ++ ClangOffloadBundlerTimerGroup); ++ if (Verbose) ++ HashTimer.startTimer(); ++ llvm::MD5 Hash; ++ llvm::MD5::MD5Result Result; ++ Hash.update(Input.getBuffer()); ++ Hash.final(Result); ++ uint64_t TruncatedHash = Result.low(); ++ if (Verbose) ++ HashTimer.stopTimer(); ++ ++ SmallVector CompressedBuffer; ++ auto BufferUint8 = llvm::ArrayRef( ++ reinterpret_cast(Input.getBuffer().data()), ++ Input.getBuffer().size()); ++ ++ llvm::compression::Format CompressionFormat; ++ ++ if (llvm::compression::zstd::isAvailable()) ++ CompressionFormat = llvm::compression::Format::Zstd; ++ else if (llvm::compression::zlib::isAvailable()) ++ CompressionFormat = llvm::compression::Format::Zlib; ++ else ++ return createStringError(llvm::inconvertibleErrorCode(), ++ "Compression not supported"); ++ ++ llvm::Timer CompressTimer("Compression Timer", "Compression time", ++ ClangOffloadBundlerTimerGroup); ++ if (Verbose) ++ CompressTimer.startTimer(); ++ llvm::compression::compress(CompressionFormat, BufferUint8, CompressedBuffer); ++ if (Verbose) ++ CompressTimer.stopTimer(); ++ ++ uint16_t CompressionMethod = static_cast(CompressionFormat); ++ uint32_t UncompressedSize = Input.getBuffer().size(); ++ ++ SmallVector FinalBuffer; ++ llvm::raw_svector_ostream OS(FinalBuffer); ++ OS << MagicNumber; ++ OS.write(reinterpret_cast(&Version), sizeof(Version)); ++ OS.write(reinterpret_cast(&CompressionMethod), ++ sizeof(CompressionMethod)); ++ OS.write(reinterpret_cast(&UncompressedSize), ++ sizeof(UncompressedSize)); ++ OS.write(reinterpret_cast(&TruncatedHash), ++ sizeof(TruncatedHash)); ++ OS.write(reinterpret_cast(CompressedBuffer.data()), ++ CompressedBuffer.size()); ++ ++ if (Verbose) { ++ auto MethodUsed = ++ CompressionFormat == llvm::compression::Format::Zstd ? "zstd" : "zlib"; ++ llvm::errs() << "Compressed bundle format version: " << Version << "\n" ++ << "Compression method used: " << MethodUsed << "\n" ++ << "Binary size before compression: " << UncompressedSize ++ << " bytes\n" ++ << "Binary size after compression: " << CompressedBuffer.size() ++ << " bytes\n" ++ << "Truncated MD5 hash: " ++ << llvm::format_hex(TruncatedHash, 16) << "\n"; ++ } ++ ++ return llvm::MemoryBuffer::getMemBufferCopy( ++ llvm::StringRef(FinalBuffer.data(), FinalBuffer.size())); ++} ++ ++llvm::Expected> ++CompressedOffloadBundle::decompress(const llvm::MemoryBuffer &Input, ++ bool Verbose) { ++ ++ StringRef Blob = Input.getBuffer(); ++ ++ if (Blob.size() < HeaderSize) { ++ return llvm::MemoryBuffer::getMemBufferCopy(Blob); ++ } ++ if (llvm::identify_magic(Blob) != ++ llvm::file_magic::offload_bundle_compressed) { ++ if (Verbose) ++ llvm::errs() << "Uncompressed bundle.\n"; ++ return llvm::MemoryBuffer::getMemBufferCopy(Blob); ++ } ++ ++ uint16_t ThisVersion; ++ uint16_t CompressionMethod; ++ uint32_t UncompressedSize; ++ uint64_t StoredHash; ++ memcpy(&ThisVersion, Input.getBuffer().data() + MagicNumber.size(), ++ sizeof(uint16_t)); ++ memcpy(&CompressionMethod, Blob.data() + MagicSize + VersionFieldSize, ++ sizeof(uint16_t)); ++ memcpy(&UncompressedSize, ++ Blob.data() + MagicSize + VersionFieldSize + MethodFieldSize, ++ sizeof(uint32_t)); ++ memcpy(&StoredHash, ++ Blob.data() + MagicSize + VersionFieldSize + MethodFieldSize + ++ SizeFieldSize, ++ sizeof(uint64_t)); ++ ++ llvm::compression::Format CompressionFormat; ++ if (CompressionMethod == ++ static_cast(llvm::compression::Format::Zlib)) ++ CompressionFormat = llvm::compression::Format::Zlib; ++ else if (CompressionMethod == ++ static_cast(llvm::compression::Format::Zstd)) ++ CompressionFormat = llvm::compression::Format::Zstd; ++ else ++ return createStringError(inconvertibleErrorCode(), ++ "Unknown compressing method"); ++ ++ llvm::Timer DecompressTimer("Decompression Timer", "Decompression time", ++ ClangOffloadBundlerTimerGroup); ++ if (Verbose) ++ DecompressTimer.startTimer(); ++ ++ SmallVector DecompressedData; ++ StringRef CompressedData = Blob.substr(HeaderSize); ++ if (llvm::Error DecompressionError = llvm::compression::decompress( ++ CompressionFormat, llvm::arrayRefFromStringRef(CompressedData), ++ DecompressedData, UncompressedSize)) ++ return createStringError(inconvertibleErrorCode(), ++ "Could not decompress embedded file contents: " + ++ llvm::toString(std::move(DecompressionError))); ++ ++ if (Verbose) { ++ DecompressTimer.stopTimer(); ++ ++ // Recalculate MD5 hash ++ llvm::Timer HashRecalcTimer("Hash Recalculation Timer", ++ "Hash recalculation time", ++ ClangOffloadBundlerTimerGroup); ++ HashRecalcTimer.startTimer(); ++ llvm::MD5 Hash; ++ llvm::MD5::MD5Result Result; ++ Hash.update(llvm::ArrayRef(DecompressedData.data(), ++ DecompressedData.size())); ++ Hash.final(Result); ++ uint64_t RecalculatedHash = Result.low(); ++ HashRecalcTimer.stopTimer(); ++ bool HashMatch = (StoredHash == RecalculatedHash); ++ ++ llvm::errs() << "Compressed bundle format version: " << ThisVersion << "\n" ++ << "Decompression method: " ++ << (CompressionFormat == llvm::compression::Format::Zlib ++ ? "zlib" ++ : "zstd") ++ << "\n" ++ << "Size before decompression: " << CompressedData.size() ++ << " bytes\n" ++ << "Size after decompression: " << UncompressedSize ++ << " bytes\n" ++ << "Stored hash: " << llvm::format_hex(StoredHash, 16) << "\n" ++ << "Recalculated hash: " ++ << llvm::format_hex(RecalculatedHash, 16) << "\n" ++ << "Hashes match: " << (HashMatch ? "Yes" : "No") << "\n"; ++ } ++ ++ return llvm::MemoryBuffer::getMemBufferCopy( ++ llvm::toStringRef(DecompressedData)); ++} ++ + // List bundle IDs. Return true if an error was found. + Error OffloadBundler::ListBundleIDsInFile( + StringRef InputFileName, const OffloadBundlerConfig &BundlerConfig) { +@@ -908,28 +1108,35 @@ Error OffloadBundler::ListBundleIDsInFile( + if (std::error_code EC = CodeOrErr.getError()) + return createFileError(InputFileName, EC); + +- MemoryBuffer &Input = **CodeOrErr; ++ // Decompress the input if necessary. ++ Expected> DecompressedBufferOrErr = ++ CompressedOffloadBundle::decompress(**CodeOrErr, BundlerConfig.Verbose); ++ if (!DecompressedBufferOrErr) ++ return createStringError( ++ inconvertibleErrorCode(), ++ "Failed to decompress input: " + ++ llvm::toString(DecompressedBufferOrErr.takeError())); ++ ++ MemoryBuffer &DecompressedInput = **DecompressedBufferOrErr; + + // Select the right files handler. + Expected> FileHandlerOrErr = +- CreateFileHandler(Input, BundlerConfig); ++ CreateFileHandler(DecompressedInput, BundlerConfig); + if (!FileHandlerOrErr) + return FileHandlerOrErr.takeError(); + + std::unique_ptr &FH = *FileHandlerOrErr; + assert(FH); +- return FH->listBundleIDs(Input); ++ return FH->listBundleIDs(DecompressedInput); + } + + /// Bundle the files. Return true if an error was found. + Error OffloadBundler::BundleFiles() { + std::error_code EC; + +- // Create output file. +- raw_fd_ostream OutputFile(BundlerConfig.OutputFileNames.front(), EC, +- sys::fs::OF_None); +- if (EC) +- return createFileError(BundlerConfig.OutputFileNames.front(), EC); ++ // Create a buffer to hold the content before compressing. ++ SmallVector Buffer; ++ llvm::raw_svector_ostream BufferStream(Buffer); + + // Open input files. + SmallVector, 8u> InputBuffers; +@@ -956,22 +1163,46 @@ Error OffloadBundler::BundleFiles() { + assert(FH); + + // Write header. +- if (Error Err = FH->WriteHeader(OutputFile, InputBuffers)) ++ if (Error Err = FH->WriteHeader(BufferStream, InputBuffers)) + return Err; + + // Write all bundles along with the start/end markers. If an error was found + // writing the end of the bundle component, abort the bundle writing. + auto Input = InputBuffers.begin(); + for (auto &Triple : BundlerConfig.TargetNames) { +- if (Error Err = FH->WriteBundleStart(OutputFile, Triple)) ++ if (Error Err = FH->WriteBundleStart(BufferStream, Triple)) + return Err; +- if (Error Err = FH->WriteBundle(OutputFile, **Input)) ++ if (Error Err = FH->WriteBundle(BufferStream, **Input)) + return Err; +- if (Error Err = FH->WriteBundleEnd(OutputFile, Triple)) ++ if (Error Err = FH->WriteBundleEnd(BufferStream, Triple)) + return Err; + ++Input; + } +- return Error::success(); ++ ++ raw_fd_ostream OutputFile(BundlerConfig.OutputFileNames.front(), EC, ++ sys::fs::OF_None); ++ if (EC) ++ return createFileError(BundlerConfig.OutputFileNames.front(), EC); ++ ++ SmallVector CompressedBuffer; ++ if (BundlerConfig.Compress) { ++ std::unique_ptr BufferMemory = ++ llvm::MemoryBuffer::getMemBufferCopy( ++ llvm::StringRef(Buffer.data(), Buffer.size())); ++ auto CompressionResult = ++ CompressedOffloadBundle::compress(*BufferMemory, BundlerConfig.Verbose); ++ if (auto Error = CompressionResult.takeError()) ++ return Error; ++ ++ auto CompressedMemBuffer = std::move(CompressionResult.get()); ++ CompressedBuffer.assign(CompressedMemBuffer->getBufferStart(), ++ CompressedMemBuffer->getBufferEnd()); ++ } else ++ CompressedBuffer = Buffer; ++ ++ OutputFile.write(CompressedBuffer.data(), CompressedBuffer.size()); ++ ++ return FH->finalizeOutputFile(); + } + + // Unbundle the files. Return true if an error was found. +@@ -982,7 +1213,16 @@ Error OffloadBundler::UnbundleFiles() { + if (std::error_code EC = CodeOrErr.getError()) + return createFileError(BundlerConfig.InputFileNames.front(), EC); + +- MemoryBuffer &Input = **CodeOrErr; ++ // Decompress the input if necessary. ++ Expected> DecompressedBufferOrErr = ++ CompressedOffloadBundle::decompress(**CodeOrErr, BundlerConfig.Verbose); ++ if (!DecompressedBufferOrErr) ++ return createStringError( ++ inconvertibleErrorCode(), ++ "Failed to decompress input: " + ++ llvm::toString(DecompressedBufferOrErr.takeError())); ++ ++ MemoryBuffer &Input = **DecompressedBufferOrErr; + + // Select the right files handler. + Expected> FileHandlerOrErr = +@@ -1357,22 +1597,34 @@ Error OffloadBundler::UnbundleArchive() { + if (!CodeObjectBufferRefOrErr) + return CodeObjectBufferRefOrErr.takeError(); + +- auto CodeObjectBuffer = ++ auto TempCodeObjectBuffer = + MemoryBuffer::getMemBuffer(*CodeObjectBufferRefOrErr, false); + ++ // Decompress the buffer if necessary. ++ Expected> DecompressedBufferOrErr = ++ CompressedOffloadBundle::decompress(*TempCodeObjectBuffer, ++ BundlerConfig.Verbose); ++ if (!DecompressedBufferOrErr) ++ return createStringError( ++ inconvertibleErrorCode(), ++ "Failed to decompress code object: " + ++ llvm::toString(DecompressedBufferOrErr.takeError())); ++ ++ MemoryBuffer &CodeObjectBuffer = **DecompressedBufferOrErr; ++ + Expected> FileHandlerOrErr = +- CreateFileHandler(*CodeObjectBuffer, BundlerConfig); ++ CreateFileHandler(CodeObjectBuffer, BundlerConfig); + if (!FileHandlerOrErr) + return FileHandlerOrErr.takeError(); + + std::unique_ptr &FileHandler = *FileHandlerOrErr; + assert(FileHandler); + +- if (Error ReadErr = FileHandler->ReadHeader(*CodeObjectBuffer)) ++ if (Error ReadErr = FileHandler->ReadHeader(CodeObjectBuffer)) + return ReadErr; + + Expected> CurBundleIDOrErr = +- FileHandler->ReadBundleStart(*CodeObjectBuffer); ++ FileHandler->ReadBundleStart(CodeObjectBuffer); + if (!CurBundleIDOrErr) + return CurBundleIDOrErr.takeError(); + +@@ -1393,7 +1645,7 @@ Error OffloadBundler::UnbundleArchive() { + BundlerConfig)) { + std::string BundleData; + raw_string_ostream DataStream(BundleData); +- if (Error Err = FileHandler->ReadBundle(DataStream, *CodeObjectBuffer)) ++ if (Error Err = FileHandler->ReadBundle(DataStream, CodeObjectBuffer)) + return Err; + + for (auto &CompatibleTarget : CompatibleTargets) { +@@ -1431,11 +1683,11 @@ Error OffloadBundler::UnbundleArchive() { + } + } + +- if (Error Err = FileHandler->ReadBundleEnd(*CodeObjectBuffer)) ++ if (Error Err = FileHandler->ReadBundleEnd(CodeObjectBuffer)) + return Err; + + Expected> NextTripleOrErr = +- FileHandler->ReadBundleStart(*CodeObjectBuffer); ++ FileHandler->ReadBundleStart(CodeObjectBuffer); + if (!NextTripleOrErr) + return NextTripleOrErr.takeError(); + +diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp +index 9e1f07d78bf1..274875c631c5 100644 +--- a/clang/lib/Driver/ToolChains/Clang.cpp ++++ b/clang/lib/Driver/ToolChains/Clang.cpp +@@ -8400,6 +8400,11 @@ void OffloadBundler::ConstructJob(Compilation &C, const JobAction &JA, + } + CmdArgs.push_back(TCArgs.MakeArgString(UB)); + } ++ if (TCArgs.hasFlag(options::OPT_offload_compress, ++ options::OPT_no_offload_compress, false)) ++ CmdArgs.push_back("-compress"); ++ if (TCArgs.hasArg(options::OPT_v)) ++ CmdArgs.push_back("-verbose"); + // All the inputs are encoded as commands. + C.addCommand(std::make_unique( + JA, *this, ResponseFileSupport::None(), +@@ -8494,6 +8499,8 @@ void OffloadBundler::ConstructJobMultipleOutputs( + } + CmdArgs.push_back("-unbundle"); + CmdArgs.push_back("-allow-missing-bundles"); ++ if (TCArgs.hasArg(options::OPT_v)) ++ CmdArgs.push_back("-verbose"); + + // All the inputs are encoded as commands. + C.addCommand(std::make_unique( +diff --git a/clang/lib/Driver/ToolChains/HIPUtility.cpp b/clang/lib/Driver/ToolChains/HIPUtility.cpp +index 8b9d8db90ffa..04efdcba20ea 100644 +--- a/clang/lib/Driver/ToolChains/HIPUtility.cpp ++++ b/clang/lib/Driver/ToolChains/HIPUtility.cpp +@@ -84,6 +84,12 @@ void HIP::constructHIPFatbinCommand(Compilation &C, const JobAction &JA, + Args.MakeArgString(std::string("-output=").append(Output)); + BundlerArgs.push_back(BundlerOutputArg); + ++ if (Args.hasFlag(options::OPT_offload_compress, ++ options::OPT_no_offload_compress, false)) ++ BundlerArgs.push_back("-compress"); ++ if (Args.hasArg(options::OPT_v)) ++ BundlerArgs.push_back("-verbose"); ++ + const char *Bundler = Args.MakeArgString( + T.getToolChain().GetProgramPath("clang-offload-bundler")); + C.addCommand(std::make_unique( +diff --git a/clang/test/Driver/clang-offload-bundler-zlib.c b/clang/test/Driver/clang-offload-bundler-zlib.c +new file mode 100644 +index 000000000000..c46c32a4a053 +--- /dev/null ++++ b/clang/test/Driver/clang-offload-bundler-zlib.c +@@ -0,0 +1,75 @@ ++// REQUIRES: zlib ++// REQUIRES: x86-registered-target ++// UNSUPPORTED: target={{.*}}-darwin{{.*}}, target={{.*}}-aix{{.*}} ++ ++// ++// Generate the host binary to be bundled. ++// ++// RUN: %clang -O0 -target %itanium_abi_triple %s -c -emit-llvm -o %t.bc ++ ++// ++// Generate an empty file to help with the checks of empty files. ++// ++// RUN: touch %t.empty ++ ++// ++// Generate device binaries to be bundled. ++// ++// RUN: echo 'Content of device file 1' > %t.tgt1 ++// RUN: echo 'Content of device file 2' > %t.tgt2 ++ ++// ++// Check compression/decompression of offload bundle. ++// ++// RUN: env OFFLOAD_BUNDLER_COMPRESS=1 OFFLOAD_BUNDLER_VERBOSE=1 \ ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -input=%t.tgt1 -input=%t.tgt2 -output=%t.hip.bundle.bc 2>&1 | \ ++// RUN: FileCheck -check-prefix=COMPRESS %s ++// RUN: clang-offload-bundler -type=bc -list -input=%t.hip.bundle.bc | FileCheck -check-prefix=NOHOST %s ++// RUN: env OFFLOAD_BUNDLER_VERBOSE=1 \ ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -output=%t.res.tgt1 -output=%t.res.tgt2 -input=%t.hip.bundle.bc -unbundle 2>&1 | \ ++// RUN: FileCheck -check-prefix=DECOMPRESS %s ++// RUN: diff %t.tgt1 %t.res.tgt1 ++// RUN: diff %t.tgt2 %t.res.tgt2 ++ ++// ++// COMPRESS: Compression method used: ++// DECOMPRESS: Decompression method: ++// NOHOST-NOT: host- ++// NOHOST-DAG: hip-amdgcn-amd-amdhsa--gfx900 ++// NOHOST-DAG: hip-amdgcn-amd-amdhsa--gfx906 ++// ++ ++// ++// Check -bundle-align option. ++// ++ ++// RUN: clang-offload-bundler -bundle-align=4096 -type=bc -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -input=%t.bc -input=%t.tgt1 -input=%t.tgt2 -output=%t.bundle3.bc -compress ++// RUN: clang-offload-bundler -type=bc -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -output=%t.res.bc -output=%t.res.tgt1 -output=%t.res.tgt2 -input=%t.bundle3.bc -unbundle ++// RUN: diff %t.bc %t.res.bc ++// RUN: diff %t.tgt1 %t.res.tgt1 ++// RUN: diff %t.tgt2 %t.res.tgt2 ++ ++// ++// Check unbundling archive. ++// ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -input=%t.tgt1 -input=%t.tgt2 -output=%T/hip_bundle1.bc -compress ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -input=%t.tgt1 -input=%t.tgt2 -output=%T/hip_bundle2.bc -compress ++// RUN: llvm-ar cr %T/hip_archive.a %T/hip_bundle1.bc %T/hip_bundle2.bc ++// RUN: clang-offload-bundler -unbundle -type=a -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -output=%T/hip_900.a -output=%T/hip_906.a -input=%T/hip_archive.a ++// RUN: llvm-ar t %T/hip_900.a | FileCheck -check-prefix=HIP-AR-900 %s ++// RUN: llvm-ar t %T/hip_906.a | FileCheck -check-prefix=HIP-AR-906 %s ++// HIP-AR-900-DAG: hip_bundle1-hip-amdgcn-amd-amdhsa--gfx900 ++// HIP-AR-900-DAG: hip_bundle2-hip-amdgcn-amd-amdhsa--gfx900 ++// HIP-AR-906-DAG: hip_bundle1-hip-amdgcn-amd-amdhsa--gfx906 ++// HIP-AR-906-DAG: hip_bundle2-hip-amdgcn-amd-amdhsa--gfx906 ++ ++// Some code so that we can create a binary out of this file. ++int A = 0; ++void test_func(void) { ++ ++A; ++} +diff --git a/clang/test/Driver/clang-offload-bundler-zstd.c b/clang/test/Driver/clang-offload-bundler-zstd.c +new file mode 100644 +index 000000000000..b2b588b72d4d +--- /dev/null ++++ b/clang/test/Driver/clang-offload-bundler-zstd.c +@@ -0,0 +1,72 @@ ++// REQUIRES: zstd ++// REQUIRES: x86-registered-target ++// UNSUPPORTED: target={{.*}}-darwin{{.*}}, target={{.*}}-aix{{.*}} ++ ++// ++// Generate the host binary to be bundled. ++// ++// RUN: %clang -O0 -target %itanium_abi_triple %s -c -emit-llvm -o %t.bc ++ ++// ++// Generate an empty file to help with the checks of empty files. ++// ++// RUN: touch %t.empty ++ ++// ++// Generate device binaries to be bundled. ++// ++// RUN: echo 'Content of device file 1' > %t.tgt1 ++// RUN: echo 'Content of device file 2' > %t.tgt2 ++ ++// ++// Check compression/decompression of offload bundle. ++// ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -input=%t.tgt1 -input=%t.tgt2 -output=%t.hip.bundle.bc -compress -verbose 2>&1 | \ ++// RUN: FileCheck -check-prefix=COMPRESS %s ++// RUN: clang-offload-bundler -type=bc -list -input=%t.hip.bundle.bc | FileCheck -check-prefix=NOHOST %s ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -output=%t.res.tgt1 -output=%t.res.tgt2 -input=%t.hip.bundle.bc -unbundle -verbose 2>&1 | \ ++// RUN: FileCheck -check-prefix=DECOMPRESS %s ++// RUN: diff %t.tgt1 %t.res.tgt1 ++// RUN: diff %t.tgt2 %t.res.tgt2 ++// ++// COMPRESS: Compression method used ++// DECOMPRESS: Decompression method ++// NOHOST-NOT: host- ++// NOHOST-DAG: hip-amdgcn-amd-amdhsa--gfx900 ++// NOHOST-DAG: hip-amdgcn-amd-amdhsa--gfx906 ++// ++ ++// ++// Check -bundle-align option. ++// ++ ++// RUN: clang-offload-bundler -bundle-align=4096 -type=bc -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -input=%t.bc -input=%t.tgt1 -input=%t.tgt2 -output=%t.bundle3.bc -compress ++// RUN: clang-offload-bundler -type=bc -targets=host-%itanium_abi_triple,openmp-powerpc64le-ibm-linux-gnu,openmp-x86_64-pc-linux-gnu -output=%t.res.bc -output=%t.res.tgt1 -output=%t.res.tgt2 -input=%t.bundle3.bc -unbundle ++// RUN: diff %t.bc %t.res.bc ++// RUN: diff %t.tgt1 %t.res.tgt1 ++// RUN: diff %t.tgt2 %t.res.tgt2 ++ ++// ++// Check unbundling archive. ++// ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -input=%t.tgt1 -input=%t.tgt2 -output=%T/hip_bundle1.bc -compress ++// RUN: clang-offload-bundler -type=bc -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -input=%t.tgt1 -input=%t.tgt2 -output=%T/hip_bundle2.bc -compress ++// RUN: llvm-ar cr %T/hip_archive.a %T/hip_bundle1.bc %T/hip_bundle2.bc ++// RUN: clang-offload-bundler -unbundle -type=a -targets=hip-amdgcn-amd-amdhsa--gfx900,hip-amdgcn-amd-amdhsa--gfx906 \ ++// RUN: -output=%T/hip_900.a -output=%T/hip_906.a -input=%T/hip_archive.a ++// RUN: llvm-ar t %T/hip_900.a | FileCheck -check-prefix=HIP-AR-900 %s ++// RUN: llvm-ar t %T/hip_906.a | FileCheck -check-prefix=HIP-AR-906 %s ++// HIP-AR-900-DAG: hip_bundle1-hip-amdgcn-amd-amdhsa--gfx900 ++// HIP-AR-900-DAG: hip_bundle2-hip-amdgcn-amd-amdhsa--gfx900 ++// HIP-AR-906-DAG: hip_bundle1-hip-amdgcn-amd-amdhsa--gfx906 ++// HIP-AR-906-DAG: hip_bundle2-hip-amdgcn-amd-amdhsa--gfx906 ++ ++// Some code so that we can create a binary out of this file. ++int A = 0; ++void test_func(void) { ++ ++A; ++} +diff --git a/clang/test/Driver/hip-offload-compress-zlib.hip b/clang/test/Driver/hip-offload-compress-zlib.hip +new file mode 100644 +index 000000000000..a29b6d037350 +--- /dev/null ++++ b/clang/test/Driver/hip-offload-compress-zlib.hip +@@ -0,0 +1,45 @@ ++// REQUIRES: zlib ++// REQUIRES: x86-registered-target ++// REQUIRES: amdgpu-registered-target ++ ++// Test compress bundled bitcode. ++ ++// RUN: rm -rf %T/a.bc ++// RUN: %clang -c -v --target=x86_64-linux-gnu \ ++// RUN: -x hip --offload-arch=gfx1100 --offload-arch=gfx1101 \ ++// RUN: -fgpu-rdc -nogpuinc -nogpulib \ ++// RUN: %S/Inputs/hip_multiple_inputs/a.cu \ ++// RUN: --offload-compress --offload-device-only --gpu-bundle-output \ ++// RUN: -o %T/a.bc \ ++// RUN: 2>&1 | FileCheck %s ++ ++// CHECK: clang-offload-bundler{{.*}} -type=bc ++// CHECK-SAME: -targets={{.*}}hip-amdgcn-amd-amdhsa-gfx1100,hip-amdgcn-amd-amdhsa-gfx1101 ++// CHECK-SAME: -compress -verbose ++// CHECK: Compressed bundle format ++ ++// Test uncompress of bundled bitcode. ++ ++// RUN: %clang --hip-link -### -v --target=x86_64-linux-gnu \ ++// RUN: --offload-arch=gfx1100 --offload-arch=gfx1101 \ ++// RUN: -fgpu-rdc -nogpulib \ ++// RUN: %T/a.bc --offload-device-only \ ++// RUN: 2>&1 | FileCheck -check-prefix=UNBUNDLE %s ++ ++// UNBUNDLE: clang-offload-bundler{{.*}} "-type=bc" ++// UNBUNDLE-SAME: -targets={{.*}}hip-amdgcn-amd-amdhsa-gfx1100,hip-amdgcn-amd-amdhsa-gfx1101 ++// UNBUNDLE-SAME: -unbundle ++// UNBUNDLE-SAME: -verbose ++ ++// Test compress bundled code objects. ++ ++// RUN: %clang -c -### -v --target=x86_64-linux-gnu \ ++// RUN: -x hip --offload-arch=gfx1100 --offload-arch=gfx1101 \ ++// RUN: -nogpuinc -nogpulib \ ++// RUN: %S/Inputs/hip_multiple_inputs/a.cu \ ++// RUN: --offload-compress \ ++// RUN: 2>&1 | FileCheck -check-prefix=CO %s ++ ++// CO: clang-offload-bundler{{.*}} "-type=o" ++// CO-SAME: -targets={{.*}}hipv4-amdgcn-amd-amdhsa--gfx1100,hipv4-amdgcn-amd-amdhsa--gfx1101 ++// CO-SAME: "-compress" "-verbose" +diff --git a/clang/test/Driver/hip-offload-compress-zstd.hip b/clang/test/Driver/hip-offload-compress-zstd.hip +new file mode 100644 +index 000000000000..688c2c85329c +--- /dev/null ++++ b/clang/test/Driver/hip-offload-compress-zstd.hip +@@ -0,0 +1,45 @@ ++// REQUIRES: zstd ++// REQUIRES: x86-registered-target ++// REQUIRES: amdgpu-registered-target ++ ++// Test compress bundled bitcode. ++ ++// RUN: rm -rf %T/a.bc ++// RUN: %clang -c -v --target=x86_64-linux-gnu \ ++// RUN: -x hip --offload-arch=gfx1100 --offload-arch=gfx1101 \ ++// RUN: -fgpu-rdc -nogpuinc -nogpulib \ ++// RUN: %S/Inputs/hip_multiple_inputs/a.cu \ ++// RUN: --offload-compress --offload-device-only --gpu-bundle-output \ ++// RUN: -o %T/a.bc \ ++// RUN: 2>&1 | FileCheck %s ++ ++// CHECK: clang-offload-bundler{{.*}} -type=bc ++// CHECK-SAME: -targets={{.*}}hip-amdgcn-amd-amdhsa-gfx1100,hip-amdgcn-amd-amdhsa-gfx1101 ++// CHECK-SAME: -compress -verbose ++// CHECK: Compressed bundle format ++ ++// Test uncompress of bundled bitcode. ++ ++// RUN: %clang --hip-link -### -v --target=x86_64-linux-gnu \ ++// RUN: --offload-arch=gfx1100 --offload-arch=gfx1101 \ ++// RUN: -fgpu-rdc -nogpulib \ ++// RUN: %T/a.bc --offload-device-only \ ++// RUN: 2>&1 | FileCheck -check-prefix=UNBUNDLE %s ++ ++// UNBUNDLE: clang-offload-bundler{{.*}} "-type=bc" ++// UNBUNDLE-SAME: -targets={{.*}}hip-amdgcn-amd-amdhsa-gfx1100,hip-amdgcn-amd-amdhsa-gfx1101 ++// UNBUNDLE-SAME: -unbundle ++// UNBUNDLE-SAME: -verbose ++ ++// Test compress bundled code objects. ++ ++// RUN: %clang -c -### -v --target=x86_64-linux-gnu \ ++// RUN: -x hip --offload-arch=gfx1100 --offload-arch=gfx1101 \ ++// RUN: -nogpuinc -nogpulib \ ++// RUN: %S/Inputs/hip_multiple_inputs/a.cu \ ++// RUN: --offload-compress \ ++// RUN: 2>&1 | FileCheck -check-prefix=CO %s ++ ++// CO: clang-offload-bundler{{.*}} "-type=o" ++// CO-SAME: -targets={{.*}}hipv4-amdgcn-amd-amdhsa--gfx1100,hipv4-amdgcn-amd-amdhsa--gfx1101 ++// CO-SAME: "-compress" "-verbose" +diff --git a/clang/tools/clang-offload-bundler/CMakeLists.txt b/clang/tools/clang-offload-bundler/CMakeLists.txt +index dabd82382cdf..dec2881589a5 100644 +--- a/clang/tools/clang-offload-bundler/CMakeLists.txt ++++ b/clang/tools/clang-offload-bundler/CMakeLists.txt +@@ -1,4 +1,5 @@ + set(LLVM_LINK_COMPONENTS ++ BinaryFormat + Object + Support + TargetParser +diff --git a/clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp b/clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp +index c02b5854bded..68f29807b219 100644 +--- a/clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp ++++ b/clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp +@@ -141,6 +141,11 @@ int main(int argc, const char **argv) { + cl::desc("Treat hip and hipv4 offload kinds as " + "compatible with openmp kind, and vice versa.\n"), + cl::init(false), cl::cat(ClangOffloadBundlerCategory)); ++ cl::opt Compress("compress", ++ cl::desc("Compress output file when bundling.\n"), ++ cl::init(false), cl::cat(ClangOffloadBundlerCategory)); ++ cl::opt Verbose("verbose", cl::desc("Print debug information.\n"), ++ cl::init(false), cl::cat(ClangOffloadBundlerCategory)); + + // Process commandline options and report errors + sys::PrintStackTraceOnErrorSignal(argv[0]); +@@ -169,6 +174,11 @@ int main(int argc, const char **argv) { + BundlerConfig.BundleAlignment = BundleAlignment; + BundlerConfig.FilesType = FilesType; + BundlerConfig.ObjcopyPath = ""; ++ // Do not override the default value Compress and Verbose in BundlerConfig. ++ if (Compress.getNumOccurrences() > 0) ++ BundlerConfig.Compress = Compress; ++ if (Verbose.getNumOccurrences() > 0) ++ BundlerConfig.Verbose = Verbose; + + BundlerConfig.TargetNames = TargetNames; + BundlerConfig.InputFileNames = InputFileNames; +diff --git a/llvm/include/llvm/BinaryFormat/Magic.h b/llvm/include/llvm/BinaryFormat/Magic.h +index 329c96f5c14c..a28710dcdfaf 100644 +--- a/llvm/include/llvm/BinaryFormat/Magic.h ++++ b/llvm/include/llvm/BinaryFormat/Magic.h +@@ -42,19 +42,21 @@ struct file_magic { + macho_universal_binary, ///< Mach-O universal binary + macho_file_set, ///< Mach-O file set binary + minidump, ///< Windows minidump file +- coff_cl_gl_object, ///< Microsoft cl.exe's intermediate code file +- coff_object, ///< COFF object file +- coff_import_library, ///< COFF import library +- pecoff_executable, ///< PECOFF executable file +- windows_resource, ///< Windows compiled resource file (.res) +- xcoff_object_32, ///< 32-bit XCOFF object file +- xcoff_object_64, ///< 64-bit XCOFF object file +- wasm_object, ///< WebAssembly Object file +- pdb, ///< Windows PDB debug info file +- tapi_file, ///< Text-based Dynamic Library Stub file +- cuda_fatbinary, ///< CUDA Fatbinary object file +- offload_binary, ///< LLVM offload object file +- dxcontainer_object, ///< DirectX container file ++ coff_cl_gl_object, ///< Microsoft cl.exe's intermediate code file ++ coff_object, ///< COFF object file ++ coff_import_library, ///< COFF import library ++ pecoff_executable, ///< PECOFF executable file ++ windows_resource, ///< Windows compiled resource file (.res) ++ xcoff_object_32, ///< 32-bit XCOFF object file ++ xcoff_object_64, ///< 64-bit XCOFF object file ++ wasm_object, ///< WebAssembly Object file ++ pdb, ///< Windows PDB debug info file ++ tapi_file, ///< Text-based Dynamic Library Stub file ++ cuda_fatbinary, ///< CUDA Fatbinary object file ++ offload_binary, ///< LLVM offload object file ++ dxcontainer_object, ///< DirectX container file ++ offload_bundle, ///< Clang offload bundle file ++ offload_bundle_compressed, ///< Compressed clang offload bundle file + }; + + bool is_object() const { return V != unknown; } +diff --git a/llvm/lib/BinaryFormat/Magic.cpp b/llvm/lib/BinaryFormat/Magic.cpp +index aa84bc36bfde..76aa1a602aa8 100644 +--- a/llvm/lib/BinaryFormat/Magic.cpp ++++ b/llvm/lib/BinaryFormat/Magic.cpp +@@ -87,6 +87,10 @@ file_magic llvm::identify_magic(StringRef Magic) { + if (startswith(Magic, "BC\xC0\xDE")) + return file_magic::bitcode; + break; ++ case 'C': ++ if (startswith(Magic, "CCOB")) ++ return file_magic::offload_bundle_compressed; ++ break; + case '!': + if (startswith(Magic, "!\n") || startswith(Magic, "!\n")) + return file_magic::archive; +@@ -246,6 +250,13 @@ file_magic llvm::identify_magic(StringRef Magic) { + return file_magic::coff_object; + break; + ++ case '_': { ++ const char OBMagic[] = "__CLANG_OFFLOAD_BUNDLE__"; ++ if (Magic.size() >= sizeof(OBMagic) && startswith(Magic, OBMagic)) ++ return file_magic::offload_bundle; ++ break; ++ } ++ + default: + break; + } +diff --git a/llvm/lib/Object/Binary.cpp b/llvm/lib/Object/Binary.cpp +index d18aed8b3b8c..0ee9f7fac448 100644 +--- a/llvm/lib/Object/Binary.cpp ++++ b/llvm/lib/Object/Binary.cpp +@@ -87,6 +87,8 @@ Expected> object::createBinary(MemoryBufferRef Buffer, + case file_magic::cuda_fatbinary: + case file_magic::coff_cl_gl_object: + case file_magic::dxcontainer_object: ++ case file_magic::offload_bundle: ++ case file_magic::offload_bundle_compressed: + // Unrecognized object file format. + return errorCodeToError(object_error::invalid_file_type); + case file_magic::offload_binary: +diff --git a/llvm/lib/Object/ObjectFile.cpp b/llvm/lib/Object/ObjectFile.cpp +index 56a1d09097d4..4cc95ea32f60 100644 +--- a/llvm/lib/Object/ObjectFile.cpp ++++ b/llvm/lib/Object/ObjectFile.cpp +@@ -154,6 +154,8 @@ ObjectFile::createObjectFile(MemoryBufferRef Object, file_magic Type, + case file_magic::cuda_fatbinary: + case file_magic::offload_binary: + case file_magic::dxcontainer_object: ++ case file_magic::offload_bundle: ++ case file_magic::offload_bundle_compressed: + return errorCodeToError(object_error::invalid_file_type); + case file_magic::tapi_file: + return errorCodeToError(object_error::invalid_file_type); +-- +2.43.0 + diff --git a/pkgs/development/rocm-modules/6/llvm/base.nix b/pkgs/development/rocm-modules/6/llvm/base.nix index 95f57b052045..88b384b43d8e 100644 --- a/pkgs/development/rocm-modules/6/llvm/base.nix +++ b/pkgs/development/rocm-modules/6/llvm/base.nix @@ -72,7 +72,9 @@ in stdenv.mkDerivation (finalAttrs: { "info" # Avoid `attribute 'info' missing` when using with wrapCC ]; - patches = extraPatches; + patches = [ + ./add-compression-to-clang-offload-bundler.patch + ] ++ extraPatches; src = fetchFromGitHub { owner = "ROCm"; @@ -133,7 +135,14 @@ in stdenv.mkDerivation (finalAttrs: { "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" ] ++ extraCMakeFlags; - postPatch = lib.optionalString finalAttrs.passthru.isLLVM '' + prePatch = '' + cd ../ + chmod -R u+w . + ''; + + postPatch = '' + cd ${targetDir} + '' + lib.optionalString finalAttrs.passthru.isLLVM '' patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh '' + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) '' # FileSystem permissions tests fail with various special bits @@ -141,7 +150,7 @@ in stdenv.mkDerivation (finalAttrs: { rm unittests/Support/Path.cpp substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" + --replace-fail "Path.cpp" "" '' + extraPostPatch; doCheck = buildTests; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix b/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix index 5a61732ffd2d..0d982299ec6e 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix @@ -2,13 +2,14 @@ , callPackage , rocmUpdateScript , llvm +, makeWrapper }: callPackage ../base.nix rec { inherit stdenv rocmUpdateScript; targetName = "clang-unwrapped"; targetDir = "clang"; - extraBuildInputs = [ llvm ]; + extraBuildInputs = [ llvm makeWrapper ]; extraCMakeFlags = [ "-DCLANG_INCLUDE_DOCS=ON" @@ -20,7 +21,7 @@ callPackage ../base.nix rec { ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules substituteInPlace CMakeLists.txt \ - --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" + --replace-fail "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'` rm test/Analysis/scan-build/*.test @@ -41,6 +42,12 @@ callPackage ../base.nix rec { extraPostInstall = '' mv bin/clang-tblgen $out/bin + # add wrapper to compress embedded accelerator-specific code + # this makes the output of composable_kernel significantly smaller right now + # TODO: remove this once ROCm does it out of the box + mv $out/bin/clang-offload-bundler $out/bin/clang-offload-bundler-unwrapped + makeWrapper $out/bin/clang-offload-bundler-unwrapped $out/bin/clang-offload-bundler \ + --add-flags '-compress' ''; requiredSystemFeatures = [ "big-parallel" ]; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix index 7e7cf9c2a608..2446723ef5fe 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix @@ -14,11 +14,11 @@ callPackage ../base.nix rec { # `Failed to match ... against ...` `Match value not within tolerance value of MPFR result:` # We need a better way, but I don't know enough sed magic and patching `CMakeLists.txt` isn't working... substituteInPlace ../libc/test/src/math/log10_test.cpp \ - --replace "i < N" "i < 0" \ - --replace "test(mpfr::RoundingMode::Nearest);" "" \ - --replace "test(mpfr::RoundingMode::Downward);" "" \ - --replace "test(mpfr::RoundingMode::Upward);" "" \ - --replace "test(mpfr::RoundingMode::TowardZero);" "" + --replace-fail "i < N" "i < 0" \ + --replace-fail "test(mpfr::RoundingMode::Nearest);" "" \ + --replace-fail "test(mpfr::RoundingMode::Downward);" "" \ + --replace-fail "test(mpfr::RoundingMode::Upward);" "" \ + --replace-fail "test(mpfr::RoundingMode::TowardZero);" "" ''; checkTargets = [ "check-${targetName}" ]; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch b/pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch deleted file mode 100644 index f4221a088136..000000000000 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74 Mon Sep 17 00:00:00 2001 -From: Scott Linder -Date: Mon, 11 Sep 2023 18:37:37 +0000 -Subject: [PATCH] [HeterogeneousDWARF] Update MLIR DI Metadata handling - -Pass a default DW_MSPACE_LLVM_none to satisfy new API - -Change-Id: I50df461f00b5510a715f55f61107122318102d22 ---- - lib/Target/LLVMIR/DebugTranslation.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/Target/LLVMIR/DebugTranslation.cpp b/lib/Target/LLVMIR/DebugTranslation.cpp -index 2053f5bcef06aa6..635ee5d7e5fefdc 100644 ---- a/lib/Target/LLVMIR/DebugTranslation.cpp -+++ b/lib/Target/LLVMIR/DebugTranslation.cpp -@@ -148,7 +148,8 @@ llvm::DIDerivedType *DebugTranslation::translateImpl(DIDerivedTypeAttr attr) { - /*File=*/nullptr, /*Line=*/0, - /*Scope=*/nullptr, translate(attr.getBaseType()), attr.getSizeInBits(), - attr.getAlignInBits(), attr.getOffsetInBits(), -- /*DWARFAddressSpace=*/std::nullopt, /*Flags=*/llvm::DINode::FlagZero); -+ /*DWARFAddressSpace=*/std::nullopt, llvm::dwarf::DW_MSPACE_LLVM_none, -+ /*Flags=*/llvm::DINode::FlagZero); - } - - llvm::DIFile *DebugTranslation::translateImpl(DIFileAttr attr) { -@@ -185,7 +186,8 @@ DebugTranslation::translateImpl(DILocalVariableAttr attr) { - llvmCtx, translate(attr.getScope()), getMDStringOrNull(attr.getName()), - translate(attr.getFile()), attr.getLine(), translate(attr.getType()), - attr.getArg(), -- /*Flags=*/llvm::DINode::FlagZero, attr.getAlignInBits(), -+ /*Flags=*/llvm::DINode::FlagZero, llvm::dwarf::DW_MSPACE_LLVM_none, -+ attr.getAlignInBits(), - /*Annotations=*/nullptr); - } - diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix index 91f34265f85f..a0e1935d3c5f 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix @@ -68,6 +68,6 @@ wrapCCWith rec { # GPU compilation uses builtin `lld` substituteInPlace $out/bin/{clang,clang++} \ - --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" + --replace-fail "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" ''; } diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix index 1fd72ee67188..c395dd792db0 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix @@ -21,13 +21,13 @@ in callPackage ../base.nix rec { # `clspv` tests fail, unresolved calls extraPostPatch = '' substituteInPlace CMakeLists.txt \ - --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ + --replace-fail "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ "find_program( LLVM_CLANG clang PATHS \"${clang}/bin\" NO_DEFAULT_PATH )" \ - --replace "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ + --replace-fail "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ "find_program( LLVM_SPIRV llvm-spirv PATHS \"${spirv}/bin\" NO_DEFAULT_PATH )" \ - --replace " spirv-mesa3d-" "" \ - --replace " spirv64-mesa3d-" "" \ - --replace "NOT \''${t} MATCHES" \ + --replace-fail " spirv-mesa3d-" "" \ + --replace-fail " spirv64-mesa3d-" "" \ + --replace-fail "NOT \''${t} MATCHES" \ "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES" ''; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix index 6de685ea2771..8b71b3fb2977 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix @@ -7,6 +7,7 @@ , glslang , shaderc , lit +, fetchpatch }: callPackage ../base.nix rec { @@ -17,9 +18,12 @@ callPackage ../base.nix rec { targetDir = targetName; # Fix `DebugTranslation.cpp:139:10: error: no matching function for call to 'get'` - # We patch at a different source root, so we modify the patch and include it locally - # https://github.com/ROCm/llvm-project/commit/f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74.patch - extraPatches = [ ./0000-mlir-fix-debugtranslation.patch ]; + extraPatches = [ + (fetchpatch { + url = "https://github.com/ROCm/llvm-project/commit/f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74.patch"; + hash = "sha256-3c91A9InMKxm+JcnWxoUeOU68y5I6w1AAXx6T9UByqI="; + }) + ]; extraNativeBuildInputs = [ clr ]; extraBuildInputs = [ @@ -41,7 +45,7 @@ callPackage ../base.nix rec { extraPostPatch = '' # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists` substituteInPlace CMakeLists.txt \ - --replace "EXISTS \''${UNITTEST_DIR}/googletest/include/gtest/gtest.h" "FALSE" + --replace-fail "EXISTS \''${UNITTEST_DIR}/googletest/include/gtest/gtest.h" "FALSE" # Mainly `No such file or directory` cat ${./1001-mlir-failing-tests.list} | xargs -d \\n rm diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix index e001f33dfd43..da5c2e16f5d3 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix @@ -11,7 +11,7 @@ callPackage ../base.nix rec { extraPostPatch = '' # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists` substituteInPlace CMakeLists.txt \ - --replace "NOT TARGET gtest" "FALSE" + --replace-fail "NOT TARGET gtest" "FALSE" ''; checkTargets = [ "check-${targetName}" ]; diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix index e298b1690405..c3f85d194006 100644 --- a/pkgs/development/tools/analysis/rizin/default.nix +++ b/pkgs/development/tools/analysis/rizin/default.nix @@ -27,11 +27,11 @@ let rizin = stdenv.mkDerivation rec { pname = "rizin"; - version = "0.7.2"; + version = "0.7.3"; src = fetchurl { url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz"; - hash = "sha256-/P8/tFrit14/YEvHoIB24yLm4U3veQmBhjeAZcyzWCo="; + hash = "sha256-4O0lraa+QgmNONqczvS++9VJ5HfoD43/pcobj/n72nQ="; }; mesonFlags = [ diff --git a/pkgs/development/tools/benthos/default.nix b/pkgs/development/tools/benthos/default.nix index 59e475fba209..850adc445bad 100644 --- a/pkgs/development/tools/benthos/default.nix +++ b/pkgs/development/tools/benthos/default.nix @@ -16,7 +16,7 @@ buildGoModule rec { proxyVendor = true; - vendorHash = "sha256-bnQn6gdHhbUJUPWU3CKrw1sq5CL0Tkss4DINPwlsiPU="; + vendorHash = "sha256-Ce2vXPKbyj517N3uJEGc00hCVZhcRrPvXUSuK+jjK3U="; doCheck = false; diff --git a/pkgs/development/tools/dapr/cli/default.nix b/pkgs/development/tools/dapr/cli/default.nix index c1d06b45982d..a672b9637e33 100644 --- a/pkgs/development/tools/dapr/cli/default.nix +++ b/pkgs/development/tools/dapr/cli/default.nix @@ -11,7 +11,7 @@ buildGoModule rec { sha256 = "sha256-nR9+6glX0oUJZq32XxyV4aVjfjVlNycZvMNaVHy+Q1s="; }; - vendorHash = "sha256-iqoxlqSdHDfLlb1bcHLPAO2/wiwRpqFBIuoVi7lecKs="; + vendorHash = "sha256-kFmoNd40YxUXVXk0F1Bf77KS5AM0jjOTwTjM5pYKkv4="; proxyVendor = true; diff --git a/pkgs/development/tools/database/sqlcmd/default.nix b/pkgs/development/tools/database/sqlcmd/default.nix index c11475a3caa4..7e23d5e624bd 100644 --- a/pkgs/development/tools/database/sqlcmd/default.nix +++ b/pkgs/development/tools/database/sqlcmd/default.nix @@ -17,7 +17,7 @@ buildGoModule rec { sha256 = "sha256-LLRNaY6ArUNoKSWSauCh2RKEGO5+G1OnoCAqMaAfOkY="; }; - vendorHash = "sha256-G6Patjrafg9VXXbisBDs/JVvy0SA6moTquKj66z9lzw="; + vendorHash = "sha256-NVmgAlNQvRj/7poIEWjMyKw2qWMd/HwbdSFHpumnRlo="; proxyVendor = true; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; diff --git a/pkgs/development/tools/f2c/default.nix b/pkgs/development/tools/f2c/default.nix index da68b27ddeb9..4b263a907b05 100644 --- a/pkgs/development/tools/f2c/default.nix +++ b/pkgs/development/tools/f2c/default.nix @@ -2,15 +2,18 @@ stdenv.mkDerivation { pname = "f2c"; - version = "20240130"; + version = "20240312"; src = fetchurl { url = "https://www.netlib.org/f2c/src.tgz"; - sha256 = "sha256-YciR1CbtsFvGR9b3/DRcLn9NzlXQksVKj8Xhr0g6MjU="; + sha256 = "sha256-TTPve2fe31/Ad+xFAWy6NUIes2QyUi6NjFucN0pdb5k="; }; makeFlags = [ "-f" "makefile.u" ]; + # Ensure xsum binary is built from scratch + preBuild = "rm xsum"; + installPhase = '' runHook preInstall diff --git a/pkgs/development/tools/fq/default.nix b/pkgs/development/tools/fq/default.nix index 661757d1513d..f36d2a213b0f 100644 --- a/pkgs/development/tools/fq/default.nix +++ b/pkgs/development/tools/fq/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "fq"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "wader"; repo = "fq"; rev = "v${version}"; - hash = "sha256-7Zprw1UgKEE8pEbmvR6LcT6Ng9oMRVDCy4HkgDNNYcU="; + hash = "sha256-C9YvAHzpNwOVbFWxmdT5BUwsLug7k6ZLYboYJTgp82I="; }; - vendorHash = "sha256-DodVm3Ga7+PD5ZORjVJcPruP8brT/aCGxCRlw3gVsJo="; + vendorHash = "sha256-liNRrmcTbN9mLWvgcEFZbgBPAHFGCF/KMV6KwRBWgoU="; ldflags = [ "-s" diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix index 3cd3d4a7788f..3dfd54b9220a 100644 --- a/pkgs/development/tools/frugal/default.nix +++ b/pkgs/development/tools/frugal/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "frugal"; - version = "3.17.10"; + version = "3.17.11"; src = fetchFromGitHub { owner = "Workiva"; repo = pname; rev = "v${version}"; - sha256 = "sha256-FAxvpP2js0bTb5hwFTCGKxIbunM8htEaf17gbM60WWM="; + sha256 = "sha256-SCbnLIoHYvbiY2Irx1ufMZTjmUJIucPMgEFobJNor/c="; }; subPackages = [ "." ]; diff --git a/pkgs/development/tools/go-migrate/default.nix b/pkgs/development/tools/go-migrate/default.nix index da20ec45c20b..7044262373de 100644 --- a/pkgs/development/tools/go-migrate/default.nix +++ b/pkgs/development/tools/go-migrate/default.nix @@ -12,7 +12,7 @@ buildGoModule rec { }; proxyVendor = true; # darwin/linux hash mismatch - vendorHash = "sha256-3otiRbswhENs/YvKKr+ZeodLWtK7fhCjEtlMDlkLOlY="; + vendorHash = "sha256-q8wShIcVHZtpnhvZfsxiI5FLq0xneA8IBMDWd/vpz/0="; subPackages = [ "cmd/migrate" ]; diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix index a6f75db9426e..22e6f3a015df 100644 --- a/pkgs/development/tools/go-toml/default.nix +++ b/pkgs/development/tools/go-toml/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "go-toml"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "pelletier"; repo = pname; rev = "v${version}"; - sha256 = "sha256-oXFZoGAlHRGGqbjjyI0pz1fIg8h6GN0SKOyRQyS4UA0="; + sha256 = "sha256-DAtp9ovl6cny0rom80aK+bGe9U/p6zmTQo1Z3MscCjg="; }; vendorHash = "sha256-4t/ft3XTfc7yrsFVMSfjdCur8QULho3NI2ym6gqjexI="; diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix index 153b211d95ab..ad1ea3f61ab4 100644 --- a/pkgs/development/tools/kustomize/default.nix +++ b/pkgs/development/tools/kustomize/default.nix @@ -21,7 +21,7 @@ buildGoModule rec { # avoid finding test and development commands modRoot = "kustomize"; proxyVendor = true; - vendorHash = "sha256-6+8cwRH37lkQvnHBUlSqyNrZMfDpKbeUNJS4YMflBq0="; + vendorHash = "sha256-inCBDIVdvkEdDJEwX7vdoWANk+f01VxhBGPKxrjR6Ao="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/tools/opcr-policy/default.nix b/pkgs/development/tools/opcr-policy/default.nix index e1900a1f84f3..e8d4e9a599ab 100644 --- a/pkgs/development/tools/opcr-policy/default.nix +++ b/pkgs/development/tools/opcr-policy/default.nix @@ -19,7 +19,7 @@ buildGoModule rec { subPackages = [ "cmd/policy" ]; # disable go workspaces - GOWORK = "off"; + env.GOWORK = "off"; doCheck = false; diff --git a/pkgs/development/tools/protolint/default.nix b/pkgs/development/tools/protolint/default.nix index ab1290def195..36338a665851 100644 --- a/pkgs/development/tools/protolint/default.nix +++ b/pkgs/development/tools/protolint/default.nix @@ -1,16 +1,16 @@ { lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "protolint"; - version = "0.49.4"; + version = "0.49.6"; src = fetchFromGitHub { owner = "yoheimuta"; repo = pname; rev = "v${version}"; - hash = "sha256-5z9R2LHwwb7aFMvJDYmMRny7lHG4JUSNhU1Hfm0Z1Mc="; + hash = "sha256-wGAHc0I2ewXJeHPH2qO6V3ScixUAMIX5U7zCBi4fqew="; }; - vendorHash = "sha256-8yV/YyNSn6O2UjAQlzM90fOoi3TdxO+v4YPtmSQMFC0="; + vendorHash = "sha256-0+GaTE/qKfPfZpkzUBglIXQoZD6fYkX6Z3QabkZ+IcE="; # Something about the way we run tests causes issues. It doesn't happen # when using "go test" directly: diff --git a/pkgs/development/tools/rain/default.nix b/pkgs/development/tools/rain/default.nix index d520a9489174..340dc3085a8a 100644 --- a/pkgs/development/tools/rain/default.nix +++ b/pkgs/development/tools/rain/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "rain"; - version = "1.8.4"; + version = "1.8.5"; src = fetchFromGitHub { owner = "aws-cloudformation"; repo = pname; rev = "v${version}"; - sha256 = "sha256-jn2DeVs9orJZOJjHUwNV1qDL1bVjQ0etlCYlcZE9cqY="; + sha256 = "sha256-AI7P5X9LNjXUQBkYTE0PCQ0xvK1CscVjnauoNVYp3GY="; }; - vendorHash = "sha256-jMgM6ZjQpK8rmDZUzVxDPoJWyWNkvNnvXwKNTHzc080="; + vendorHash = "sha256-CD7W+y/vQwWe7JFTl8+Zl7IKE88+Mu+Vvdr7Q1S+90w="; subPackages = [ "cmd/rain" ]; diff --git a/pkgs/development/tools/rust/cargo-dist/default.nix b/pkgs/development/tools/rust/cargo-dist/default.nix index 87026163fb90..bd87644a7d38 100644 --- a/pkgs/development/tools/rust/cargo-dist/default.nix +++ b/pkgs/development/tools/rust/cargo-dist/default.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-dist"; - version = "0.11.1"; + version = "0.13.1"; src = fetchFromGitHub { owner = "axodotdev"; repo = "cargo-dist"; rev = "v${version}"; - hash = "sha256-SnwTfRHa/1iVG5tcypFQXUTHEOTiXkICzyjdKNYXQcM="; + hash = "sha256-uav2Q6NG7JW3ZrYkDWXNxR816bI3nxs71KoOdNr/unQ="; }; - cargoHash = "sha256-Z3usfwxUQzrxAoINUZnM6Gffj1GEVaRNOg+XW5g8PH8="; + cargoHash = "sha256-Kd7roUUfXfWlV6IHpu20f0VPoZWmGOPAJjELNqVS3b8="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/tools/rust/cargo-tally/default.nix b/pkgs/development/tools/rust/cargo-tally/default.nix index 955e03247b76..d9db7c536990 100644 --- a/pkgs/development/tools/rust/cargo-tally/default.nix +++ b/pkgs/development/tools/rust/cargo-tally/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-tally"; - version = "1.0.42"; + version = "1.0.43"; src = fetchCrate { inherit pname version; - hash = "sha256-xtnWk5+08fc/NR0kGIhdpvMLAjXKUwH0tCtUIMMRb5s="; + hash = "sha256-LPqoq9iry8nNXphFdmjwepNB1bK8/myOEoT4UM0xF70="; }; - cargoHash = "sha256-fsKGd8W0Kdbjij8+44oxE6QiixUkwk0Mx3CefXMLSwg="; + cargoHash = "sha256-FU4NYa2S9x0IXhPtWM0PyOBCGCGHj80QR7DRuDgDYJY="; buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ DiskArbitration diff --git a/pkgs/development/tools/rust/cargo-temp/default.nix b/pkgs/development/tools/rust/cargo-temp/default.nix index d5a0e2bba146..7c4a84401095 100644 --- a/pkgs/development/tools/rust/cargo-temp/default.nix +++ b/pkgs/development/tools/rust/cargo-temp/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-temp"; - version = "0.2.19"; + version = "0.2.20"; src = fetchFromGitHub { owner = "yozhgoor"; repo = "cargo-temp"; rev = "v${version}"; - hash = "sha256-vLD7M+Pg0BHJq9zDPeJLY+v/Vri/XtV3pQu0+ZE84Ew="; + hash = "sha256-zyzzYftoMNPHvCtGYsxEiiWXd3vjWTfmiIpEJ86ac9c="; }; - cargoHash = "sha256-NKT5AijwNm/BVhHGVAXq6sWBJYjSpq90TXHjlrihldo="; + cargoHash = "sha256-qkYvgKTT4wdYBRTwtDiHYCEBtbNjr6CWQB2y/kL0f8Y="; meta = with lib; { description = "A CLI tool that allow you to create a temporary new Rust project using cargo with already installed dependencies"; diff --git a/pkgs/development/tools/turso-cli/default.nix b/pkgs/development/tools/turso-cli/default.nix index c68b1a3010a8..84113832cb34 100644 --- a/pkgs/development/tools/turso-cli/default.nix +++ b/pkgs/development/tools/turso-cli/default.nix @@ -8,16 +8,16 @@ }: buildGoModule rec { pname = "turso-cli"; - version = "0.90.3"; + version = "0.90.7"; src = fetchFromGitHub { owner = "tursodatabase"; repo = "turso-cli"; rev = "v${version}"; - hash = "sha256-NkCkInQLwGwb8bFeRTSk2rpuPBOkMvWBgVx2IFFyRFQ="; + hash = "sha256-+pd2bRyu1BFhzJ1iGDmBv/DR8oZHC0hGZBgZZIxpaYo="; }; - vendorHash = "sha256-oxlIaSSLZ6JirvUPOIHirp43G5qrDFJhNd6HjA9UYKo="; + vendorHash = "sha256-2NjdjB09WYzHjQEl2hMUWN1/xsj/Hlr8lVYU/pkxTqQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/tools/vsce/default.nix b/pkgs/development/tools/vsce/default.nix index 065821afbf10..ea3fc3bfa5fc 100644 --- a/pkgs/development/tools/vsce/default.nix +++ b/pkgs/development/tools/vsce/default.nix @@ -12,16 +12,16 @@ buildNpmPackage rec { pname = "vsce"; - version = "2.24.0"; + version = "2.25.0"; src = fetchFromGitHub { owner = "microsoft"; repo = "vscode-vsce"; rev = "v${version}"; - hash = "sha256-MX+tGjz/Nn18ivfjQeOlQtQiyRkB1cGnLl2jlz5Str8="; + hash = "sha256-HPNKxplSJpo/30vpXu176JMzY3fAzTX/9XPRsYj9x+U="; }; - npmDepsHash = "sha256-Difk9a9TYmfwzP9SawEuaxm7iHVjdfO+FxFCE7aEMzM="; + npmDepsHash = "sha256-wfgvGWSxV+N9Uh+jEEZCwPEN0yYNmooWXAV9PwWONkM="; postPatch = '' substituteInPlace package.json --replace '"version": "0.0.0"' '"version": "${version}"' diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix index 660944b5bde2..174f165fea81 100644 --- a/pkgs/development/tools/wails/default.nix +++ b/pkgs/development/tools/wails/default.nix @@ -23,7 +23,7 @@ buildGoModule rec { hash = "sha256-MHwIRanmgpjTKM+ILSQheCd9+XUwVTCVrREqntxpv7Q="; } + "/v2"; - vendorHash = "sha256-0cGmJEi7OfMZS7ObPBLHOVqKfvnlpHBiGRjSdV6wxE4="; + vendorHash = "sha256-6QFnLuRnSzIqkQkK1qg7VBYxwjK8fSQWz5RxpuyutoY="; proxyVendor = true; diff --git a/pkgs/games/cdogs-sdl/default.nix b/pkgs/games/cdogs-sdl/default.nix index e6ea213b6220..492a4216df41 100644 --- a/pkgs/games/cdogs-sdl/default.nix +++ b/pkgs/games/cdogs-sdl/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "cdogs-sdl"; - version = "2.0.0"; + version = "2.1.0"; src = fetchFromGitHub { repo = pname; owner = "cxong"; rev = version; - sha256 = "sha256-es04sCqthjf9unK2mbsBVHlxOeTpimQ+ViabhC/WD0I="; + sha256 = "sha256-bFHygaL0UrrprSZRPTdYIzO78IhMjiqhLCGr7TTajqc="; }; postPatch = '' diff --git a/pkgs/games/fteqw/generic.nix b/pkgs/games/fteqw/generic.nix index a525cf5a6c44..2d83b8b2af81 100644 --- a/pkgs/games/fteqw/generic.nix +++ b/pkgs/games/fteqw/generic.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation { inherit pname buildFlags buildInputs nativeBuildInputs postFixup; - version = "unstable-2023-08-03"; + version = "0-unstable-2024-04-13"; src = fetchFromGitHub { owner = "fte-team"; repo = "fteqw"; - rev = "3adec5d0a53ba9ae32a92fc0a805cf6d5ec107fb"; - hash = "sha256-p/U02hwKI+YqlVXIS/7+gujknNDLr5L53unjvG5qLJU="; + rev = "1f9f3635f0aef3b2eed6b40e35fcf6223c6ad533"; + hash = "sha256-AgTkkP8pT6yioIcVNpxmfCFF0M+7BGx3TXgQSkOgfPI="; }; makeFlags = [ diff --git a/pkgs/games/prismlauncher/wrapper.nix b/pkgs/games/prismlauncher/wrapper.nix index 32c00c63bda5..d91b2731135e 100644 --- a/pkgs/games/prismlauncher/wrapper.nix +++ b/pkgs/games/prismlauncher/wrapper.nix @@ -24,6 +24,7 @@ , mesa-demos , pciutils , udev +, vulkan-loader , libusb1 , msaClientID ? null @@ -100,6 +101,7 @@ symlinkJoin { glfw openal stdenv.cc.cc.lib + vulkan-loader # VulkanMod's lwjgl # oshi udev diff --git a/pkgs/misc/ananicy-rules-cachyos/default.nix b/pkgs/misc/ananicy-rules-cachyos/default.nix index c73f9e3b3fb9..d987d40f3cb5 100644 --- a/pkgs/misc/ananicy-rules-cachyos/default.nix +++ b/pkgs/misc/ananicy-rules-cachyos/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub }: -stdenv.mkDerivation rec { - pname = "ananicy"; +stdenv.mkDerivation { + pname = "ananicy-rules-cachyos"; version = "unstable-2024-04-10"; src = fetchFromGitHub { @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { dontBuild = true; installPhase = '' - runHook preBuild + runHook preInstall mkdir -p $out cp -r * $out rm $out/README.md - runHook postBuild + runHook postInstall ''; meta = with lib; { @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { description = "ananicy-cpp-rules for CachyOS "; license = licenses.gpl3Only; platforms = platforms.linux; - maintainers = with maintainers; [ artturin johnrtitor ]; + maintainers = with maintainers; [ artturin johnrtitor diniamo ]; }; } diff --git a/pkgs/os-specific/darwin/raycast/default.nix b/pkgs/os-specific/darwin/raycast/default.nix index e28a8c347eac..9671b5885c82 100644 --- a/pkgs/os-specific/darwin/raycast/default.nix +++ b/pkgs/os-specific/darwin/raycast/default.nix @@ -36,25 +36,23 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru = { - updateScript = writeShellApplication { - name = "raycast-update-script"; - runtimeInputs = [ curl jq common-updater-scripts ]; - text = '' - set -eo pipefail - url=$(curl --silent "https://releases.raycast.com/releases/latest?build=universal") - version=$(echo "$url" | jq -r '.version') - update-source-version raycast "$version" --file=./pkgs/os-specific/darwin/raycast/default.nix - ''; - }; - }; + passthru.updateScript = lib.getExe (writeShellApplication { + name = "raycast-update-script"; + runtimeInputs = [ curl jq common-updater-scripts ]; + text = '' + set -eo pipefail + url=$(curl --silent "https://releases.raycast.com/releases/latest?build=universal") + version=$(echo "$url" | jq -r '.version') + update-source-version raycast "$version" --file=./pkgs/os-specific/darwin/raycast/default.nix + ''; + }); meta = with lib; { description = "Control your tools with a few keystrokes"; homepage = "https://raycast.app/"; license = with licenses; [ unfree ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - maintainers = with maintainers; [ lovesegfault stepbrobd ]; + maintainers = with maintainers; [ lovesegfault stepbrobd donteatoreo ]; platforms = [ "aarch64-darwin" "x86_64-darwin" ]; }; }) diff --git a/pkgs/os-specific/linux/fw-ectool/default.nix b/pkgs/os-specific/linux/fw-ectool/default.nix index a73cc1896ecd..1d23411f3eef 100644 --- a/pkgs/os-specific/linux/fw-ectool/default.nix +++ b/pkgs/os-specific/linux/fw-ectool/default.nix @@ -1,38 +1,43 @@ { stdenv , lib -, fetchFromGitHub +, fetchFromGitLab +, cmake , pkg-config -, hostname +, libusb1 +, libftdi1 }: stdenv.mkDerivation { pname = "fw-ectool"; - version = "unstable-2022-12-03"; + version = "0-unstable-2023-12-15"; - src = fetchFromGitHub { + src = fetchFromGitLab { + domain = "gitlab.howett.net"; owner = "DHowett"; - repo = "fw-ectool"; - rev = "54c140399bbc3e6a3dce6c9f842727c4128367be"; - hash = "sha256-2teJFz4zcA+USpbVPXMEIHLdmMLem8ik7YrmrSxr/n0="; + repo = "ectool"; + rev = "3ebe7b8b713b2ebfe2ce92d48fd8d044276b2879"; + hash = "sha256-s6PrFPAL+XJAENqLw5oJqFmAf11tHOJ8h3F5l3pOlZ4="; }; nativeBuildInputs = [ + cmake pkg-config - hostname ]; - buildPhase = '' - patchShebangs util - make out=out utils - ''; + buildInputs = [ + libusb1 + libftdi1 + ]; installPhase = '' - install -D out/util/ectool $out/bin/ectool + runHook preInstall + install -Dm555 src/ectool "$out/bin/ectool" + runHook postInstall ''; meta = with lib; { description = "EC-Tool adjusted for usage with framework embedded controller"; - homepage = "https://github.com/DHowett/framework-ec"; + homepage = "https://gitlab.howett.net/DHowett/ectool"; license = licenses.bsd3; maintainers = [ maintainers.mkg20001 ]; platforms = platforms.linux; diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 82eb0d4a7b6e..b6bef613c731 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -6,14 +6,14 @@ let # NOTE: When updating these, please also take a look at the changes done to # kernel config in the xanmod version commit ltsVariant = { - version = "6.6.25"; - hash = "sha256-f375jX0BTlccJoeEFDQ2ZaVWQhcnWqcSNYHzGjS2DQo="; + version = "6.6.26"; + hash = "sha256-XC0HRp0t4qeGReU2oY231P5kdzvkl71uILlF9tdwgX4="; variant = "lts"; }; mainVariant = { - version = "6.7.12"; - hash = "sha256-6CY38ofjv+4BkAViTONUjD8YfK/P8YfxZ5OfQA9rllg="; + version = "6.8.5"; + hash = "sha256-CPq6CxyQY/y7f0FV4JSWucyo4rfIsfmVY/f15Lv0/TI="; variant = "main"; }; diff --git a/pkgs/servers/alps/default.nix b/pkgs/servers/alps/default.nix index 70659f0c3c5e..03bd62e4618b 100644 --- a/pkgs/servers/alps/default.nix +++ b/pkgs/servers/alps/default.nix @@ -11,7 +11,7 @@ buildGoModule rec { hash = "sha256-RSug3YSiqYLGs05Bee4NoaoCyPvUZ7IqlKWI1hmxbiA="; }; - vendorHash = "sha256-XDm6LU9D/rVQHiko7EFpocv+IktGe6tQhJYRrOJxeSs="; + vendorHash = "sha256-QsGfINktk+rBj4b5h+NBVS6XV1SVz+9fDL1vtUqcKEU="; ldflags = [ "-s" diff --git a/pkgs/servers/caddy/xcaddy/default.nix b/pkgs/servers/caddy/xcaddy/default.nix index 930b3db4327b..c90ef853b065 100644 --- a/pkgs/servers/caddy/xcaddy/default.nix +++ b/pkgs/servers/caddy/xcaddy/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "xcaddy"; - version = "0.3.5"; + version = "0.4.0"; subPackages = [ "cmd/xcaddy" ]; @@ -10,7 +10,7 @@ buildGoModule rec { owner = "caddyserver"; repo = pname; rev = "v${version}"; - hash = "sha256-XxklyOaKFPyWFabodNCcV1NnaPWS0AQ2Sj89ZZ5hJbk="; + hash = "sha256-wzX6+O7hN8x3DDkTdNMBuWTCY8dp1gGrF2TW1d07PEc="; }; patches = [ @@ -24,7 +24,7 @@ buildGoModule rec { "-X github.com/caddyserver/xcaddy/cmd.customVersion=v${version}" ]; - vendorHash = "sha256-RpbnoXyTrqGOI7DpgkO+J47P17T4QCVvM1CfS6kRO9Y="; + vendorHash = "sha256-7yd/6h1DKw7X/1NbHtr2vbpyapF81HPmDm7O4oV5nlc="; meta = with lib; { homepage = "https://github.com/caddyserver/xcaddy"; diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix index 0eed749f3890..1e40ab671511 100644 --- a/pkgs/servers/dendrite/default.nix +++ b/pkgs/servers/dendrite/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "matrix-dendrite"; - version = "0.13.6"; + version = "0.13.7"; src = fetchFromGitHub { owner = "matrix-org"; repo = "dendrite"; rev = "v${version}"; - hash = "sha256-R/67y7ZiqH2Yg7JFsNYOuGocvR161srlWjRgjyZsqaE="; + hash = "sha256-A6rQ8zqpV6SBpiALIPMF1nZtGvUtzoiTE2Rioh3T1WA="; }; - vendorHash = "sha256-/+JSL54y7u7mGeDwAJV17Ibjb/LffitUOgonUd9EzDA="; + vendorHash = "sha256-ByRCI4MuU8/ilbeNNOXSsTlBVHL5MkxLHItEGeGC9MQ="; subPackages = [ # The server diff --git a/pkgs/servers/hydron/default.nix b/pkgs/servers/hydron/default.nix index 9a3381843b55..912d0971f01a 100644 --- a/pkgs/servers/hydron/default.nix +++ b/pkgs/servers/hydron/default.nix @@ -17,7 +17,7 @@ buildGoModule rec { hash = "sha256-Q1pZf5FPQw+pHItcZyOGx0N+iHmz9rW0+ANFsketh6E="; }; - vendorHash = "sha256-fyGC6k9/xER5GwVelBhy5C5tiq6NMhwSmYjSpvenrfA="; + vendorHash = "sha256-hKF2RCGnk/5hNS65vGoDdF1OUPSLe4PDegYlKTeqJDM="; proxyVendor = true; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/servers/icebreaker/default.nix b/pkgs/servers/icebreaker/default.nix index ac01d659f175..0624a97be5e0 100644 --- a/pkgs/servers/icebreaker/default.nix +++ b/pkgs/servers/icebreaker/default.nix @@ -16,7 +16,7 @@ buildGoModule { }; proxyVendor = true; - vendorHash = "sha256-i648w+BOUX5IfEEZ11gJAjX1ZUdoYRzDPz6GDe7i2S8="; + vendorHash = "sha256-A0jNy8cUKpfAqocgjdYU7LB4EgIr9tiOCyEaXGQl8TM="; nativeBuildInputs = [ makeBinaryWrapper diff --git a/pkgs/servers/monitoring/alerta/client.nix b/pkgs/servers/monitoring/alerta/client.nix index d3de741e53bc..e95c114ee2a6 100644 --- a/pkgs/servers/monitoring/alerta/client.nix +++ b/pkgs/servers/monitoring/alerta/client.nix @@ -5,11 +5,11 @@ python3.pkgs.buildPythonApplication rec { pname = "alerta"; - version = "8.5.2"; + version = "8.5.3"; src = fetchPypi { inherit pname version; - sha256 = "sha256-5KLR+F5GtNkFXJMctJ5F4OvkQRhohd6SWB2ZFVtc/0s="; + sha256 = "sha256-ePvT2icsgv+io5aDDUr1Zhfodm4wlqh/iqXtNkFhS10="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/servers/monitoring/phlare/default.nix b/pkgs/servers/monitoring/phlare/default.nix index bc2c7cee63e5..294a85ab06fa 100644 --- a/pkgs/servers/monitoring/phlare/default.nix +++ b/pkgs/servers/monitoring/phlare/default.nix @@ -12,7 +12,7 @@ buildGoModule rec { }; proxyVendor = true; - vendorHash = "sha256-y8IWS5OQkDYRTt5xOzzbjb1ya6AiFtvAc0YNH99KZBA="; + vendorHash = "sha256-l7+iDT9GAP9BX+xKvnx57iVF8wCM1YyHwq6dD9PbTDI="; ldflags = let prefix = "github.com/grafana/phlare/pkg/util/build"; diff --git a/pkgs/servers/monitoring/prometheus/zfs-exporter.nix b/pkgs/servers/monitoring/prometheus/zfs-exporter.nix index 4488b85dd10b..3ba1402dc7a9 100644 --- a/pkgs/servers/monitoring/prometheus/zfs-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/zfs-exporter.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "zfs_exporter"; - version = "2.3.2"; + version = "2.3.4"; src = fetchFromGitHub { owner = "pdf"; repo = pname; rev = "v" + version; - hash = "sha256-JpLrCkPg0vVR0bKKHY5qf1/OD+O7yvWxS7kb7Yg3+c4="; + hash = "sha256-wPahjWTZLt5GapkOmGdGSicAmSGte2BHf6zZBHd7D3g="; }; - vendorHash = "sha256-uIilESEmAxANxFOy7qvYxlF/bId/Kqh4jUspNknlhlc="; + vendorHash = "sha256-EUeP7ysMnFeQO8Gaxhhonxk40cUv04MSiEDsaEcjTuM="; ldflags = [ "-s" diff --git a/pkgs/servers/pufferpanel/default.nix b/pkgs/servers/pufferpanel/default.nix index eb5558bf1d47..122e594f25ba 100644 --- a/pkgs/servers/pufferpanel/default.nix +++ b/pkgs/servers/pufferpanel/default.nix @@ -58,7 +58,7 @@ buildGoModule rec { nativeBuildInputs = [ makeWrapper go-swag ]; - vendorHash = "sha256-itiWROoIhnMbG9evH6X7kjClC4VdpX983d/SCwr4HbY="; + vendorHash = "sha256-1U7l7YW1fu5M0/pPHTLamLsTQdEltesRODUn21SuP8w="; proxyVendor = true; # Generate code for Swagger documentation endpoints (see web/swagger/docs.go). diff --git a/pkgs/servers/teleport/12/default.nix b/pkgs/servers/teleport/12/default.nix index ce91acb763f4..7d1e28afb4c7 100644 --- a/pkgs/servers/teleport/12/default.nix +++ b/pkgs/servers/teleport/12/default.nix @@ -2,7 +2,7 @@ callPackage ../generic.nix ({ version = "12.4.32"; hash = "sha256-dYriqQwrc3tfLv+/G/W8n+4cLbPUq7lq1/kGH/GIsHs="; - vendorHash = "sha256-1z1Aocxi34/6Kuwj30LWjEq+LrZThG6ZzrMb0Qtok8w="; + vendorHash = "sha256-R7gWdUIrc7VLe+9/En47FI3G9x2V1VGUVTrT/kmA9c4="; yarnHash = "sha256-Sr9T2TmrysMQs6A00rHU1IZjslu8jyYkVnYE6AmBmLA="; cargoLock = { lockFile = ./Cargo.lock; diff --git a/pkgs/servers/teleport/13/default.nix b/pkgs/servers/teleport/13/default.nix index 02957376d9f2..06905183b5ab 100644 --- a/pkgs/servers/teleport/13/default.nix +++ b/pkgs/servers/teleport/13/default.nix @@ -2,7 +2,7 @@ callPackage ../generic.nix ({ version = "13.4.14"; hash = "sha256-g11D5lekI3pUpKf5CLUuNjejs0gN/bEemHkCj3akha0="; - vendorHash = "sha256-wQywm41qnv/ryZwwyIg+La1Z7qAw2I/fUI3kLgHlq9Q="; + vendorHash = "sha256-kiDhlR/P81u/yNq72JuskES/UzMrTFzJT0H3xldGk8I="; yarnHash = "sha256-E9T+7aXVoERdUnVEL4va2fcMnv1jsL9Js/R2LZo4hu4="; cargoLock = { lockFile = ./Cargo.lock; diff --git a/pkgs/servers/teleport/14/default.nix b/pkgs/servers/teleport/14/default.nix index df97732bed58..6044975e62f2 100644 --- a/pkgs/servers/teleport/14/default.nix +++ b/pkgs/servers/teleport/14/default.nix @@ -2,7 +2,7 @@ callPackage ../generic.nix ({ version = "14.3.0"; hash = "sha256-yTbJeHCmPlelq7BrZQRY3XyNQiovV7NQ1tNh2NfYGbk="; - vendorHash = "sha256-ySe5YkBMt+1tF/8PWctfAkK/e03cqp5P1aJ2ANz7pLo="; + vendorHash = "sha256-lHsgSbY1nqQminU67QgV6FbHXNlv5tCMv2oVq48S33M="; yarnHash = "sha256-m934P+KygGiCzr5fDsNTlmZ1T9JxA6P8zTimocQyVi0="; cargoLock = { lockFile = ./Cargo.lock; diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index a556d7cb90f0..9e10746b5363 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -59,14 +59,14 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli2"; - version = "2.15.34"; # N.B: if you change this, check if overrides are still up-to-date + version = "2.15.38"; # N.B: if you change this, check if overrides are still up-to-date pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; rev = "refs/tags/${version}"; - hash = "sha256-lFovWxPlo3WlKE4yOlTtILbsRsILgioqVmPptOQO0bM="; + hash = "sha256-ddZqexGrO2m8iUE9RDkks0ohm27dpitbsj+20aWUrJw="; }; postPatch = '' diff --git a/pkgs/tools/archivers/unar/default.nix b/pkgs/tools/archivers/unar/default.nix index b1c818505712..b874522d87f0 100644 --- a/pkgs/tools/archivers/unar/default.nix +++ b/pkgs/tools/archivers/unar/default.nix @@ -89,6 +89,7 @@ stdenv.mkDerivation rec { ''; license = licenses.lgpl21Plus; maintainers = with maintainers; [ peterhoeg ]; + mainProgram = "unar"; platforms = platforms.unix; }; } diff --git a/pkgs/tools/misc/ckb-next/default.nix b/pkgs/tools/misc/ckb-next/default.nix index 549cb543af19..959493d3e4bd 100644 --- a/pkgs/tools/misc/ckb-next/default.nix +++ b/pkgs/tools/misc/ckb-next/default.nix @@ -1,5 +1,5 @@ { lib, wrapQtAppsHook, fetchFromGitHub, substituteAll, udev, stdenv -, pkg-config, qtbase, cmake, zlib, kmod, libXdmcp, qttools, qtx11extras, libdbusmenu +, pkg-config, qtbase, cmake, zlib, kmod, libXdmcp, qttools, qtx11extras, libdbusmenu, gnused , withPulseaudio ? stdenv.isLinux, libpulseaudio, quazip }: @@ -47,6 +47,11 @@ stdenv.mkDerivation rec { }) ]; + postInstall = '' + substituteInPlace "$out/lib/udev/rules.d/99-ckb-next-daemon.rules" \ + --replace-fail "/usr/bin/env sed" "${lib.getExe gnused}" + ''; + meta = with lib; { description = "Driver and configuration tool for Corsair keyboards and mice"; homepage = "https://github.com/ckb-next/ckb-next"; diff --git a/pkgs/tools/misc/ollama/default.nix b/pkgs/tools/misc/ollama/default.nix index 74bd213b043f..a377d200fbb8 100644 --- a/pkgs/tools/misc/ollama/default.nix +++ b/pkgs/tools/misc/ollama/default.nix @@ -19,23 +19,24 @@ , linuxPackages , darwin - # one of `[ null "rocm" "cuda" ]` -, acceleration ? null - , testers , ollama + +, config + # one of `[ null false "rocm" "cuda" ]` +, acceleration ? null }: let pname = "ollama"; # don't forget to invalidate all hashes each update - version = "0.1.30"; + version = "0.1.31"; src = fetchFromGitHub { owner = "jmorganca"; repo = "ollama"; rev = "v${version}"; - hash = "sha256-+cdYT5NUf00Rx0fpCvWUNg4gi+PAOmZVDUdB3omibm0="; + hash = "sha256-Ip1zrhgGpeYo2zsN206/x+tcG/bmPJAq4zGatqsucaw="; fetchSubmodules = true; }; vendorHash = "sha256-Lj7CBvS51RqF63c01cOCgY7BCQeCKGu794qzb/S80C0="; @@ -55,13 +56,24 @@ let }; - validAccel = lib.assertOneOf "ollama.acceleration" acceleration [ null "rocm" "cuda" ]; - - warnIfNotLinux = api: (lib.warnIfNot stdenv.isLinux + accelIsValid = builtins.elem acceleration [ null false "rocm" "cuda" ]; + validateFallback = lib.warnIf (config.rocmSupport && config.cudaSupport) + (lib.concatStrings [ + "both `nixpkgs.config.rocmSupport` and `nixpkgs.config.cudaSupport` are enabled, " + "but they are mutually exclusive; falling back to cpu" + ]) + (!(config.rocmSupport && config.cudaSupport)); + validateLinux = api: (lib.warnIfNot stdenv.isLinux "building ollama with `${api}` is only supported on linux; falling back to cpu" stdenv.isLinux); - enableRocm = validAccel && (acceleration == "rocm") && (warnIfNotLinux "rocm"); - enableCuda = validAccel && (acceleration == "cuda") && (warnIfNotLinux "cuda"); + shouldEnable = assert accelIsValid; + mode: fallback: + ((acceleration == mode) + || (fallback && acceleration == null && validateFallback)) + && (validateLinux mode); + + enableRocm = shouldEnable "rocm" config.rocmSupport; + enableCuda = shouldEnable "cuda" config.cudaSupport; rocmClang = linkFarm "rocm-clang" { diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix index 6395412e412c..e780f451040b 100644 --- a/pkgs/tools/misc/phrase-cli/default.nix +++ b/pkgs/tools/misc/phrase-cli/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "phrase-cli"; - version = "2.23.1"; + version = "2.23.2"; src = fetchFromGitHub { owner = "phrase"; repo = "phrase-cli"; rev = version; - sha256 = "sha256-5VoRl7pA37QJkgQ6ClyTC6Ya4ZLuVs6aqiAwk1kBFMY="; + sha256 = "sha256-CzDkIFlStfCJpF82pqD8hTxbjH9Nu+0/uygTR0xxxV4="; }; - vendorHash = "sha256-31QMyqJcyWYIq12EA/B0tip70yixFAi7EqIeeo11ZS8="; + vendorHash = "sha256-r07nHJqFWHAMTkmQmy0/jK7N/lDzpnHqmuGTG1FTUiI="; ldflags = [ "-X=github.com/phrase/phrase-cli/cmd.PHRASE_CLIENT_VERSION=${version}" ]; diff --git a/pkgs/tools/networking/dae/default.nix b/pkgs/tools/networking/dae/default.nix index 18856ca5f0e3..0c95db7e3af1 100644 --- a/pkgs/tools/networking/dae/default.nix +++ b/pkgs/tools/networking/dae/default.nix @@ -15,7 +15,7 @@ buildGoModule rec { fetchSubmodules = true; }; - vendorHash = "sha256-qK+x6ciAebwIWHRjRpNXCAqsfnmEx37evS4+7kwcFIs="; + vendorHash = "sha256-4U6zIxK8K+MGxRboTtsKntDMp8/cQWPqXQ3l03AEtBs="; proxyVendor = true; diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix index 03cf372e2f07..b4f632722b0b 100644 --- a/pkgs/tools/networking/flannel/default.nix +++ b/pkgs/tools/networking/flannel/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "flannel"; - version = "0.24.4"; + version = "0.25.1"; rev = "v${version}"; - vendorHash = "sha256-meBo4KsM0qcpW/FIF32NG9MYWK945EaBpzopkmT1WMI="; + vendorHash = "sha256-hitYX6Y2ElDhjwgoX5feSNwpTUA6PXqpH70ZnIW9RaM="; src = fetchFromGitHub { inherit rev; owner = "flannel-io"; repo = "flannel"; - sha256 = "sha256-Qw1TAkToKgDt2/GHqlsM5vyTslI0dutJlwTA5xKqbFo="; + sha256 = "sha256-Aa+LPn5fRrv7vzCqqbHzNaVn5nU6/mi09t6y/5nx0+s="; }; ldflags = [ "-X github.com/flannel-io/flannel/pkg/version.Version=${rev}" ]; diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix index fdb56ce07dae..33b0d9d4c152 100644 --- a/pkgs/tools/networking/hysteria/default.nix +++ b/pkgs/tools/networking/hysteria/default.nix @@ -4,13 +4,13 @@ }: buildGoModule rec { pname = "hysteria"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "apernet"; repo = pname; rev = "app/v${version}"; - hash = "sha256-zrnyOb40LJz6yWxXh6w4R4JY3lUb3DcJgoYjxM2/hvE="; + hash = "sha256-ohqWubYR9Z5KtMEOyqVfxnmNO6SoaSsA3SOMDivVA54="; }; vendorHash = "sha256-DuQwg4vJgwC6IBs+8J5OVdO67OgdhmGTF88zlikHaAQ="; diff --git a/pkgs/tools/networking/juicity/default.nix b/pkgs/tools/networking/juicity/default.nix index 8b655e7eb3de..4581b4f4a7b7 100644 --- a/pkgs/tools/networking/juicity/default.nix +++ b/pkgs/tools/networking/juicity/default.nix @@ -13,7 +13,7 @@ buildGoModule rec { hash = "sha256-SUZ5E2GRLyUI/Z5ekJPNypVJXfJFzIz3qr9kCeXN7Gk="; }; - vendorHash = "sha256-Gj4uM9EL6QjlrCFGq3u1+TkIxzIU2mthFRK00pOAaJg="; + vendorHash = "sha256-13U3B9VKspSlpD1hYPtyCuPAZvAYc/d/UKcjXMURxyo="; proxyVendor = true; diff --git a/pkgs/tools/networking/oneshot/default.nix b/pkgs/tools/networking/oneshot/default.nix index 3ecca675e18c..fe3948041d1a 100644 --- a/pkgs/tools/networking/oneshot/default.nix +++ b/pkgs/tools/networking/oneshot/default.nix @@ -15,7 +15,7 @@ buildGoModule rec { subPackages = [ "cmd" ]; - GOWORK = "off"; + env.GOWORK = "off"; modRoot = "v2"; diff --git a/pkgs/tools/package-management/micromamba/default.nix b/pkgs/tools/package-management/micromamba/default.nix index 5ff23ec7188d..8707d4099f95 100644 --- a/pkgs/tools/package-management/micromamba/default.nix +++ b/pkgs/tools/package-management/micromamba/default.nix @@ -35,13 +35,13 @@ let in stdenv.mkDerivation rec { pname = "micromamba"; - version = "1.5.4"; + version = "1.5.8"; src = fetchFromGitHub { owner = "mamba-org"; repo = "mamba"; rev = "micromamba-" + version; - hash = "sha256-29SuR4RDW0+yNR1RHlm3I4avy0CjBTGxv1FKxMDZxO0="; + hash = "sha256-sxZDlMFoMLq2EAzwBVO++xvU1C30JoIoZXEX/sqkXS0="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/tools/security/age-plugin-tpm/default.nix b/pkgs/tools/security/age-plugin-tpm/default.nix index 3eef366f8ea8..f95f761c580b 100644 --- a/pkgs/tools/security/age-plugin-tpm/default.nix +++ b/pkgs/tools/security/age-plugin-tpm/default.nix @@ -18,7 +18,7 @@ buildGoModule rec { proxyVendor = true; - vendorHash = "sha256-BSb+8p5+RJMfcYc2+BuT4YbhCWCbcYOt9upesD11Ytw="; + vendorHash = "sha256-veduD0K3Onkqvyg9E5v854a6/8UIRQZEH098lUepRNU="; nativeCheckInputs = [ swtpm diff --git a/pkgs/tools/security/cariddi/default.nix b/pkgs/tools/security/cariddi/default.nix index 7773e66a8e6b..b4e07a622c24 100644 --- a/pkgs/tools/security/cariddi/default.nix +++ b/pkgs/tools/security/cariddi/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "cariddi"; - version = "1.3.3"; + version = "1.3.4"; src = fetchFromGitHub { owner = "edoardottt"; repo = "cariddi"; rev = "refs/tags/v${version}"; - hash = "sha256-nApgsvHSMWmgJWyvdtBdrGt9v8YSwWiGnmrDS8vVvDw="; + hash = "sha256-Hgz+/DEoCo4lxcFkawQgIc3ct7cc2NwpAnfBtZQruf0="; }; vendorHash = "sha256-GgJyYDnlaFybf3Gu1gVcA12HkA0yUIjYEFj0G83GVGQ="; diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix index f2b9a5ed254d..3ea85f771147 100644 --- a/pkgs/tools/security/cosign/default.nix +++ b/pkgs/tools/security/cosign/default.nix @@ -13,13 +13,13 @@ }: buildGoModule rec { pname = "cosign"; - version = "2.2.3"; + version = "2.2.4"; src = fetchFromGitHub { owner = "sigstore"; repo = pname; rev = "v${version}"; - hash = "sha256-+y79Uml1TvKypbwcWkZZF415qUPPfieP5pKHO+APjPE="; + hash = "sha256-csFFB1VYwd009fL4QHDK9jmCmwFJ45CVutLVzluG1NU="; }; buildInputs = @@ -28,7 +28,7 @@ buildGoModule rec { nativeBuildInputs = [ pkg-config installShellFiles ]; - vendorHash = "sha256-udMnSdXBjlDQlQRzhhLBDBcHwREkEev0uLIVjT8BbuU="; + vendorHash = "sha256-LYdbHpucF/lUzMu0m5y0Gt3A/8ISUs9oLM79mTF/REM="; subPackages = [ "cmd/cosign" diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix index 23d7ed0f8657..31c2d4825942 100644 --- a/pkgs/tools/security/exploitdb/default.nix +++ b/pkgs/tools/security/exploitdb/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2024-04-09"; + version = "2024-04-14"; src = fetchFromGitLab { owner = "exploit-database"; repo = "exploitdb"; rev = "refs/tags/${version}"; - hash = "sha256-dNWApfe7Oxpm9SGX4L1lXpM2DUWXtLsg5RF+OkGlWcs="; + hash = "sha256-KMvcK9uvXJ474SF+8tLLYyj5jHoqbWOkhRnlAfuKsMU="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile index 10a41bf97058..a5b308981a8c 100644 --- a/pkgs/tools/security/metasploit/Gemfile +++ b/pkgs/tools/security/metasploit/Gemfile @@ -1,4 +1,4 @@ # frozen_string_literal: true source "https://rubygems.org" -gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.2" +gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.3" diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock index 453e2f2b2c04..1f700eb54761 100644 --- a/pkgs/tools/security/metasploit/Gemfile.lock +++ b/pkgs/tools/security/metasploit/Gemfile.lock @@ -1,9 +1,9 @@ GIT remote: https://github.com/rapid7/metasploit-framework - revision: 87b5f6c43676408498c88393a46890f22acc76e3 - ref: refs/tags/6.4.2 + revision: 3855e135a14eec07e12f3d26416713a691b3c149 + ref: refs/tags/6.4.3 specs: - metasploit-framework (6.4.2) + metasploit-framework (6.4.3) actionpack (~> 7.0.0) activerecord (~> 7.0.0) activesupport (~> 7.0.0) diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix index 8d856a8134bb..b0f874863532 100644 --- a/pkgs/tools/security/metasploit/default.nix +++ b/pkgs/tools/security/metasploit/default.nix @@ -15,13 +15,13 @@ let }; in stdenv.mkDerivation rec { pname = "metasploit-framework"; - version = "6.4.2"; + version = "6.4.3"; src = fetchFromGitHub { owner = "rapid7"; repo = "metasploit-framework"; rev = "refs/tags/${version}"; - hash = "sha256-c/0XOz86v3So7GUGdOiDEorHeJ+rxfdsRXIGvuT/d/I="; + hash = "sha256-3FCTKiZ9vTmguGXRrfWGlUVVEKrV8uWMPeSF9zRz+UE="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix index 3bca89f2ea82..7d83382e6a79 100644 --- a/pkgs/tools/security/metasploit/gemset.nix +++ b/pkgs/tools/security/metasploit/gemset.nix @@ -674,12 +674,12 @@ platforms = []; source = { fetchSubmodules = false; - rev = "87b5f6c43676408498c88393a46890f22acc76e3"; - sha256 = "1wkpzzjbw1kj8mnggidbkxwcg2hjhgl781k5xjl79grs7wxigzbk"; + rev = "3855e135a14eec07e12f3d26416713a691b3c149"; + sha256 = "0hgrfcsgg1g47n6fbwnmm885aicmhvssvlb5p2h3kgbx4qm96l6w"; type = "git"; url = "https://github.com/rapid7/metasploit-framework"; }; - version = "6.4.2"; + version = "6.4.3"; }; metasploit-model = { groups = ["default"]; diff --git a/pkgs/tools/security/threatest/default.nix b/pkgs/tools/security/threatest/default.nix index a53804f1d1fc..88427627938b 100644 --- a/pkgs/tools/security/threatest/default.nix +++ b/pkgs/tools/security/threatest/default.nix @@ -16,7 +16,7 @@ buildGoModule rec { }; proxyVendor = true; - vendorHash = "sha256-zwHcGy7wjy2yx7nMi88R+z+Is+YcqGRMK0czeBNlcdA="; + vendorHash = "sha256-EvVazz51sW8z+8XfZB0Xo42KuUT6Q9n2Y/0HvlF1bV4="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix index 76e887824b53..7771760dee6e 100644 --- a/pkgs/tools/security/trufflehog/default.nix +++ b/pkgs/tools/security/trufflehog/default.nix @@ -8,16 +8,17 @@ buildGoModule rec { pname = "trufflehog"; - version = "3.72.0"; + version = "3.73.0"; src = fetchFromGitHub { owner = "trufflesecurity"; repo = "trufflehog"; rev = "refs/tags/v${version}"; - hash = "sha256-2xgvXHeltoODr5Rok7yaUqdVcO2crtdPvvRrN+DDGr4="; + hash = "sha256-5tyjSwuhrtiAzvS5F8TyPCZhjSasTWQE9wcNGDevucE="; }; - vendorHash = "sha256-zpHrwQ1egD2juWkQicHl2HVzXGr3DCmAyRdUgm5jdGg="; + vendorHash = "sha256-eK4YwNkBvC7VW5Cn6/M4clN83LGRNuw5jpjtnM0B9g8="; + proxyVendor = true; ldflags = [ diff --git a/pkgs/tools/system/amdgpu_top/Cargo.lock b/pkgs/tools/system/amdgpu_top/Cargo.lock index a83006dc179b..19c171f752e2 100644 --- a/pkgs/tools/system/amdgpu_top/Cargo.lock +++ b/pkgs/tools/system/amdgpu_top/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +checksum = "8e08104bebc65a46f8bc7aa733d39ea6874bfa7156f41a46b805785e3af1587d" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -20,9 +20,9 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb10ed32c63247e4e39a8f42e8e30fb9442fbf7878c8e4a9849e7e381619bea" +checksum = "74a4b14f3d99c1255dcba8f45621ab1a2e7540a0009652d33989005a4d0bfc6b" dependencies = [ "enumn", "serde", @@ -36,9 +36,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom", @@ -50,16 +50,22 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "amdgpu_top" -version = "0.7.0" +version = "0.8.2" dependencies = [ "amdgpu_top_gui", "amdgpu_top_json", @@ -71,7 +77,7 @@ dependencies = [ [[package]] name = "amdgpu_top_gui" -version = "0.7.0" +version = "0.8.2" dependencies = [ "eframe", "egui_plot", @@ -84,7 +90,7 @@ dependencies = [ [[package]] name = "amdgpu_top_json" -version = "0.7.0" +version = "0.8.2" dependencies = [ "libamdgpu_top", "serde_json", @@ -92,7 +98,7 @@ dependencies = [ [[package]] name = "amdgpu_top_tui" -version = "0.7.0" +version = "0.8.2" dependencies = [ "cursive", "libamdgpu_top", @@ -105,7 +111,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" dependencies = [ "android-properties", - "bitflags 2.4.2", + "bitflags 2.5.0", "cc", "cesu8", "jni", @@ -126,16 +132,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] -name = "anyhow" -version = "1.0.79" +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" [[package]] name = "arboard" -version = "3.3.0" +version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aafb29b107435aa276664c1db8954ac27a6e105cdad3c88287a199eb0e313c08" +checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58" dependencies = [ "clipboard-win", "log", @@ -144,15 +159,20 @@ dependencies = [ "objc_id", "parking_lot", "thiserror", - "winapi", - "x11rb 0.12.0", + "x11rb", ] [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "as-raw-xcb-connection" @@ -160,6 +180,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -168,9 +197,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "base64" @@ -178,6 +207,21 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + [[package]] name = "bitflags" version = "1.3.2" @@ -186,9 +230,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" dependencies = [ "serde", ] @@ -229,48 +273,39 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", "regex-automata", "serde", ] -[[package]] -name = "btoi" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd6407f73a9b8b6162d8a2ef999fe6afd7cc15902ebf42c5cd296addf17e0ad" -dependencies = [ - "num-traits", -] - [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.14.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2490600f404f2b94c167e31d3ed1d5f3c225a0f3b80230053b3e0b7b962bd9" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -281,9 +316,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "calloop" @@ -291,7 +326,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "log", "polling", "rustix", @@ -313,9 +348,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "2678b2e3449475e95b0aa6f9b506a28e61b3dc8996592b983695e8ebb58a8b41" dependencies = [ "jobserver", "libc", @@ -350,13 +385,11 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.5.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +checksum = "d517d4b86184dbb111d3556a10f1c8a04da7428d2987bf1081602bf11c3aa9ee" dependencies = [ "error-code", - "str-buf", - "winapi", ] [[package]] @@ -395,6 +428,16 @@ dependencies = [ "objc", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -402,10 +445,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] -name = "combine" -version = "4.6.6" +name = "com" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" +dependencies = [ + "com_macros", +] + +[[package]] +name = "com_macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" +dependencies = [ + "com_macros_support", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "com_macros_support" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "memchr", @@ -438,9 +512,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -471,18 +545,18 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ "crossbeam-utils", ] @@ -575,9 +649,9 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "darling" -version = "0.20.5" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ "darling_core", "darling_macro", @@ -585,26 +659,26 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.5" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "darling_macro" -version = "0.20.5" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -674,7 +748,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -683,14 +757,23 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading", + "libloading 0.8.3", +] + +[[package]] +name = "document-features" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +dependencies = [ + "litrs", ] [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "dunce" @@ -700,9 +783,9 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] name = "ecolor" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57539aabcdbb733b6806ef421b66dec158dc1582107ad6d51913db3600303354" +checksum = "20930a432bbd57a6d55e07976089708d4893f3d556cf42a0d79e9e321fa73b10" dependencies = [ "bytemuck", "serde", @@ -710,14 +793,16 @@ dependencies = [ [[package]] name = "eframe" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c00143a1d564cf27570234c9a199cbe75dc3d43a135510fb2b93406a87ee8e" +checksum = "020e2ccef6bbcec71dbc542f7eed64a5846fc3076727f5746da8fd307c91bab2" dependencies = [ "bytemuck", "cocoa", "directories-next", + "document-features", "egui", + "egui-wgpu", "egui-winit", "egui_glow", "glow", @@ -729,7 +814,8 @@ dependencies = [ "objc", "parking_lot", "percent-encoding", - "raw-window-handle", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.0", "ron", "serde", "static_assertions", @@ -737,15 +823,16 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "web-time", "winapi", "winit", ] [[package]] name = "egui" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0bf640ed7f3bf3d14ebf00d73bacc09c886443ee84ca6494bde37953012c9e3" +checksum = "584c5d1bf9a67b25778a3323af222dbe1a1feb532190e103901187f92c7fe29a" dependencies = [ "accesskit", "ahash", @@ -757,15 +844,33 @@ dependencies = [ ] [[package]] -name = "egui-winit" -version = "0.25.0" +name = "egui-wgpu" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d95d9762056c541bd2724de02910d8bccf3af8e37689dc114b21730e64f80a0" +checksum = "469ff65843f88a702b731a1532b7d03b0e8e96d283e70f3a22b0e06c46cb9b37" +dependencies = [ + "bytemuck", + "document-features", + "egui", + "epaint", + "log", + "thiserror", + "type-map 0.5.0", + "web-time", + "wgpu", + "winit", +] + +[[package]] +name = "egui-winit" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e3da0cbe020f341450c599b35b92de4af7b00abde85624fd16f09c885573609" dependencies = [ "arboard", "egui", "log", - "raw-window-handle", + "raw-window-handle 0.6.0", "serde", "smithay-clipboard", "web-time", @@ -775,9 +880,9 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb2ef815e80d117339c7d6b813f7678d23522d699ccd3243e267ef06166009b9" +checksum = "e0e5d975f3c86edc3d35b1db88bb27c15dde7c55d3b5af164968ab5ede3f44ca" dependencies = [ "bytemuck", "egui", @@ -786,22 +891,23 @@ dependencies = [ "memoffset", "wasm-bindgen", "web-sys", + "winit", ] [[package]] name = "egui_plot" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a159fffebf052f79d1fd26d48e68906a21fec2fce808f7c0a982ec14ed506be" +checksum = "a7854b86dc1c2d352c5270db3d600011daa913d6b554141a03939761323288a1" dependencies = [ "egui", ] [[package]] name = "emath" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee58355767587db7ba3738930d93cad3052cd834c2b48b9ef6ef26fe4823b7e" +checksum = "e4c3a552cfca14630702449d35f41c84a0d15963273771c6059175a803620f3f" dependencies = [ "bytemuck", "serde", @@ -824,7 +930,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -835,7 +941,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -856,14 +962,14 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "epaint" -version = "0.25.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e638cb066bff0903bbb6143116cfd134a42279c7d68f19c0352a94f15a402de7" +checksum = "b381f8b149657a4acf837095351839f32cd5c4aec1817fc4df84e18d76334176" dependencies = [ "ab_glyph", "ahash", @@ -894,28 +1000,21 @@ dependencies = [ [[package]] name = "error-code" -version = "2.3.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" -dependencies = [ - "libc", - "str-buf", -] +checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" [[package]] name = "faster-hex" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" -dependencies = [ - "serde", -] [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "fdeflate" @@ -1013,7 +1112,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -1041,16 +1140,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "gethostname" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "gethostname" version = "0.4.3" @@ -1063,9 +1152,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "libc", @@ -1074,9 +1163,9 @@ dependencies = [ [[package]] name = "gix" -version = "0.55.2" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002667cd1ebb789313d0d0afe3d23b2821cf3b0e91605095f0e6d8751f0ceeea" +checksum = "e4e0e59a44bf00de058ee98d6ecf3c9ed8f8842c1da642258ae4120d41ded8f7" dependencies = [ "gix-actor", "gix-commitgraph", @@ -1110,51 +1199,50 @@ dependencies = [ "parking_lot", "smallvec", "thiserror", - "unicode-normalization", ] [[package]] name = "gix-actor" -version = "0.28.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eadca029ef716b4378f7afb19f7ee101fde9e58ba1f1445971315ac866db417" +checksum = "45c3a3bde455ad2ee8ba8a195745241ce0b770a8a26faae59fcf409d01b28c46" dependencies = [ "bstr", - "btoi", "gix-date", + "gix-utils", "itoa", "thiserror", - "winnow", + "winnow 0.6.5", ] [[package]] name = "gix-chunk" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003ec6deacf68076a0c157271a127e0bb2c031c1a41f7168cbe5d248d9b85c78" +checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" dependencies = [ "thiserror", ] [[package]] name = "gix-commitgraph" -version = "0.22.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a7007ba021f059803afaf6f8a48872422abc20550ac12ede6ddea2936cec36" +checksum = "f7b102311085da4af18823413b5176d7c500fb2272eaf391cfa8635d8bcb12c4" dependencies = [ "bstr", "gix-chunk", "gix-features", "gix-hash", - "memmap2 0.9.4", + "memmap2", "thiserror", ] [[package]] name = "gix-config" -version = "0.31.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cae98c6b4c66c09379bc35274b172587d6b0ac369a416c39128ad8c6454f9bb" +checksum = "62129c75e4b6229fe15fb9838cdc00c655e87105b651e4edd7c183fc5288b5d1" dependencies = [ "bstr", "gix-config-value", @@ -1168,16 +1256,16 @@ dependencies = [ "smallvec", "thiserror", "unicode-bom", - "winnow", + "winnow 0.6.5", ] [[package]] name = "gix-config-value" -version = "0.14.4" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e7bfb37a46ed0b8468db37a6d8a0a61d56bdbe4603ae492cb322e5f3958" +checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "bstr", "gix-path", "libc", @@ -1186,9 +1274,9 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7f3dfb72bebe3449b5e642be64e3c6ccbe9821c8b8f19f487cf5bfbbf4067e" +checksum = "180b130a4a41870edfbd36ce4169c7090bca70e195da783dea088dd973daa59c" dependencies = [ "bstr", "itoa", @@ -1198,10 +1286,11 @@ dependencies = [ [[package]] name = "gix-diff" -version = "0.37.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "931394f69fb8c9ed6afc0aae3487bd869e936339bcc13ed8884472af072e0554" +checksum = "78e605593c2ef74980a534ade0909c7dc57cca72baa30cbb67d2dda621f99ac4" dependencies = [ + "bstr", "gix-hash", "gix-object", "thiserror", @@ -1209,12 +1298,13 @@ dependencies = [ [[package]] name = "gix-discover" -version = "0.26.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a45d5cf0321178883e38705ab2b098f625d609a7d4c391b33ac952eff2c490f2" +checksum = "64bab49087ed3710caf77e473dc0efc54ca33d8ccc6441359725f121211482b1" dependencies = [ "bstr", "dunce", + "gix-fs", "gix-hash", "gix-path", "gix-ref", @@ -1224,14 +1314,15 @@ dependencies = [ [[package]] name = "gix-features" -version = "0.36.1" +version = "0.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d46a4a5c6bb5bebec9c0d18b65ada20e6517dbd7cf855b87dd4bbdce3a771b2" +checksum = "db4254037d20a247a0367aa79333750146a369719f0c6617fec4f5752cc62b37" dependencies = [ "crc32fast", "flate2", "gix-hash", "gix-trace", + "gix-utils", "libc", "once_cell", "prodash", @@ -1242,20 +1333,21 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.8.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20e86eb040f5776a5ade092282e51cdcad398adb77d948b88d17583c2ae4e107" +checksum = "634b8a743b0aae03c1a74ee0ea24e8c5136895efac64ce52b3ea106e1c6f0613" dependencies = [ "gix-features", + "gix-utils", ] [[package]] name = "gix-glob" -version = "0.14.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db19298c5eeea2961e5b3bf190767a2d1f09b8802aeb5f258e42276350aff19" +checksum = "682bdc43cb3c00dbedfcc366de2a849b582efd8d886215dbad2ea662ec156bb5" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "bstr", "gix-features", "gix-path", @@ -1263,9 +1355,9 @@ dependencies = [ [[package]] name = "gix-hash" -version = "0.13.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8cf8c2266f63e582b7eb206799b63aa5fa68ee510ad349f637dfe2d0653de0" +checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" dependencies = [ "faster-hex", "thiserror", @@ -1273,9 +1365,9 @@ dependencies = [ [[package]] name = "gix-hashtable" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb61880816d7ec4f0b20606b498147d480860ddd9133ba542628df2f548d3ca" +checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" dependencies = [ "gix-hash", "hashbrown", @@ -1284,9 +1376,9 @@ dependencies = [ [[package]] name = "gix-lock" -version = "11.0.1" +version = "13.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e5c65e6a29830a435664891ced3f3c1af010f14900226019590ee0971a22f37" +checksum = "e7c359f81f01b8352063319bcb39789b7ea0887b406406381106e38c4a34d049" dependencies = [ "gix-tempfile", "gix-utils", @@ -1295,43 +1387,44 @@ dependencies = [ [[package]] name = "gix-macros" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75e7ab728059f595f6ddc1ad8771b8d6a231971ae493d9d5948ecad366ee8bb" +checksum = "1dff438f14e67e7713ab9332f5fd18c8f20eb7eb249494f6c2bf170522224032" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "gix-object" -version = "0.38.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740f2a44267f58770a1cb3a3d01d14e67b089c7136c48d4bddbb3cfd2bf86a51" +checksum = "3d4f8efae72030df1c4a81d02dbe2348e748d9b9a11e108ed6efbd846326e051" dependencies = [ "bstr", - "btoi", "gix-actor", "gix-date", "gix-features", "gix-hash", + "gix-utils", "gix-validate", "itoa", "smallvec", "thiserror", - "winnow", + "winnow 0.6.5", ] [[package]] name = "gix-odb" -version = "0.54.0" +version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8630b56cb80d8fa684d383dad006a66401ee8314e12fbf0e566ddad8c115143b" +checksum = "81b55378c719693380f66d9dd21ce46721eed2981d8789fc698ec1ada6fa176e" dependencies = [ "arc-swap", "gix-date", "gix-features", + "gix-fs", "gix-hash", "gix-object", "gix-pack", @@ -1344,9 +1437,9 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.44.0" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1431ba2e30deff1405920693d54ab231c88d7c240dd6ccc936ee223d8f8697c3" +checksum = "6391aeaa030ad64aba346a9f5c69bb1c4e5c6fb4411705b03b40b49d8614ec30" dependencies = [ "clru", "gix-chunk", @@ -1356,7 +1449,7 @@ dependencies = [ "gix-object", "gix-path", "gix-tempfile", - "memmap2 0.7.1", + "memmap2", "parking_lot", "smallvec", "thiserror", @@ -1364,9 +1457,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.10.5" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97e9ad649bf5e109562d6acba657ca428661ec08e77eaf3a755d8fa55485be9c" +checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783" dependencies = [ "bstr", "gix-trace", @@ -1377,20 +1470,20 @@ dependencies = [ [[package]] name = "gix-quote" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7dc10303d73a960d10fb82f81188b036ac3e6b11b5795b20b1a60b51d1321f" +checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" dependencies = [ "bstr", - "btoi", + "gix-utils", "thiserror", ] [[package]] name = "gix-ref" -version = "0.38.0" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ec2f6d07ac88d2fb8007ee3fa3e801856fb9d82e7366ec0ca332eb2c9d74a52" +checksum = "fd4aba68b925101cb45d6df328979af0681364579db889098a0de75b36c77b65" dependencies = [ "gix-actor", "gix-date", @@ -1401,17 +1494,18 @@ dependencies = [ "gix-object", "gix-path", "gix-tempfile", + "gix-utils", "gix-validate", - "memmap2 0.7.1", + "memmap2", "thiserror", - "winnow", + "winnow 0.6.5", ] [[package]] name = "gix-refspec" -version = "0.19.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb0974cc41dbdb43a180c7f67aa481e1c1e160fcfa8f4a55291fd1126c1a6e7" +checksum = "dde848865834a54fe4d9b4573f15d0e9a68eaf3d061b42d3ed52b4b8acf880b2" dependencies = [ "bstr", "gix-hash", @@ -1423,9 +1517,9 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.23.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ca97ac73459a7f3766aa4a5638a6e37d56d4c7962bc1986fbaf4883d0772588" +checksum = "9e34196e1969bd5d36e2fbc4467d893999132219d503e23474a8ad2b221cb1e8" dependencies = [ "bstr", "gix-date", @@ -1439,9 +1533,9 @@ dependencies = [ [[package]] name = "gix-revwalk" -version = "0.9.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a16d8c892e4cd676d86f0265bf9d40cefd73d8d94f86b213b8b77d50e77efae0" +checksum = "e0a7d393ae814eeaae41a333c0ff684b243121cc61ccdc5bbe9897094588047d" dependencies = [ "gix-commitgraph", "gix-date", @@ -1454,11 +1548,11 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.10.4" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8d9bf462feaf05f2121cba7399dbc6c34d88a9cad58fc1e95027791d6a3c6d2" +checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "gix-path", "libc", "windows-sys 0.52.0", @@ -1466,9 +1560,9 @@ dependencies = [ [[package]] name = "gix-tempfile" -version = "11.0.1" +version = "13.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388dd29114a86ec69b28d1e26d6d63a662300ecf61ab3f4cc578f7d7dc9e7e23" +checksum = "a761d76594f4443b675e85928e4902dec333273836bd386906f01e7e346a0d11" dependencies = [ "gix-fs", "libc", @@ -1479,15 +1573,15 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b202d766a7fefc596e2cc6a89cda8ad8ad733aed82da635ac120691112a9b1" +checksum = "9b838b2db8f62c9447d483a4c28d251b67fee32741a82cb4d35e9eb4e9fdc5ab" [[package]] name = "gix-traverse" -version = "0.34.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14d050ec7d4e1bb76abf0636cf4104fb915b70e54e3ced9a4427c999100ff38a" +checksum = "95aef84bc777025403a09788b1e4815c06a19332e9e5d87a955e1ed7da9bf0cf" dependencies = [ "gix-commitgraph", "gix-date", @@ -1501,9 +1595,9 @@ dependencies = [ [[package]] name = "gix-url" -version = "0.25.2" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c427a1a11ccfa53a4a2da47d9442c2241deee63a154bc15cc14b8312fbc4005" +checksum = "8f0b24f3ecc79a5a53539de9c2e99425d0ef23feacdcf3faac983aa9a2f26849" dependencies = [ "bstr", "gix-features", @@ -1515,9 +1609,9 @@ dependencies = [ [[package]] name = "gix-utils" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e839f3d0798b296411263da6bee780a176ef8008a5dfc31287f7eda9266ab8" +checksum = "0066432d4c277f9877f091279a597ea5331f68ca410efc874f0bdfb1cd348f92" dependencies = [ "fastrand", "unicode-normalization", @@ -1525,9 +1619,9 @@ dependencies = [ [[package]] name = "gix-validate" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7cc36f496bd5d96cdca0f9289bb684480725d40db60f48194aa7723b883854" +checksum = "e39fc6e06044985eac19dd34d474909e517307582e462b2eb4c8fa51b6241545" dependencies = [ "bstr", "thiserror", @@ -1558,11 +1652,11 @@ dependencies = [ [[package]] name = "glutin" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005459a22af86adc706522d78d360101118e2638ec21df3852fcc626e0dbb212" +checksum = "18fcd4ae4e86d991ad1300b8f57166e5be0c95ef1f63f3f5b827f8a164548746" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "cfg_aliases", "cgl", "core-foundation", @@ -1571,10 +1665,10 @@ dependencies = [ "glutin_glx_sys", "glutin_wgl_sys", "icrate", - "libloading", + "libloading 0.8.3", "objc2", "once_cell", - "raw-window-handle", + "raw-window-handle 0.5.2", "wayland-sys", "windows-sys 0.48.0", "x11-dl", @@ -1588,7 +1682,7 @@ checksum = "1ebcdfba24f73b8412c5181e56f092b5eff16671c514ce896b258a0a64bd7735" dependencies = [ "cfg_aliases", "glutin", - "raw-window-handle", + "raw-window-handle 0.5.2", "winit", ] @@ -1621,11 +1715,94 @@ dependencies = [ "gl_generator", ] +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.5.0", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "gpu-allocator" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" +dependencies = [ + "log", + "presser", + "thiserror", + "winapi", + "windows", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +dependencies = [ + "bitflags 2.5.0", + "gpu-descriptor-types", + "hashbrown", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "hashbrown" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hassle-rs" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" +dependencies = [ + "bitflags 2.5.0", + "com", + "libc", + "libloading 0.8.3", + "thiserror", + "widestring", + "winapi", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" [[package]] name = "home" @@ -1646,7 +1823,7 @@ dependencies = [ "serde", "serde_derive", "thiserror", - "toml 0.8.9", + "toml 0.8.12", "unic-langid", ] @@ -1689,7 +1866,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.48", + "syn 2.0.58", "unic-langid", ] @@ -1703,7 +1880,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] @@ -1735,9 +1912,9 @@ dependencies = [ [[package]] name = "image" -version = "0.24.8" +version = "0.24.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" dependencies = [ "bytemuck", "byteorder", @@ -1748,9 +1925,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.2" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown", @@ -1762,7 +1939,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" dependencies = [ - "type-map", + "type-map 0.4.0", "unic-langid", ] @@ -1777,9 +1954,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jni" @@ -1805,22 +1982,33 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading 0.8.3", + "pkg-config", +] + [[package]] name = "khronos_api" version = "3.1.0" @@ -1835,7 +2023,7 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libamdgpu_top" -version = "0.7.0" +version = "0.8.2" dependencies = [ "anyhow", "libdrm_amdgpu_sys", @@ -1849,31 +2037,30 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libdrm_amdgpu_sys" -version = "0.5.0" -source = "git+https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs#6852a973c639385988ce0454b59dddcf40ebcd2f" +version = "0.7.1" +source = "git+https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs#d4b359daa6ad28ad01a15db7e209915c0f8c405a" dependencies = [ "libc", ] [[package]] name = "libloading" -version = "0.8.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "winapi", ] [[package]] -name = "libredox" -version = "0.0.1" +name = "libloading" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ - "bitflags 2.4.2", - "libc", - "redox_syscall 0.4.1", + "cfg-if", + "windows-targets 0.52.4", ] [[package]] @@ -1882,17 +2069,33 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "libc", "redox_syscall 0.4.1", ] +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + [[package]] name = "linux-raw-sys" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "locale_config" version = "0.3.0" @@ -1918,9 +2121,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "malloc_buf" @@ -1933,18 +2136,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" - -[[package]] -name = "memmap2" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" -dependencies = [ - "libc", -] +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "memmap2" @@ -1957,13 +2151,28 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] +[[package]] +name = "metal" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +dependencies = [ + "bitflags 2.5.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + [[package]] name = "miniz_oxide" version = "0.7.2" @@ -1976,9 +2185,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", @@ -1986,18 +2195,39 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "naga" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" +dependencies = [ + "bit-set", + "bitflags 2.5.0", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "num-traits", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + [[package]] name = "ndk" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "jni-sys", "log", "ndk-sys", "num_enum", - "raw-window-handle", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.0", "thiserror", ] @@ -2016,18 +2246,6 @@ dependencies = [ "jni-sys", ] -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", -] - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -2049,9 +2267,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] @@ -2064,19 +2282,18 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" dependencies = [ "autocfg", "num-integer", @@ -2096,9 +2313,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -2121,14 +2338,14 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "num_threads" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ "libc", ] @@ -2140,6 +2357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", + "objc_exception", ] [[package]] @@ -2175,6 +2393,15 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + [[package]] name = "objc_id" version = "0.1.1" @@ -2240,6 +2467,12 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + [[package]] name = "percent-encoding" version = "2.3.1" @@ -2248,21 +2481,21 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pkg-config" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" -version = "0.17.11" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -2273,12 +2506,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.2" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" +checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" dependencies = [ "cfg-if", "concurrent-queue", + "hermit-abi", "pin-project-lite", "rustix", "tracing", @@ -2291,13 +2525,19 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" + [[package]] name = "proc-macro-crate" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit", + "toml_edit 0.21.1", ] [[package]] @@ -2326,18 +2566,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] [[package]] name = "prodash" -version = "26.2.2" +version = "28.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf" +checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" + +[[package]] +name = "profiling" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" [[package]] name = "quick-xml" @@ -2350,9 +2596,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -2363,6 +2609,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +[[package]] +name = "raw-window-handle" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" + [[package]] name = "redox_syscall" version = "0.3.5" @@ -2383,20 +2635,20 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", - "libredox 0.0.1", + "libredox 0.1.3", "thiserror", ] [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", @@ -2406,9 +2658,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -2417,9 +2669,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "renderdoc-sys" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "ron" @@ -2428,16 +2686,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64", - "bitflags 2.4.2", + "bitflags 2.5.0", "serde", "serde_derive", ] [[package]] name = "rust-embed" -version = "8.2.0" +version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82c0bbc10308ed323529fd3c1dce8badda635aa319a5ff0e6466f33b8101e3f" +checksum = "fb78f46d0066053d16d4ca7b898e9343bc3530f71c61d5ad84cd404ada068745" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -2446,22 +2704,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.2.0" +version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6227c01b1783cdfee1bcf844eb44594cd16ec71c35305bf1c9fb5aade2735e16" +checksum = "b91ac2a3c6c0520a3fb3dd89321177c3c692937c4eb21893378219da10c44fc8" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.48", + "syn 2.0.58", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.2.0" +version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb0a25bfbb2d4b4402179c2cf030387d9990857ce08a32592c6238db9fa8665" +checksum = "86f69089032567ffff4eada41c573fc43ff466c7db7c5688b2e7969584345581" dependencies = [ "sha2", "walkdir", @@ -2475,11 +2733,11 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.38.31" +version = "0.38.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys", @@ -2488,9 +2746,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "same-file" @@ -2530,29 +2788,29 @@ checksum = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba" [[package]] name = "serde" -version = "1.0.196" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "serde_json" -version = "1.0.113" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ "itoa", "ryu", @@ -2641,23 +2899,23 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay-client-toolkit" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "calloop", "calloop-wayland-source", "cursor-icon", "libc", "log", - "memmap2 0.9.4", + "memmap2", "rustix", "thiserror", "wayland-backend", @@ -2672,9 +2930,9 @@ dependencies = [ [[package]] name = "smithay-clipboard" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb62b280ce5a5cba847669933a0948d00904cf83845c944eae96a4738cea1a6" +checksum = "c091e7354ea8059d6ad99eace06dd13ddeedbb0ac72d40a9a6e7ff790525882d" dependencies = [ "libc", "smithay-client-toolkit", @@ -2690,6 +2948,15 @@ dependencies = [ "serde", ] +[[package]] +name = "spirv" +version = "0.3.0+sdk-1.3.268.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -2702,12 +2969,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "str-buf" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" - [[package]] name = "strsim" version = "0.10.0" @@ -2721,14 +2982,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", + "quote", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.48" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -2737,42 +2999,50 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.4.1", "rustix", "windows-sys 0.52.0", ] [[package]] -name = "thiserror" -version = "1.0.56" +name = "termcolor" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", @@ -2793,9 +3063,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ "num-conv", "time-core", @@ -2836,14 +3106,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.9" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325" +checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.22.9", ] [[package]] @@ -2860,12 +3130,23 @@ name = "toml_edit" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.5", ] [[package]] @@ -2899,6 +3180,15 @@ dependencies = [ "rustc-hash", ] +[[package]] +name = "type-map" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" +dependencies = [ + "rustc-hash", +] + [[package]] name = "typenum" version = "1.17.0" @@ -2944,18 +3234,18 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" @@ -2963,6 +3253,12 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "url" version = "2.5.0" @@ -2982,9 +3278,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -2998,9 +3294,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3008,24 +3304,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -3035,9 +3331,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3045,22 +3341,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wayland-backend" @@ -3082,7 +3378,7 @@ version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "rustix", "wayland-backend", "wayland-scanner", @@ -3094,7 +3390,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "cursor-icon", "wayland-backend", ] @@ -3116,7 +3412,7 @@ version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -3128,7 +3424,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3141,7 +3437,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3173,9 +3469,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -3193,9 +3489,9 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.12" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b2391658b02c27719fc5a0a73d6e696285138e8b12fba9d4baa70451023c71" +checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" dependencies = [ "core-foundation", "home", @@ -3203,11 +3499,119 @@ dependencies = [ "log", "ndk-context", "objc", - "raw-window-handle", + "raw-window-handle 0.5.2", "url", "web-sys", ] +[[package]] +name = "wgpu" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b1213b52478a7631d6e387543ed8f642bc02c578ef4e3b49aca2a29a7df0cb" +dependencies = [ + "arrayvec", + "cfg-if", + "cfg_aliases", + "js-sys", + "log", + "parking_lot", + "profiling", + "raw-window-handle 0.6.0", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9f6b033c2f00ae0bc8ea872c5989777c60bc241aac4e58b24774faa8b391f78" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags 2.5.0", + "cfg_aliases", + "codespan-reporting", + "indexmap", + "log", + "naga", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle 0.6.0", + "rustc-hash", + "smallvec", + "thiserror", + "web-sys", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f972c280505ab52ffe17e94a7413d9d54b58af0114ab226b9fc4999a47082e" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bitflags 2.5.0", + "cfg_aliases", + "core-graphics-types", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.3", + "log", + "metal", + "naga", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle 0.6.0", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" +dependencies = [ + "bitflags 2.5.0", + "js-sys", + "web-sys", +] + +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + [[package]] name = "winapi" version = "0.3.9" @@ -3233,21 +3637,31 @@ dependencies = [ "winapi", ] -[[package]] -name = "winapi-wsapoll" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core", + "windows-targets 0.52.4", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.4", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -3272,7 +3686,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.4", ] [[package]] @@ -3307,17 +3721,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -3334,9 +3748,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] name = "windows_aarch64_msvc" @@ -3352,9 +3766,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] name = "windows_i686_gnu" @@ -3370,9 +3784,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] name = "windows_i686_msvc" @@ -3388,9 +3802,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" @@ -3406,9 +3820,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" [[package]] name = "windows_x86_64_gnullvm" @@ -3424,9 +3838,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" @@ -3442,20 +3856,20 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" [[package]] name = "winit" -version = "0.29.10" +version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.4.2", + "bitflags 2.5.0", "bytemuck", "calloop", "cfg_aliases", @@ -3466,14 +3880,15 @@ dependencies = [ "js-sys", "libc", "log", - "memmap2 0.9.4", + "memmap2", "ndk", "ndk-sys", "objc2", "once_cell", "orbclient", "percent-encoding", - "raw-window-handle", + "raw-window-handle 0.5.2", + "raw-window-handle 0.6.0", "redox_syscall 0.3.5", "rustix", "smithay-client-toolkit", @@ -3489,15 +3904,24 @@ dependencies = [ "web-time", "windows-sys 0.48.0", "x11-dl", - "x11rb 0.13.0", + "x11rb", "xkbcommon-dl", ] [[package]] name = "winnow" -version = "0.5.37" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cad8365489051ae9f054164e459304af2e7e9bb407c958076c8bf4aef52da5" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" dependencies = [ "memchr", ] @@ -3513,19 +3937,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "x11rb" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" -dependencies = [ - "gethostname 0.3.0", - "nix", - "winapi", - "winapi-wsapoll", - "x11rb-protocol 0.12.0", -] - [[package]] name = "x11rb" version = "0.13.0" @@ -3533,21 +3944,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" dependencies = [ "as-raw-xcb-connection", - "gethostname 0.4.3", + "gethostname", "libc", - "libloading", + "libloading 0.8.3", "once_cell", "rustix", - "x11rb-protocol 0.13.0", -] - -[[package]] -name = "x11rb-protocol" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc" -dependencies = [ - "nix", + "x11rb-protocol", ] [[package]] @@ -3570,11 +3972,11 @@ checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" [[package]] name = "xkbcommon-dl" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "dlib", "log", "once_cell", @@ -3589,9 +3991,9 @@ checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" [[package]] name = "xml-rs" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "zerocopy" @@ -3610,5 +4012,5 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.58", ] diff --git a/pkgs/tools/system/amdgpu_top/default.nix b/pkgs/tools/system/amdgpu_top/default.nix index 8fec618e942a..02c17535a347 100644 --- a/pkgs/tools/system/amdgpu_top/default.nix +++ b/pkgs/tools/system/amdgpu_top/default.nix @@ -14,18 +14,18 @@ rustPlatform.buildRustPackage rec { pname = "amdgpu_top"; - version = "0.7.0"; + version = "0.8.2"; src = fetchFromGitHub { owner = "Umio-Yasuno"; repo = pname; rev = "v${version}"; - hash = "sha256-8fEYIrBh+O+bL3szKHvAD+wBTY+ScxBZvjpNufmfYYA="; + hash = "sha256-lJ1v1ixLqzo8nKnA/0P9cCDkTEd4Nt0hUnRyOsU9S24"; }; cargoLock = { outputHashes = { - "libdrm_amdgpu_sys-0.5.0" = "sha256-Sqq3Qnt6hMUubhVgetFCPMFqRrcJuGDT9V4ZRaNgcpQ="; + "libdrm_amdgpu_sys-0.7.1" = "sha256-Phj84wue/QcKqvxLJpGfj0sIjJdNobVrQUciNnZxKiw="; }; lockFile = ./Cargo.lock; }; diff --git a/pkgs/tools/text/hcledit/default.nix b/pkgs/tools/text/hcledit/default.nix index a39802d02822..1d0d4fd6464a 100644 --- a/pkgs/tools/text/hcledit/default.nix +++ b/pkgs/tools/text/hcledit/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "hcledit"; - version = "0.2.10"; + version = "0.2.11"; src = fetchFromGitHub { owner = "minamijoyo"; repo = pname; rev = "v${version}"; - hash = "sha256-rXmbRbM6U1JtV3t8C0LlLAdYpxd4UjxrbrPVHdqiCJ8="; + hash = "sha256-UtZ59S8Cn29HNE9UpmJFtPkB8TMpDUOzlLMf78a+Vd4="; }; - vendorHash = "sha256-9ND/vDPDn3rn213Jn1UPMmYAkMI86gYx9QLcV/oFGh4="; + vendorHash = "sha256-huDM8kPA6vQcoJTxiWzVFZKHrTKw1ip32hMZJYZM0og="; meta = with lib; { description = "A command line editor for HCL"; diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix index 33173396f267..7587f0a4adbc 100644 --- a/pkgs/tools/text/ugrep/default.nix +++ b/pkgs/tools/text/ugrep/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ugrep"; - version = "5.1.3"; + version = "5.1.4"; src = fetchFromGitHub { owner = "Genivia"; repo = "ugrep"; rev = "v${finalAttrs.version}"; - hash = "sha256-ap0akp787pr1gRGFTGQ6ZPwkABgloqQ05XnmM7filGs="; + hash = "sha256-9hxMxcqrq9uHCe3Ggyv3SdjWe+uTZ4ZuicDf9196Szo="; }; buildInputs = [ diff --git a/pkgs/tools/text/validator-nu/default.nix b/pkgs/tools/text/validator-nu/default.nix index 17f9a5ba8b59..56c227b46da4 100644 --- a/pkgs/tools/text/validator-nu/default.nix +++ b/pkgs/tools/text/validator-nu/default.nix @@ -6,6 +6,7 @@ , python3 , stdenvNoCC , lib +, testers }: let @@ -40,29 +41,43 @@ let }; in -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { inherit pname version src; nativeBuildInputs = [ git jdk_headless makeWrapper python3 ]; + postPatch = '' + substituteInPlace build/build.py --replace-warn \ + 'validatorVersion = "%s.%s.%s" % (year, month, day)' \ + 'validatorVersion = "${finalAttrs.version}"' + ''; + buildPhase = '' ln -s '${deps}/dependencies' '${deps}/extras' . JAVA_HOME='${jdk_headless}' python checker.py build ''; installPhase = '' + runHook preInstall + mkdir -p "$out/bin" "$out/share/java" mv build/dist/vnu.jar "$out/share/java/" makeWrapper "${jre_headless}/bin/java" "$out/bin/vnu" \ --add-flags "-jar '$out/share/java/vnu.jar'" + + runHook postInstall ''; - meta = with lib; { + passthru.tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + }; + + meta = { description = "Helps you catch problems in your HTML/CSS/SVG"; homepage = "https://validator.github.io/validator/"; - license = licenses.mit; - maintainers = with maintainers; [ andersk ivan ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ andersk ivan ]; mainProgram = "vnu"; - sourceProvenance = with sourceTypes; [ binaryBytecode fromSource ]; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode fromSource ]; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a2783826e5b9..6e81a4a5acb6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2860,9 +2860,6 @@ with pkgs; dolphin-emu = qt6Packages.callPackage ../applications/emulators/dolphin-emu { inherit (darwin.apple_sdk_11_0.frameworks) CoreBluetooth ForceFeedback IOBluetooth IOKit OpenGL VideoToolbox; inherit (darwin) moltenvk; - stdenv = - if stdenv.isDarwin then overrideLibcxx darwin.apple_sdk_11_0.llvmPackages_16.stdenv - else stdenv; }; dolphin-emu-primehack = qt5.callPackage ../applications/emulators/dolphin-emu/primehack.nix { @@ -17364,7 +17361,7 @@ with pkgs; }; inherit (beam.interpreters) - erlang erlang_26 erlang_25 erlang_24 + erlang erlang_27-rc2 erlang_26 erlang_25 erlang_24 erlang_odbc erlang_javac erlang_odbc_javac elixir elixir_1_16 elixir_1_15 elixir_1_14 elixir_1_13 elixir_1_12 elixir_1_11 elixir_1_10 elixir-ls; @@ -19305,7 +19302,7 @@ with pkgs; modd = callPackage ../development/tools/modd { }; mold = callPackage ../development/tools/mold { - stdenv = if stdenv.isDarwin then overrideLibcxx darwin.apple_sdk_11_0.llvmPackages_16.stdenv else stdenv; + stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv; tbb = tbb_2021_11; }; @@ -21075,9 +21072,7 @@ with pkgs; geomyidae = callPackage ../applications/networking/gopher/geomyidae { }; - geos = callPackage ../development/libraries/geos { - stdenv = if stdenv.cc.isClang then overrideLibcxx llvmPackages_14.stdenv else stdenv; - }; + geos = callPackage ../development/libraries/geos { }; geos_3_9 = callPackage ../development/libraries/geos/3.9.nix { }; @@ -23685,9 +23680,9 @@ with pkgs; nghttp2 = callPackage ../development/libraries/nghttp2 { }; libnghttp2 = nghttp2.lib; - nghttp3 = callPackage ../development/libraries/nghttp3 { }; + nghttp3 = callPackage ../development/libraries/nghttp3 { inherit (darwin.apple_sdk.frameworks) CoreServices; }; - ngtcp2 = callPackage ../development/libraries/ngtcp2 { }; + ngtcp2 = callPackage ../development/libraries/ngtcp2 { inherit (darwin.apple_sdk.frameworks) CoreServices; }; ngtcp2-gnutls = callPackage ../development/libraries/ngtcp2/gnutls.nix { }; nix-plugins = callPackage ../development/libraries/nix-plugins { }; @@ -24050,9 +24045,7 @@ with pkgs; prime-server = callPackage ../development/libraries/prime-server { }; - proj = callPackage ../development/libraries/proj { - stdenv = if stdenv.cc.isClang then overrideLibcxx llvmPackages_13.stdenv else stdenv; - }; + proj = callPackage ../development/libraries/proj { }; proj_7 = callPackage ../development/libraries/proj/7.nix { }; @@ -29522,8 +29515,6 @@ with pkgs; template-glib = callPackage ../development/libraries/template-glib { }; - templ = callPackage ../development/tools/templ { }; - tempora_lgc = callPackage ../data/fonts/tempora-lgc { }; tenderness = callPackage ../data/fonts/tenderness { }; @@ -32429,7 +32420,7 @@ with pkgs; CoreMediaIO QuartzCore AppKit CoreWLAN WebKit IOKit GSS MediaPlayer IOSurface Metal MetalKit; stdenv = if stdenv.isDarwin - then overrideLibcxx darwin.apple_sdk_11_0.llvmPackages_12.stdenv + then overrideSDK llvmPackages_14.stdenv "11.0" else stdenv; # telegram-desktop has random crashes when jemalloc is built with gcc. @@ -32633,8 +32624,8 @@ with pkgs; ladspa-sdk = callPackage ../applications/audio/ladspa-sdk { }; - ladybird = darwin.apple_sdk_11_0.callPackage ../applications/networking/browsers/ladybird { - stdenv = if stdenv.isDarwin then overrideLibcxx darwin.apple_sdk_11_0.llvmPackages_16.stdenv else stdenv; + ladybird = callPackage ../applications/networking/browsers/ladybird { + stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv; inherit (darwin.apple_sdk_11_0.frameworks) AppKit Cocoa Foundation OpenGL; }; diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 06015d614e20..8dbc9e1c0708 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -41,6 +41,15 @@ in # Standard Erlang versions, using the generic builder. + erlang_27-rc2 = self.beamLib.callErlang ../development/interpreters/erlang/27-rc2.nix { + wxGTK = wxGTK32; + parallelBuild = true; + autoconf = buildPackages.autoconf269; + exdocSupport = true; + exdoc = self.packages.erlang_26.ex_doc; + inherit wxSupport systemdSupport; + }; + erlang_26 = self.beamLib.callErlang ../development/interpreters/erlang/26.nix { wxGTK = wxGTK32; parallelBuild = true; diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index f573d2358147..92960422af44 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -69,7 +69,11 @@ let backendStdenv = final.callPackage ../development/cuda-modules/backend-stdenv.nix { }; # Loose packages - cudatoolkit = final.callPackage ../development/cuda-modules/cudatoolkit { }; + + # TODO: Move to aliases.nix once all Nixpkgs has migrated to the splayed CUDA packages + cudatoolkit = final.callPackage ../development/cuda-modules/cudatoolkit/redist-wrapper.nix { }; + cudatoolkit-legacy-runfile = final.callPackage ../development/cuda-modules/cudatoolkit { }; + saxpy = final.callPackage ../development/cuda-modules/saxpy { }; nccl = final.callPackage ../development/cuda-modules/nccl { }; nccl-tests = final.callPackage ../development/cuda-modules/nccl-tests { };