Merge staging-next into staging

authored by

nixpkgs-ci[bot] and committed by
GitHub
6946a154 bc145eb3

+1913 -1668
+2
nixos/doc/manual/release-notes/rl-2505.section.md
··· 348 348 349 349 - The behavior of the `networking.nat.externalIP` and `networking.nat.externalIPv6` options has been changed. `networking.nat.forwardPorts` now only forwards packets destined for the specified IP addresses. 350 350 351 + - `gitlab` has been updated from 17.x to 18.x and requires `postgresql` >= 16, as stated in the [documentation](https://docs.gitlab.com/18.0/install/requirements/#postgresql). Check the [upgrade guide](#module-services-postgres-upgrading) in the NixOS manual on how to upgrade your PostgreSQL installation. 352 + 351 353 - `services.gitlab` now requires the setting of `activeRecordPrimaryKeyFile`, `activeRecordDeterministicKeyFile`, `activeRecordSaltFile` as GitLab introduced Rails ActiveRecord encryption. 352 354 353 355 - `python3Packages.bpycv` has been removed due to being incompatible with Blender 4 and unmaintained.
+1
nixos/modules/services/accessibility/orca.nix
··· 20 20 21 21 config = mkIf cfg.enable { 22 22 environment.systemPackages = [ cfg.package ]; 23 + systemd.services.display-manager.path = [ cfg.package ]; 23 24 services.speechd.enable = true; 24 25 }; 25 26 }
+2 -2
nixos/modules/services/misc/gitlab.nix
··· 1237 1237 message = "services.gitlab.secrets.activeRecordSaltFile must be set!"; 1238 1238 } 1239 1239 { 1240 - assertion = versionAtLeast postgresqlPackage.version "14.9"; 1241 - message = "PostgreSQL >= 14.9 is required to run GitLab 17. Follow the instructions in the manual section for upgrading PostgreSQL here: https://nixos.org/manual/nixos/stable/index.html#module-services-postgres-upgrading"; 1240 + assertion = versionAtLeast postgresqlPackage.version "16"; 1241 + message = "PostgreSQL >= 16 is required to run GitLab 18. Follow the instructions in the manual section for upgrading PostgreSQL here: https://nixos.org/manual/nixos/stable/index.html#module-services-postgres-upgrading"; 1242 1242 } 1243 1243 ]; 1244 1244
+4
nixos/tests/brscan5.nix
··· 48 48 print(scanimage) 49 49 assert """device `brother5:net1;dev0' is a Brother b ADS-1200""" in scanimage 50 50 assert """device `brother5:net1;dev1' is a Brother a ADS-1200""" in scanimage 51 + 52 + # Confirm systemd-udevd no longer logs errors about SYSFS 53 + logs = machine.succeed('journalctl --unit systemd-udevd') 54 + assert "Invalid key 'SYSFS'" not in logs 51 55 ''; 52 56 } 53 57 )
+1
nixos/tests/tusd/default.nix
··· 43 43 client.succeed("${pkgs.coreutils}/bin/truncate --size=100M file-100M.bin") 44 44 45 45 # Upload it. 46 + client.wait_for_unit("network.target") 46 47 client.succeed("${./tus-curl-upload.sh} file-100M.bin http://server:${toString port}/files/") 47 48 48 49 print("Upload succeeded")
+1
nixos/tests/vector/dnstap.nix
··· 114 114 unbound.wait_for_file("${dnstapSocket}") 115 115 unbound.succeed("test 770 -eq $(stat -c '%a' ${dnstapSocket})") 116 116 117 + dnsclient.systemctl("start network-online.target") 117 118 dnsclient.wait_for_unit("network-online.target") 118 119 dnsclient.succeed( 119 120 "dig @unbound test.local"
+10 -6
pkgs/applications/misc/organicmaps/default.nix
··· 19 19 icu, 20 20 freetype, 21 21 pugixml, 22 + xorg, 22 23 nix-update-script, 23 24 }: 24 25 ··· 32 33 in 33 34 stdenv.mkDerivation (finalAttrs: { 34 35 pname = "organicmaps"; 35 - version = "2025.03.02-7"; 36 + version = "2025.05.20-5"; 36 37 37 38 src = fetchFromGitHub { 38 39 owner = "organicmaps"; 39 40 repo = "organicmaps"; 40 41 tag = "${finalAttrs.version}-android"; 41 - hash = "sha256-5WX+YDgu8Ll5+rZWWxfbNW0pBFz+2XWkw/ahM14Ml08="; 42 + hash = "sha256-cqcFI5cXREOeHusPkXsMwdCopzpea50mZQ/+ogLlemk="; 42 43 fetchSubmodules = true; 43 44 }; 44 45 ··· 78 79 icu 79 80 freetype 80 81 pugixml 82 + xorg.libXrandr 83 + xorg.libXinerama 84 + xorg.libXcursor 81 85 ]; 82 86 83 87 # Yes, this is PRE configure. The configure phase uses cmake ··· 94 98 }; 95 99 }; 96 100 97 - meta = with lib; { 101 + meta = { 98 102 # darwin: "invalid application of 'sizeof' to a function type" 99 103 broken = stdenv.hostPlatform.isDarwin; 100 104 homepage = "https://organicmaps.app/"; 101 105 description = "Detailed Offline Maps for Travellers, Tourists, Hikers and Cyclists"; 102 - license = licenses.asl20; 103 - maintainers = with maintainers; [ fgaz ]; 104 - platforms = platforms.all; 106 + license = lib.licenses.asl20; 107 + maintainers = with lib.maintainers; [ fgaz ]; 108 + platforms = lib.platforms.all; 105 109 mainProgram = "OMaps"; 106 110 }; 107 111 })
pkgs/applications/version-management/gitlab/Remove-unsupported-database-names.patch pkgs/by-name/gi/gitlab/Remove-unsupported-database-names.patch
-15
pkgs/applications/version-management/gitlab/data.json
··· 1 - { 2 - "version": "17.11.2", 3 - "repo_hash": "1jaxqchqag6q0c4vmrpwnmflv72b2xpskba9b0m4y6w6sy7hqx7q", 4 - "yarn_hash": "0z06jaxqbg2wnq7yhpkba0cpxp4w4iy2cxla8nhc6kgx49xk179v", 5 - "owner": "gitlab-org", 6 - "repo": "gitlab", 7 - "rev": "v17.11.2-ee", 8 - "passthru": { 9 - "GITALY_SERVER_VERSION": "17.11.2", 10 - "GITLAB_PAGES_VERSION": "17.11.2", 11 - "GITLAB_SHELL_VERSION": "14.41.0", 12 - "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.5.0", 13 - "GITLAB_WORKHORSE_VERSION": "17.11.2" 14 - } 15 - }
+1 -1
pkgs/applications/version-management/gitlab/default.nix pkgs/by-name/gi/gitlab/package.nix
··· 82 82 cp Cargo.lock $out 83 83 ''; 84 84 }; 85 - hash = "sha256-Jr3lS3gQI/jojWIUxEBp7a950mcOvnbjlRIFXvfGays="; 85 + hash = "sha256-73uliXjZNT8Ok98ai2rY+b0jYqxoQH3qW5YS+Ap6KK0="; 86 86 }; 87 87 88 88 dontBuild = false;
+2 -2
pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix
··· 10 10 buildGoModule rec { 11 11 pname = "gitlab-workhorse"; 12 12 13 - version = "17.11.2"; 13 + version = "18.0.0"; 14 14 15 15 # nixpkgs-update: no auto update 16 16 src = fetchFromGitLab { ··· 22 22 23 23 sourceRoot = "${src.name}/workhorse"; 24 24 25 - vendorHash = "sha256-76JO/oayqhv36WM7zC/a85l8CK1orsMuMksBYbmDN1o="; 25 + vendorHash = "sha256-tLlxsUCoSGvUpJnS0GsNobk2IuSEgs3R4UDUmNf+HrA="; 26 26 buildInputs = [ git ]; 27 27 ldflags = [ "-X main.Version=${version}" ]; 28 28 doCheck = false;
pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch pkgs/by-name/gi/gitlab/remove-hardcoded-locations.patch
pkgs/applications/version-management/gitlab/reset_token.rake pkgs/by-name/gi/gitlab/reset_token.rake
+30 -31
pkgs/applications/version-management/gitlab/rubyEnv/Gemfile pkgs/by-name/gi/gitlab/rubyEnv/Gemfile
··· 1 1 # frozen_string_literal: true 2 2 3 - def next? 4 - File.basename(__FILE__) == "Gemfile.next" 5 - end 6 - 7 3 source 'https://rubygems.org' 8 4 9 5 if ENV.fetch('BUNDLER_CHECKSUM_VERIFICATION_OPT_IN', 'false') != 'false' # this verification is still experimental ··· 29 25 # 30 26 # See https://docs.gitlab.com/ee/development/gemfile.html#upgrade-rails for guidelines when upgrading Rails 31 27 32 - if next? 33 - gem 'rails', '~> 7.1.5.1', feature_category: :shared 34 - else 35 - gem 'rails', '~> 7.0.8.7', feature_category: :shared 36 - end 28 + gem 'rails', '~> 7.1.5.1', feature_category: :shared 37 29 38 30 gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab', feature_category: :shared 39 31 # This can be dropped after upgrading to Rails 7.2: https://github.com/rails/rails/pull/49674 ··· 88 80 gem 'declarative_policy', '~> 1.1.0', feature_category: :shared 89 81 90 82 # For source code paths mapping 91 - gem 'coverband', '6.1.4', require: false, feature_category: :shared 83 + gem 'coverband', '6.1.5', require: false, feature_category: :shared 92 84 93 85 # Authentication libraries 94 86 gem 'devise', '~> 4.9.3', feature_category: :system_access ··· 196 188 # Files attachments 197 189 gem 'carrierwave', '~> 1.3', feature_category: :shared 198 190 gem 'mini_magick', '~> 4.12', feature_category: :shared 191 + 192 + # PDF generation 193 + gem 'prawn', feature_category: :vulnerability_management 194 + gem 'prawn-svg', feature_category: :vulnerability_management 199 195 200 196 # for backups 201 197 gem 'fog-aws', '~> 3.26', feature_category: :shared ··· 242 238 gem 'elasticsearch-model', '~> 7.2', feature_category: :global_search 243 239 gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation', feature_category: :global_search 244 240 gem 'elasticsearch-api', '7.17.11', feature_category: :global_search 245 - gem 'aws-sdk-core', '~> 3.215.0', feature_category: :global_search 241 + gem 'aws-sdk-core', '~> 3.223.0', feature_category: :global_search 246 242 gem 'aws-sdk-cloudformation', '~> 1', feature_category: :global_search 247 - gem 'aws-sdk-s3', '~> 1.177.0', feature_category: :global_search 243 + gem 'aws-sdk-s3', '~> 1.185.0', feature_category: :global_search 248 244 gem 'faraday-typhoeus', '~> 1.1', feature_category: :global_search 249 245 gem 'faraday_middleware-aws-sigv4', '~> 1.0.1', feature_category: :global_search 250 246 # Used with Elasticsearch to support http keep-alive connections ··· 270 266 gem 'rouge', '~> 4.5.0', feature_category: :shared 271 267 gem 'truncato', '~> 0.7.13', feature_category: :team_planning 272 268 gem 'nokogiri', '~> 1.18', feature_category: :shared 273 - gem 'gitlab-glfm-markdown', '~> 0.0.29', feature_category: :markdown 269 + gem 'gitlab-glfm-markdown', '~> 0.0.30', feature_category: :markdown 274 270 gem 'tanuki_emoji', '~> 0.13', feature_category: :markdown 275 271 gem 'unicode-emoji', '~> 4.0', feature_category: :markdown 276 272 ··· 319 315 320 316 # Misc 321 317 322 - gem 'semver_dialects', '~> 3.6', feature_category: :software_composition_analysis 318 + gem 'semver_dialects', '~> 3.7', feature_category: :software_composition_analysis 323 319 gem 'version_sorter', '~> 2.3', feature_category: :shared 324 320 gem 'csv_builder', path: 'gems/csv_builder', feature_category: :shared 325 321 ··· 395 391 gem 'rack-attack', '~> 6.7.0', feature_category: :shared 396 392 397 393 # Sentry integration 398 - gem 'sentry-ruby', '~> 5.22.0', feature_category: :observability 399 - gem 'sentry-rails', '~> 5.22.0', feature_category: :observability 400 - gem 'sentry-sidekiq', '~> 5.22.0', feature_category: :observability 394 + gem 'sentry-ruby', '~> 5.23.0', feature_category: :observability 395 + gem 'sentry-rails', '~> 5.23.0', feature_category: :observability 396 + gem 'sentry-sidekiq', '~> 5.23.0', feature_category: :observability 401 397 402 398 # PostgreSQL query parsing 403 399 # ··· 433 429 gem 'snowplow-tracker', '~> 0.8.0', feature_category: :product_analytics 434 430 435 431 # Metrics 436 - gem 'webrick', '~> 1.8.1', require: false, feature_category: :shared 432 + gem 'webrick', '~> 1.9.0', require: false, feature_category: :shared 437 433 gem 'prometheus-client-mmap', '~> 1.2.9', require: 'prometheus/client', feature_category: :shared 438 434 439 435 # Event-driven reactor for Ruby ··· 478 474 group :development do 479 475 gem 'lefthook', '~> 1.11.0', require: false, feature_category: :tooling 480 476 gem 'rubocop', feature_category: :tooling 481 - gem 'solargraph', '~> 0.47.2', require: false, feature_category: :shared 477 + 478 + gem 'solargraph', '~> 0.54.0', require: false, feature_category: :shared 479 + gem 'solargraph-rspec', '~> 0.5.1', require: false, feature_category: :shared 482 480 483 481 gem 'letter_opener_web', '~> 3.0.0', feature_category: :shared 484 482 gem 'lookbook', '~> 2.3', feature_category: :shared ··· 505 503 end 506 504 507 505 group :development, :test do 508 - gem 'deprecation_toolkit', '~> 1.5.1', require: false, feature_category: :shared 506 + gem 'deprecation_toolkit', '~> 2.2.3', require: false, feature_category: :shared 509 507 gem 'bullet', '~> 7.2.0', feature_category: :shared 510 - gem 'parser', '= 3.3.7.1', feature_category: :shared 508 + gem 'parser', '= 3.3.8.0', feature_category: :shared 511 509 gem 'pry-byebug', feature_category: :shared 512 510 gem 'pry-rails', '~> 0.3.9', feature_category: :shared 513 511 gem 'pry-shell', '~> 0.6.4', feature_category: :shared ··· 535 533 gem 'influxdb-client', '~> 3.1', require: false, feature_category: :tooling 536 534 537 535 gem 'knapsack', '~> 4.0.0', feature_category: :tooling 538 - gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling 536 + gem 'gitlab-crystalball', '~> 0.7.2', require: false, feature_category: :tooling 539 537 gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling 540 538 541 539 gem 'simple_po_parser', '~> 1.1.6', require: false, feature_category: :shared ··· 559 557 end 560 558 561 559 group :development, :test, :danger do 562 - gem 'gitlab-dangerfiles', '~> 4.8.0', require: false, feature_category: :tooling 560 + gem 'gitlab-dangerfiles', '~> 4.9.0', require: false, feature_category: :tooling 563 561 end 564 562 565 563 group :development, :test, :coverage do ··· 602 600 gem 'rspec_junit_formatter', feature_category: :shared 603 601 gem 'guard-rspec', feature_category: :shared 604 602 gem 'axe-core-rspec', '~> 4.10.0', feature_category: :tooling 603 + gem 'state_machines-rspec', '~> 0.6', feature_category: :shared 605 604 606 605 # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527 607 606 gem 'derailed_benchmarks', require: false, feature_category: :shared 608 607 609 - gem 'gitlab_quality-test_tooling', '~> 2.8.0', require: false, feature_category: :tooling 608 + gem 'gitlab_quality-test_tooling', '~> 2.10.0', require: false, feature_category: :tooling 610 609 end 611 610 612 611 gem 'octokit', '~> 9.0', feature_category: :importers ··· 646 645 gem 'gitaly', '~> 17.8.0', feature_category: :gitaly 647 646 648 647 # KAS GRPC protocol definitions 649 - gem 'gitlab-kas-grpc', '~> 17.9.0.pre.rc2', feature_category: :deployment_management 648 + gem 'gitlab-kas-grpc', '~> 17.11.0', feature_category: :deployment_management 650 649 651 650 # Lock the version before issues below are resolved: 652 651 # https://gitlab.com/gitlab-org/gitlab/-/issues/473169#note_2028352939 ··· 670 669 gem 'grape_logging', '~> 1.8', '>= 1.8.4', feature_category: :api 671 670 672 671 # DNS Lookup 673 - gem 'gitlab-net-dns', '~> 0.10.0', feature_category: :shared 672 + gem 'gitlab-net-dns', '~> 0.12.0', feature_category: :shared 674 673 675 674 # Countries list 676 675 gem 'countries', '~> 4.0.0', feature_category: :shared ··· 700 699 701 700 # JSON 702 701 gem 'jsonb_accessor', '~> 1.4', feature_category: :shared 703 - gem 'json', '~> 2.10.0', feature_category: :shared 702 + gem 'json', '~> 2.11.0', feature_category: :shared 704 703 gem 'json_schemer', '~> 2.3.0', feature_category: :shared 705 704 gem 'oj', '~> 3.16.0', '>=3.16.10', feature_category: :shared 706 705 gem 'oj-introspect', '~> 0.8', feature_category: :shared ··· 716 715 717 716 gem 'ipynbdiff', path: 'gems/ipynbdiff', require: 'ipynb_diff', feature_category: :shared 718 717 719 - gem 'ed25519', '~> 1.3.0', feature_category: :shared 718 + gem 'ed25519', '~> 1.4.0', feature_category: :shared 720 719 721 720 # Error Tracking OpenAPI client 722 721 # See https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/rake_tasks.md#update-openapi-client-for-error-tracking-feature ··· 729 728 gem 'arr-pm', '~> 0.0.12', feature_category: :package_registry 730 729 731 730 # Remote Development 732 - gem 'devfile', '~> 0.4.3', feature_category: :workspaces 731 + gem 'devfile', '~> 0.4.4', feature_category: :workspaces 733 732 734 733 # Apple plist parsing 735 734 gem 'CFPropertyList', '~> 3.0.0', feature_category: :mobile_devops ··· 756 755 757 756 gem 'gitlab-sdk', '~> 0.3.0', feature_category: :application_instrumentation 758 757 759 - gem 'paper_trail', '~> 15.0', feature_category: :shared 758 + gem 'paper_trail', '~> 16.0', feature_category: :shared 760 759 761 760 gem "i18n_data", "~> 0.13.1", feature_category: :system_access 762 761 763 - gem "gitlab-cloud-connector", "~> 1.5", require: 'gitlab/cloud_connector', feature_category: :cloud_connector 762 + gem "gitlab-cloud-connector", "~> 1.11", require: 'gitlab/cloud_connector', feature_category: :cloud_connector
+221 -152
pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock
··· 42 42 activerecord (>= 7) 43 43 activesupport (>= 7) 44 44 addressable (~> 2.8) 45 + bigdecimal (~> 3.1) 45 46 concurrent-ruby (~> 1.1) 46 47 faraday (~> 2) 47 48 google-cloud-storage_transfer (~> 1.2.0) ··· 52 53 jwt (~> 2.5) 53 54 logger (~> 1.5) 54 55 minitest (~> 5.11.0) 56 + mutex_m (~> 0.3) 55 57 parallel (~> 1.19) 56 58 pg (~> 1.5.6) 57 59 rack (~> 2.2.9) ··· 225 227 base64 (~> 0.2.0) 226 228 faraday (>= 1.0, < 3.0.0) 227 229 faraday-retry (>= 1.0, < 3.0.0) 228 - actioncable (7.0.8.7) 229 - actionpack (= 7.0.8.7) 230 - activesupport (= 7.0.8.7) 230 + actioncable (7.1.5.1) 231 + actionpack (= 7.1.5.1) 232 + activesupport (= 7.1.5.1) 231 233 nio4r (~> 2.0) 232 234 websocket-driver (>= 0.6.1) 233 - actionmailbox (7.0.8.7) 234 - actionpack (= 7.0.8.7) 235 - activejob (= 7.0.8.7) 236 - activerecord (= 7.0.8.7) 237 - activestorage (= 7.0.8.7) 238 - activesupport (= 7.0.8.7) 235 + zeitwerk (~> 2.6) 236 + actionmailbox (7.1.5.1) 237 + actionpack (= 7.1.5.1) 238 + activejob (= 7.1.5.1) 239 + activerecord (= 7.1.5.1) 240 + activestorage (= 7.1.5.1) 241 + activesupport (= 7.1.5.1) 239 242 mail (>= 2.7.1) 240 243 net-imap 241 244 net-pop 242 245 net-smtp 243 - actionmailer (7.0.8.7) 244 - actionpack (= 7.0.8.7) 245 - actionview (= 7.0.8.7) 246 - activejob (= 7.0.8.7) 247 - activesupport (= 7.0.8.7) 246 + actionmailer (7.1.5.1) 247 + actionpack (= 7.1.5.1) 248 + actionview (= 7.1.5.1) 249 + activejob (= 7.1.5.1) 250 + activesupport (= 7.1.5.1) 248 251 mail (~> 2.5, >= 2.5.4) 249 252 net-imap 250 253 net-pop 251 254 net-smtp 252 - rails-dom-testing (~> 2.0) 253 - actionpack (7.0.8.7) 254 - actionview (= 7.0.8.7) 255 - activesupport (= 7.0.8.7) 256 - rack (~> 2.0, >= 2.2.4) 255 + rails-dom-testing (~> 2.2) 256 + actionpack (7.1.5.1) 257 + actionview (= 7.1.5.1) 258 + activesupport (= 7.1.5.1) 259 + nokogiri (>= 1.8.5) 260 + racc 261 + rack (>= 2.2.4) 262 + rack-session (>= 1.0.1) 257 263 rack-test (>= 0.6.3) 258 - rails-dom-testing (~> 2.0) 259 - rails-html-sanitizer (~> 1.0, >= 1.2.0) 260 - actiontext (7.0.8.7) 261 - actionpack (= 7.0.8.7) 262 - activerecord (= 7.0.8.7) 263 - activestorage (= 7.0.8.7) 264 - activesupport (= 7.0.8.7) 264 + rails-dom-testing (~> 2.2) 265 + rails-html-sanitizer (~> 1.6) 266 + actiontext (7.1.5.1) 267 + actionpack (= 7.1.5.1) 268 + activerecord (= 7.1.5.1) 269 + activestorage (= 7.1.5.1) 270 + activesupport (= 7.1.5.1) 265 271 globalid (>= 0.6.0) 266 272 nokogiri (>= 1.8.5) 267 - actionview (7.0.8.7) 268 - activesupport (= 7.0.8.7) 273 + actionview (7.1.5.1) 274 + activesupport (= 7.1.5.1) 269 275 builder (~> 3.1) 270 - erubi (~> 1.4) 271 - rails-dom-testing (~> 2.0) 272 - rails-html-sanitizer (~> 1.1, >= 1.2.0) 273 - activejob (7.0.8.7) 274 - activesupport (= 7.0.8.7) 276 + erubi (~> 1.11) 277 + rails-dom-testing (~> 2.2) 278 + rails-html-sanitizer (~> 1.6) 279 + activejob (7.1.5.1) 280 + activesupport (= 7.1.5.1) 275 281 globalid (>= 0.3.6) 276 - activemodel (7.0.8.7) 277 - activesupport (= 7.0.8.7) 278 - activerecord (7.0.8.7) 279 - activemodel (= 7.0.8.7) 280 - activesupport (= 7.0.8.7) 282 + activemodel (7.1.5.1) 283 + activesupport (= 7.1.5.1) 284 + activerecord (7.1.5.1) 285 + activemodel (= 7.1.5.1) 286 + activesupport (= 7.1.5.1) 287 + timeout (>= 0.4.0) 281 288 activerecord-explain-analyze (0.1.0) 282 289 activerecord (>= 4) 283 290 pg 284 - activestorage (7.0.8.7) 285 - actionpack (= 7.0.8.7) 286 - activejob (= 7.0.8.7) 287 - activerecord (= 7.0.8.7) 288 - activesupport (= 7.0.8.7) 291 + activestorage (7.1.5.1) 292 + actionpack (= 7.1.5.1) 293 + activejob (= 7.1.5.1) 294 + activerecord (= 7.1.5.1) 295 + activesupport (= 7.1.5.1) 289 296 marcel (~> 1.0) 290 - mini_mime (>= 1.1.0) 291 - activesupport (7.0.8.7) 297 + activesupport (7.1.5.1) 298 + base64 299 + benchmark (>= 0.3) 300 + bigdecimal 292 301 concurrent-ruby (~> 1.0, >= 1.0.2) 302 + connection_pool (>= 2.2.5) 303 + drb 293 304 i18n (>= 1.6, < 2) 305 + logger (>= 1.4.2) 294 306 minitest (>= 5.1) 307 + mutex_m 308 + securerandom (>= 0.3) 295 309 tzinfo (~> 2.0) 296 310 addressable (2.8.7) 297 311 public_suffix (>= 2.0.2, < 7.0) ··· 336 350 aws-sdk-cloudformation (1.41.0) 337 351 aws-sdk-core (~> 3, >= 3.99.0) 338 352 aws-sigv4 (~> 1.1) 339 - aws-sdk-core (3.215.0) 353 + aws-sdk-core (3.223.0) 340 354 aws-eventstream (~> 1, >= 1.3.0) 341 355 aws-partitions (~> 1, >= 1.992.0) 342 356 aws-sigv4 (~> 1.9) 357 + base64 343 358 jmespath (~> 1, >= 1.6.1) 359 + logger 344 360 aws-sdk-kms (1.76.0) 345 361 aws-sdk-core (~> 3, >= 3.188.0) 346 362 aws-sigv4 (~> 1.1) 347 - aws-sdk-s3 (1.177.0) 348 - aws-sdk-core (~> 3, >= 3.210.0) 363 + aws-sdk-s3 (1.185.0) 364 + aws-sdk-core (~> 3, >= 3.216.0) 349 365 aws-sdk-kms (~> 1) 350 366 aws-sigv4 (~> 1.5) 351 367 aws-sigv4 (1.9.1) 352 368 aws-eventstream (~> 1, >= 1.0.2) 353 - axe-core-api (4.10.2) 369 + axe-core-api (4.10.3) 354 370 dumb_delegator 355 371 ostruct 356 372 virtus 357 - axe-core-rspec (4.10.2) 358 - axe-core-api (= 4.10.2) 373 + axe-core-rspec (4.10.3) 374 + axe-core-api (= 4.10.3) 359 375 dumb_delegator 360 376 ostruct 361 377 virtus ··· 369 385 base64 (0.2.0) 370 386 batch-loader (2.0.5) 371 387 bcrypt (3.1.20) 372 - benchmark (0.2.0) 388 + benchmark (0.4.0) 373 389 benchmark-ips (2.14.0) 374 390 benchmark-malloc (0.2.0) 375 391 benchmark-memory (0.2.0) ··· 391 407 bullet (7.2.0) 392 408 activesupport (>= 3.0.0) 393 409 uniform_notifier (~> 1.11) 394 - byebug (11.1.3) 410 + byebug (12.0.0) 395 411 capybara (3.40.0) 396 412 addressable 397 413 matrix ··· 435 451 colored2 (3.1.2) 436 452 commonmarker (0.23.11) 437 453 concurrent-ruby (1.2.3) 438 - connection_pool (2.5.0) 454 + connection_pool (2.5.3) 439 455 console (1.29.2) 440 456 fiber-annotation 441 457 fiber-local (~> 1.1) ··· 448 464 countries (4.0.1) 449 465 i18n_data (~> 0.13.0) 450 466 sixarm_ruby_unaccent (~> 1.1) 451 - coverband (6.1.4) 467 + coverband (6.1.5) 468 + base64 452 469 redis (>= 3.0) 453 470 crack (0.4.3) 454 471 safe_yaml (~> 1.0.0) 455 472 crass (1.0.6) 456 473 creole (0.5.0) 457 - crystalball (0.7.0) 458 - git 459 474 css_parser (1.14.0) 460 475 addressable 461 476 cssbundling-rails (1.4.3) ··· 489 504 html-pipeline (~> 2.0) 490 505 declarative (0.0.20) 491 506 declarative_policy (1.1.0) 492 - deprecation_toolkit (1.5.1) 493 - activesupport (>= 4.2) 507 + deprecation_toolkit (2.2.3) 508 + activesupport (>= 6.1) 494 509 derailed_benchmarks (2.2.1) 495 510 base64 496 511 benchmark-ips (~> 2) ··· 511 526 thor (>= 0.19, < 2) 512 527 descendants_tracker (0.0.4) 513 528 thread_safe (~> 0.3, >= 0.3.1) 514 - devfile (0.4.3) 529 + devfile (0.4.4) 515 530 device_detector (1.0.0) 516 531 devise (4.9.4) 517 532 bcrypt (~> 3.0) ··· 534 549 docile (1.4.0) 535 550 domain_name (0.5.20190701) 536 551 unf (>= 0.0.5, < 1.0.0) 537 - doorkeeper (5.8.1) 552 + doorkeeper (5.8.2) 538 553 railties (>= 5) 539 554 doorkeeper-device_authorization_grant (1.0.3) 540 555 doorkeeper (~> 5.5) ··· 561 576 zeitwerk (~> 2.6) 562 577 dumb_delegator (1.0.0) 563 578 duo_api (1.4.0) 564 - e2mmap (0.1.0) 565 - ed25519 (1.3.0) 579 + ed25519 (1.4.0) 566 580 elasticsearch (7.17.11) 567 581 elasticsearch-api (= 7.17.11) 568 582 elasticsearch-transport (= 7.17.11) ··· 627 641 aws-sigv4 (~> 1.0) 628 642 faraday (>= 2.0, < 3) 629 643 fast_blank (1.0.1) 630 - fast_gettext (2.3.0) 644 + fast_gettext (4.1.0) 645 + prime 646 + racc 631 647 ffaker (2.24.0) 632 - ffi (1.17.1) 648 + ffi (1.17.2) 633 649 ffi-compiler (1.0.1) 634 650 ffi (>= 1.0.0) 635 651 rake ··· 683 699 multi_json (~> 1.10) 684 700 fog-local (0.8.0) 685 701 fog-core (>= 1.27, < 3.0) 686 - fog-xml (0.1.3) 702 + fog-xml (0.1.5) 687 703 fog-core 688 704 nokogiri (>= 1.5.11, < 2.0.0) 689 705 formatador (0.2.5) ··· 724 740 terminal-table (>= 1.5.1) 725 741 gitlab-chronic (0.10.6) 726 742 numerizer (~> 0.2) 727 - gitlab-cloud-connector (1.6.0) 743 + gitlab-cloud-connector (1.12.0) 728 744 activesupport (~> 7.0) 729 745 jwt (~> 2.9.3) 730 - gitlab-dangerfiles (4.8.1) 746 + gitlab-crystalball (0.7.2) 747 + git (< 4) 748 + gitlab-dangerfiles (4.9.1) 731 749 danger (>= 9.3.0) 732 750 danger-gitlab (>= 8.0.0) 733 751 rake (~> 13.0) ··· 743 761 mime-types 744 762 net-http-persistent (~> 4.0) 745 763 nokogiri (~> 1, >= 1.10.8) 746 - gitlab-glfm-markdown (0.0.29) 764 + gitlab-glfm-markdown (0.0.30) 747 765 rb_sys (~> 0.9.109) 748 - gitlab-kas-grpc (17.9.1) 766 + gitlab-kas-grpc (17.11.2) 749 767 grpc (~> 1.0) 750 768 gitlab-labkit (0.37.0) 751 769 actionpack (>= 5.0.0, < 8.1.0) ··· 763 781 redis (>= 5, < 6) 764 782 redis-namespace (>= 1.8.2) 765 783 gitlab-markup (2.0.0) 766 - gitlab-net-dns (0.10.0) 784 + gitlab-net-dns (0.12.0) 785 + logger 767 786 gitlab-sdk (0.3.1) 768 787 activesupport (>= 5.2.0) 769 788 rake (~> 13.0) 770 789 snowplow-tracker (~> 0.8.0) 771 - gitlab-secret_detection (0.23.0) 790 + gitlab-secret_detection (0.26.1) 772 791 grpc (~> 1.63.0) 773 - grpc-tools (~> 1.63) 774 792 grpc_reflection (~> 0.1) 775 793 parallel (~> 1) 776 794 re2 (~> 2.7) ··· 796 814 omniauth (>= 1.3, < 3) 797 815 pyu-ruby-sasl (>= 0.0.3.3, < 0.1) 798 816 rubyntlm (~> 0.5) 799 - gitlab_quality-test_tooling (2.8.0) 800 - activesupport (>= 7.0, < 7.2) 817 + gitlab_quality-test_tooling (2.10.0) 818 + activesupport (>= 7.0, < 7.3) 801 819 amatch (~> 0.4.1) 802 820 fog-google (~> 1.24, >= 1.24.1) 803 821 gitlab (>= 4.19, < 6.0) ··· 891 909 google-cloud-storage_transfer-v1 (0.8.0) 892 910 gapic-common (>= 0.20.0, < 2.a) 893 911 google-cloud-errors (~> 1.0) 894 - google-protobuf (3.25.6) 912 + google-protobuf (3.25.7) 895 913 googleapis-common-protos (1.4.0) 896 914 google-protobuf (~> 3.14) 897 915 googleapis-common-protos-types (~> 1.2) 898 916 grpc (~> 1.27) 899 - googleapis-common-protos-types (1.18.0) 917 + googleapis-common-protos-types (1.19.0) 900 918 google-protobuf (>= 3.18, < 5.a) 901 919 googleauth (1.8.1) 902 920 faraday (>= 0.17.3, < 3.a) ··· 950 968 google-protobuf (~> 3.18) 951 969 googleapis-common-protos (~> 1.4) 952 970 grpc (~> 1.41) 953 - grpc-tools (1.69.0) 954 971 grpc_reflection (0.1.1) 955 972 grpc 956 973 gssapi (1.3.1) ··· 972 989 haml (5.2.2) 973 990 temple (>= 0.8.0) 974 991 tilt 975 - haml_lint (0.61.0) 992 + haml_lint (0.62.0) 976 993 haml (>= 5.0) 977 994 parallel (~> 1.10) 978 995 rainbow ··· 1024 1041 csv 1025 1042 invisible_captcha (2.1.0) 1026 1043 rails (>= 5.2) 1044 + io-console (0.8.0) 1027 1045 io-event (1.9.0) 1028 1046 ipaddress (0.8.3) 1047 + irb (1.15.1) 1048 + pp (>= 0.6.0) 1049 + rdoc (>= 4.0.0) 1050 + reline (>= 0.4.2) 1029 1051 jaeger-client (1.1.0) 1030 1052 opentracing (~> 0.3) 1031 1053 thrift 1032 - jaro_winkler (1.5.6) 1054 + jaro_winkler (1.6.0) 1033 1055 jira-ruby (2.3.0) 1034 1056 activesupport 1035 1057 atlassian-jwt ··· 1040 1062 character_set (~> 1.4) 1041 1063 regexp_parser (~> 2.5) 1042 1064 regexp_property_values (~> 1.0) 1043 - json (2.10.2) 1065 + json (2.11.3) 1044 1066 json-jwt (1.16.6) 1045 1067 activesupport (>= 4.2) 1046 1068 aes_key_wrap ··· 1087 1109 language_server-protocol (3.17.0.3) 1088 1110 launchy (2.5.2) 1089 1111 addressable (~> 2.8) 1090 - lefthook (1.11.2) 1112 + lefthook (1.11.5) 1091 1113 letter_opener (1.10.0) 1092 1114 launchy (>= 2.2, < 4) 1093 1115 letter_opener_web (3.0.0) ··· 1104 1126 tomlrb (>= 1.3, < 2.1) 1105 1127 with_env (= 1.1.0) 1106 1128 xml-simple (~> 1.1.9) 1107 - licensee (9.17.1) 1129 + licensee (9.18.0) 1108 1130 dotenv (>= 2, < 4) 1109 1131 octokit (>= 4.20, < 10.0) 1110 - reverse_markdown (>= 1, < 3) 1132 + reverse_markdown (>= 1, < 4) 1111 1133 rugged (>= 0.24, < 2.0) 1112 1134 thor (>= 0.19, < 2.0) 1113 1135 listen (3.7.1) ··· 1165 1187 mixlib-cli (2.1.8) 1166 1188 mixlib-config (3.0.27) 1167 1189 tomlrb 1168 - mixlib-log (3.0.9) 1190 + mixlib-log (3.2.3) 1191 + ffi (>= 1.15.5) 1169 1192 mixlib-shellout (3.2.7) 1170 1193 chef-utils 1171 1194 mize (0.6.1) ··· 1203 1226 nio4r (2.7.0) 1204 1227 nkf (0.2.0) 1205 1228 no_proxy_fix (0.1.2) 1206 - nokogiri (1.18.7) 1229 + nokogiri (1.18.8) 1207 1230 mini_portile2 (~> 2.8.2) 1208 1231 racc (~> 1.4) 1209 1232 notiffany (0.1.3) ··· 1218 1241 rack (>= 1.2, < 4) 1219 1242 snaky_hash (~> 2.0) 1220 1243 version_gem (~> 1.1) 1244 + observer (0.1.2) 1221 1245 octokit (9.2.0) 1222 1246 faraday (>= 1, < 3) 1223 1247 sawyer (~> 0.9) ··· 1424 1448 diff-lcs (~> 1.5) 1425 1449 expgen (~> 0.1) 1426 1450 rainbow (~> 3.1.1) 1427 - paper_trail (15.1.0) 1451 + paper_trail (16.0.0) 1428 1452 activerecord (>= 6.1) 1429 1453 request_store (~> 1.4) 1430 1454 parallel (1.26.3) 1431 - parser (3.3.7.1) 1455 + parser (3.3.8.0) 1432 1456 ast (~> 2.4.1) 1433 1457 racc 1434 1458 parslet (1.8.2) 1435 1459 pastel (0.8.0) 1436 1460 tty-color (~> 0.5) 1461 + pdf-core (0.10.0) 1437 1462 peek (1.1.0) 1438 1463 railties (>= 4.0.0) 1439 1464 pg (1.5.9) ··· 1441 1466 google-protobuf (>= 3.25.3) 1442 1467 plist (3.7.0) 1443 1468 png_quantizator (0.2.1) 1469 + pp (0.6.2) 1470 + prettyprint 1471 + prawn (2.5.0) 1472 + matrix (~> 0.4) 1473 + pdf-core (~> 0.10.0) 1474 + ttfunk (~> 1.8) 1475 + prawn-svg (0.37.0) 1476 + css_parser (~> 1.6) 1477 + matrix (~> 0.4.2) 1478 + prawn (>= 0.11.1, < 3) 1479 + rexml (>= 3.3.9, < 4) 1444 1480 premailer (1.23.0) 1445 1481 addressable 1446 1482 css_parser (>= 1.12.0) ··· 1449 1485 actionmailer (>= 3) 1450 1486 net-smtp 1451 1487 premailer (~> 1.7, >= 1.7.9) 1488 + prettyprint (0.2.0) 1452 1489 prime (0.1.3) 1453 1490 forwardable 1454 1491 singleton ··· 1465 1502 pry (0.14.2) 1466 1503 coderay (~> 1.1) 1467 1504 method_source (~> 1.0) 1468 - pry-byebug (3.10.1) 1469 - byebug (~> 11.0) 1470 - pry (>= 0.13, < 0.15) 1505 + pry-byebug (3.11.0) 1506 + byebug (~> 12.0) 1507 + pry (>= 0.13, < 0.16) 1471 1508 pry-rails (0.3.11) 1472 1509 pry (>= 0.13.0) 1473 1510 pry-shell (0.6.4) 1474 1511 pry (>= 0.13.0) 1475 1512 tty-markdown 1476 1513 tty-prompt 1514 + psych (5.2.3) 1515 + date 1516 + stringio 1477 1517 public_suffix (6.0.1) 1478 1518 puma (6.5.0) 1479 1519 nio4r (~> 2.0) ··· 1503 1543 rack-test (2.1.0) 1504 1544 rack (>= 1.3) 1505 1545 rack-timeout (0.7.0) 1506 - rails (7.0.8.7) 1507 - actioncable (= 7.0.8.7) 1508 - actionmailbox (= 7.0.8.7) 1509 - actionmailer (= 7.0.8.7) 1510 - actionpack (= 7.0.8.7) 1511 - actiontext (= 7.0.8.7) 1512 - actionview (= 7.0.8.7) 1513 - activejob (= 7.0.8.7) 1514 - activemodel (= 7.0.8.7) 1515 - activerecord (= 7.0.8.7) 1516 - activestorage (= 7.0.8.7) 1517 - activesupport (= 7.0.8.7) 1546 + rackup (1.0.1) 1547 + rack (< 3) 1548 + webrick 1549 + rails (7.1.5.1) 1550 + actioncable (= 7.1.5.1) 1551 + actionmailbox (= 7.1.5.1) 1552 + actionmailer (= 7.1.5.1) 1553 + actionpack (= 7.1.5.1) 1554 + actiontext (= 7.1.5.1) 1555 + actionview (= 7.1.5.1) 1556 + activejob (= 7.1.5.1) 1557 + activemodel (= 7.1.5.1) 1558 + activerecord (= 7.1.5.1) 1559 + activestorage (= 7.1.5.1) 1560 + activesupport (= 7.1.5.1) 1518 1561 bundler (>= 1.15.0) 1519 - railties (= 7.0.8.7) 1562 + railties (= 7.1.5.1) 1520 1563 rails-controller-testing (1.0.5) 1521 1564 actionpack (>= 5.0.1.rc1) 1522 1565 actionview (>= 5.0.1.rc1) 1523 1566 activesupport (>= 5.0.1.rc1) 1524 - rails-dom-testing (2.0.3) 1525 - activesupport (>= 4.2.0) 1567 + rails-dom-testing (2.2.0) 1568 + activesupport (>= 5.0.0) 1569 + minitest 1526 1570 nokogiri (>= 1.6) 1527 1571 rails-html-sanitizer (1.6.1) 1528 1572 loofah (~> 2.21) ··· 1530 1574 rails-i18n (7.0.10) 1531 1575 i18n (>= 0.7, < 2) 1532 1576 railties (>= 6.0.0, < 8) 1533 - railties (7.0.8.7) 1534 - actionpack (= 7.0.8.7) 1535 - activesupport (= 7.0.8.7) 1536 - method_source 1577 + railties (7.1.5.1) 1578 + actionpack (= 7.1.5.1) 1579 + activesupport (= 7.1.5.1) 1580 + irb 1581 + rackup (>= 1.0.0) 1537 1582 rake (>= 12.2) 1538 - thor (~> 1.0) 1539 - zeitwerk (~> 2.5) 1583 + thor (~> 1.0, >= 1.2.2) 1584 + zeitwerk (~> 2.6) 1540 1585 rainbow (3.1.1) 1541 1586 rake (13.0.6) 1542 1587 rake-compiler-dock (1.9.1) ··· 1552 1597 msgpack (>= 0.4.3) 1553 1598 optimist (>= 3.0.0) 1554 1599 rchardet (1.8.0) 1600 + rdoc (6.13.0) 1601 + psych (>= 4.0.0) 1555 1602 re2 (2.15.0) 1556 1603 mini_portile2 (~> 2.8.7) 1557 1604 recaptcha (5.12.3) ··· 1580 1627 redis (>= 4, < 6) 1581 1628 regexp_parser (2.10.0) 1582 1629 regexp_property_values (1.0.0) 1630 + reline (0.6.0) 1631 + io-console (~> 0.5) 1583 1632 representable (3.2.0) 1584 1633 declarative (< 0.1.0) 1585 1634 trailblazer-option (>= 0.1.1, < 0.2.0) ··· 1595 1644 mime-types (>= 1.16, < 4.0) 1596 1645 netrc (~> 0.8) 1597 1646 retriable (3.1.2) 1598 - reverse_markdown (1.4.0) 1647 + reverse_markdown (3.0.0) 1599 1648 nokogiri 1600 1649 rexml (3.4.1) 1601 1650 rinku (2.0.0) ··· 1684 1733 ruby-fogbugz (0.3.0) 1685 1734 crack (~> 0.4) 1686 1735 multipart-post (~> 2.0) 1687 - ruby-lsp (0.23.13) 1736 + ruby-lsp (0.23.15) 1688 1737 language_server-protocol (~> 3.17.0) 1689 1738 prism (>= 1.2, < 2.0) 1690 1739 rbs (>= 3, < 4) ··· 1718 1767 addressable (>= 2.3.5) 1719 1768 faraday (>= 0.17.3, < 3) 1720 1769 sd_notify (0.1.1) 1770 + securerandom (0.4.1) 1721 1771 seed-fu (2.3.9) 1722 1772 activerecord (>= 3.1) 1723 1773 activesupport (>= 3.1) ··· 1727 1777 rexml (~> 3.2, >= 3.2.5) 1728 1778 rubyzip (>= 1.2.2, < 3.0) 1729 1779 websocket (~> 1.0) 1730 - semver_dialects (3.6.0) 1780 + semver_dialects (3.7.0) 1731 1781 deb_version (~> 1.0.1) 1732 1782 pastel (~> 0.8.0) 1733 1783 thor (~> 1.3) 1734 1784 tty-command (~> 0.10.1) 1735 - sentry-rails (5.22.1) 1785 + sentry-rails (5.23.0) 1736 1786 railties (>= 5.0) 1737 - sentry-ruby (~> 5.22.1) 1738 - sentry-ruby (5.22.1) 1787 + sentry-ruby (~> 5.23.0) 1788 + sentry-ruby (5.23.0) 1739 1789 bigdecimal 1740 1790 concurrent-ruby (~> 1.0, >= 1.0.2) 1741 - sentry-sidekiq (5.22.1) 1742 - sentry-ruby (~> 5.22.1) 1791 + sentry-sidekiq (5.23.0) 1792 + sentry-ruby (~> 5.23.0) 1743 1793 sidekiq (>= 3.0) 1744 1794 shellany (0.0.1) 1745 1795 shoulda-matchers (6.4.0) ··· 1780 1830 hashie 1781 1831 version_gem (~> 1.1) 1782 1832 snowplow-tracker (0.8.0) 1783 - solargraph (0.47.2) 1833 + solargraph (0.54.2) 1784 1834 backport (~> 1.2) 1785 - benchmark 1786 - bundler (>= 1.17.2) 1835 + benchmark (~> 0.4) 1836 + bundler (~> 2.0) 1787 1837 diff-lcs (~> 1.4) 1788 - e2mmap 1789 - jaro_winkler (~> 1.5) 1838 + jaro_winkler (~> 1.6) 1790 1839 kramdown (~> 2.3) 1791 1840 kramdown-parser-gfm (~> 1.1) 1841 + logger (~> 1.6) 1842 + observer (~> 0.1) 1843 + ostruct (~> 0.6) 1792 1844 parser (~> 3.0) 1793 - reverse_markdown (>= 1.0.5, < 3) 1794 - rubocop (>= 0.52) 1845 + rbs (~> 3.3) 1846 + reverse_markdown (~> 3.0) 1847 + rubocop (~> 1.38) 1795 1848 thor (~> 1.0) 1796 1849 tilt (~> 2.0) 1797 1850 yard (~> 0.9, >= 0.9.24) 1851 + yard-solargraph (~> 0.1) 1852 + solargraph-rspec (0.5.1) 1853 + solargraph (~> 0.52, >= 0.52.0) 1798 1854 sorbet-runtime (0.5.11647) 1799 1855 spamcheck (1.3.3) 1800 1856 grpc (~> 1.63) ··· 1819 1875 state_machines-activerecord (0.8.0) 1820 1876 activerecord (>= 5.1) 1821 1877 state_machines-activemodel (>= 0.8.0) 1878 + state_machines-rspec (0.6.0) 1879 + activesupport 1880 + rspec (~> 3.3) 1881 + state_machines 1882 + stringio (3.1.7) 1822 1883 strings (0.2.1) 1823 1884 strings-ansi (~> 0.2) 1824 1885 unicode-display_width (>= 1.5, < 3.0) ··· 1878 1939 truncato (0.7.13) 1879 1940 htmlentities (~> 4.3.1) 1880 1941 nokogiri (>= 1.7.0, <= 2.0) 1942 + ttfunk (1.8.0) 1943 + bigdecimal (~> 3.1) 1881 1944 tty-color (0.6.0) 1882 1945 tty-command (0.10.1) 1883 1946 pastel (~> 0.8) ··· 1943 2006 vite_rails (3.0.19) 1944 2007 railties (>= 5.1, < 9) 1945 2008 vite_ruby (~> 3.0, >= 3.2.2) 1946 - vite_ruby (3.9.1) 2009 + vite_ruby (3.9.2) 1947 2010 dry-cli (>= 0.7, < 2) 1948 2011 logger (~> 1.6) 1949 2012 mutex_m ··· 1970 2033 addressable (>= 2.8.0) 1971 2034 crack (>= 0.3.2) 1972 2035 hashdiff (>= 0.4.0, < 2.0.0) 1973 - webrick (1.8.2) 2036 + webrick (1.9.1) 1974 2037 websocket (1.2.10) 1975 2038 websocket-driver (0.7.6) 1976 2039 websocket-extensions (>= 0.1.0) ··· 1988 2051 nokogiri (~> 1.8) 1989 2052 yajl-ruby (1.4.3) 1990 2053 yard (0.9.37) 2054 + yard-solargraph (0.1.0) 2055 + yard (~> 0.9) 1991 2056 zeitwerk (2.6.7) 1992 2057 1993 2058 PLATFORMS ··· 2013 2078 attr_encrypted (~> 3.2.4)! 2014 2079 awesome_print 2015 2080 aws-sdk-cloudformation (~> 1) 2016 - aws-sdk-core (~> 3.215.0) 2017 - aws-sdk-s3 (~> 1.177.0) 2081 + aws-sdk-core (~> 3.223.0) 2082 + aws-sdk-s3 (~> 1.185.0) 2018 2083 axe-core-rspec (~> 4.10.0) 2019 2084 babosa (~> 2.0) 2020 2085 base32 (~> 0.3.0) ··· 2038 2103 concurrent-ruby (~> 1.1) 2039 2104 connection_pool (~> 2.4) 2040 2105 countries (~> 4.0.0) 2041 - coverband (= 6.1.4) 2106 + coverband (= 6.1.5) 2042 2107 creole (~> 0.5.0) 2043 - crystalball (~> 0.7.0) 2044 2108 cssbundling-rails (= 1.4.3) 2045 2109 csv_builder! 2046 2110 cvss-suite (~> 3.3.0) 2047 2111 database_cleaner-active_record (~> 2.2.0) 2048 2112 deckar01-task_list (= 2.3.4) 2049 2113 declarative_policy (~> 1.1.0) 2050 - deprecation_toolkit (~> 1.5.1) 2114 + deprecation_toolkit (~> 2.2.3) 2051 2115 derailed_benchmarks 2052 - devfile (~> 0.4.3) 2116 + devfile (~> 0.4.4) 2053 2117 device_detector 2054 2118 devise (~> 4.9.3) 2055 2119 devise-pbkdf2-encryptable (~> 0.0.0)! ··· 2062 2126 doorkeeper-openid_connect (~> 1.8.10) 2063 2127 drb (~> 2.2) 2064 2128 duo_api (~> 1.3) 2065 - ed25519 (~> 1.3.0) 2129 + ed25519 (~> 1.4.0) 2066 2130 elasticsearch-api (= 7.17.11) 2067 2131 elasticsearch-model (~> 7.2) 2068 2132 elasticsearch-rails (~> 7.2) ··· 2095 2159 gitlab-active-context! 2096 2160 gitlab-backup-cli! 2097 2161 gitlab-chronic (~> 0.10.5) 2098 - gitlab-cloud-connector (~> 1.5) 2099 - gitlab-dangerfiles (~> 4.8.0) 2162 + gitlab-cloud-connector (~> 1.11) 2163 + gitlab-crystalball (~> 0.7.2) 2164 + gitlab-dangerfiles (~> 4.9.0) 2100 2165 gitlab-duo-workflow-service-client (~> 0.1)! 2101 2166 gitlab-experiment (~> 0.9.1) 2102 2167 gitlab-fog-azure-rm (~> 2.2.0) 2103 - gitlab-glfm-markdown (~> 0.0.29) 2168 + gitlab-glfm-markdown (~> 0.0.30) 2104 2169 gitlab-housekeeper! 2105 2170 gitlab-http! 2106 - gitlab-kas-grpc (~> 17.9.0.pre.rc2) 2171 + gitlab-kas-grpc (~> 17.11.0) 2107 2172 gitlab-labkit (~> 0.37.0) 2108 2173 gitlab-license (~> 2.6) 2109 2174 gitlab-mail_room (~> 0.0.24) 2110 2175 gitlab-markup (~> 2.0.0) 2111 - gitlab-net-dns (~> 0.10.0) 2176 + gitlab-net-dns (~> 0.12.0) 2112 2177 gitlab-rspec! 2113 2178 gitlab-rspec_flaky! 2114 2179 gitlab-safe_request_store! ··· 2122 2187 gitlab-utils! 2123 2188 gitlab_chronic_duration (~> 0.12) 2124 2189 gitlab_omniauth-ldap (~> 2.2.0) 2125 - gitlab_quality-test_tooling (~> 2.8.0) 2190 + gitlab_quality-test_tooling (~> 2.10.0) 2126 2191 gon (~> 6.4.0) 2127 2192 google-apis-androidpublisher_v3 (~> 0.34.0) 2128 2193 google-apis-cloudbilling_v1 (~> 0.22.0) ··· 2168 2233 ipynbdiff! 2169 2234 jira-ruby (~> 2.3.0) 2170 2235 js_regex (~> 3.8) 2171 - json (~> 2.10.0) 2236 + json (~> 2.11.0) 2172 2237 json_schemer (~> 2.3.0) 2173 2238 jsonb_accessor (~> 1.4) 2174 2239 jwt (~> 2.9.3) ··· 2249 2314 org-ruby (~> 0.9.12) 2250 2315 os (~> 1.1, >= 1.1.4) 2251 2316 pact (~> 1.64) 2252 - paper_trail (~> 15.0) 2317 + paper_trail (~> 16.0) 2253 2318 parallel (~> 1.19) 2254 - parser (= 3.3.7.1) 2319 + parser (= 3.3.8.0) 2255 2320 parslet (~> 1.8) 2256 2321 peek (~> 1.1) 2257 2322 pg (~> 1.5.6) 2258 2323 pg_query (~> 6.1.0) 2259 2324 png_quantizator (~> 0.2.1) 2325 + prawn 2326 + prawn-svg 2260 2327 premailer-rails (~> 1.12.0) 2261 2328 prometheus-client-mmap (~> 1.2.9) 2262 2329 pry-byebug ··· 2269 2336 rack-oauth2 (~> 2.2.1) 2270 2337 rack-proxy (~> 0.7.7) 2271 2338 rack-timeout (~> 0.7.0) 2272 - rails (~> 7.0.8.7) 2339 + rails (~> 7.1.5.1) 2273 2340 rails-controller-testing 2274 2341 rails-i18n (~> 7.0, >= 7.0.9) 2275 2342 rainbow (~> 3.0) ··· 2305 2372 sd_notify (~> 0.1.0) 2306 2373 seed-fu (~> 2.3.7) 2307 2374 selenium-webdriver (~> 4.21, >= 4.21.1) 2308 - semver_dialects (~> 3.6) 2309 - sentry-rails (~> 5.22.0) 2310 - sentry-ruby (~> 5.22.0) 2311 - sentry-sidekiq (~> 5.22.0) 2375 + semver_dialects (~> 3.7) 2376 + sentry-rails (~> 5.23.0) 2377 + sentry-ruby (~> 5.23.0) 2378 + sentry-sidekiq (~> 5.23.0) 2312 2379 shoulda-matchers (~> 6.4.0) 2313 2380 sidekiq (~> 7.3.9) 2314 2381 sidekiq-cron (~> 1.12.0) ··· 2319 2386 simplecov-lcov (~> 0.8.0) 2320 2387 slack-messenger (~> 2.3.5) 2321 2388 snowplow-tracker (~> 0.8.0) 2322 - solargraph (~> 0.47.2) 2389 + solargraph (~> 0.54.0) 2390 + solargraph-rspec (~> 0.5.1) 2323 2391 spamcheck (~> 1.3.0) 2324 2392 spring (~> 4.3.0) 2325 2393 spring-commands-rspec (~> 1.0.4) ··· 2329 2397 ssh_data (~> 1.3) 2330 2398 stackprof (~> 0.2.26) 2331 2399 state_machines-activerecord (~> 0.8.0) 2400 + state_machines-rspec (~> 0.6) 2332 2401 sys-filesystem (~> 1.4.3) 2333 2402 tanuki_emoji (~> 0.13) 2334 2403 telesignenterprise (~> 2.2) ··· 2355 2424 warning (~> 1.5.0) 2356 2425 webauthn (~> 3.0) 2357 2426 webmock (~> 3.25.0) 2358 - webrick (~> 1.8.1) 2427 + webrick (~> 1.9.0) 2359 2428 wikicloth (= 0.8.1) 2360 2429 yajl-ruby (~> 1.4.3) 2361 2430 yard (~> 0.9)
+443 -167
pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix
··· 20 20 "activesupport" 21 21 "nio4r" 22 22 "websocket-driver" 23 + "zeitwerk" 23 24 ]; 24 25 groups = [ 25 26 "default" ··· 29 30 platforms = [ ]; 30 31 source = { 31 32 remotes = [ "https://rubygems.org" ]; 32 - sha256 = "0qpiw9n8sswisvji91ra290wiihgl30kg3zkpffx0byz84w52d20"; 33 + sha256 = "03dai8z2dxb2cf29hp6md7bhysyipxvw2qnm2bj98yyrnaskfikn"; 33 34 type = "gem"; 34 35 }; 35 - version = "7.0.8.7"; 36 + version = "7.1.5.1"; 36 37 }; 37 38 actionmailbox = { 38 39 dependencies = [ ··· 54 55 platforms = [ ]; 55 56 source = { 56 57 remotes = [ "https://rubygems.org" ]; 57 - sha256 = "1hn1d8fshkfijsmwflnvn2ys9i8k3rbkk7h6qsgwspg8v2iyl3ll"; 58 + sha256 = "02inlpsmjz8rz159ljhzac1dvzq5k1pnmmx2pf4gmrj3zs4hbhn3"; 58 59 type = "gem"; 59 60 }; 60 - version = "7.0.8.7"; 61 + version = "7.1.5.1"; 61 62 }; 62 63 actionmailer = { 63 64 dependencies = [ ··· 79 80 platforms = [ ]; 80 81 source = { 81 82 remotes = [ "https://rubygems.org" ]; 82 - sha256 = "054dv081ysp86im4hxcwwlmkl2zidnmy34mw4acghjkpz2igks4b"; 83 + sha256 = "0ncplhcrxldj6jvbaw9g8ik4cznjlf3lyfzgrwy0jfxjh3cdc4xj"; 83 84 type = "gem"; 84 85 }; 85 - version = "7.0.8.7"; 86 + version = "7.1.5.1"; 86 87 }; 87 88 actionpack = { 88 89 dependencies = [ 89 90 "actionview" 90 91 "activesupport" 92 + "nokogiri" 93 + "racc" 91 94 "rack" 95 + "rack-session" 92 96 "rack-test" 93 97 "rails-dom-testing" 94 98 "rails-html-sanitizer" ··· 101 105 platforms = [ ]; 102 106 source = { 103 107 remotes = [ "https://rubygems.org" ]; 104 - sha256 = "0b2y7wy6gx59zb88v1fqiyxdkafrsfma67sx5394yjlhhzbb3rj0"; 108 + sha256 = "066p70mngqk8m7qp3wq2frbl1w8imdcrdxb06cxwq5izykcn7hib"; 105 109 type = "gem"; 106 110 }; 107 - version = "7.0.8.7"; 111 + version = "7.1.5.1"; 108 112 }; 109 113 actiontext = { 110 114 dependencies = [ ··· 123 127 platforms = [ ]; 124 128 source = { 125 129 remotes = [ "https://rubygems.org" ]; 126 - sha256 = "1818spc73y96n94jssh77z2w4dnz84sn83ywrk5cicnmjzdx4xfb"; 130 + sha256 = "1v7psa946frm79x04vywnd0h069jgxy5xghm7y5sgijvmp7n3qmq"; 127 131 type = "gem"; 128 132 }; 129 - version = "7.0.8.7"; 133 + version = "7.1.5.1"; 130 134 }; 131 135 actionview = { 132 136 dependencies = [ ··· 145 149 platforms = [ ]; 146 150 source = { 147 151 remotes = [ "https://rubygems.org" ]; 148 - sha256 = "1vbziywvidi7gy69hqxsrcxh6n8i4x2w75qam1fzw0qrqv4mp5xy"; 152 + sha256 = "1apnqjfwbvyhf7svlamal1pvy2x78fk42lqbnllqwy816lhrlmcc"; 149 153 type = "gem"; 150 154 }; 151 - version = "7.0.8.7"; 155 + version = "7.1.5.1"; 152 156 }; 153 157 activejob = { 154 158 dependencies = [ ··· 163 167 platforms = [ ]; 164 168 source = { 165 169 remotes = [ "https://rubygems.org" ]; 166 - sha256 = "081a32z17976kgf7a51blh7fsxsm3p8qj02p8wx8cd7fx8xdpx7g"; 170 + sha256 = "0rspwfvhxs5by6im90rrjp2sy1wzdpcgb9xm0qfljk3zhmn3fcvn"; 167 171 type = "gem"; 168 172 }; 169 - version = "7.0.8.7"; 173 + version = "7.1.5.1"; 170 174 }; 171 175 activemodel = { 172 176 dependencies = [ "activesupport" ]; ··· 179 183 platforms = [ ]; 180 184 source = { 181 185 remotes = [ "https://rubygems.org" ]; 182 - sha256 = "10qaykhcs15wgyy9fd886mwdkf3iwsib0h6fcnwqa7jw0nxh8fzi"; 186 + sha256 = "1wci45aas8g909zby9j91m87ff5j28qwl0i7izzbszsahmk78wkl"; 183 187 type = "gem"; 184 188 }; 185 - version = "7.0.8.7"; 189 + version = "7.1.5.1"; 186 190 }; 187 191 activerecord = { 188 192 dependencies = [ 189 193 "activemodel" 190 194 "activesupport" 195 + "timeout" 191 196 ]; 192 197 groups = [ 193 198 "default" ··· 198 203 platforms = [ ]; 199 204 source = { 200 205 remotes = [ "https://rubygems.org" ]; 201 - sha256 = "0nm4y9fy19l65c18v3k8s3x2npp7kcn8ds2y5i38x8aq1r8whkzr"; 206 + sha256 = "1qzij5xmsqqxsc9v9kil68aif5bvly06vqf4pnjrnfzkkdhd22pl"; 202 207 type = "gem"; 203 208 }; 204 - version = "7.0.8.7"; 209 + version = "7.1.5.1"; 205 210 }; 206 211 activerecord-explain-analyze = { 207 212 dependencies = [ ··· 234 239 "activerecord" 235 240 "activesupport" 236 241 "marcel" 237 - "mini_mime" 238 242 ]; 239 243 groups = [ 240 244 "default" ··· 244 248 platforms = [ ]; 245 249 source = { 246 250 remotes = [ "https://rubygems.org" ]; 247 - sha256 = "1xcy76cwskwfm39lr4cg7bmknc8j0vymp55h8hzrhl1sfdriwhfa"; 251 + sha256 = "0qzz8dxwj70zys1lmqk1x0sl4rb7ddw6v2bgmpm6dijqd03qnsxf"; 248 252 type = "gem"; 249 253 }; 250 - version = "7.0.8.7"; 254 + version = "7.1.5.1"; 251 255 }; 252 256 activesupport = { 253 257 dependencies = [ 258 + "base64" 259 + "benchmark" 260 + "bigdecimal" 254 261 "concurrent-ruby" 262 + "connection_pool" 263 + "drb" 255 264 "i18n" 265 + "logger" 256 266 "minitest" 267 + "mutex_m" 268 + "securerandom" 257 269 "tzinfo" 258 270 ]; 259 271 groups = [ ··· 265 277 platforms = [ ]; 266 278 source = { 267 279 remotes = [ "https://rubygems.org" ]; 268 - sha256 = "1zq4f834my1z6yh05rfr1dzl3i8padh33j092zlal979blvh4iyz"; 280 + sha256 = "1f6gqyl49hdabid5jkrfq0127gd396srsgpy7p5ni61v8wp4h34z"; 269 281 type = "gem"; 270 282 }; 271 - version = "7.0.8.7"; 283 + version = "7.1.5.1"; 272 284 }; 273 285 addressable = { 274 286 dependencies = [ "public_suffix" ]; ··· 554 566 "aws-eventstream" 555 567 "aws-partitions" 556 568 "aws-sigv4" 569 + "base64" 557 570 "jmespath" 571 + "logger" 558 572 ]; 559 573 groups = [ "default" ]; 560 574 platforms = [ ]; 561 575 source = { 562 576 remotes = [ "https://rubygems.org" ]; 563 - sha256 = "0jafdv62q1cd8yvn6cl876bnz5vp6b4x2gnggsl0j4lyfkxnhh91"; 577 + sha256 = "0xwcimg5i93ansmmww7ap8k6xxyijkxa8p896bxj9kc7cw8hkhyq"; 564 578 type = "gem"; 565 579 }; 566 - version = "3.215.0"; 580 + version = "3.223.0"; 567 581 }; 568 582 aws-sdk-kms = { 569 583 dependencies = [ ··· 589 603 platforms = [ ]; 590 604 source = { 591 605 remotes = [ "https://rubygems.org" ]; 592 - sha256 = "10ziy8zslfjs0ihls7wiq6zvsncq89azh36rshmlylry1hhxjbxz"; 606 + sha256 = "1ix5g1qnp7m0f8jk0bx0b5csx8p7zrxhnvkqc7jsyp9a3c4vnpky"; 593 607 type = "gem"; 594 608 }; 595 - version = "1.177.0"; 609 + version = "1.185.0"; 596 610 }; 597 611 aws-sigv4 = { 598 612 dependencies = [ "aws-eventstream" ]; ··· 618 632 platforms = [ ]; 619 633 source = { 620 634 remotes = [ "https://rubygems.org" ]; 621 - sha256 = "12djmxdbmbwk3r3ni8r73945plsr6wmw7yzw72gk42iq86ha0kn8"; 635 + sha256 = "0j017xf6dzi5w5hfikjh138n91b5vkaxjm41dvqh86033knz643f"; 622 636 type = "gem"; 623 637 }; 624 - version = "4.10.2"; 638 + version = "4.10.3"; 625 639 }; 626 640 axe-core-rspec = { 627 641 dependencies = [ ··· 634 648 platforms = [ ]; 635 649 source = { 636 650 remotes = [ "https://rubygems.org" ]; 637 - sha256 = "0xgp28gk45v25l6l1d4clm1gq7brcwh9nma51wbsl3p40xcbw0p3"; 651 + sha256 = "0zjj06kwk57d3g18sfkam8r6fcrp2c3wj8m93l7ws3rd3q8x08fa"; 638 652 type = "gem"; 639 653 }; 640 - version = "4.10.2"; 654 + version = "4.10.3"; 641 655 }; 642 656 axiom-types = { 643 657 dependencies = [ ··· 727 741 groups = [ 728 742 "default" 729 743 "development" 744 + "monorepo" 745 + "test" 730 746 ]; 731 747 platforms = [ ]; 732 748 source = { 733 749 remotes = [ "https://rubygems.org" ]; 734 - sha256 = "0xwcnbwnbqq8jp92mvawn6y69cb53wsz84wwmk9vsfk1jjvqfw2z"; 750 + sha256 = "0jl71qcgamm96dzyqk695j24qszhcc7liw74qc83fpjljp2gh4hg"; 735 751 type = "gem"; 736 752 }; 737 - version = "0.2.0"; 753 + version = "0.4.0"; 738 754 }; 739 755 benchmark-ips = { 740 756 groups = [ ··· 919 935 "development" 920 936 "test" 921 937 ]; 922 - platforms = [ 923 - { 924 - engine = "maglev"; 925 - } 926 - { 927 - engine = "ruby"; 928 - } 929 - ]; 938 + platforms = [ ]; 930 939 source = { 931 940 remotes = [ "https://rubygems.org" ]; 932 - sha256 = "0nx3yjf4xzdgb8jkmk2344081gqr22pgjqnmjg2q64mj5d6r9194"; 941 + sha256 = "07hsr9zzl2mvf5gk65va4smdizlk9rsiz8wwxik0p96cj79518fl"; 933 942 type = "gem"; 934 943 }; 935 - version = "11.1.3"; 944 + version = "12.0.0"; 936 945 }; 937 946 capybara = { 938 947 dependencies = [ ··· 1228 1237 version = "1.2.3"; 1229 1238 }; 1230 1239 connection_pool = { 1231 - groups = [ "default" ]; 1240 + groups = [ 1241 + "default" 1242 + "development" 1243 + "monorepo" 1244 + "test" 1245 + ]; 1232 1246 platforms = [ ]; 1233 1247 source = { 1234 1248 remotes = [ "https://rubygems.org" ]; 1235 - sha256 = "1z7bag6zb2vwi7wp2bkdkmk7swkj6zfnbsnc949qq0wfsgw94fr3"; 1249 + sha256 = "0nrhsk7b3sjqbyl1cah6ibf1kvi3v93a7wf4637d355hp614mmyg"; 1236 1250 type = "gem"; 1237 1251 }; 1238 - version = "2.5.0"; 1252 + version = "2.5.3"; 1239 1253 }; 1240 1254 console = { 1241 1255 dependencies = [ ··· 1295 1309 version = "4.0.1"; 1296 1310 }; 1297 1311 coverband = { 1298 - dependencies = [ "redis" ]; 1312 + dependencies = [ 1313 + "base64" 1314 + "redis" 1315 + ]; 1299 1316 groups = [ "default" ]; 1300 1317 platforms = [ ]; 1301 1318 source = { 1302 1319 remotes = [ "https://rubygems.org" ]; 1303 - sha256 = "1j0p1qsnnx0xhx43y7xskxwpcsv3yw5wj79qf7naf3nhdn73kkv5"; 1320 + sha256 = "09c21zxv7lsq5ih5rp214y38hcjm3pg5n3as1mqc2w0gn3lkn5s5"; 1304 1321 type = "gem"; 1305 1322 }; 1306 - version = "6.1.4"; 1323 + version = "6.1.5"; 1307 1324 }; 1308 1325 crack = { 1309 1326 dependencies = [ "safe_yaml" ]; ··· 1343 1360 }; 1344 1361 version = "0.5.0"; 1345 1362 }; 1346 - crystalball = { 1347 - dependencies = [ "git" ]; 1348 - groups = [ 1349 - "development" 1350 - "test" 1351 - ]; 1352 - platforms = [ ]; 1353 - source = { 1354 - remotes = [ "https://rubygems.org" ]; 1355 - sha256 = "1why2py76hv2m7i3a1im3zi5zcjcvz2l1nvshzndlwah58vrywkf"; 1356 - type = "gem"; 1357 - }; 1358 - version = "0.7.0"; 1359 - }; 1360 1363 css_parser = { 1361 1364 dependencies = [ "addressable" ]; 1362 1365 groups = [ ··· 1570 1573 platforms = [ ]; 1571 1574 source = { 1572 1575 remotes = [ "https://rubygems.org" ]; 1573 - sha256 = "1fh4d98irhph3ri7c2rrvvmmjd4z14702r8baq9flh5f34dap8d8"; 1576 + sha256 = "0k8j50avgs2pgv20wvrzr77g9yvhi5sa9yh93n72nyd4hhbd28cb"; 1574 1577 type = "gem"; 1575 1578 }; 1576 - version = "1.5.1"; 1579 + version = "2.2.3"; 1577 1580 }; 1578 1581 derailed_benchmarks = { 1579 1582 dependencies = [ ··· 1623 1626 platforms = [ ]; 1624 1627 source = { 1625 1628 remotes = [ "https://rubygems.org" ]; 1626 - sha256 = "1zblvpxzb8qp17dn7sjnfqs6iw3yyzv2cwvnhzrzgxj8k0d0ddjs"; 1629 + sha256 = "1dcj3r8gh4y4cks1qk5qhj89ggk6z8kmk3hq9nlvnm9pnb7m9fbs"; 1627 1630 type = "gem"; 1628 1631 }; 1629 - version = "0.4.3"; 1632 + version = "0.4.4"; 1630 1633 }; 1631 1634 device_detector = { 1632 1635 groups = [ "default" ]; ··· 1772 1775 platforms = [ ]; 1773 1776 source = { 1774 1777 remotes = [ "https://rubygems.org" ]; 1775 - sha256 = "0v6jjb1259y8dq97ibchc20jqjgk3z7zn12ggv5wzn2mcz1z6m3d"; 1778 + sha256 = "1lsh9lzrglqlwm9icmn0ggrwjc9iy9308f9m59z1w2srmyp0fgd7"; 1776 1779 type = "gem"; 1777 1780 }; 1778 - version = "5.8.1"; 1781 + version = "5.8.2"; 1779 1782 }; 1780 1783 doorkeeper-device_authorization_grant = { 1781 1784 dependencies = [ "doorkeeper" ]; ··· 1931 1934 }; 1932 1935 version = "1.4.0"; 1933 1936 }; 1934 - e2mmap = { 1935 - groups = [ 1936 - "default" 1937 - "development" 1938 - ]; 1939 - platforms = [ ]; 1940 - source = { 1941 - remotes = [ "https://rubygems.org" ]; 1942 - sha256 = "0n8gxjb63dck3vrmsdcqqll7xs7f3wk78mw8w0gdk9wp5nx6pvj5"; 1943 - type = "gem"; 1944 - }; 1945 - version = "0.1.0"; 1946 - }; 1947 1937 ed25519 = { 1948 1938 groups = [ "default" ]; 1949 1939 platforms = [ ]; 1950 1940 source = { 1951 1941 remotes = [ "https://rubygems.org" ]; 1952 - sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji"; 1942 + sha256 = "01n5rbyws1ijwc5dw7s88xx3zzacxx9k97qn8x11b6k8k18pzs8n"; 1953 1943 type = "gem"; 1954 1944 }; 1955 - version = "1.3.0"; 1945 + version = "1.4.0"; 1956 1946 }; 1957 1947 elasticsearch = { 1958 1948 dependencies = [ ··· 2355 2345 version = "1.0.1"; 2356 2346 }; 2357 2347 fast_gettext = { 2348 + dependencies = [ 2349 + "prime" 2350 + "racc" 2351 + ]; 2358 2352 groups = [ "default" ]; 2359 2353 platforms = [ ]; 2360 2354 source = { 2361 2355 remotes = [ "https://rubygems.org" ]; 2362 - sha256 = "112gsrqah2w03kgi9mjsn6hl74mrwckphf223h36iayc4djf4lq2"; 2356 + sha256 = "0qr73k69pk5sjgkysrfar0sghrx0shz7kkfjcab200fnfqk62swf"; 2363 2357 type = "gem"; 2364 2358 }; 2365 - version = "2.3.0"; 2359 + version = "4.1.0"; 2366 2360 }; 2367 2361 ffaker = { 2368 2362 groups = [ "default" ]; ··· 2384 2378 platforms = [ ]; 2385 2379 source = { 2386 2380 remotes = [ "https://rubygems.org" ]; 2387 - sha256 = "0fgwn1grxf4zxmyqmb9i4z2hr111585n9jnk17y6y7hhs7dv1xi6"; 2381 + sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9"; 2388 2382 type = "gem"; 2389 2383 }; 2390 - version = "1.17.1"; 2384 + version = "1.17.2"; 2391 2385 }; 2392 2386 ffi-compiler = { 2393 2387 dependencies = [ ··· 2602 2596 "fog-core" 2603 2597 "nokogiri" 2604 2598 ]; 2605 - groups = [ "default" ]; 2599 + groups = [ 2600 + "default" 2601 + "test" 2602 + ]; 2606 2603 platforms = [ ]; 2607 2604 source = { 2608 2605 remotes = [ "https://rubygems.org" ]; 2609 - sha256 = "043lwdw2wsi6d55ifk0w3izi5l1d1h0alwyr3fixic7b94kc812n"; 2606 + sha256 = "1miv6zgglx4vddw2c17mpf6l36qn0abq7ngrxb9isih10yhzxfaj"; 2610 2607 type = "gem"; 2611 2608 }; 2612 - version = "0.1.3"; 2609 + version = "0.1.5"; 2613 2610 }; 2614 2611 formatador = { 2615 2612 groups = [ "default" ]; ··· 2823 2820 "activerecord" 2824 2821 "activesupport" 2825 2822 "addressable" 2823 + "bigdecimal" 2826 2824 "concurrent-ruby" 2827 2825 "faraday" 2828 2826 "google-cloud-storage_transfer" ··· 2833 2831 "jwt" 2834 2832 "logger" 2835 2833 "minitest" 2834 + "mutex_m" 2836 2835 "parallel" 2837 2836 "pg" 2838 2837 "rack" ··· 2868 2867 platforms = [ ]; 2869 2868 source = { 2870 2869 remotes = [ "https://rubygems.org" ]; 2871 - sha256 = "0karz59rpw7vz4ckxc37gjs7lgb6zsa1pvsr57wzqfbpppgx5swa"; 2870 + sha256 = "1bshayyh9pb2rgb9qc82dc9fr1xkf4kxj10rd0lkjqxnbh7ppsxi"; 2872 2871 type = "gem"; 2873 2872 }; 2874 - version = "1.6.0"; 2873 + version = "1.12.0"; 2874 + }; 2875 + gitlab-crystalball = { 2876 + dependencies = [ "git" ]; 2877 + groups = [ 2878 + "development" 2879 + "test" 2880 + ]; 2881 + platforms = [ ]; 2882 + source = { 2883 + remotes = [ "https://rubygems.org" ]; 2884 + sha256 = "16mlrsd4lyvp9faqrnd7nmrl485wzrj2vp6y72x7f8wmsmqpivf4"; 2885 + type = "gem"; 2886 + }; 2887 + version = "0.7.2"; 2875 2888 }; 2876 2889 gitlab-dangerfiles = { 2877 2890 dependencies = [ ··· 2887 2900 platforms = [ ]; 2888 2901 source = { 2889 2902 remotes = [ "https://rubygems.org" ]; 2890 - sha256 = "007kxhbfi5kv7m4w9pvbrkfqwb8yp8shp8i77mj2l59qjqf35bdv"; 2903 + sha256 = "1cpiznkzlvsbanfcvnqdf0lxrzjd3i592d0j766xmr55mkc1jsr9"; 2891 2904 type = "gem"; 2892 2905 }; 2893 - version = "4.8.1"; 2906 + version = "4.9.1"; 2894 2907 }; 2895 2908 gitlab-duo-workflow-service-client = { 2896 2909 dependencies = [ "grpc" ]; ··· 2942 2955 platforms = [ ]; 2943 2956 source = { 2944 2957 remotes = [ "https://rubygems.org" ]; 2945 - sha256 = "09mjdrgjyad1l2lcaiy62486hnajpv9mgyxcv6vrhga0dncqm6m1"; 2958 + sha256 = "0rh0bij1nk0c6agqg39p5qwhc93fdgriwqwnshgrkn66kwzs7ppk"; 2946 2959 type = "gem"; 2947 2960 }; 2948 - version = "0.0.29"; 2961 + version = "0.0.30"; 2949 2962 }; 2950 2963 gitlab-housekeeper = { 2951 2964 dependencies = [ ··· 2988 3001 platforms = [ ]; 2989 3002 source = { 2990 3003 remotes = [ "https://rubygems.org" ]; 2991 - sha256 = "0n59m8jy9nl2adr27dgqbbrg8w9bwgjvg1jzinmwwhf7d4b0qj7x"; 3004 + sha256 = "075fasc3mv2l87l34cw5pw1vyf2ad254gsa9jpl4cqv3rx6hbfgj"; 2992 3005 type = "gem"; 2993 3006 }; 2994 - version = "17.9.1"; 3007 + version = "17.11.2"; 2995 3008 }; 2996 3009 gitlab-labkit = { 2997 3010 dependencies = [ ··· 3050 3063 version = "2.0.0"; 3051 3064 }; 3052 3065 gitlab-net-dns = { 3066 + dependencies = [ "logger" ]; 3053 3067 groups = [ "default" ]; 3054 3068 platforms = [ ]; 3055 3069 source = { 3056 3070 remotes = [ "https://rubygems.org" ]; 3057 - sha256 = "0vkw1537wh37n57cygh7p2vb9fz4phbz2cg6njvq0545ihyn3d3k"; 3071 + sha256 = "19xmqvmv34gydymqv5m6aiync1xmycisqg4k0rrsglfllnqgnjmn"; 3058 3072 type = "gem"; 3059 3073 }; 3060 - version = "0.10.0"; 3074 + version = "0.12.0"; 3061 3075 }; 3062 3076 gitlab-rspec = { 3063 3077 dependencies = [ ··· 3138 3152 gitlab-secret_detection = { 3139 3153 dependencies = [ 3140 3154 "grpc" 3141 - "grpc-tools" 3142 3155 "grpc_reflection" 3143 3156 "parallel" 3144 3157 "re2" ··· 3150 3163 platforms = [ ]; 3151 3164 source = { 3152 3165 remotes = [ "https://rubygems.org" ]; 3153 - sha256 = "1rv3r1wj5pnwjbkw3333y7kxj1hzzq0vnf6xdjj95n8m5b9krpck"; 3166 + sha256 = "1gip6bgsh6b284sjlz24ljydshsa9p5ikizwrmb82gnsc46dcsmk"; 3154 3167 type = "gem"; 3155 3168 }; 3156 - version = "0.23.0"; 3169 + version = "0.26.1"; 3157 3170 }; 3158 3171 gitlab-security_report_schemas = { 3159 3172 dependencies = [ ··· 3279 3292 platforms = [ ]; 3280 3293 source = { 3281 3294 remotes = [ "https://rubygems.org" ]; 3282 - sha256 = "1c9wdinaf1z4qdynighcxxpkfarkizzh9slg2y77240mdsrgkyr9"; 3295 + sha256 = "05shhi6g3y8fp6h1accxzfi58py8d4rvv3bd17f1p6453pviirb8"; 3283 3296 type = "gem"; 3284 3297 }; 3285 - version = "2.8.0"; 3298 + version = "2.10.0"; 3286 3299 }; 3287 3300 globalid = { 3288 3301 dependencies = [ "activesupport" ]; ··· 3654 3667 platforms = [ ]; 3655 3668 source = { 3656 3669 remotes = [ "https://rubygems.org" ]; 3657 - sha256 = "0g0h7rwiivx93jddfws5pdkcpnhma3694k2jfv2i1k80qkrqnrmv"; 3670 + sha256 = "1afriizkvwwcyh0s0j1x9d9045pn4f767gpj5q49hicsqz8flq58"; 3658 3671 type = "gem"; 3659 3672 }; 3660 - version = "3.25.6"; 3673 + version = "3.25.7"; 3661 3674 }; 3662 3675 googleapis-common-protos = { 3663 3676 dependencies = [ ··· 3683 3696 platforms = [ ]; 3684 3697 source = { 3685 3698 remotes = [ "https://rubygems.org" ]; 3686 - sha256 = "17smfrcmklx2f3ld6ai8l3vz9i8m96cj72zdyygnpy1iykf1j398"; 3699 + sha256 = "152nfvcnj1i1gsphhs7mhxzd0wa9pjdjb0xhgb2bry16ag57djxf"; 3687 3700 type = "gem"; 3688 3701 }; 3689 - version = "1.18.0"; 3702 + version = "1.19.0"; 3690 3703 }; 3691 3704 googleauth = { 3692 3705 dependencies = [ ··· 3900 3913 }; 3901 3914 version = "1.5.0"; 3902 3915 }; 3903 - grpc-tools = { 3904 - groups = [ "default" ]; 3905 - platforms = [ ]; 3906 - source = { 3907 - remotes = [ "https://rubygems.org" ]; 3908 - sha256 = "19r3ky3l593prhmk8ixdc4w1rbiyqzfw4dd0gk9ds1f38vhgrhyx"; 3909 - type = "gem"; 3910 - }; 3911 - version = "1.69.0"; 3912 - }; 3913 3916 grpc_reflection = { 3914 3917 dependencies = [ "grpc" ]; 3915 3918 groups = [ "default" ]; ··· 4016 4019 platforms = [ ]; 4017 4020 source = { 4018 4021 remotes = [ "https://rubygems.org" ]; 4019 - sha256 = "08yn3z438hgh186iyvkqrhcy0fzzaky8j4h1hlbzzlfam49ckmx8"; 4022 + sha256 = "0qggmfrqx1f90xkkxn9afqk33bzx1vmj0gfdi6yvjj18d3p2w9p5"; 4020 4023 type = "gem"; 4021 4024 }; 4022 - version = "0.61.0"; 4025 + version = "0.62.0"; 4023 4026 }; 4024 4027 hamlit = { 4025 4028 dependencies = [ ··· 4330 4333 }; 4331 4334 version = "2.1.0"; 4332 4335 }; 4336 + io-console = { 4337 + groups = [ 4338 + "default" 4339 + "development" 4340 + "test" 4341 + ]; 4342 + platforms = [ ]; 4343 + source = { 4344 + remotes = [ "https://rubygems.org" ]; 4345 + sha256 = "18pgvl7lfjpichdfh1g50rpz0zpaqrpr52ybn9liv1v9pjn9ysnd"; 4346 + type = "gem"; 4347 + }; 4348 + version = "0.8.0"; 4349 + }; 4333 4350 io-event = { 4334 4351 groups = [ "default" ]; 4335 4352 platforms = [ ]; ··· 4363 4380 }; 4364 4381 version = "0.4.8"; 4365 4382 }; 4383 + irb = { 4384 + dependencies = [ 4385 + "pp" 4386 + "rdoc" 4387 + "reline" 4388 + ]; 4389 + groups = [ 4390 + "default" 4391 + "development" 4392 + "test" 4393 + ]; 4394 + platforms = [ ]; 4395 + source = { 4396 + remotes = [ "https://rubygems.org" ]; 4397 + sha256 = "1478m97wiy6nwg6lnl0szy39p46acsvrhax552vsh1s2mi2sgg6r"; 4398 + type = "gem"; 4399 + }; 4400 + version = "1.15.1"; 4401 + }; 4366 4402 jaeger-client = { 4367 4403 dependencies = [ 4368 4404 "opentracing" ··· 4385 4421 platforms = [ ]; 4386 4422 source = { 4387 4423 remotes = [ "https://rubygems.org" ]; 4388 - sha256 = "10fd3i92897blalxfkgc0jjv0qqx31v7cm7j2b6a3b97an0bfz80"; 4424 + sha256 = "09645h5an19zc1i7wlmixszj8xxqb2zc8qlf8dmx39bxpas1l24b"; 4389 4425 type = "gem"; 4390 4426 }; 4391 - version = "1.5.6"; 4427 + version = "1.6.0"; 4392 4428 }; 4393 4429 jira-ruby = { 4394 4430 dependencies = [ ··· 4441 4477 platforms = [ ]; 4442 4478 source = { 4443 4479 remotes = [ "https://rubygems.org" ]; 4444 - sha256 = "01lbdaizhkxmrw4y8j3wpvsryvnvzmg0pfs56c52laq2jgdfmq1l"; 4480 + sha256 = "1hfcz73wszgqprg2pr83qjbyfb0k93frbdvyhgmw0ryyl9cgc44s"; 4445 4481 type = "gem"; 4446 4482 }; 4447 - version = "2.10.2"; 4483 + version = "2.11.3"; 4448 4484 }; 4449 4485 json-jwt = { 4450 4486 dependencies = [ ··· 4668 4704 platforms = [ ]; 4669 4705 source = { 4670 4706 remotes = [ "https://rubygems.org" ]; 4671 - sha256 = "1hnx5s38myd0dgs7frm75ikvyl0g14pg1z7zjryp55j9p9dkrkab"; 4707 + sha256 = "09m8m65iyk8d1y0g52srl7994c80f8ai33z8flbzhsjqr2wy17rh"; 4672 4708 type = "gem"; 4673 4709 }; 4674 - version = "1.11.2"; 4710 + version = "1.11.5"; 4675 4711 }; 4676 4712 letter_opener = { 4677 4713 dependencies = [ "launchy" ]; ··· 4747 4783 platforms = [ ]; 4748 4784 source = { 4749 4785 remotes = [ "https://rubygems.org" ]; 4750 - sha256 = "16h8yhk4z2wk2lc0l0m7z2pbbk6mfljhy6hp11dx6lw8dp325q0b"; 4786 + sha256 = "0xyzk7gzi91l6xlwfvf2z0963jwd2csf987yk0ffbr5p9ycdp0ry"; 4751 4787 type = "gem"; 4752 4788 }; 4753 - version = "9.17.1"; 4789 + version = "9.18.0"; 4754 4790 }; 4755 4791 listen = { 4756 4792 dependencies = [ ··· 5144 5180 version = "3.0.27"; 5145 5181 }; 5146 5182 mixlib-log = { 5183 + dependencies = [ "ffi" ]; 5147 5184 groups = [ "default" ]; 5148 5185 platforms = [ ]; 5149 5186 source = { 5150 5187 remotes = [ "https://rubygems.org" ]; 5151 - sha256 = "0n5dm5iz90ijvjn59jfm8gb8hgsvbj0f1kpzbl38b02z0z4a4v7x"; 5188 + sha256 = "0s57cq8qx3823pcfzizshp8vagvp3f87r0lksknj18r26nl3y79a"; 5152 5189 type = "gem"; 5153 5190 }; 5154 - version = "3.0.9"; 5191 + version = "3.2.3"; 5155 5192 }; 5156 5193 mixlib-shellout = { 5157 5194 dependencies = [ "chef-utils" ]; ··· 5489 5526 platforms = [ ]; 5490 5527 source = { 5491 5528 remotes = [ "https://rubygems.org" ]; 5492 - sha256 = "0cgv8vzp7kl20ip8qdzmrbr1vaaw4mjjy4mksg8k13z4xxfzyqvb"; 5529 + sha256 = "0rb306hbky6cxfyc8vrwpvl40fdapjvhsk62h08gg9wwbn3n8x4c"; 5493 5530 type = "gem"; 5494 5531 }; 5495 - version = "1.18.7"; 5532 + version = "1.18.8"; 5496 5533 }; 5497 5534 notiffany = { 5498 5535 dependencies = [ ··· 5549 5586 }; 5550 5587 version = "2.0.9"; 5551 5588 }; 5589 + observer = { 5590 + groups = [ 5591 + "default" 5592 + "development" 5593 + ]; 5594 + platforms = [ ]; 5595 + source = { 5596 + remotes = [ "https://rubygems.org" ]; 5597 + sha256 = "1b2h1642jy1xrgyakyzz6bkq43gwp8yvxrs8sww12rms65qi18yq"; 5598 + type = "gem"; 5599 + }; 5600 + version = "0.1.2"; 5601 + }; 5552 5602 octokit = { 5553 5603 dependencies = [ 5554 5604 "faraday" ··· 6471 6521 platforms = [ ]; 6472 6522 source = { 6473 6523 remotes = [ "https://rubygems.org" ]; 6474 - sha256 = "1yd9kdyyg1wisxi9mx01ar9s6h50x9k2av95xam58v6jx6bwvg0d"; 6524 + sha256 = "1781qpj1mip1llq3jfbf0q7gk4mshar33afg6610qncb3gxz1fg9"; 6475 6525 type = "gem"; 6476 6526 }; 6477 - version = "15.1.0"; 6527 + version = "16.0.0"; 6478 6528 }; 6479 6529 parallel = { 6480 6530 groups = [ ··· 6503 6553 platforms = [ ]; 6504 6554 source = { 6505 6555 remotes = [ "https://rubygems.org" ]; 6506 - sha256 = "18dcwrcnddvi8gl3hmbsb2cj1l7afxk2lh3jmhj90l95h1hn3gkx"; 6556 + sha256 = "0i9w8msil4snx5w11ix9b0wf52vjc3r49khy3ddgl1xk890kcxi4"; 6507 6557 type = "gem"; 6508 6558 }; 6509 - version = "3.3.7.1"; 6559 + version = "3.3.8.0"; 6510 6560 }; 6511 6561 parslet = { 6512 6562 groups = [ ··· 6536 6586 type = "gem"; 6537 6587 }; 6538 6588 version = "0.8.0"; 6589 + }; 6590 + pdf-core = { 6591 + groups = [ "default" ]; 6592 + platforms = [ ]; 6593 + source = { 6594 + remotes = [ "https://rubygems.org" ]; 6595 + sha256 = "14ffyc016pznyir87dcm2gyavwcppdyf87hyjhzixh3340g10p8a"; 6596 + type = "gem"; 6597 + }; 6598 + version = "0.10.0"; 6539 6599 }; 6540 6600 peek = { 6541 6601 dependencies = [ "railties" ]; ··· 6592 6652 }; 6593 6653 version = "0.2.1"; 6594 6654 }; 6655 + pp = { 6656 + dependencies = [ "prettyprint" ]; 6657 + groups = [ 6658 + "default" 6659 + "development" 6660 + "test" 6661 + ]; 6662 + platforms = [ ]; 6663 + source = { 6664 + remotes = [ "https://rubygems.org" ]; 6665 + sha256 = "1zxnfxjni0r9l2x42fyq0sqpnaf5nakjbap8irgik4kg1h9c6zll"; 6666 + type = "gem"; 6667 + }; 6668 + version = "0.6.2"; 6669 + }; 6670 + prawn = { 6671 + dependencies = [ 6672 + "matrix" 6673 + "pdf-core" 6674 + "ttfunk" 6675 + ]; 6676 + groups = [ "default" ]; 6677 + platforms = [ ]; 6678 + source = { 6679 + remotes = [ "https://rubygems.org" ]; 6680 + sha256 = "1diwqjchmymhj4ihp4xaad2mjc8q8bmibbbxwfd5pgrh9wxhxqpl"; 6681 + type = "gem"; 6682 + }; 6683 + version = "2.5.0"; 6684 + }; 6685 + prawn-svg = { 6686 + dependencies = [ 6687 + "css_parser" 6688 + "matrix" 6689 + "prawn" 6690 + "rexml" 6691 + ]; 6692 + groups = [ "default" ]; 6693 + platforms = [ ]; 6694 + source = { 6695 + remotes = [ "https://rubygems.org" ]; 6696 + sha256 = "0c18drdsms06h5c5hmhdi7sbck72f2sp3sbgwyr7frq65h1xs6r7"; 6697 + type = "gem"; 6698 + }; 6699 + version = "0.37.0"; 6700 + }; 6595 6701 premailer = { 6596 6702 dependencies = [ 6597 6703 "addressable" ··· 6622 6728 }; 6623 6729 version = "1.12.0"; 6624 6730 }; 6731 + prettyprint = { 6732 + groups = [ 6733 + "default" 6734 + "development" 6735 + "test" 6736 + ]; 6737 + platforms = [ ]; 6738 + source = { 6739 + remotes = [ "https://rubygems.org" ]; 6740 + sha256 = "14zicq3plqi217w6xahv7b8f7aj5kpxv1j1w98344ix9h5ay3j9b"; 6741 + type = "gem"; 6742 + }; 6743 + version = "0.2.0"; 6744 + }; 6625 6745 prime = { 6626 6746 dependencies = [ 6627 6747 "forwardable" ··· 6718 6838 platforms = [ ]; 6719 6839 source = { 6720 6840 remotes = [ "https://rubygems.org" ]; 6721 - sha256 = "1y41al94ks07166qbp2200yzyr5y60hm7xaiw4lxpgsm4b1pbyf8"; 6841 + sha256 = "0wpa3jd46h44rjz3hjwl5c0zfx3jav4a64nm8h0g1iwv61yvn2hb"; 6722 6842 type = "gem"; 6723 6843 }; 6724 - version = "3.10.1"; 6844 + version = "3.11.0"; 6725 6845 }; 6726 6846 pry-rails = { 6727 6847 dependencies = [ "pry" ]; ··· 6754 6874 type = "gem"; 6755 6875 }; 6756 6876 version = "0.6.4"; 6877 + }; 6878 + psych = { 6879 + dependencies = [ 6880 + "date" 6881 + "stringio" 6882 + ]; 6883 + groups = [ 6884 + "default" 6885 + "development" 6886 + "test" 6887 + ]; 6888 + platforms = [ ]; 6889 + source = { 6890 + remotes = [ "https://rubygems.org" ]; 6891 + sha256 = "1vjrx3yd596zzi42dcaq5xw7hil1921r769dlbz08iniaawlp9c4"; 6892 + type = "gem"; 6893 + }; 6894 + version = "5.2.3"; 6757 6895 }; 6758 6896 public_suffix = { 6759 6897 groups = [ ··· 6941 7079 }; 6942 7080 version = "0.7.0"; 6943 7081 }; 7082 + rackup = { 7083 + dependencies = [ 7084 + "rack" 7085 + "webrick" 7086 + ]; 7087 + groups = [ 7088 + "default" 7089 + "development" 7090 + "test" 7091 + ]; 7092 + platforms = [ ]; 7093 + source = { 7094 + remotes = [ "https://rubygems.org" ]; 7095 + sha256 = "0jf2ncj2nx56vh96hh2nh6h4r530nccxh87z7c2f37wq515611ms"; 7096 + type = "gem"; 7097 + }; 7098 + version = "1.0.1"; 7099 + }; 6944 7100 rails = { 6945 7101 dependencies = [ 6946 7102 "actioncable" ··· 6964 7120 platforms = [ ]; 6965 7121 source = { 6966 7122 remotes = [ "https://rubygems.org" ]; 6967 - sha256 = "1vfd2l3m1802vq7gdqpvd3mkcfhxacpsxixqpx4n6x0mv56ysrsy"; 7123 + sha256 = "0148c00v3hks98rymdiilhjm0i8qw5fla4gww0fb94k3ggns5bh5"; 6968 7124 type = "gem"; 6969 7125 }; 6970 - version = "7.0.8.7"; 7126 + version = "7.1.5.1"; 6971 7127 }; 6972 7128 rails-controller-testing = { 6973 7129 dependencies = [ ··· 6987 7143 rails-dom-testing = { 6988 7144 dependencies = [ 6989 7145 "activesupport" 7146 + "minitest" 6990 7147 "nokogiri" 6991 7148 ]; 6992 7149 groups = [ 6993 7150 "default" 6994 7151 "development" 7152 + "monorepo" 6995 7153 "test" 6996 7154 ]; 6997 7155 platforms = [ ]; 6998 7156 source = { 6999 7157 remotes = [ "https://rubygems.org" ]; 7000 - sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i"; 7158 + sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; 7001 7159 type = "gem"; 7002 7160 }; 7003 - version = "2.0.3"; 7161 + version = "2.2.0"; 7004 7162 }; 7005 7163 rails-html-sanitizer = { 7006 7164 dependencies = [ ··· 7039 7197 dependencies = [ 7040 7198 "actionpack" 7041 7199 "activesupport" 7042 - "method_source" 7200 + "irb" 7201 + "rackup" 7043 7202 "rake" 7044 7203 "thor" 7045 7204 "zeitwerk" ··· 7052 7211 platforms = [ ]; 7053 7212 source = { 7054 7213 remotes = [ "https://rubygems.org" ]; 7055 - sha256 = "0pshckc6b9h2ikl3svk47iv0nq6v908h3q9ndlblpg021cl8bf8s"; 7214 + sha256 = "1yz28fq55drl4c2dwgap96xcjf6qns2ghc3c3gffzm6yw9i5bq8b"; 7056 7215 type = "gem"; 7057 7216 }; 7058 - version = "7.0.8.7"; 7217 + version = "7.1.5.1"; 7059 7218 }; 7060 7219 rainbow = { 7061 7220 groups = [ ··· 7178 7337 }; 7179 7338 version = "1.8.0"; 7180 7339 }; 7340 + rdoc = { 7341 + dependencies = [ "psych" ]; 7342 + groups = [ 7343 + "default" 7344 + "development" 7345 + "test" 7346 + ]; 7347 + platforms = [ ]; 7348 + source = { 7349 + remotes = [ "https://rubygems.org" ]; 7350 + sha256 = "0a83bsmd444pbhga3icwh8c7gm917m1fabq38dy1pn9ywjd17hij"; 7351 + type = "gem"; 7352 + }; 7353 + version = "6.13.0"; 7354 + }; 7181 7355 re2 = { 7182 7356 dependencies = [ "mini_portile2" ]; 7183 7357 groups = [ "default" ]; ··· 7355 7529 }; 7356 7530 version = "1.0.0"; 7357 7531 }; 7532 + reline = { 7533 + dependencies = [ "io-console" ]; 7534 + groups = [ 7535 + "default" 7536 + "development" 7537 + "test" 7538 + ]; 7539 + platforms = [ ]; 7540 + source = { 7541 + remotes = [ "https://rubygems.org" ]; 7542 + sha256 = "1lirwlw59apc8m1wjk85y2xidiv0fkxjn6f7p84yqmmyvish6qjp"; 7543 + type = "gem"; 7544 + }; 7545 + version = "0.6.0"; 7546 + }; 7358 7547 representable = { 7359 7548 dependencies = [ 7360 7549 "declarative" ··· 7423 7612 }; 7424 7613 reverse_markdown = { 7425 7614 dependencies = [ "nokogiri" ]; 7426 - groups = [ "default" ]; 7615 + groups = [ 7616 + "default" 7617 + "development" 7618 + ]; 7427 7619 platforms = [ ]; 7428 7620 source = { 7429 7621 remotes = [ "https://rubygems.org" ]; 7430 - sha256 = "0w786j869fjhjf72waj0hc9i4ghi45b78a2am27kij4sa2hmsc53"; 7622 + sha256 = "195c7yra7amggqj7rir0yr09r4v29c2hgkbkb21mj0jsfs3868mb"; 7431 7623 type = "gem"; 7432 7624 }; 7433 - version = "1.4.0"; 7625 + version = "3.0.0"; 7434 7626 }; 7435 7627 rexml = { 7436 7628 groups = [ ··· 7901 8093 platforms = [ ]; 7902 8094 source = { 7903 8095 remotes = [ "https://rubygems.org" ]; 7904 - sha256 = "0j4zcp7nncrr6sn0m3scnqsxcf7j2v82pxcd7p3436m70ncmm1x1"; 8096 + sha256 = "17z0hi70s201gxw251hgv4r9zmfky2jlmp3pwma7hixsfpkx6gay"; 7905 8097 type = "gem"; 7906 8098 }; 7907 - version = "0.23.13"; 8099 + version = "0.23.15"; 7908 8100 }; 7909 8101 ruby-lsp-rails = { 7910 8102 dependencies = [ "ruby-lsp" ]; ··· 8130 8322 }; 8131 8323 version = "0.1.1"; 8132 8324 }; 8325 + securerandom = { 8326 + groups = [ 8327 + "default" 8328 + "development" 8329 + "monorepo" 8330 + "test" 8331 + ]; 8332 + platforms = [ ]; 8333 + source = { 8334 + remotes = [ "https://rubygems.org" ]; 8335 + sha256 = "1cd0iriqfsf1z91qg271sm88xjnfd92b832z49p1nd542ka96lfc"; 8336 + type = "gem"; 8337 + }; 8338 + version = "0.4.1"; 8339 + }; 8133 8340 seed-fu = { 8134 8341 dependencies = [ 8135 8342 "activerecord" ··· 8172 8379 platforms = [ ]; 8173 8380 source = { 8174 8381 remotes = [ "https://rubygems.org" ]; 8175 - sha256 = "18vkhjy290kf6cvwq03whfih29wyl7q003kx4qa82x3cgh1pi2mv"; 8382 + sha256 = "07nx840hc07a1igzw7zbg1c3wp71sfflv7c6jivwxj7pcr9b0431"; 8176 8383 type = "gem"; 8177 8384 }; 8178 - version = "3.6.0"; 8385 + version = "3.7.0"; 8179 8386 }; 8180 8387 sentry-rails = { 8181 8388 dependencies = [ ··· 8186 8393 platforms = [ ]; 8187 8394 source = { 8188 8395 remotes = [ "https://rubygems.org" ]; 8189 - sha256 = "1drz5lm7s2m55pmxdbpbcxlpvgaj3rchm14nrzl2s80fvh47c8i3"; 8396 + sha256 = "1i6y53hkif95091m2pq07gx3l30f85fmkj6phblc2hz3hlybqb4d"; 8190 8397 type = "gem"; 8191 8398 }; 8192 - version = "5.22.1"; 8399 + version = "5.23.0"; 8193 8400 }; 8194 8401 sentry-ruby = { 8195 8402 dependencies = [ ··· 8200 8407 platforms = [ ]; 8201 8408 source = { 8202 8409 remotes = [ "https://rubygems.org" ]; 8203 - sha256 = "129jbd6zvfn59djs455hflk2nhf0sccnvp23vsiwd957dpbvsxzd"; 8410 + sha256 = "1k45ydlbl99c9ivbafzw8lpm9diiw4m7z55szi87l9kalpwv52wf"; 8204 8411 type = "gem"; 8205 8412 }; 8206 - version = "5.22.1"; 8413 + version = "5.23.0"; 8207 8414 }; 8208 8415 sentry-sidekiq = { 8209 8416 dependencies = [ ··· 8214 8421 platforms = [ ]; 8215 8422 source = { 8216 8423 remotes = [ "https://rubygems.org" ]; 8217 - sha256 = "129ahag27akxqha2dldvvzkbxi3zcrca9naifak3xqaqbs8kyymx"; 8424 + sha256 = "060wbm1xckmlnx3j8mlf7vgmxv6wsh75nq5smj2y2wspl89n9p1l"; 8218 8425 type = "gem"; 8219 8426 }; 8220 - version = "5.22.1"; 8427 + version = "5.23.0"; 8221 8428 }; 8222 8429 shellany = { 8223 8430 groups = [ ··· 8472 8679 "backport" 8473 8680 "benchmark" 8474 8681 "diff-lcs" 8475 - "e2mmap" 8476 8682 "jaro_winkler" 8477 8683 "kramdown" 8478 8684 "kramdown-parser-gfm" 8685 + "logger" 8686 + "observer" 8687 + "ostruct" 8479 8688 "parser" 8689 + "rbs" 8480 8690 "reverse_markdown" 8481 8691 "rubocop" 8482 8692 "thor" 8483 8693 "tilt" 8484 8694 "yard" 8695 + "yard-solargraph" 8485 8696 ]; 8486 8697 groups = [ "development" ]; 8487 8698 platforms = [ ]; 8488 8699 source = { 8489 8700 remotes = [ "https://rubygems.org" ]; 8490 - sha256 = "0smcpi3x87chkdqdclhgh36xlbwm7r44r58m3k1w4mcikdwlpjl7"; 8701 + sha256 = "0mkc1fxz4anv7fcq9jn26dc5ppwriand778f9dklzrpgq9pga8py"; 8491 8702 type = "gem"; 8492 8703 }; 8493 - version = "0.47.2"; 8704 + version = "0.54.2"; 8705 + }; 8706 + solargraph-rspec = { 8707 + dependencies = [ "solargraph" ]; 8708 + groups = [ "development" ]; 8709 + platforms = [ ]; 8710 + source = { 8711 + remotes = [ "https://rubygems.org" ]; 8712 + sha256 = "1kpsdfkj6yvd5ndhj5vbll4591lwg4gjrf5c61ffj8vvy4j93z0d"; 8713 + type = "gem"; 8714 + }; 8715 + version = "0.5.1"; 8494 8716 }; 8495 8717 sorbet-runtime = { 8496 8718 groups = [ ··· 8654 8876 }; 8655 8877 version = "0.8.0"; 8656 8878 }; 8879 + state_machines-rspec = { 8880 + dependencies = [ 8881 + "activesupport" 8882 + "rspec" 8883 + "state_machines" 8884 + ]; 8885 + groups = [ "test" ]; 8886 + platforms = [ ]; 8887 + source = { 8888 + remotes = [ "https://rubygems.org" ]; 8889 + sha256 = "1gf0wlgkpdwwyxg810p1clpba6gmcl7jwvhlg5zwkl2pvx2pm99b"; 8890 + type = "gem"; 8891 + }; 8892 + version = "0.6.0"; 8893 + }; 8894 + stringio = { 8895 + groups = [ 8896 + "default" 8897 + "development" 8898 + "test" 8899 + ]; 8900 + platforms = [ ]; 8901 + source = { 8902 + remotes = [ "https://rubygems.org" ]; 8903 + sha256 = "1yh78pg6lm28c3k0pfd2ipskii1fsraq46m6zjs5yc9a4k5vfy2v"; 8904 + type = "gem"; 8905 + }; 8906 + version = "3.1.7"; 8907 + }; 8657 8908 strings = { 8658 8909 dependencies = [ 8659 8910 "strings-ansi" ··· 9063 9314 }; 9064 9315 version = "0.7.13"; 9065 9316 }; 9317 + ttfunk = { 9318 + dependencies = [ "bigdecimal" ]; 9319 + groups = [ "default" ]; 9320 + platforms = [ ]; 9321 + source = { 9322 + remotes = [ "https://rubygems.org" ]; 9323 + sha256 = "1ji0kn8jkf1rpskv3ijzxvqwixg4p6sk8kg0vmwyjinci7jcgjx7"; 9324 + type = "gem"; 9325 + }; 9326 + version = "1.8.0"; 9327 + }; 9066 9328 tty-color = { 9067 9329 groups = [ 9068 9330 "default" ··· 9475 9737 platforms = [ ]; 9476 9738 source = { 9477 9739 remotes = [ "https://rubygems.org" ]; 9478 - sha256 = "1i2ckb29ffjj431amnk0sr5h9vbs00139irs7bqh51jpl55lln74"; 9740 + sha256 = "0wj9ia0s7vywn66pf2jn49pfsy5h5rncjjwhaymwq32r3f2pq2p1"; 9479 9741 type = "gem"; 9480 9742 }; 9481 - version = "3.9.1"; 9743 + version = "3.9.2"; 9482 9744 }; 9483 9745 vmstat = { 9484 9746 groups = [ "default" ]; ··· 9570 9832 platforms = [ ]; 9571 9833 source = { 9572 9834 remotes = [ "https://rubygems.org" ]; 9573 - sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; 9835 + sha256 = "12d9n8hll67j737ym2zw4v23cn4vxyfkb6vyv1rzpwv6y6a3qbdl"; 9574 9836 type = "gem"; 9575 9837 }; 9576 - version = "1.8.2"; 9838 + version = "1.9.1"; 9577 9839 }; 9578 9840 websocket = { 9579 9841 groups = [ ··· 9721 9983 type = "gem"; 9722 9984 }; 9723 9985 version = "0.9.37"; 9986 + }; 9987 + yard-solargraph = { 9988 + dependencies = [ "yard" ]; 9989 + groups = [ 9990 + "default" 9991 + "development" 9992 + ]; 9993 + platforms = [ ]; 9994 + source = { 9995 + remotes = [ "https://rubygems.org" ]; 9996 + sha256 = "03lklm47k6k294ww97x6zpvlqlyjm5q8jidrixhil622r4cld6m1"; 9997 + type = "gem"; 9998 + }; 9999 + version = "0.1.0"; 9724 10000 }; 9725 10001 zeitwerk = { 9726 10002 groups = [
-421
pkgs/applications/version-management/gitlab/update.py
··· 1 - #!/usr/bin/env nix-shell 2 - #! nix-shell -I nixpkgs=../../../.. -i python3 -p bundix bundler nix-update nix python3 python3Packages.requests python3Packages.click python3Packages.click-log python3Packages.packaging prefetch-yarn-deps git 3 - 4 - import click 5 - import click_log 6 - import re 7 - import logging 8 - import subprocess 9 - import json 10 - import pathlib 11 - import tempfile 12 - from packaging.version import Version 13 - from typing import Iterable 14 - 15 - import requests 16 - 17 - NIXPKGS_PATH = pathlib.Path(__file__).parent / "../../../../" 18 - GITLAB_DIR = pathlib.Path(__file__).parent 19 - 20 - logger = logging.getLogger(__name__) 21 - click_log.basic_config(logger) 22 - 23 - 24 - class GitLabRepo: 25 - version_regex = re.compile(r"^v\d+\.\d+\.\d+(\-rc\d+)?(\-ee)?(\-gitlab)?") 26 - 27 - def __init__(self, owner: str = "gitlab-org", repo: str = "gitlab"): 28 - self.owner = owner 29 - self.repo = repo 30 - 31 - @property 32 - def url(self): 33 - return f"https://gitlab.com/{self.owner}/{self.repo}" 34 - 35 - @property 36 - def tags(self) -> Iterable[str]: 37 - """Returns a sorted list of repository tags""" 38 - r = requests.get(self.url + "/refs?sort=updated_desc&ref=master").json() 39 - tags = r.get("Tags", []) 40 - 41 - # filter out versions not matching version_regex 42 - versions = list(filter(self.version_regex.match, tags)) 43 - 44 - # sort, but ignore v, -ee and -gitlab for sorting comparisons 45 - versions.sort( 46 - key=lambda x: Version( 47 - x.replace("v", "").replace("-ee", "").replace("-gitlab", "") 48 - ), 49 - reverse=True, 50 - ) 51 - return versions 52 - def get_git_hash(self, rev: str): 53 - return ( 54 - subprocess.check_output( 55 - [ 56 - "nix-prefetch-url", 57 - "--unpack", 58 - f"https://gitlab.com/{self.owner}/{self.repo}/-/archive/{rev}/{self.repo}-{rev}.tar.gz", 59 - ] 60 - ) 61 - .decode("utf-8") 62 - .strip() 63 - ) 64 - 65 - def get_yarn_hash(self, rev: str): 66 - with tempfile.TemporaryDirectory() as tmp_dir: 67 - with open(tmp_dir + "/yarn.lock", "w") as f: 68 - f.write(self.get_file("yarn.lock", rev)) 69 - return ( 70 - subprocess.check_output(["prefetch-yarn-deps", tmp_dir + "/yarn.lock"]) 71 - .decode("utf-8") 72 - .strip() 73 - ) 74 - 75 - @staticmethod 76 - def rev2version(tag: str) -> str: 77 - """ 78 - normalize a tag to a version number. 79 - This obviously isn't very smart if we don't pass something that looks like a tag 80 - :param tag: the tag to normalize 81 - :return: a normalized version number 82 - """ 83 - # strip v prefix 84 - version = re.sub(r"^v", "", tag) 85 - # strip -ee and -gitlab suffixes 86 - return re.sub(r"-(ee|gitlab)$", "", version) 87 - 88 - def get_file(self, filepath, rev): 89 - """ 90 - returns file contents at a given rev 91 - :param filepath: the path to the file, relative to the repo root 92 - :param rev: the rev to fetch at 93 - :return: 94 - """ 95 - return requests.get(self.url + f"/raw/{rev}/{filepath}").text 96 - 97 - def get_data(self, rev): 98 - version = self.rev2version(rev) 99 - 100 - passthru = { 101 - v: self.get_file(v, rev).strip() 102 - for v in [ 103 - "GITALY_SERVER_VERSION", 104 - "GITLAB_PAGES_VERSION", 105 - "GITLAB_SHELL_VERSION", 106 - "GITLAB_ELASTICSEARCH_INDEXER_VERSION", 107 - ] 108 - } 109 - passthru["GITLAB_WORKHORSE_VERSION"] = version 110 - 111 - return dict( 112 - version=self.rev2version(rev), 113 - repo_hash=self.get_git_hash(rev), 114 - yarn_hash=self.get_yarn_hash(rev), 115 - owner=self.owner, 116 - repo=self.repo, 117 - rev=rev, 118 - passthru=passthru, 119 - ) 120 - 121 - 122 - def _get_data_json(): 123 - data_file_path = pathlib.Path(__file__).parent / "data.json" 124 - with open(data_file_path, "r") as f: 125 - return json.load(f) 126 - 127 - 128 - def _call_nix_update(pkg, version): 129 - """calls nix-update from nixpkgs root dir""" 130 - return subprocess.check_output( 131 - ["nix-update", pkg, "--version", version], cwd=NIXPKGS_PATH 132 - ) 133 - 134 - 135 - @click_log.simple_verbosity_option(logger) 136 - @click.group() 137 - def cli(): 138 - pass 139 - 140 - 141 - @cli.command("update-data") 142 - @click.option("--rev", default="latest", help="The rev to use (vX.Y.Z-ee), or 'latest'") 143 - def update_data(rev: str): 144 - """Update data.json""" 145 - logger.info("Updating data.json") 146 - 147 - repo = GitLabRepo() 148 - if rev == "latest": 149 - # filter out pre and rc releases 150 - rev = next(filter(lambda x: not ("rc" in x or x.endswith("pre")), repo.tags)) 151 - 152 - data_file_path = pathlib.Path(__file__).parent / "data.json" 153 - 154 - data = repo.get_data(rev) 155 - 156 - with open(data_file_path.as_posix(), "w") as f: 157 - json.dump(data, f, indent=2) 158 - f.write("\n") 159 - 160 - 161 - @cli.command("update-rubyenv") 162 - def update_rubyenv(): 163 - """Update rubyEnv""" 164 - logger.info("Updating gitlab") 165 - repo = GitLabRepo() 166 - rubyenv_dir = pathlib.Path(__file__).parent / "rubyEnv" 167 - 168 - # load rev from data.json 169 - data = _get_data_json() 170 - rev = data["rev"] 171 - version = data["version"] 172 - 173 - for fn in ["Gemfile.lock", "Gemfile"]: 174 - with open(rubyenv_dir / fn, "w") as f: 175 - f.write(repo.get_file(fn, rev)) 176 - 177 - # update to 1.2.9 to include https://gitlab.com/gitlab-org/ruby/gems/prometheus-client-mmap/-/commit/5d77f3f3e048834250589b416c6b3d4bba65a570 178 - subprocess.check_output( 179 - ["sed", "-i", "s:'prometheus-client-mmap', '~> 1.2.8':'prometheus-client-mmap', '~> 1.2.9':g", "Gemfile"], 180 - cwd=rubyenv_dir, 181 - ) 182 - 183 - # Un-vendor sidekiq 184 - # 185 - # The sidekiq dependency was vendored to maintain compatibility with Redis 6.0 (as 186 - # stated in this [comment]) but unfortunately, it seems to cause a crash in the 187 - # application, as noted in this [upstream issue]. 188 - # 189 - # We can safely swap out the dependency, as our Redis release in nixpkgs is >= 7.0. 190 - # 191 - # [comment]: https://gitlab.com/gitlab-org/gitlab/-/issues/468435#note_1979750600 192 - # [upstream issue]: https://gitlab.com/gitlab-org/gitlab/-/issues/468435 193 - subprocess.check_output( 194 - ["sed", "-i", "s|gem 'sidekiq', path: 'vendor/gems/sidekiq', require: 'sidekiq'|gem 'sidekiq', '~> 7.3.9'|g", "Gemfile"], 195 - cwd=rubyenv_dir, 196 - ) 197 - 198 - # Fetch vendored dependencies temporarily in order to build the gemset.nix 199 - subprocess.check_output(["mkdir", "-p", "vendor/gems", "gems"], cwd=rubyenv_dir) 200 - subprocess.check_output( 201 - [ 202 - "sh", 203 - "-c", 204 - f"curl -L https://gitlab.com/gitlab-org/gitlab/-/archive/v{version}-ee/gitlab-v{version}-ee.tar.bz2?path=vendor/gems | tar -xj --strip-components=3", 205 - ], 206 - cwd=f"{rubyenv_dir}/vendor/gems", 207 - ) 208 - subprocess.check_output( 209 - [ 210 - "sh", 211 - "-c", 212 - f"curl -L https://gitlab.com/gitlab-org/gitlab/-/archive/v{version}-ee/gitlab-v{version}-ee.tar.bz2?path=gems | tar -xj --strip-components=2", 213 - ], 214 - cwd=f"{rubyenv_dir}/gems", 215 - ) 216 - 217 - # Undo our gemset.nix patches so that bundix runs through 218 - subprocess.check_output( 219 - ["sed", "-i", "-e", "s|\\${src}/||g", "gemset.nix"], cwd=rubyenv_dir 220 - ) 221 - subprocess.check_output( 222 - ["sed", "-i", "-e", "s|^src:[[:space:]]||g", "gemset.nix"], cwd=rubyenv_dir 223 - ) 224 - 225 - subprocess.check_output(["bundle", "lock"], cwd=rubyenv_dir) 226 - subprocess.check_output(["bundix"], cwd=rubyenv_dir) 227 - 228 - subprocess.check_output( 229 - [ 230 - "sed", 231 - "-i", 232 - "-e", 233 - "1c\\src: {", 234 - "-e", 235 - 's:path = \\(vendor/[^;]*\\);:path = "${src}/\\1";:g', 236 - "-e", 237 - 's:path = \\(gems/[^;]*\\);:path = "${src}/\\1";:g', 238 - "gemset.nix", 239 - ], 240 - cwd=rubyenv_dir, 241 - ) 242 - subprocess.check_output(["rm", "-rf", "vendor", "gems"], cwd=rubyenv_dir) 243 - 244 - # Reformat gemset.nix 245 - subprocess.check_output(["nix-shell", "--run", "treefmt pkgs/applications/version-management/gitlab"], cwd=NIXPKGS_PATH) 246 - 247 - 248 - @cli.command("update-gitaly") 249 - def update_gitaly(): 250 - """Update gitaly""" 251 - logger.info("Updating gitaly") 252 - data = _get_data_json() 253 - gitaly_server_version = data['passthru']['GITALY_SERVER_VERSION'] 254 - repo = GitLabRepo(repo="gitaly") 255 - gitaly_dir = pathlib.Path(__file__).parent / 'gitaly' 256 - 257 - makefile = repo.get_file("Makefile", f"v{gitaly_server_version}") 258 - makefile += "\nprint-%:;@echo $($*)\n" 259 - 260 - git_version = subprocess.run(["make", "-f", "-", "print-GIT_VERSION"], check=True, input=makefile, text=True, capture_output=True).stdout.strip() 261 - 262 - _call_nix_update("gitaly", gitaly_server_version) 263 - _call_nix_update("gitaly.git", git_version) 264 - 265 - 266 - @cli.command("update-gitlab-pages") 267 - def update_gitlab_pages(): 268 - """Update gitlab-pages""" 269 - logger.info("Updating gitlab-pages") 270 - data = _get_data_json() 271 - gitlab_pages_version = data["passthru"]["GITLAB_PAGES_VERSION"] 272 - _call_nix_update("gitlab-pages", gitlab_pages_version) 273 - 274 - 275 - def get_container_registry_version() -> str: 276 - """Returns the version attribute of gitlab-container-registry""" 277 - return subprocess.check_output( 278 - [ 279 - "nix", 280 - "--experimental-features", 281 - "nix-command", 282 - "eval", 283 - "-f", 284 - ".", 285 - "--raw", 286 - "gitlab-container-registry.version", 287 - ], 288 - cwd=NIXPKGS_PATH, 289 - ).decode("utf-8") 290 - 291 - 292 - @cli.command("update-gitlab-shell") 293 - def update_gitlab_shell(): 294 - """Update gitlab-shell""" 295 - logger.info("Updating gitlab-shell") 296 - data = _get_data_json() 297 - gitlab_shell_version = data["passthru"]["GITLAB_SHELL_VERSION"] 298 - _call_nix_update("gitlab-shell", gitlab_shell_version) 299 - 300 - 301 - @cli.command("update-gitlab-workhorse") 302 - def update_gitlab_workhorse(): 303 - """Update gitlab-workhorse""" 304 - logger.info("Updating gitlab-workhorse") 305 - data = _get_data_json() 306 - gitlab_workhorse_version = data["passthru"]["GITLAB_WORKHORSE_VERSION"] 307 - _call_nix_update("gitlab-workhorse", gitlab_workhorse_version) 308 - 309 - 310 - @cli.command("update-gitlab-container-registry") 311 - @click.option("--rev", default="latest", help="The rev to use (vX.Y.Z-ee), or 'latest'") 312 - @click.option( 313 - "--commit", is_flag=True, default=False, help="Commit the changes for you" 314 - ) 315 - def update_gitlab_container_registry(rev: str, commit: bool): 316 - """Update gitlab-container-registry""" 317 - logger.info("Updading gitlab-container-registry") 318 - repo = GitLabRepo(repo="container-registry") 319 - old_container_registry_version = get_container_registry_version() 320 - 321 - if rev == "latest": 322 - rev = next(filter(lambda x: not ("rc" in x or x.endswith("pre")), repo.tags)) 323 - 324 - version = repo.rev2version(rev) 325 - _call_nix_update("gitlab-container-registry", version) 326 - if commit: 327 - new_container_registry_version = get_container_registry_version() 328 - commit_container_registry( 329 - old_container_registry_version, new_container_registry_version 330 - ) 331 - 332 - 333 - @cli.command('update-gitlab-elasticsearch-indexer') 334 - def update_gitlab_elasticsearch_indexer(): 335 - """Update gitlab-elasticsearch-indexer""" 336 - data = _get_data_json() 337 - gitlab_elasticsearch_indexer_version = data['passthru']['GITLAB_ELASTICSEARCH_INDEXER_VERSION'] 338 - _call_nix_update('gitlab-elasticsearch-indexer', gitlab_elasticsearch_indexer_version) 339 - 340 - 341 - @cli.command("update-all") 342 - @click.option("--rev", default="latest", help="The rev to use (vX.Y.Z-ee), or 'latest'") 343 - @click.option( 344 - "--commit", is_flag=True, default=False, help="Commit the changes for you" 345 - ) 346 - @click.pass_context 347 - def update_all(ctx, rev: str, commit: bool): 348 - """Update all gitlab components to the latest stable release""" 349 - old_data_json = _get_data_json() 350 - old_container_registry_version = get_container_registry_version() 351 - 352 - ctx.invoke(update_data, rev=rev) 353 - 354 - new_data_json = _get_data_json() 355 - 356 - ctx.invoke(update_rubyenv) 357 - ctx.invoke(update_gitaly) 358 - ctx.invoke(update_gitlab_pages) 359 - ctx.invoke(update_gitlab_shell) 360 - ctx.invoke(update_gitlab_workhorse) 361 - ctx.invoke(update_gitlab_elasticsearch_indexer) 362 - if commit: 363 - commit_gitlab( 364 - old_data_json["version"], new_data_json["version"], new_data_json["rev"] 365 - ) 366 - 367 - ctx.invoke(update_gitlab_container_registry) 368 - if commit: 369 - new_container_registry_version = get_container_registry_version() 370 - commit_container_registry( 371 - old_container_registry_version, new_container_registry_version 372 - ) 373 - 374 - 375 - def commit_gitlab(old_version: str, new_version: str, new_rev: str) -> None: 376 - """Commits the gitlab changes for you""" 377 - subprocess.run( 378 - [ 379 - "git", 380 - "add", 381 - "pkgs/applications/version-management/gitlab", 382 - "pkgs/by-name/gi/gitaly", 383 - "pkgs/by-name/gi/gitlab-elasticsearch-indexer", 384 - "pkgs/by-name/gi/gitlab-pages", 385 - ], 386 - cwd=NIXPKGS_PATH, 387 - ) 388 - subprocess.run( 389 - [ 390 - "git", 391 - "commit", 392 - "--message", 393 - f"""gitlab: {old_version} -> {new_version}\n\nhttps://gitlab.com/gitlab-org/gitlab/-/blob/{new_rev}/CHANGELOG.md""", 394 - ], 395 - cwd=NIXPKGS_PATH, 396 - ) 397 - 398 - 399 - def commit_container_registry(old_version: str, new_version: str) -> None: 400 - """Commits the gitlab-container-registry changes for you""" 401 - subprocess.run( 402 - [ 403 - "git", 404 - "add", 405 - "pkgs/by-name/gi/gitlab-container-registry" 406 - ], 407 - cwd=NIXPKGS_PATH, 408 - ) 409 - subprocess.run( 410 - [ 411 - "git", 412 - "commit", 413 - "--message", 414 - f"gitlab-container-registry: {old_version} -> {new_version}\n\nhttps://gitlab.com/gitlab-org/container-registry/-/blob/v{new_version}-gitlab/CHANGELOG.md", 415 - ], 416 - cwd=NIXPKGS_PATH, 417 - ) 418 - 419 - 420 - if __name__ == "__main__": 421 - cli()
+2 -2
pkgs/applications/video/obs-studio/plugins/obs-vkcapture.nix
··· 21 21 22 22 stdenv.mkDerivation (finalAttrs: { 23 23 pname = "obs-vkcapture"; 24 - version = "1.5.1"; 24 + version = "1.5.2"; 25 25 26 26 src = fetchFromGitHub { 27 27 owner = "nowrep"; 28 28 repo = "obs-vkcapture"; 29 29 rev = "v${finalAttrs.version}"; 30 - hash = "sha256-RIDsT6eL6bUfqPiyPlecnZHu5OorcJb3Xal8pjdOpAA="; 30 + hash = "sha256-ghfRST7J3bipQnOZnYMtmDggET+Etq/ngHs+zQ0bm1w="; 31 31 }; 32 32 33 33 cmakeFlags = lib.optionals stdenv.hostPlatform.isi686 [
pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/package/Cargo.toml
+4 -13
pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "basic-dynamic"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 - cargoLock.lockFileContents = builtins.readFile ./Cargo.lock; 9 + cargoLock.lockFileContents = builtins.readFile ./package/Cargo.lock; 19 10 20 11 doInstallCheck = true; 21 12
pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/basic-dynamic/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/.cargo/config.toml pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/package/.cargo/config.toml
pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/package/Cargo.toml
+4 -14
pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "basic-sparse"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./.cargo/config.toml 13 - ./Cargo.toml 14 - ./Cargo.lock 15 - ./src 16 - ]; 17 - }; 7 + src = ./package; 18 8 19 9 cargoLock = { 20 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 21 11 extraRegistries = { 22 12 "sparse+https://index.crates.io/" = "https://static.crates.io/crates"; 23 13 };
pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/basic-sparse/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/basic/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/basic/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/basic/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/basic/package/Cargo.toml
+3 -12
pkgs/build-support/rust/test/import-cargo-lock/basic/default.nix
··· 1 1 { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "basic"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 9 cargoLock = { 19 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 20 11 }; 21 12 22 13 doInstallCheck = true;
pkgs/build-support/rust/test/import-cargo-lock/basic/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/basic/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/package/Cargo.toml
+4 -13
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "git-dependency-branch"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 9 cargoLock = { 19 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 20 11 outputHashes = { 21 12 "rand-0.8.4" = "1ilk9wvfw3mdm57g199ys8f5nrgdrh0n3a4c8b7nz6lgnqvfrv6z"; 22 13 };
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/git-dependency-branch/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/package/Cargo.toml
+3 -13
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/default.nix
··· 3 3 pkg-config, 4 4 openssl, 5 5 zlib, 6 - lib, 7 6 }: 8 - let 9 - fs = lib.fileset; 10 - in 7 + 11 8 rustPlatform.buildRustPackage { 12 9 pname = "git-dependency-rev-non-workspace-nested-crate"; 13 10 version = "0.1.0"; 14 11 15 - src = fs.toSource { 16 - root = ./.; 17 - fileset = fs.unions [ 18 - ./Cargo.toml 19 - ./Cargo.lock 20 - ./src 21 - ]; 22 - }; 12 + src = ./package; 23 13 24 14 nativeBuildInputs = [ 25 15 pkg-config ··· 31 21 ]; 32 22 33 23 cargoLock = { 34 - lockFile = ./Cargo.lock; 24 + lockFile = ./package/Cargo.lock; 35 25 outputHashes = { 36 26 "cargo-test-macro-0.1.0" = "1yy1y1d523xdzwg1gc77pigbcwsbawmy4b7vw8v21m7q957sk0c4"; 37 27 };
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev-non-workspace-nested-crate/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/package/Cargo.toml
+4 -13
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "git-dependency-rev"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 9 cargoLock = { 19 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 20 11 outputHashes = { 21 12 "rand-0.8.3" = "0l3p174bpwia61vcvxz5mw65a13ri3wy94z04xrnyy5lzciykz4f"; 22 13 };
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/git-dependency-rev/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/package/Cargo.toml
+4 -13
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "git-dependency-tag"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 9 cargoLock = { 19 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 20 11 outputHashes = { 21 12 "rand-0.8.3" = "0l3p174bpwia61vcvxz5mw65a13ri3wy94z04xrnyy5lzciykz4f"; 22 13 };
pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/git-dependency-tag/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/git-dependency/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/git-dependency/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/git-dependency/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/git-dependency/package/Cargo.toml
+4 -13
pkgs/build-support/rust/test/import-cargo-lock/git-dependency/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "git-dependency"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 9 cargoLock = { 19 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 20 11 outputHashes = { 21 12 "rand-0.8.3" = "0ya2hia3cn31qa8894s3av2s8j5bjwb6yq92k0jsnlx7jid0jwqa"; 22 13 };
pkgs/build-support/rust/test/import-cargo-lock/git-dependency/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/git-dependency/package/src/main.rs
pkgs/build-support/rust/test/import-cargo-lock/v1/Cargo.lock pkgs/build-support/rust/test/import-cargo-lock/v1/package/Cargo.lock
pkgs/build-support/rust/test/import-cargo-lock/v1/Cargo.toml pkgs/build-support/rust/test/import-cargo-lock/v1/package/Cargo.toml
+4 -13
pkgs/build-support/rust/test/import-cargo-lock/v1/default.nix
··· 1 - { lib, rustPlatform }: 2 - let 3 - fs = lib.fileset; 4 - in 1 + { rustPlatform }: 2 + 5 3 rustPlatform.buildRustPackage { 6 4 pname = "v1"; 7 5 version = "0.1.0"; 8 6 9 - src = fs.toSource { 10 - root = ./.; 11 - fileset = fs.unions [ 12 - ./Cargo.toml 13 - ./Cargo.lock 14 - ./src 15 - ]; 16 - }; 7 + src = ./package; 17 8 18 9 cargoLock = { 19 - lockFile = ./Cargo.lock; 10 + lockFile = ./package/Cargo.lock; 20 11 }; 21 12 22 13 doInstallCheck = true;
pkgs/build-support/rust/test/import-cargo-lock/v1/src/main.rs pkgs/build-support/rust/test/import-cargo-lock/v1/package/src/main.rs
+1 -1
pkgs/build-support/writers/test.nix
··· 456 456 ); 457 457 }; 458 458 459 - data = { 459 + data = recurseIntoAttrs { 460 460 json = expectDataEqual { 461 461 file = writeJSON "data.json" { hello = "world"; }; 462 462 expected = ''
+3 -3
pkgs/by-name/al/aliyun-cli/package.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "aliyun-cli"; 11 - version = "3.0.273"; 11 + version = "3.0.277"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "aliyun"; 15 15 repo = "aliyun-cli"; 16 16 tag = "v${version}"; 17 - hash = "sha256-Zmi+izG8gHZrtSaLR9sE9F0W55+PEj25lBKueIwY8iY="; 17 + hash = "sha256-4HWSebmMys3yzj2H3JC7hAayl9xQeVBQWCEGlZSudUc="; 18 18 fetchSubmodules = true; 19 19 }; 20 20 21 - vendorHash = "sha256-K6et/P1GKoZeEsfB5LMBqfBx+YoVMMC87YLNKOkL30g="; 21 + vendorHash = "sha256-cyE7yuwYUR/vv1w/b7QaiSoyX2XiUy5vNdodu+9PIl8="; 22 22 23 23 subPackages = [ "main" ]; 24 24
+24 -11
pkgs/by-name/ar/ares/darwin-build-fixes.patch
··· 1 1 diff --git a/cmake/macos/compilerconfig.cmake b/cmake/macos/compilerconfig.cmake 2 - index 99272c662..50f94db37 100644 2 + index f0c900f28..4da64f0b3 100644 3 3 --- a/cmake/macos/compilerconfig.cmake 4 4 +++ b/cmake/macos/compilerconfig.cmake 5 - @@ -27,7 +27,7 @@ message(DEBUG "macOS SDK Path: ${CMAKE_OSX_SYSROOT}") 6 - string(REGEX MATCH ".+/SDKs/MacOSX([0-9]+\\.[0-9])+\\.sdk$" _ ${CMAKE_OSX_SYSROOT}) 7 - set(_ares_macos_current_sdk ${CMAKE_MATCH_1}) 8 - message(DEBUG "macOS SDK version: ${_ares_macos_current_sdk}") 9 - -if(_ares_macos_current_sdk VERSION_LESS _ares_macos_minimum_sdk) 10 - +if(FALSE) 11 - message( 12 - FATAL_ERROR 13 - "Your macOS SDK version (${_ares_macos_current_sdk}) is too low. " 5 + @@ -25,7 +25,7 @@ function(check_sdk_requirements) 6 + set(ares_macos_minimum_sdk 11.1) # Minimum tested SDK 7 + set(ares_macos_minimum_xcode 12.4) # Sync with SDK 8 + execute_process( 9 + - COMMAND xcrun --sdk macosx --show-sdk-platform-version 10 + + COMMAND echo @sdkVersion@ 11 + OUTPUT_VARIABLE ares_macos_current_sdk 12 + RESULT_VARIABLE result 13 + OUTPUT_STRIP_TRAILING_WHITESPACE 14 14 diff --git a/cmake/macos/helpers.cmake b/cmake/macos/helpers.cmake 15 - index 864a629f0..f455345bf 100644 15 + index 3777ac98a..07ff17009 100644 16 16 --- a/cmake/macos/helpers.cmake 17 17 +++ b/cmake/macos/helpers.cmake 18 18 @@ -35,7 +35,6 @@ function(ares_configure_executable target) ··· 23 23 24 24 install(TARGETS ${target} BUNDLE DESTINATION "." COMPONENT Application) 25 25 endif() 26 + diff --git a/ruby/cmake/os-macos.cmake b/ruby/cmake/os-macos.cmake 27 + index 39c339428..dafb58c66 100644 28 + --- a/ruby/cmake/os-macos.cmake 29 + +++ b/ruby/cmake/os-macos.cmake 30 + @@ -43,7 +43,7 @@ target_link_libraries( 31 + if(SDL_FOUND) 32 + target_link_libraries( 33 + ruby 34 + - PRIVATE "$<LINK_LIBRARY:WEAK_FRAMEWORK,SDL::SDL>" 35 + + PRIVATE "$<LINK_LIBRARY:WEAK_LIBRARY,SDL::SDL>" 36 + ) 37 + endif() 38 +
+8 -5
pkgs/by-name/ar/ares/package.nix
··· 1 1 { 2 2 lib, 3 - SDL2, 4 3 alsa-lib, 5 4 apple-sdk_14, 6 5 cmake, ··· 19 18 moltenvk, 20 19 openal, 21 20 pkg-config, 21 + replaceVars, 22 + sdl3, 22 23 stdenv, 23 24 udev, 24 25 vulkan-loader, ··· 28 29 29 30 stdenv.mkDerivation (finalAttrs: { 30 31 pname = "ares"; 31 - version = "143"; 32 + version = "144"; 32 33 33 34 src = fetchFromGitHub { 34 35 owner = "ares-emulator"; 35 36 repo = "ares"; 36 37 tag = "v${finalAttrs.version}"; 37 - hash = "sha256-uuFKbS7WvxkTyyQfuQ6iKPvRt+54zUPdjUlQ/ohBAr8="; 38 + hash = "sha256-BpVyPdtsIUstLVf/HGO6vcAlLgJP5SgJbZtqEV/uJ2g="; 38 39 }; 39 40 40 41 nativeBuildInputs = ··· 49 50 50 51 buildInputs = 51 52 [ 52 - SDL2 53 + sdl3 53 54 libao 54 55 librashader 55 56 vulkan-loader ··· 73 74 ]; 74 75 75 76 patches = [ 76 - ./darwin-build-fixes.patch 77 + (replaceVars ./darwin-build-fixes.patch { 78 + sdkVersion = apple-sdk_14.version; 79 + }) 77 80 ]; 78 81 79 82 cmakeFlags = [
+3 -3
pkgs/by-name/au/auth0-cli/package.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "auth0-cli"; 11 - version = "1.12.0"; 11 + version = "1.13.0"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "auth0"; 15 15 repo = "auth0-cli"; 16 16 tag = "v${version}"; 17 - hash = "sha256-T3AJYDPdVkFYsvZUIdqndaxsJmsoJeeyr0316rafg7Q="; 17 + hash = "sha256-RcRJBW8FgCi9Lxz/KARql7ArozqYgttpQ9IXIKzvo6s="; 18 18 }; 19 19 20 - vendorHash = "sha256-/F3GNGCfsa9LM1F+eYJ+okqqjIuKfxHDT90ZS9gsJzs="; 20 + vendorHash = "sha256-6y2iGxaromnMYIU2rnvwmQwn8f1PdihB4DH9r5sRT68="; 21 21 22 22 ldflags = [ 23 23 "-s"
+2 -2
pkgs/by-name/ba/bamtools/package.nix
··· 10 10 11 11 stdenv.mkDerivation (finalAttrs: { 12 12 pname = "bamtools"; 13 - version = "2.5.2"; 13 + version = "2.5.3"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "pezmaster31"; 17 17 repo = "bamtools"; 18 18 tag = "v${finalAttrs.version}"; 19 - hash = "sha256-l2DmA4P1kPneTCL9YVACE6LcQHT0F+mufPyM69VkksE="; 19 + hash = "sha256-3kIa407YgBpulh2koQQFK/RLmGEZvEvTnZyWKm+pngg="; 20 20 }; 21 21 22 22 nativeBuildInputs = [
+3 -3
pkgs/by-name/be/bento/package.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "bento"; 11 - version = "1.6.1"; 11 + version = "1.7.1"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "warpstreamlabs"; 15 15 repo = "bento"; 16 16 tag = "v${version}"; 17 - hash = "sha256-T13r41ygQNmEBCwTKyCocQbGcyJSQ8lvmRllbxU512Y="; 17 + hash = "sha256-pV7Fd+Ir+ZqteM0In/NiZrAyvPFS+oOnONhGVeBzA2g="; 18 18 }; 19 19 20 20 proxyVendor = true; 21 - vendorHash = "sha256-/DXdPL98Y4peF3USV9/J4sT/TUTRp3Cds500kxb18QA="; 21 + vendorHash = "sha256-ow/XOO8Xc72v6Ue9VHjnPuq+HlqE4YZHw+gJB4x7sKk="; 22 22 23 23 subPackages = [ 24 24 "cmd/bento"
+3
pkgs/by-name/br/brscan5/package.nix
··· 79 79 # driver is hardcoded to look in /opt/brother/scanner/brscan5/models for model metadata. 80 80 # patch it to look in /etc/opt/brother/scanner/models instead, so nixos environment.etc can make it available 81 81 printf '/etc/opt/brother/scanner/models\x00' | dd of=opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 bs=1 seek=${toString patchOffsetBytes} conv=notrunc 82 + 83 + # remove deprecated SYSFS udev rule 84 + sed -i -e '/^SYSFS/d' opt/brother/scanner/brscan5/udev-rules/*.rules 82 85 ''; 83 86 84 87 installPhase = ''
+2 -2
pkgs/by-name/ci/circleci-cli/package.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "circleci-cli"; 10 - version = "0.1.31632"; 10 + version = "0.1.31792"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "CircleCI-Public"; 14 14 repo = pname; 15 15 rev = "v${version}"; 16 - sha256 = "sha256-3ufazu7DuUFp3aBxQ5MPlndECHSjvEIscYjlvE3j9G8="; 16 + sha256 = "sha256-0D0jCBE027zEQI/3iX4nF5ut8PS+nKuKhNf5+buazb8="; 17 17 }; 18 18 19 19 vendorHash = "sha256-H7q373HL6M6ETkXEY5tAwN32rx0eMkqRAAZ4kQf9rKk=";
+6
pkgs/by-name/cl/clash-verge-rev/unwrapped.nix
··· 93 93 openssl 94 94 webkitgtk_4_1 95 95 ]; 96 + 97 + # make sure the .desktop file name does not contain whitespace, 98 + # so that the service can register it as an auto-start item 99 + postInstall = '' 100 + mv $out/share/applications/Clash\ Verge.desktop $out/share/applications/clash-verge.desktop 101 + ''; 96 102 }
+3 -3
pkgs/by-name/cn/cnquery/package.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "cnquery"; 9 - version = "11.53.2"; 9 + version = "11.54.0"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "mondoohq"; 13 13 repo = "cnquery"; 14 14 tag = "v${version}"; 15 - hash = "sha256-nqzlwBGsqGFh6yeqEWXE6MJyyiHwFh8ehaJjDbl+yd0="; 15 + hash = "sha256-w9O3uEgzSe7e6+ij3AGVOVmDemDY8D1I4UcGXKb1B3E="; 16 16 }; 17 17 18 18 subPackages = [ "apps/cnquery" ]; 19 19 20 - vendorHash = "sha256-CNbpMNT9OX7lAbLugS4vUcOHhtqEQcYFYaTe+HjewdA="; 20 + vendorHash = "sha256-iGWdx4bgc4TFZ6opc/W9FfXkn6Xgff8pQjOl5SczgSE="; 21 21 22 22 ldflags = [ 23 23 "-w"
+3 -3
pkgs/by-name/co/cotp/package.nix
··· 8 8 9 9 rustPlatform.buildRustPackage rec { 10 10 pname = "cotp"; 11 - version = "1.9.4"; 11 + version = "1.9.5"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "replydev"; 15 15 repo = "cotp"; 16 16 rev = "v${version}"; 17 - hash = "sha256-O9qss8vxsGyBWaCTt3trjnFVol5ib/G7IZIj742A/XI="; 17 + hash = "sha256-Jv5BT7P/OXLkkfrEf+8x2IrACMhqr3zpbcKX8I/TzDc="; 18 18 }; 19 19 20 20 useFetchCargoVendor = true; 21 - cargoHash = "sha256-Y8kGOeDKjdG+5zuA1mDx4h5IbKETjZU+SiFWiUv3xkw="; 21 + cargoHash = "sha256-9iZyi3TPnqRpt+SRI3t7kwwiGpwUjQ0BrLZQY3X383o="; 22 22 23 23 buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxcb ]; 24 24
+2 -2
pkgs/by-name/cp/cpm-cmake/package.nix
··· 6 6 7 7 stdenvNoCC.mkDerivation (finalAttrs: { 8 8 pname = "cpm-cmake"; 9 - version = "0.41.0"; 9 + version = "0.42.0"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "cpm-cmake"; 13 13 repo = "cpm.cmake"; 14 14 rev = "v${finalAttrs.version}"; 15 - hash = "sha256-sQHDZD2/BBlBXlPeY094dNkJNw+CF00FBvezYA5zxXg="; 15 + hash = "sha256-IA13qA/b+owlrqbVAkhd4rS98/XB5RNONiJaPwjDm+A="; 16 16 }; 17 17 18 18 postPatch = ''
+3 -3
pkgs/by-name/ct/ctlptl/package.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "ctlptl"; 10 - version = "0.8.40"; 10 + version = "0.8.41"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "tilt-dev"; 14 14 repo = pname; 15 15 rev = "v${version}"; 16 - hash = "sha256-O6oAkYzkBUecwAcLjPIR7D/k4REWND8TWdstPNVJ0MU="; 16 + hash = "sha256-PjTgXjA3lP4tzkcnWt711DJtu5/2zR+a2yyYmzf5WvE="; 17 17 }; 18 18 19 - vendorHash = "sha256-1BrohvN3Eefuy2y7pjdwhzFQG9YLr9X/CLbOeTBZkjY="; 19 + vendorHash = "sha256-EYpPZvAhKsKguvDousIs9BTD8fnCcZql3IktKf92wxs="; 20 20 21 21 nativeBuildInputs = [ installShellFiles ]; 22 22
+2 -2
pkgs/by-name/de/dependabot-cli/package.nix
··· 11 11 }: 12 12 let 13 13 pname = "dependabot-cli"; 14 - version = "1.63.0"; 14 + version = "1.64.0"; 15 15 16 16 # vv Also update this vv 17 17 tag = "nixpkgs-dependabot-cli-${version}"; ··· 47 47 owner = "dependabot"; 48 48 repo = "cli"; 49 49 rev = "v${version}"; 50 - hash = "sha256-lk0AEFQYemr4wP7JXx5mPzzo2VzSJvygPP5vtUvPaxs="; 50 + hash = "sha256-NcmDYCXdhMY1KFz3if0XlX4EisQFr0YhJItllXnOfaA="; 51 51 }; 52 52 53 53 vendorHash = "sha256-pnB1SkuEGm0KfkDfjnoff5fZRsAgD5w2H4UwsD3Jlbo=";
+2 -2
pkgs/by-name/er/ergochat/package.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "ergo"; 10 - version = "2.15.0"; 10 + version = "2.16.0"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "ergochat"; 14 14 repo = "ergo"; 15 15 rev = "v${version}"; 16 - sha256 = "sha256-8qZ5pnbCYN/j8B5cS456HVK2hDGqJwrPo1k4oagJrqU="; 16 + sha256 = "sha256-AUXuH7YjC/yG5Ocs+kAOF8bAR4UVgfx96VDSHEqmqgg="; 17 17 }; 18 18 19 19 vendorHash = null;
+2 -2
pkgs/by-name/gi/git-who/package.nix
··· 5 5 }: 6 6 buildGoModule rec { 7 7 pname = "git-who"; 8 - version = "0.7"; 8 + version = "1.0"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "sinclairtarget"; 12 12 repo = "git-who"; 13 13 rev = "v${version}"; 14 - hash = "sha256-64Hb2+ZCXJis19V0WDyZ0SHZX99Dqxr3UGQTQZSCAp8="; 14 + hash = "sha256-xJHFPf3w+6jh6vPTg4ggq652lANZkBBkKsmkvWx48ZU="; 15 15 }; 16 16 17 17 vendorHash = "sha256-e2P7szjtAn4EFTy+eGi/9cYf/Raw/7O+PbYEOD8i3Hs=";
+2 -2
pkgs/by-name/gi/gitaly/git.nix
··· 10 10 11 11 stdenv.mkDerivation rec { 12 12 pname = "gitaly-git"; 13 - version = "2.48.1.gl1"; 13 + version = "2.49.0.gl2"; 14 14 15 15 # `src` attribute for nix-update 16 16 src = fetchFromGitLab { 17 17 owner = "gitlab-org"; 18 18 repo = "git"; 19 19 rev = "v${version}"; 20 - hash = "sha256-j7yKImeRerdsYtSMrAU4y5vAJ2BT5wnJxURbDIwVot4="; 20 + hash = "sha256-1y94T5UBG7s76ENsUmaXRXngSKmqIAT0nq1u+QjSWaY="; 21 21 }; 22 22 23 23 # we actually use the gitaly build system
+3 -3
pkgs/by-name/gi/gitaly/package.nix
··· 7 7 }: 8 8 9 9 let 10 - version = "17.11.2"; 10 + version = "18.0.0"; 11 11 package_version = "v${lib.versions.major version}"; 12 12 gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}"; 13 13 ··· 21 21 owner = "gitlab-org"; 22 22 repo = "gitaly"; 23 23 rev = "v${version}"; 24 - hash = "sha256-Ihw3Mezfz9H19oGM7X9B50aUbyh1JjDOmVU5ZNoiWug="; 24 + hash = "sha256-IhFKEBYCEORLPEplPDRdV61kY5ZgFAxJmfmoG9Q58ec="; 25 25 }; 26 26 27 - vendorHash = "sha256-ExqgxukFKXq/Z//hGSoDevfpJiNbVHhind63os1/3Fk="; 27 + vendorHash = "sha256-PXONynRY5ZLQO2yQdtljDmLhVBIgfEYmyez9pIm9vtw="; 28 28 29 29 ldflags = [ 30 30 "-X ${gitaly_package}/internal/version.version=${version}"
+3 -3
pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "gitlab-elasticsearch-indexer"; 11 - version = "5.5.0"; 11 + version = "5.5.1"; 12 12 13 13 # nixpkgs-update: no auto update 14 14 src = fetchFromGitLab { 15 15 owner = "gitlab-org"; 16 16 repo = "gitlab-elasticsearch-indexer"; 17 17 rev = "v${version}"; 18 - hash = "sha256-b2kXp77pb9MXMRJsbDdNOXub8eZbZkHRwu/Ru0Voi60="; 18 + hash = "sha256-N2H9jLpsP39nKrokWwphAspQwXcL3stAdvNVItIHFyo="; 19 19 }; 20 20 21 - vendorHash = "sha256-9T8LbMROLcQYm9cT32Uc6Cuxwt9OYj3WzSYFgSQg1HQ="; 21 + vendorHash = "sha256-Go02W09799Vu9v7y+P7z1gj7ijG3No5AVprRrmspPZE="; 22 22 23 23 buildInputs = [ icu ]; 24 24 nativeBuildInputs = [ pkg-config ];
+3 -3
pkgs/by-name/gi/gitlab-pages/package.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "gitlab-pages"; 9 - version = "17.11.2"; 9 + version = "18.0.0"; 10 10 11 11 # nixpkgs-update: no auto update 12 12 src = fetchFromGitLab { 13 13 owner = "gitlab-org"; 14 14 repo = "gitlab-pages"; 15 15 rev = "v${version}"; 16 - hash = "sha256-tnswEoocMZXBrS+5toV8IOVs8HcNrTG320ebQqB3XiQ="; 16 + hash = "sha256-c2y11lMeHBi62Ql63HGolF454GkFp7UCErHGk5Bvgvw="; 17 17 }; 18 18 19 - vendorHash = "sha256-jCuLRXr7WHGxbXVg2JB1vp9WiNaLgsIJ6GJSS4QrlwY="; 19 + vendorHash = "sha256-BjCwPt1duDINHP7L0qT2KNTjOZ62bWgVij88ztjjyPg="; 20 20 subPackages = [ "." ]; 21 21 22 22 meta = with lib; {
+15
pkgs/by-name/gi/gitlab/data.json
··· 1 + { 2 + "version": "18.0.0", 3 + "repo_hash": "03x2ypyn7kkald6pzvzh19cmlr6km9fdssw823565rd1kikywb87", 4 + "yarn_hash": "0vv09y1pjcm2723jh842pgnmnrf4yqk7558v57dp08rxrqnsni5x", 5 + "owner": "gitlab-org", 6 + "repo": "gitlab", 7 + "rev": "v18.0.0-ee", 8 + "passthru": { 9 + "GITALY_SERVER_VERSION": "18.0.0", 10 + "GITLAB_PAGES_VERSION": "18.0.0", 11 + "GITLAB_SHELL_VERSION": "14.41.0", 12 + "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.5.1", 13 + "GITLAB_WORKHORSE_VERSION": "18.0.0" 14 + } 15 + }
+421
pkgs/by-name/gi/gitlab/update.py
··· 1 + #!/usr/bin/env nix-shell 2 + #! nix-shell -I nixpkgs=../../../.. -i python3 -p bundix bundler nix-update nix python3 python3Packages.requests python3Packages.click python3Packages.click-log python3Packages.packaging prefetch-yarn-deps git 3 + 4 + import click 5 + import click_log 6 + import re 7 + import logging 8 + import subprocess 9 + import json 10 + import pathlib 11 + import tempfile 12 + from packaging.version import Version 13 + from typing import Iterable 14 + 15 + import requests 16 + 17 + NIXPKGS_PATH = pathlib.Path(__file__).parent / "../../../../" 18 + GITLAB_DIR = pathlib.Path(__file__).parent 19 + 20 + logger = logging.getLogger(__name__) 21 + click_log.basic_config(logger) 22 + 23 + 24 + class GitLabRepo: 25 + version_regex = re.compile(r"^v\d+\.\d+\.\d+(\-rc\d+)?(\-ee)?(\-gitlab)?") 26 + 27 + def __init__(self, owner: str = "gitlab-org", repo: str = "gitlab"): 28 + self.owner = owner 29 + self.repo = repo 30 + 31 + @property 32 + def url(self): 33 + return f"https://gitlab.com/{self.owner}/{self.repo}" 34 + 35 + @property 36 + def tags(self) -> Iterable[str]: 37 + """Returns a sorted list of repository tags""" 38 + r = requests.get(self.url + "/refs?sort=updated_desc&ref=master").json() 39 + tags = r.get("Tags", []) 40 + 41 + # filter out versions not matching version_regex 42 + versions = list(filter(self.version_regex.match, tags)) 43 + 44 + # sort, but ignore v, -ee and -gitlab for sorting comparisons 45 + versions.sort( 46 + key=lambda x: Version( 47 + x.replace("v", "").replace("-ee", "").replace("-gitlab", "") 48 + ), 49 + reverse=True, 50 + ) 51 + return versions 52 + def get_git_hash(self, rev: str): 53 + return ( 54 + subprocess.check_output( 55 + [ 56 + "nix-prefetch-url", 57 + "--unpack", 58 + f"https://gitlab.com/{self.owner}/{self.repo}/-/archive/{rev}/{self.repo}-{rev}.tar.gz", 59 + ] 60 + ) 61 + .decode("utf-8") 62 + .strip() 63 + ) 64 + 65 + def get_yarn_hash(self, rev: str): 66 + with tempfile.TemporaryDirectory() as tmp_dir: 67 + with open(tmp_dir + "/yarn.lock", "w") as f: 68 + f.write(self.get_file("yarn.lock", rev)) 69 + return ( 70 + subprocess.check_output(["prefetch-yarn-deps", tmp_dir + "/yarn.lock"]) 71 + .decode("utf-8") 72 + .strip() 73 + ) 74 + 75 + @staticmethod 76 + def rev2version(tag: str) -> str: 77 + """ 78 + normalize a tag to a version number. 79 + This obviously isn't very smart if we don't pass something that looks like a tag 80 + :param tag: the tag to normalize 81 + :return: a normalized version number 82 + """ 83 + # strip v prefix 84 + version = re.sub(r"^v", "", tag) 85 + # strip -ee and -gitlab suffixes 86 + return re.sub(r"-(ee|gitlab)$", "", version) 87 + 88 + def get_file(self, filepath, rev): 89 + """ 90 + returns file contents at a given rev 91 + :param filepath: the path to the file, relative to the repo root 92 + :param rev: the rev to fetch at 93 + :return: 94 + """ 95 + return requests.get(self.url + f"/raw/{rev}/{filepath}").text 96 + 97 + def get_data(self, rev): 98 + version = self.rev2version(rev) 99 + 100 + passthru = { 101 + v: self.get_file(v, rev).strip() 102 + for v in [ 103 + "GITALY_SERVER_VERSION", 104 + "GITLAB_PAGES_VERSION", 105 + "GITLAB_SHELL_VERSION", 106 + "GITLAB_ELASTICSEARCH_INDEXER_VERSION", 107 + ] 108 + } 109 + passthru["GITLAB_WORKHORSE_VERSION"] = version 110 + 111 + return dict( 112 + version=self.rev2version(rev), 113 + repo_hash=self.get_git_hash(rev), 114 + yarn_hash=self.get_yarn_hash(rev), 115 + owner=self.owner, 116 + repo=self.repo, 117 + rev=rev, 118 + passthru=passthru, 119 + ) 120 + 121 + 122 + def _get_data_json(): 123 + data_file_path = pathlib.Path(__file__).parent / "data.json" 124 + with open(data_file_path, "r") as f: 125 + return json.load(f) 126 + 127 + 128 + def _call_nix_update(pkg, version): 129 + """calls nix-update from nixpkgs root dir""" 130 + return subprocess.check_output( 131 + ["nix-update", pkg, "--version", version], cwd=NIXPKGS_PATH 132 + ) 133 + 134 + 135 + @click_log.simple_verbosity_option(logger) 136 + @click.group() 137 + def cli(): 138 + pass 139 + 140 + 141 + @cli.command("update-data") 142 + @click.option("--rev", default="latest", help="The rev to use (vX.Y.Z-ee), or 'latest'") 143 + def update_data(rev: str): 144 + """Update data.json""" 145 + logger.info("Updating data.json") 146 + 147 + repo = GitLabRepo() 148 + if rev == "latest": 149 + # filter out pre and rc releases 150 + rev = next(filter(lambda x: not ("rc" in x or x.endswith("pre")), repo.tags)) 151 + 152 + data_file_path = pathlib.Path(__file__).parent / "data.json" 153 + 154 + data = repo.get_data(rev) 155 + 156 + with open(data_file_path.as_posix(), "w") as f: 157 + json.dump(data, f, indent=2) 158 + f.write("\n") 159 + 160 + 161 + @cli.command("update-rubyenv") 162 + def update_rubyenv(): 163 + """Update rubyEnv""" 164 + logger.info("Updating gitlab") 165 + repo = GitLabRepo() 166 + rubyenv_dir = pathlib.Path(__file__).parent / "rubyEnv" 167 + 168 + # load rev from data.json 169 + data = _get_data_json() 170 + rev = data["rev"] 171 + version = data["version"] 172 + 173 + for fn in ["Gemfile.lock", "Gemfile"]: 174 + with open(rubyenv_dir / fn, "w") as f: 175 + f.write(repo.get_file(fn, rev)) 176 + 177 + # update to 1.2.9 to include https://gitlab.com/gitlab-org/ruby/gems/prometheus-client-mmap/-/commit/5d77f3f3e048834250589b416c6b3d4bba65a570 178 + subprocess.check_output( 179 + ["sed", "-i", "s:'prometheus-client-mmap', '~> 1.2.8':'prometheus-client-mmap', '~> 1.2.9':g", "Gemfile"], 180 + cwd=rubyenv_dir, 181 + ) 182 + 183 + # Un-vendor sidekiq 184 + # 185 + # The sidekiq dependency was vendored to maintain compatibility with Redis 6.0 (as 186 + # stated in this [comment]) but unfortunately, it seems to cause a crash in the 187 + # application, as noted in this [upstream issue]. 188 + # 189 + # We can safely swap out the dependency, as our Redis release in nixpkgs is >= 7.0. 190 + # 191 + # [comment]: https://gitlab.com/gitlab-org/gitlab/-/issues/468435#note_1979750600 192 + # [upstream issue]: https://gitlab.com/gitlab-org/gitlab/-/issues/468435 193 + subprocess.check_output( 194 + ["sed", "-i", "s|gem 'sidekiq', path: 'vendor/gems/sidekiq', require: 'sidekiq'|gem 'sidekiq', '~> 7.3.9'|g", "Gemfile"], 195 + cwd=rubyenv_dir, 196 + ) 197 + 198 + # Fetch vendored dependencies temporarily in order to build the gemset.nix 199 + subprocess.check_output(["mkdir", "-p", "vendor/gems", "gems"], cwd=rubyenv_dir) 200 + subprocess.check_output( 201 + [ 202 + "sh", 203 + "-c", 204 + f"curl -L https://gitlab.com/gitlab-org/gitlab/-/archive/v{version}-ee/gitlab-v{version}-ee.tar.bz2?path=vendor/gems | tar -xj --strip-components=3", 205 + ], 206 + cwd=f"{rubyenv_dir}/vendor/gems", 207 + ) 208 + subprocess.check_output( 209 + [ 210 + "sh", 211 + "-c", 212 + f"curl -L https://gitlab.com/gitlab-org/gitlab/-/archive/v{version}-ee/gitlab-v{version}-ee.tar.bz2?path=gems | tar -xj --strip-components=2", 213 + ], 214 + cwd=f"{rubyenv_dir}/gems", 215 + ) 216 + 217 + # Undo our gemset.nix patches so that bundix runs through 218 + subprocess.check_output( 219 + ["sed", "-i", "-e", "s|\\${src}/||g", "gemset.nix"], cwd=rubyenv_dir 220 + ) 221 + subprocess.check_output( 222 + ["sed", "-i", "-e", "s|^src:[[:space:]]||g", "gemset.nix"], cwd=rubyenv_dir 223 + ) 224 + 225 + subprocess.check_output(["bundle", "lock"], cwd=rubyenv_dir) 226 + subprocess.check_output(["bundix"], cwd=rubyenv_dir) 227 + 228 + subprocess.check_output( 229 + [ 230 + "sed", 231 + "-i", 232 + "-e", 233 + "1c\\src: {", 234 + "-e", 235 + 's:path = \\(vendor/[^;]*\\);:path = "${src}/\\1";:g', 236 + "-e", 237 + 's:path = \\(gems/[^;]*\\);:path = "${src}/\\1";:g', 238 + "gemset.nix", 239 + ], 240 + cwd=rubyenv_dir, 241 + ) 242 + subprocess.check_output(["rm", "-rf", "vendor", "gems"], cwd=rubyenv_dir) 243 + 244 + # Reformat gemset.nix 245 + subprocess.check_output(["nix-shell", "--run", "treefmt pkgs/by-name/gi/gitlab"], cwd=NIXPKGS_PATH) 246 + 247 + 248 + @cli.command("update-gitaly") 249 + def update_gitaly(): 250 + """Update gitaly""" 251 + logger.info("Updating gitaly") 252 + data = _get_data_json() 253 + gitaly_server_version = data['passthru']['GITALY_SERVER_VERSION'] 254 + repo = GitLabRepo(repo="gitaly") 255 + gitaly_dir = pathlib.Path(__file__).parent / 'gitaly' 256 + 257 + makefile = repo.get_file("Makefile", f"v{gitaly_server_version}") 258 + makefile += "\nprint-%:;@echo $($*)\n" 259 + 260 + git_version = subprocess.run(["make", "-f", "-", "print-GIT_VERSION"], check=True, input=makefile, text=True, capture_output=True).stdout.strip() 261 + 262 + _call_nix_update("gitaly", gitaly_server_version) 263 + _call_nix_update("gitaly.git", git_version) 264 + 265 + 266 + @cli.command("update-gitlab-pages") 267 + def update_gitlab_pages(): 268 + """Update gitlab-pages""" 269 + logger.info("Updating gitlab-pages") 270 + data = _get_data_json() 271 + gitlab_pages_version = data["passthru"]["GITLAB_PAGES_VERSION"] 272 + _call_nix_update("gitlab-pages", gitlab_pages_version) 273 + 274 + 275 + def get_container_registry_version() -> str: 276 + """Returns the version attribute of gitlab-container-registry""" 277 + return subprocess.check_output( 278 + [ 279 + "nix", 280 + "--experimental-features", 281 + "nix-command", 282 + "eval", 283 + "-f", 284 + ".", 285 + "--raw", 286 + "gitlab-container-registry.version", 287 + ], 288 + cwd=NIXPKGS_PATH, 289 + ).decode("utf-8") 290 + 291 + 292 + @cli.command("update-gitlab-shell") 293 + def update_gitlab_shell(): 294 + """Update gitlab-shell""" 295 + logger.info("Updating gitlab-shell") 296 + data = _get_data_json() 297 + gitlab_shell_version = data["passthru"]["GITLAB_SHELL_VERSION"] 298 + _call_nix_update("gitlab-shell", gitlab_shell_version) 299 + 300 + 301 + @cli.command("update-gitlab-workhorse") 302 + def update_gitlab_workhorse(): 303 + """Update gitlab-workhorse""" 304 + logger.info("Updating gitlab-workhorse") 305 + data = _get_data_json() 306 + gitlab_workhorse_version = data["passthru"]["GITLAB_WORKHORSE_VERSION"] 307 + _call_nix_update("gitlab-workhorse", gitlab_workhorse_version) 308 + 309 + 310 + @cli.command("update-gitlab-container-registry") 311 + @click.option("--rev", default="latest", help="The rev to use (vX.Y.Z-ee), or 'latest'") 312 + @click.option( 313 + "--commit", is_flag=True, default=False, help="Commit the changes for you" 314 + ) 315 + def update_gitlab_container_registry(rev: str, commit: bool): 316 + """Update gitlab-container-registry""" 317 + logger.info("Updading gitlab-container-registry") 318 + repo = GitLabRepo(repo="container-registry") 319 + old_container_registry_version = get_container_registry_version() 320 + 321 + if rev == "latest": 322 + rev = next(filter(lambda x: not ("rc" in x or x.endswith("pre")), repo.tags)) 323 + 324 + version = repo.rev2version(rev) 325 + _call_nix_update("gitlab-container-registry", version) 326 + if commit: 327 + new_container_registry_version = get_container_registry_version() 328 + commit_container_registry( 329 + old_container_registry_version, new_container_registry_version 330 + ) 331 + 332 + 333 + @cli.command('update-gitlab-elasticsearch-indexer') 334 + def update_gitlab_elasticsearch_indexer(): 335 + """Update gitlab-elasticsearch-indexer""" 336 + data = _get_data_json() 337 + gitlab_elasticsearch_indexer_version = data['passthru']['GITLAB_ELASTICSEARCH_INDEXER_VERSION'] 338 + _call_nix_update('gitlab-elasticsearch-indexer', gitlab_elasticsearch_indexer_version) 339 + 340 + 341 + @cli.command("update-all") 342 + @click.option("--rev", default="latest", help="The rev to use (vX.Y.Z-ee), or 'latest'") 343 + @click.option( 344 + "--commit", is_flag=True, default=False, help="Commit the changes for you" 345 + ) 346 + @click.pass_context 347 + def update_all(ctx, rev: str, commit: bool): 348 + """Update all gitlab components to the latest stable release""" 349 + old_data_json = _get_data_json() 350 + old_container_registry_version = get_container_registry_version() 351 + 352 + ctx.invoke(update_data, rev=rev) 353 + 354 + new_data_json = _get_data_json() 355 + 356 + ctx.invoke(update_rubyenv) 357 + ctx.invoke(update_gitaly) 358 + ctx.invoke(update_gitlab_pages) 359 + ctx.invoke(update_gitlab_shell) 360 + ctx.invoke(update_gitlab_workhorse) 361 + ctx.invoke(update_gitlab_elasticsearch_indexer) 362 + if commit: 363 + commit_gitlab( 364 + old_data_json["version"], new_data_json["version"], new_data_json["rev"] 365 + ) 366 + 367 + ctx.invoke(update_gitlab_container_registry) 368 + if commit: 369 + new_container_registry_version = get_container_registry_version() 370 + commit_container_registry( 371 + old_container_registry_version, new_container_registry_version 372 + ) 373 + 374 + 375 + def commit_gitlab(old_version: str, new_version: str, new_rev: str) -> None: 376 + """Commits the gitlab changes for you""" 377 + subprocess.run( 378 + [ 379 + "git", 380 + "add", 381 + "pkgs/by-name/gi/gitlab", 382 + "pkgs/by-name/gi/gitaly", 383 + "pkgs/by-name/gi/gitlab-elasticsearch-indexer", 384 + "pkgs/by-name/gi/gitlab-pages", 385 + ], 386 + cwd=NIXPKGS_PATH, 387 + ) 388 + subprocess.run( 389 + [ 390 + "git", 391 + "commit", 392 + "--message", 393 + f"""gitlab: {old_version} -> {new_version}\n\nhttps://gitlab.com/gitlab-org/gitlab/-/blob/{new_rev}/CHANGELOG.md""", 394 + ], 395 + cwd=NIXPKGS_PATH, 396 + ) 397 + 398 + 399 + def commit_container_registry(old_version: str, new_version: str) -> None: 400 + """Commits the gitlab-container-registry changes for you""" 401 + subprocess.run( 402 + [ 403 + "git", 404 + "add", 405 + "pkgs/by-name/gi/gitlab-container-registry" 406 + ], 407 + cwd=NIXPKGS_PATH, 408 + ) 409 + subprocess.run( 410 + [ 411 + "git", 412 + "commit", 413 + "--message", 414 + f"gitlab-container-registry: {old_version} -> {new_version}\n\nhttps://gitlab.com/gitlab-org/container-registry/-/blob/v{new_version}-gitlab/CHANGELOG.md", 415 + ], 416 + cwd=NIXPKGS_PATH, 417 + ) 418 + 419 + 420 + if __name__ == "__main__": 421 + cli()
+2 -2
pkgs/by-name/go/goverter/package.nix
··· 6 6 }: 7 7 buildGoModule rec { 8 8 pname = "goverter"; 9 - version = "1.8.2"; 9 + version = "1.8.3"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "jmattheis"; 13 13 repo = "goverter"; 14 14 tag = "v${version}"; 15 - hash = "sha256-f+rTEbr4Cr5PjXZg+E2235opxbakoYkJqEGRtyWrngE="; 15 + hash = "sha256-ytW52raI4MV6cX/ThR6p9hohtngwBYuvSrtOfjnqwXc="; 16 16 }; 17 17 18 18 vendorHash = "sha256-YOtcidMhtQqw/KxY1R3L3XnrhayGQBvHkRdbvYyCQFM=";
+3 -3
pkgs/by-name/h2/h2o/package.nix
··· 23 23 24 24 stdenv.mkDerivation (finalAttrs: { 25 25 pname = "h2o"; 26 - version = "2.3.0.20250430"; 26 + version = "2.3.0.20250519"; 27 27 28 28 src = fetchFromGitHub { 29 29 owner = "h2o"; 30 30 repo = "h2o"; 31 - rev = "f1918a5b9f75f4da9db801b442886cb13b3c7bcd"; 32 - sha256 = "sha256-sfOkyEhlLGmXjYqRoI/8pD6/NBY7q6K9y2vS7qwJmrw="; 31 + rev = "87e2aa634f2c0d9f3d9429f7a3cf273f98db0058"; 32 + sha256 = "sha256-/9YnaOqvYmFme4/mFq8Sx78FMDyGwnErEW45qPVELjU="; 33 33 }; 34 34 35 35 outputs = [
+3 -3
pkgs/by-name/ha/hadolint-sarif/package.nix
··· 7 7 }: 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "hadolint-sarif"; 10 - version = "0.7.0"; 10 + version = "0.8.0"; 11 11 12 12 src = fetchCrate { 13 13 inherit pname version; 14 - hash = "sha256-HPGVqAk1bXzeblTc4AnCLsHB60CKFV8ImO+MFqM10YI="; 14 + hash = "sha256-7xvo194lCQpDtLgwX6rZEkwG3hYTp5czjw4GrEaivsI="; 15 15 }; 16 16 17 17 useFetchCargoVendor = true; 18 - cargoHash = "sha256-1nl5Myr8o1gyvkpsdMVLjZqnLkULOmxUOT0NmVe+0Oo="; 18 + cargoHash = "sha256-R4fGlo65/suNozEzRaQ3k6Ys4CMBheT2+rHZZZuIstM="; 19 19 20 20 nativeInstallCheckInputs = [ versionCheckHook ]; 21 21 doInstallCheck = true;
+3 -3
pkgs/by-name/he/heimdall-proxy/package.nix
··· 4 4 lib, 5 5 }: 6 6 let 7 - version = "0.16.1"; 7 + version = "0.16.2"; 8 8 in 9 9 buildGoModule { 10 10 pname = "heimdall-proxy"; ··· 15 15 owner = "dadrus"; 16 16 repo = "heimdall"; 17 17 tag = "v${version}"; 18 - hash = "sha256-HP2YuipqqToTD44FreKtdJErtF4CWxnMf2JRmjgLuv0="; 18 + hash = "sha256-RzRjcg9GocqXpBh8C34LrSLbSrJWd9y4+YEWJaAD8d0="; 19 19 }; 20 20 21 - vendorHash = "sha256-9AOUgQEhOUzzT+qJLE7NlPqiQDQHJnLOT9JSwpetQXA="; 21 + vendorHash = "sha256-GVUO5a6m85C7JRJ9WBTB7JDHRaiU2Nq3clWQUedKp98="; 22 22 23 23 tags = [ "sqlite" ]; 24 24
+3 -3
pkgs/by-name/in/intentrace/package.nix
··· 5 5 }: 6 6 7 7 let 8 - version = "0.9.7"; 8 + version = "0.9.8"; 9 9 in 10 10 rustPlatform.buildRustPackage { 11 11 inherit version; ··· 15 15 owner = "sectordistrict"; 16 16 repo = "intentrace"; 17 17 tag = "v${version}"; 18 - hash = "sha256-24w5EQ3LQ7OxuVaqoLlUrYi2TmSLAfWGLNrkPcxMQMM="; 18 + hash = "sha256-5QARHw9Z4+wYrxaAuSt9WjGR6qvSWAFIMdNOzE6FqfU="; 19 19 }; 20 20 21 21 useFetchCargoVendor = true; 22 - cargoHash = "sha256-pLGWXwpgTh/7SaDhs63jr+5Fpsiep1tfl9VlCEBrK1s="; 22 + cargoHash = "sha256-m4kLpJeqAvDI8/1gjqRVkbOvyfcLfwi0y2iavvm25jw="; 23 23 24 24 meta = { 25 25 description = "Prettified Linux syscall tracing tool (like strace)";
+2 -2
pkgs/by-name/ip/ipfs-cluster/package.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "ipfs-cluster"; 9 - version = "1.1.3"; 9 + version = "1.1.4"; 10 10 11 11 vendorHash = "sha256-VVejr6B7eDNNQF34PS/PaQ50mBNZgzJS50aNzbLJgCg="; 12 12 ··· 14 14 owner = "ipfs-cluster"; 15 15 repo = "ipfs-cluster"; 16 16 rev = "v${version}"; 17 - hash = "sha256-C3bBtZsDcYy6I0wmaYIDwhmGJVNcWq+rCdi5WHUzvB8="; 17 + hash = "sha256-mdLrLiRNudpQ8i0lvwoNAqhSWJ8VMEC1ZRxXHWHpqLY="; 18 18 }; 19 19 20 20 meta = with lib; {
+2 -2
pkgs/by-name/ja/jai/package.nix
··· 9 9 let 10 10 pname = "jai"; 11 11 minor = "2"; 12 - patch = "011"; 12 + patch = "012"; 13 13 version = "0.${minor}.${patch}"; 14 14 zipName = "jai-beta-${minor}-${patch}.zip"; 15 15 jai = stdenv.mkDerivation { ··· 20 20 nix-store --add-fixed sha256 ${zipName} 21 21 ''; 22 22 name = zipName; 23 - sha256 = "sha256-Du4rTA2g7hjlsUA/hvPY6O6L34e/MmnUN8rzi1jF/dY"; 23 + sha256 = "sha256-1cUEQ+C3qwo3v4E2ioH2NcIH864Cay2dxQT+Yo/fZJ8="; 24 24 }; 25 25 nativeBuildInputs = [ unzip ]; 26 26 buildCommand = "unzip $src -d $out";
+2 -2
pkgs/by-name/ku/kubevpn/package.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "kubevpn"; 10 - version = "2.7.5"; 10 + version = "2.7.11"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "KubeNetworks"; 14 14 repo = "kubevpn"; 15 15 rev = "v${version}"; 16 - hash = "sha256-WB3Qths9Lg48KfmRYg6O+fZIQ97n+Q7LgudT4Npqnl8="; 16 + hash = "sha256-PqKgBJugibgG/4gGBINuFxWAxSYEKRpPXpofiOKmmIs="; 17 17 }; 18 18 19 19 vendorHash = null;
+3 -3
pkgs/by-name/lo/lockbook-desktop/package.nix
··· 18 18 in 19 19 rustPlatform.buildRustPackage rec { 20 20 pname = "lockbook-desktop"; 21 - version = "0.9.22"; 21 + version = "0.9.23"; 22 22 23 23 src = fetchFromGitHub { 24 24 owner = "lockbook"; 25 25 repo = "lockbook"; 26 26 tag = version; 27 - hash = "sha256-akCtnPLJupoo7n3Vfyl37fjCmK4dHB0bt92rie6k0dQ="; 27 + hash = "sha256-1SHAlhcQFuhwiYQReVOILX2T0gufNBojuy/E/EcECNw="; 28 28 }; 29 29 30 30 useFetchCargoVendor = true; 31 - cargoHash = "sha256-xH3GIwh3zaLbpZqvzM+KM+K14fWj241RTwUM7dWRCKA="; 31 + cargoHash = "sha256-TAa/HuRDwRr5GBObcQwxebTiBjRrWeq52HFYT9h6Rq4="; 32 32 33 33 nativeBuildInputs = [ 34 34 pkg-config
+2 -2
pkgs/by-name/ma/matrix-synapse-unwrapped/plugins/synapse-http-antispam.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "synapse-http-antispam"; 13 - version = "0.3.0"; 13 + version = "0.4.0"; 14 14 pyproject = true; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "maunium"; 18 18 repo = "synapse-http-antispam"; 19 19 tag = "v${version}"; 20 - hash = "sha256-wWm23+3o+/nx3xGkyShJm28mDPTbOhPbKgW3WfuB0Ng="; 20 + hash = "sha256-YvgHIZ5Kr9WsX30QN8W5OJ4sxLB7EsLqUmCye3x+JQA="; 21 21 }; 22 22 23 23 build-system = [ hatchling ];
+3 -3
pkgs/by-name/me/melonDS/package.nix
··· 27 27 in 28 28 stdenv.mkDerivation (finalAttrs: { 29 29 pname = "melonDS"; 30 - version = "1.0rc-unstable-2025-04-09"; 30 + version = "1.0rc-unstable-2025-05-15"; 31 31 32 32 src = fetchFromGitHub { 33 33 owner = "melonDS-emu"; 34 34 repo = "melonDS"; 35 - rev = "9ed7e5803e55c5eeb29ec560c8659b38ed331749"; 36 - hash = "sha256-wLCaGnaMYaPjFzYTph16WTdE89j4MFaO4FuIQdH9R80="; 35 + rev = "0e64a06c84f9b9428f8647c2aafde110c9d917f3"; 36 + hash = "sha256-T+AcpAITNALtZbuwY+oh4RnMgjCAi7n2HPyDjFqpQPI="; 37 37 }; 38 38 39 39 nativeBuildInputs = [
+10 -7
pkgs/by-name/mt/mt-st/package.nix
··· 1 1 { 2 2 lib, 3 3 stdenv, 4 - fetchurl, 4 + fetchFromGitHub, 5 5 }: 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "mt-st"; 9 - version = "1.3"; 9 + version = "1.8"; 10 10 11 - src = fetchurl { 12 - url = "https://github.com/iustin/mt-st/releases/download/mt-st-${version}/mt-st-${version}.tar.gz"; 13 - sha256 = "b552775326a327cdcc076c431c5cbc4f4e235ac7c41aa931ad83f94cccb9f6de"; 11 + src = fetchFromGitHub { 12 + owner = "iustin"; 13 + repo = "mt-st"; 14 + tag = "v${version}"; 15 + hash = "sha256-Sl+/v+ko3K4npY/M49H1YDxqOMy923qcAkTohi5Xg70="; 14 16 }; 15 17 16 18 installFlags = [ 17 - "PREFIX=$(out)" 18 - "EXEC_PREFIX=$(out)" 19 + "PREFIX=" 20 + "DESTDIR=$(out)" 21 + "COMPLETIONINSTALLDIR=$(out)/share/bash-completion/completions" 19 22 ]; 20 23 21 24 meta = {
+2 -2
pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/__init__.py
··· 5 5 import sys 6 6 from pathlib import Path 7 7 from subprocess import CalledProcessError, run 8 - from typing import assert_never 8 + from typing import Final, assert_never 9 9 10 10 from . import nix, tmpdir 11 11 from .constants import EXECUTABLE, WITH_NIX_2_18, WITH_REEXEC, WITH_SHELL_FILES ··· 13 13 from .process import Remote, cleanup_ssh 14 14 from .utils import Args, LogFormatter, tabulate 15 15 16 - logger = logging.getLogger() 16 + logger: Final = logging.getLogger() 17 17 logger.setLevel(logging.INFO) 18 18 19 19
+6 -4
pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/constants.py
··· 1 + from typing import Final 2 + 1 3 # Build-time flags 2 4 # Use strings to avoid breaking standalone (e.g.: `python -m nixos_rebuild`) 3 5 # usage 4 - EXECUTABLE = "@executable@" 6 + EXECUTABLE: Final[str] = "@executable@" 5 7 # Use either `== "true"` if the default (e.g.: `python -m nixos_rebuild`) is 6 8 # `False` or `!= "false"` if the default is `True` 7 - WITH_NIX_2_18 = "@withNix218@" != "false" # type: ignore 8 - WITH_REEXEC = "@withReexec@" == "true" # type: ignore 9 - WITH_SHELL_FILES = "@withShellFiles@" == "true" # type: ignore 9 + WITH_NIX_2_18: Final[bool] = "@withNix218@" != "false" 10 + WITH_REEXEC: Final[bool] = "@withReexec@" == "true" 11 + WITH_SHELL_FILES: Final[bool] = "@withShellFiles@" == "true"
+1 -1
pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py
··· 45 45 "--service-type=exec", 46 46 "--unit=nixos-rebuild-switch-to-configuration", 47 47 ] 48 - logger = logging.getLogger(__name__) 48 + logger: Final = logging.getLogger(__name__) 49 49 50 50 51 51 def build(
+73 -9
pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/process.py
··· 1 1 import atexit 2 2 import logging 3 3 import os 4 + import re 4 5 import shlex 5 6 import subprocess 6 7 from collections.abc import Sequence ··· 10 11 11 12 from . import tmpdir 12 13 13 - logger = logging.getLogger(__name__) 14 + logger: Final = logging.getLogger(__name__) 14 15 15 16 SSH_DEFAULT_OPTS: Final = [ 16 17 "-o", ··· 20 21 "-o", 21 22 "ControlPersist=60", 22 23 ] 24 + 25 + type Args = Sequence[str | bytes | os.PathLike[str] | os.PathLike[bytes]] 23 26 24 27 25 28 @dataclass(frozen=True) ··· 82 85 83 86 84 87 def run_wrapper( 85 - args: Sequence[str | bytes | os.PathLike[str] | os.PathLike[bytes]], 88 + args: Args, 86 89 *, 87 90 check: bool = True, 88 91 extra_env: dict[str, str] | None = None, ··· 93 96 "Wrapper around `subprocess.run` that supports extra functionality." 94 97 env = None 95 98 process_input = None 99 + run_args = args 100 + 96 101 if remote: 97 102 if extra_env: 98 103 extra_env_args = [f"{env}={value}" for env, value in extra_env.items()] ··· 103 108 process_input = remote.sudo_password + "\n" 104 109 else: 105 110 args = ["sudo", *args] 106 - args = [ 111 + run_args = [ 107 112 "ssh", 108 113 *remote.opts, 109 114 *SSH_DEFAULT_OPTS, ··· 119 124 if extra_env: 120 125 env = os.environ | extra_env 121 126 if sudo: 122 - args = ["sudo", *args] 127 + run_args = ["sudo", *run_args] 123 128 124 129 logger.debug( 125 130 "calling run with args=%r, kwargs=%r, extra_env=%r", 126 - args, 131 + run_args, 127 132 kwargs, 128 133 extra_env, 129 134 ) 130 135 131 136 try: 132 137 r = subprocess.run( 133 - args, 138 + run_args, 134 139 check=check, 135 140 env=env, 136 141 input=process_input, 137 - # Hope nobody is using NixOS with non-UTF8 encodings, but "surrogateescape" 138 - # should still work in those systems. 142 + # Hope nobody is using NixOS with non-UTF8 encodings, but 143 + # "surrogateescape" should still work in those systems. 139 144 text=True, 140 145 errors="surrogateescape", 141 146 **kwargs, 142 147 ) 143 148 144 149 if kwargs.get("capture_output") or kwargs.get("stderr") or kwargs.get("stdout"): 145 - logger.debug("captured output stdout=%r, stderr=%r", r.stdout, r.stderr) 150 + logger.debug( 151 + "captured output with stdout=%r, stderr=%r", r.stdout, r.stderr 152 + ) 146 153 147 154 return r 155 + except KeyboardInterrupt: 156 + # sudo commands are activation only and unlikely to be long running 157 + if remote and not sudo: 158 + _kill_long_running_ssh_process(args, remote) 159 + raise 148 160 except subprocess.CalledProcessError: 149 161 if sudo and remote and remote.sudo_password is None: 150 162 logger.error( ··· 152 164 + "--ask-sudo-password?" 153 165 ) 154 166 raise 167 + 168 + 169 + # SSH does not send the signals to the process when running without usage of 170 + # pseudo-TTY (that causes a whole other can of worms), so if the process is 171 + # long running (e.g.: a build) this will result in the underlying process 172 + # staying alive. 173 + # See: https://stackoverflow.com/a/44354466 174 + # Issue: https://github.com/NixOS/nixpkgs/issues/403269 175 + def _kill_long_running_ssh_process(args: Args, remote: Remote) -> None: 176 + logger.info("cleaning-up remote process, please wait...") 177 + 178 + # We need to escape both the shell and regex here (since pkill interprets 179 + # its arguments as regex) 180 + quoted_args = re.escape(shlex.join(str(a) for a in args)) 181 + logger.debug("killing remote process using pkill with args=%r", quoted_args) 182 + cleanup_interrupted = False 183 + 184 + try: 185 + r = subprocess.run( 186 + [ 187 + "ssh", 188 + *remote.opts, 189 + *SSH_DEFAULT_OPTS, 190 + remote.host, 191 + "--", 192 + "pkill", 193 + "--signal", 194 + "SIGINT", 195 + "--full", 196 + "--", 197 + quoted_args, 198 + ], 199 + check=False, 200 + capture_output=True, 201 + text=True, 202 + ) 203 + logger.debug( 204 + "remote pkill captured output with stdout=%r, stderr=%r, returncode=%s", 205 + r.stdout, 206 + r.stderr, 207 + r.returncode, 208 + ) 209 + except KeyboardInterrupt: 210 + cleanup_interrupted = True 211 + raise 212 + finally: 213 + if cleanup_interrupted or r.returncode: 214 + logger.warning( 215 + "could not clean-up remote process, the command %s may still be running in host '%s'", 216 + args, 217 + remote.host, 218 + )
+31
pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_process.py
··· 96 96 ) 97 97 98 98 99 + @patch(get_qualified_name(p.subprocess.run), autospec=True) 100 + def test__kill_long_running_ssh_process(mock_run: Any) -> None: 101 + p._kill_long_running_ssh_process( 102 + [ 103 + "nix", 104 + "--extra-experimental-features", 105 + "nix-command flakes", 106 + "build", 107 + "/nix/store/la0c8nmpr9xfclla0n4f3qq9iwgdrq4g-nixos-system-sankyuu-nixos-25.05.20250424.f771eb4.drv^*", 108 + ], 109 + m.Remote("user@localhost", opts=[], sudo_password=None), 110 + ) 111 + mock_run.assert_called_with( 112 + [ 113 + "ssh", 114 + *p.SSH_DEFAULT_OPTS, 115 + "user@localhost", 116 + "--", 117 + "pkill", 118 + "--signal", 119 + "SIGINT", 120 + "--full", 121 + "--", 122 + r"nix\ \-\-extra\-experimental\-features\ 'nix\-command\ flakes'\ build\ '/nix/store/la0c8nmpr9xfclla0n4f3qq9iwgdrq4g\-nixos\-system\-sankyuu\-nixos\-25\.05\.20250424\.f771eb4\.drv\^\*'", 123 + ], 124 + check=False, 125 + capture_output=True, 126 + text=True, 127 + ) 128 + 129 + 99 130 def test_remote_from_name(monkeypatch: MonkeyPatch) -> None: 100 131 monkeypatch.setenv("NIX_SSHOPTS", "") 101 132 assert m.Remote.from_arg("user@localhost", None, False) == m.Remote(
+3 -3
pkgs/by-name/nu/nu_scripts/package.nix
··· 7 7 8 8 stdenvNoCC.mkDerivation { 9 9 pname = "nu_scripts"; 10 - version = "0-unstable-2025-05-05"; 10 + version = "0-unstable-2025-05-15"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "nushell"; 14 14 repo = "nu_scripts"; 15 - rev = "4ecbb0e04e0a944145c86ec8bf3e4fc7ca3958a5"; 16 - hash = "sha256-ssqSZnc8YnCB/62eN9KQzf+cm686/NFKcj4M2sd0XxM="; 15 + rev = "b2d512f6c67f68895a26136c6ce552281efbec6e"; 16 + hash = "sha256-iC5Qmyn9vDr4b1BWtJkC3pl2dOam2Se51+ENvRdXlvA="; 17 17 }; 18 18 19 19 installPhase = ''
+3 -3
pkgs/by-name/nw/nwg-drawer/package.nix
··· 13 13 14 14 let 15 15 pname = "nwg-drawer"; 16 - version = "0.6.5"; 16 + version = "0.7.0"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "nwg-piotr"; 20 20 repo = "nwg-drawer"; 21 21 rev = "v${version}"; 22 - hash = "sha256-fWh2htmLIM0IHRYOs8fzrjwq1IRLDJpWniY24BVFtFE="; 22 + hash = "sha256-M0+4/lr79CYBy2+ysB1Wb1obD7B/Qi8MBwNhIsiIDak="; 23 23 }; 24 24 25 - vendorHash = "sha256-iUFOWPr306CteR+5Cz/kE+XoG/qr3BBdM9duZm4TOU4="; 25 + vendorHash = "sha256-1uZTZ7/p1l4Rue3mxlaMRSDfyARo94wR4KIKkQXBUMQ="; 26 26 in 27 27 buildGoModule { 28 28 inherit
+2 -2
pkgs/by-name/op/openvpn3/package.nix
··· 28 28 stdenv.mkDerivation rec { 29 29 pname = "openvpn3"; 30 30 # also update openvpn3-core 31 - version = "24"; 31 + version = "24.1"; 32 32 33 33 src = fetchFromGitHub { 34 34 owner = "OpenVPN"; 35 35 repo = "openvpn3-linux"; 36 36 tag = "v${version}"; 37 - hash = "sha256-e3NRLrznTEolTzMO+kGEh48MCrcEr8p7JG3hG889aK4="; 37 + hash = "sha256-E6SBVPHmejXB18RuNCNq62yWOJslZfIjVbNUdRIk5Sw="; 38 38 # `openvpn3-core` is a submodule. 39 39 # TODO: make it into a separate package 40 40 fetchSubmodules = true;
+3 -3
pkgs/by-name/or/ord/package.nix
··· 8 8 9 9 rustPlatform.buildRustPackage rec { 10 10 pname = "ord"; 11 - version = "0.23.1"; 11 + version = "0.23.2"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "ordinals"; 15 15 repo = "ord"; 16 16 rev = version; 17 - hash = "sha256-jYu9NPvs7nwgiqMCvZlLQqoYESwjKAYlhJ9ehev70EY="; 17 + hash = "sha256-p9WjZ8QsY5fvL91zPUKnK8p0ZJvAxzmPbN/UVWSNjqk="; 18 18 }; 19 19 20 20 useFetchCargoVendor = true; 21 - cargoHash = "sha256-U5bGNgiy98PK2Le5BbzCOAajeEKb/zYTIID1uOE6p3c="; 21 + cargoHash = "sha256-c3+yM7jJyIl2XpSOeqdeQP2OdRc7/t/epDTMoOa/66A="; 22 22 23 23 nativeBuildInputs = [ 24 24 pkg-config
+3 -3
pkgs/by-name/sa/sarif-fmt/package.nix
··· 8 8 }: 9 9 rustPlatform.buildRustPackage rec { 10 10 pname = "sarif-fmt"; 11 - version = "0.7.0"; 11 + version = "0.8.0"; 12 12 13 13 src = fetchCrate { 14 14 inherit pname version; 15 - hash = "sha256-uQQ/UbmyPJbilxP2R+6KyBkf2dzGohN22xCCtU31y0s="; 15 + hash = "sha256-Xc9uc//5wTBWJ89mcaC/4c8/xtTvnu8g2Aa1viUhluo="; 16 16 }; 17 17 18 18 useFetchCargoVendor = true; 19 - cargoHash = "sha256-naABVC4z5tYfe/Y2Gw4wp2Ye9wIF0Wq7jqhelcRQY30="; 19 + cargoHash = "sha256-h4g4+2yiqr3CTkSgv8fTHEVQwSunFfYFhIczSGA+M5U="; 20 20 21 21 # `test_clippy` (the only test we enable) is broken on Darwin 22 22 # because `--enable-profiler` is not enabled in rustc on Darwin
-32
pkgs/by-name/sd/SDL2_classic/find-headers.patch
··· 1 - diff --git a/sdl2-config.cmake.in b/sdl2-config.cmake.in 2 - index db864aab9..b94e16043 100644 3 - --- a/sdl2-config.cmake.in 4 - +++ b/sdl2-config.cmake.in 5 - @@ -26,7 +26,9 @@ set_and_check(SDL2_EXEC_PREFIX "${exec_prefix}") 6 - set_and_check(SDL2_BINDIR "${bindir}") 7 - set_and_check(SDL2_INCLUDE_DIR "${includedir}/SDL2") 8 - set_and_check(SDL2_LIBDIR "${libdir}") 9 - -set(SDL2_INCLUDE_DIRS "${includedir};${SDL2_INCLUDE_DIR}") 10 - + 11 - +set(SDL2_INCLUDE_DIRS "${includedir};${SDL2_INCLUDE_DIR}" $ENV{SDL2_PATH}) 12 - +separate_arguments(SDL2_INCLUDE_DIRS) 13 - 14 - set(SDL2_LIBRARIES SDL2::SDL2) 15 - set(SDL2_STATIC_LIBRARIES SDL2::SDL2-static) 16 - diff --git a/sdl2-config.in b/sdl2-config.in 17 - index f6eca7668..c0cd94590 100644 18 - --- a/sdl2-config.in 19 - +++ b/sdl2-config.in 20 - @@ -46,7 +46,11 @@ while test $# -gt 0; do 21 - echo @SDL_VERSION@ 22 - ;; 23 - --cflags) 24 - - echo -I@includedir@/SDL2 @SDL_CFLAGS@ 25 - + SDL_CFLAGS="" 26 - + for i in @includedir@/SDL2 $SDL2_PATH; do 27 - + SDL_CFLAGS="$SDL_CFLAGS -I$i" 28 - + done 29 - + echo $SDL_CFLAGS @SDL_CFLAGS@ 30 - ;; 31 - @ENABLE_SHARED_TRUE@ --libs) 32 - @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
-231
pkgs/by-name/sd/SDL2_classic/package.nix
··· 1 - { 2 - lib, 3 - stdenv, 4 - config, 5 - fetchFromGitHub, 6 - nix-update-script, 7 - pkg-config, 8 - mesa, 9 - libGLSupported ? lib.elem stdenv.hostPlatform.system mesa.meta.platforms, 10 - openglSupport ? libGLSupported, 11 - libGL, 12 - alsaSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 13 - alsa-lib, 14 - x11Support ? !stdenv.hostPlatform.isWindows && !stdenv.hostPlatform.isAndroid, 15 - libX11, 16 - xorgproto, 17 - libICE, 18 - libXi, 19 - libXScrnSaver, 20 - libXcursor, 21 - libXinerama, 22 - libXext, 23 - libXxf86vm, 24 - libXrandr, 25 - waylandSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 26 - wayland, 27 - wayland-protocols, 28 - wayland-scanner, 29 - drmSupport ? false, 30 - libdrm, 31 - libgbm, 32 - libxkbcommon, 33 - dbusSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 34 - dbus, 35 - udevSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 36 - udev, 37 - ibusSupport ? false, 38 - ibus, 39 - libdecorSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 40 - libdecor, 41 - pipewireSupport ? stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 42 - pipewire, # NOTE: must be built with SDL2 without pipewire support 43 - pulseaudioSupport ? 44 - config.pulseaudio or stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAndroid, 45 - libpulseaudio, 46 - audiofile, 47 - libiconv, 48 - withStatic ? stdenv.hostPlatform.isMinGW, 49 - # passthru.tests 50 - testers, 51 - SDL2_classic_ttf, 52 - SDL2_classic_mixer, 53 - SDL2_classic_image, 54 - }: 55 - 56 - # NOTE: When editing this expression see if the same change applies to 57 - # SDL expression too 58 - 59 - stdenv.mkDerivation (finalAttrs: { 60 - pname = "SDL2"; 61 - version = "2.32.6"; 62 - 63 - src = fetchFromGitHub { 64 - owner = "libsdl-org"; 65 - repo = "SDL"; 66 - rev = "release-${finalAttrs.version}"; 67 - hash = "sha256-sXlW+ivDRCNMcZDzZEfOPGvFGU0aE4n/fO+Wxym6GGw="; 68 - }; 69 - dontDisableStatic = if withStatic then 1 else 0; 70 - outputs = [ 71 - "out" 72 - "dev" 73 - ]; 74 - outputBin = "dev"; # sdl-config 75 - 76 - patches = [ 77 - # `sdl2-config --cflags` from Nixpkgs returns include path to just SDL2. 78 - # On a normal distro this is enough for includes from all SDL2* packages to work, 79 - # but on NixOS they're spread across different paths. 80 - # This patch + the setup-hook will ensure that `sdl2-config --cflags` works correctly. 81 - ./find-headers.patch 82 - ]; 83 - 84 - postPatch = '' 85 - # Fix running wayland-scanner for the build platform when cross-compiling. 86 - # See comment here: https://github.com/libsdl-org/SDL/issues/4860#issuecomment-1119003545 87 - substituteInPlace configure \ 88 - --replace '$(WAYLAND_SCANNER)' 'wayland-scanner' 89 - ''; 90 - 91 - strictDeps = true; 92 - 93 - depsBuildBuild = [ pkg-config ]; 94 - 95 - nativeBuildInputs = 96 - [ pkg-config ] 97 - ++ lib.optionals waylandSupport [ 98 - wayland 99 - wayland-scanner 100 - ]; 101 - 102 - dlopenPropagatedBuildInputs = 103 - [ ] 104 - # Propagated for #include <GLES/gl.h> in SDL_opengles.h. 105 - ++ lib.optional (openglSupport && !stdenv.hostPlatform.isDarwin) libGL 106 - # Propagated for #include <X11/Xlib.h> and <X11/Xatom.h> in SDL_syswm.h. 107 - ++ lib.optionals x11Support [ libX11 ]; 108 - 109 - propagatedBuildInputs = 110 - lib.optionals x11Support [ xorgproto ] ++ finalAttrs.dlopenPropagatedBuildInputs; 111 - 112 - dlopenBuildInputs = 113 - lib.optionals alsaSupport [ 114 - alsa-lib 115 - audiofile 116 - ] 117 - ++ lib.optional dbusSupport dbus 118 - ++ lib.optional libdecorSupport libdecor 119 - ++ lib.optional pipewireSupport pipewire 120 - ++ lib.optional pulseaudioSupport libpulseaudio 121 - ++ lib.optional udevSupport udev 122 - ++ lib.optionals waylandSupport [ 123 - wayland 124 - libxkbcommon 125 - ] 126 - ++ lib.optionals x11Support [ 127 - libICE 128 - libXi 129 - libXScrnSaver 130 - libXcursor 131 - libXinerama 132 - libXext 133 - libXrandr 134 - libXxf86vm 135 - ] 136 - ++ lib.optionals drmSupport [ 137 - libdrm 138 - libgbm 139 - ]; 140 - 141 - buildInputs = 142 - [ libiconv ] 143 - ++ finalAttrs.dlopenBuildInputs 144 - ++ lib.optional ibusSupport ibus 145 - ++ lib.optionals waylandSupport [ wayland-protocols ]; 146 - 147 - enableParallelBuilding = true; 148 - 149 - configureFlags = 150 - [ "--disable-oss" ] 151 - ++ lib.optional (!x11Support) "--without-x" 152 - ++ lib.optional alsaSupport "--with-alsa-prefix=${alsa-lib.out}/lib" 153 - ++ lib.optional stdenv.hostPlatform.isWindows "--disable-video-opengles" 154 - ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-sdltest"; 155 - 156 - # We remove libtool .la files when static libs are requested, 157 - # because they make the builds of downstream libs like `SDL_tff` 158 - # fail with `cannot find -lXext, `-lXcursor` etc. linker errors 159 - # because the `.la` files are not pruned if static libs exist 160 - # (see https://github.com/NixOS/nixpkgs/commit/fd97db43bcb05e37f6bb77f363f1e1e239d9de53) 161 - # and they also don't carry the necessary `-L` paths of their 162 - # X11 dependencies. 163 - # For static linking, it is better to rely on `pkg-config` `.pc` 164 - # files. 165 - postInstall = '' 166 - if [ "$dontDisableStatic" -eq "1" ]; then 167 - rm $out/lib/*.la 168 - else 169 - rm $out/lib/*.a 170 - fi 171 - moveToOutput bin/sdl2-config "$dev" 172 - ''; 173 - 174 - # SDL is weird in that instead of just dynamically linking with 175 - # libraries when you `--enable-*` (or when `configure` finds) them 176 - # it `dlopen`s them at runtime. In principle, this means it can 177 - # ignore any missing optional dependencies like alsa, pulseaudio, 178 - # some x11 libs, wayland, etc if they are missing on the system 179 - # and/or work with wide array of versions of said libraries. In 180 - # nixpkgs, however, we don't need any of that. Moreover, since we 181 - # don't have a global ld-cache we have to stuff all the propagated 182 - # libraries into rpath by hand or else some applications that use 183 - # SDL API that requires said libraries will fail to start. 184 - # 185 - # You can grep SDL sources with `grep -rE 'SDL_(NAME|.*_SYM)'` to 186 - # list the symbols used in this way. 187 - postFixup = 188 - let 189 - rpath = lib.makeLibraryPath ( 190 - finalAttrs.dlopenPropagatedBuildInputs ++ finalAttrs.dlopenBuildInputs 191 - ); 192 - in 193 - lib.optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") '' 194 - for lib in $out/lib/*.so* ; do 195 - if ! [[ -L "$lib" ]]; then 196 - patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib" 197 - fi 198 - done 199 - ''; 200 - 201 - setupHook = ./setup-hook.sh; 202 - 203 - passthru = { 204 - inherit openglSupport; 205 - updateScript = nix-update-script { 206 - extraArgs = [ 207 - "--version-regex" 208 - "release-(2\\..*)" 209 - ]; 210 - }; 211 - tests = { 212 - pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 213 - inherit 214 - SDL2_classic_ttf 215 - SDL2_classic_mixer 216 - SDL2_classic_image 217 - ; 218 - }; 219 - }; 220 - 221 - meta = with lib; { 222 - description = "Cross-platform multimedia library"; 223 - mainProgram = "sdl2-config"; 224 - homepage = "http://www.libsdl.org/"; 225 - changelog = "https://github.com/libsdl-org/SDL/releases/tag/release-${finalAttrs.version}"; 226 - license = licenses.zlib; 227 - platforms = platforms.all; 228 - teams = [ lib.teams.sdl ]; 229 - pkgConfigModules = [ "sdl2" ]; 230 - }; 231 - })
-7
pkgs/by-name/sd/SDL2_classic/setup-hook.sh
··· 1 - addSDL2Path () { 2 - if [ -e "$1/include/SDL2" ]; then 3 - export SDL2_PATH="${SDL2_PATH-}${SDL2_PATH:+ }$1/include/SDL2" 4 - fi 5 - } 6 - 7 - addEnvHooks "$hostOffset" addSDL2Path
-13
pkgs/by-name/sd/SDL2_classic_image/package.nix
··· 1 - { 2 - SDL2_image, 3 - SDL2_classic, 4 - enableSTB ? true, 5 - }: 6 - 7 - (SDL2_image.override { 8 - SDL2 = SDL2_classic; 9 - inherit enableSTB; 10 - }).overrideAttrs 11 - { 12 - pname = "SDL2_classic_image"; 13 - }
-11
pkgs/by-name/sd/SDL2_classic_mixer/package.nix
··· 1 - { 2 - SDL2_mixer, 3 - SDL2_classic, 4 - }: 5 - 6 - (SDL2_mixer.override { 7 - SDL2 = SDL2_classic; 8 - }).overrideAttrs 9 - { 10 - pname = "SDL2_classic_mixer"; 11 - }
-11
pkgs/by-name/sd/SDL2_classic_ttf/package.nix
··· 1 - { 2 - SDL2_ttf, 3 - SDL2_classic, 4 - }: 5 - 6 - (SDL2_ttf.override { 7 - SDL2 = SDL2_classic; 8 - }).overrideAttrs 9 - { 10 - pname = "SDL2_classic_ttf"; 11 - }
+3 -3
pkgs/by-name/sh/shellcheck-sarif/package.nix
··· 7 7 }: 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "shellcheck-sarif"; 10 - version = "0.7.0"; 10 + version = "0.8.0"; 11 11 12 12 src = fetchCrate { 13 13 inherit pname version; 14 - hash = "sha256-cgcvl/nlnJtYzTfxbJHJ967zFH8KtWTMZPKGVpH66z0="; 14 + hash = "sha256-G69DiDl78vkPuLodsRTL7dbbIFtNNF/XWuLZpCHKJws="; 15 15 }; 16 16 17 17 useFetchCargoVendor = true; 18 - cargoHash = "sha256-eJzhaLQCniVUmsFgvzLE9Aw1nUq+P9m9wjSH3l8vQxo="; 18 + cargoHash = "sha256-ZA7l7fmQG1wjT8oLVp6w2okPlwfNGQw/7qrH3rRS+0o="; 19 19 20 20 nativeInstallCheckInputs = [ versionCheckHook ]; 21 21 doInstallCheck = true;
+3 -3
pkgs/by-name/si/sing-box/package.nix
··· 12 12 13 13 buildGoModule rec { 14 14 pname = "sing-box"; 15 - version = "1.11.10"; 15 + version = "1.11.11"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "SagerNet"; 19 19 repo = pname; 20 20 rev = "v${version}"; 21 - hash = "sha256-GcoAxfFH/eP97E7tN//LbNCSbEASfzDL5OYHyL54eh8="; 21 + hash = "sha256-hdYYjKBXnTqScYTUCfMmXozDD8GtIorLXnsU2Fmwg/c="; 22 22 }; 23 23 24 - vendorHash = "sha256-7VfAFkdI4XFkMp2GJIzPFSXyUWNwT3o+EN5gI8U/wIQ="; 24 + vendorHash = "sha256-/0pwsZbMbyAFXCrukbNf2RmQjQJ1E/ZUwzrC+5NEZcc="; 25 25 26 26 tags = [ 27 27 "with_quic"
+3 -3
pkgs/by-name/sq/sqldef/package.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "sqldef"; 9 - version = "1.0.6"; 9 + version = "1.0.7"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "sqldef"; 13 13 repo = "sqldef"; 14 14 rev = "v${version}"; 15 - hash = "sha256-tCKJ0iX0cWWdw+RSH15KTVDEcrZhbfZg+dgt/swDSJE="; 15 + hash = "sha256-FDJeRIrx2LS6TQAlm9Kj13O4fccnRG6mYcLwTrOGrOI="; 16 16 }; 17 17 18 18 proxyVendor = true; 19 19 20 - vendorHash = "sha256-1LpDM4XYV2k7d8vFx97AuZSVpClTvNU5ezXnbhOkkP0="; 20 + vendorHash = "sha256-SkYRt/w8/YC6LGoADVRdyYdQw/Lves1rd4tl8lYNSSs="; 21 21 22 22 ldflags = [ 23 23 "-s"
+3 -3
pkgs/by-name/ts/tsukimi/package.nix
··· 22 22 }: 23 23 stdenv.mkDerivation rec { 24 24 pname = "tsukimi"; 25 - version = "0.20.0"; 25 + version = "0.21.0"; 26 26 27 27 src = fetchFromGitHub { 28 28 owner = "tsukinaha"; 29 29 repo = "tsukimi"; 30 30 tag = "v${version}"; 31 - hash = "sha256-OxRxl/+JP3eqxc5b0pb6QbAAHrZgHrq1cawas2UrUro="; 31 + hash = "sha256-FmxNOMYHoQK//v4ZGvJ6vIHKYgMfQm7LTwQV9iEFo0A="; 32 32 }; 33 33 34 34 cargoDeps = rustPlatform.fetchCargoVendor { 35 35 inherit src; 36 - hash = "sha256-kt3otu5N3KAzJT992v80Mbgr0sOoPnonc1+pu5ANIxE="; 36 + hash = "sha256-iH7vCZhCN2/gu2EC+YG/LUL9N/HMMnj7qHqXUdrlAh8="; 37 37 }; 38 38 39 39 nativeBuildInputs = [
+4
pkgs/by-name/tu/tusd/package.nix
··· 18 18 19 19 vendorHash = "sha256-YununGyB72zE0tmqO3BREJeMTjCuy/1fhPHC5r8OLjg="; 20 20 21 + ldflags = [ 22 + "-X github.com/tus/tusd/v2/cmd/tusd/cli.VersionName=v${version}" 23 + ]; 24 + 21 25 # Tests need the path to the binary: 22 26 # https://github.com/tus/tusd/blob/0e52ad650abed02ec961353bb0c3c8bc36650d2c/internal/e2e/e2e_test.go#L37 23 27 preCheck = ''
+2 -2
pkgs/by-name/tw/twitch-dl/package.nix
··· 10 10 11 11 python3Packages.buildPythonApplication rec { 12 12 pname = "twitch-dl"; 13 - version = "3.0.0"; 13 + version = "3.1.0"; 14 14 pyproject = true; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "ihabunek"; 18 18 repo = "twitch-dl"; 19 19 tag = version; 20 - hash = "sha256-/TlJG6Mh8/Ax4bKKR/plhMMY2x6YXwcFP6zjClOPaD8="; 20 + hash = "sha256-Nn/Nwd1KvrkR+uGp8HmRGeBC7E0/Y1EVMpJAp7UDj7Q="; 21 21 }; 22 22 23 23 nativeBuildInputs = [
+27
pkgs/by-name/ud/udevCheckHook/hook.sh
··· 1 + # shellcheck shell=bash 2 + 3 + udevCheckHook() { 4 + runHook preUdevCheck 5 + echo Executing udevCheckPhase 6 + 7 + # as per nixos/modules/services/hardware/udev.nix: 8 + # - both /lib and /etc is valid paths for udev rules 9 + # - udev rules are expected to be part of the $bin output 10 + # However, not all udev rules are actually in $bin (some are in $lib or $out). 11 + # This means we have to actually check all outputs here. 12 + for output in $(getAllOutputNames); do 13 + for path in etc lib ; do 14 + if [ -d "${!output}/$path/udev/rules.d" ]; then 15 + @udevadm@ verify --resolve-names=never --no-style "${!output}/$path/udev/rules.d" 16 + fi 17 + done 18 + done 19 + 20 + runHook postUdevCheck 21 + echo Finished udevCheckPhase 22 + } 23 + 24 + if [[ -z "${dontUdevCheck-}" ]]; then 25 + echo "Using udevCheckHook" 26 + preInstallCheckHooks+=(udevCheckHook) 27 + fi
+16
pkgs/by-name/ud/udevCheckHook/package.nix
··· 1 + { 2 + lib, 3 + makeSetupHook, 4 + systemdMinimal, 5 + }: 6 + 7 + makeSetupHook { 8 + name = "udev-check-hook"; 9 + substitutions = { 10 + udevadm = lib.getExe' systemdMinimal "udevadm"; 11 + }; 12 + meta = { 13 + description = "check validity of udev rules in outputs"; 14 + maintainers = with lib.maintainers; [ grimmauld ]; 15 + }; 16 + } ./hook.sh
+3 -3
pkgs/by-name/us/usacloud/package.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "usacloud"; 11 - version = "1.14.1"; 11 + version = "1.15.0"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "sacloud"; 15 15 repo = "usacloud"; 16 16 tag = "v${version}"; 17 - hash = "sha256-bIVC0pa+54a/OpGKOM3LH7IMZnuYDvfGOMxcIwhHI7U="; 17 + hash = "sha256-HrcUoRqjbP6E/C9PfFYw73XaA5ysNLYqsiifXVnlhe0="; 18 18 }; 19 19 20 - vendorHash = "sha256-m89iw5nk34KkCh8vlnKcwoPQXprUKzETYQNzi2CtX4c="; 20 + vendorHash = "sha256-OIS0QV0t4Y06/B8L48IlftWjzahptaa0PAcxEcRdDPo="; 21 21 22 22 ldflags = [ 23 23 "-s"
+3 -4
pkgs/by-name/ve/vector/package.nix
··· 25 25 26 26 let 27 27 pname = "vector"; 28 - version = "0.46.1"; 28 + version = "0.47.0"; 29 29 in 30 30 rustPlatform.buildRustPackage { 31 31 inherit pname version; ··· 34 34 owner = "vectordotdev"; 35 35 repo = pname; 36 36 rev = "v${version}"; 37 - hash = "sha256-ouPCBaG/wwjIyzXA5PgBRpAtOJ5IuOrS+k4p6/KRzzY="; 37 + hash = "sha256-09CjhSckptXbbTzBneo5aQ76YwLPSacRlsMpexsw54c="; 38 38 }; 39 39 40 - useFetchCargoVendor = true; 41 - cargoHash = "sha256-Bl/dgkoF9Hx1hLt9+kZiyK42GNr+5UGJYy5QZOnHDV4="; 40 + cargoHash = "sha256-9cCqdi65C4JCMP743nhrNmBlJsIFiNPGguyVEEJpGww="; 42 41 43 42 nativeBuildInputs = 44 43 [
+11 -3
pkgs/by-name/ve/veryl/package.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "veryl"; 13 - version = "0.15.0"; 13 + version = "0.16.0"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "veryl-lang"; 17 17 repo = "veryl"; 18 18 rev = "v${version}"; 19 - hash = "sha256-PeRz44agIKDPsgUhjPgm1Pn1oJb7Epyw0oj3xPCkj4k="; 19 + hash = "sha256-KlW5GC5fgUnS6YAb01VEaKv48+yu8VqgAe/5QsilYjs="; 20 20 fetchSubmodules = true; 21 21 }; 22 22 23 23 useFetchCargoVendor = true; 24 - cargoHash = "sha256-PD1S9h4cGGgfRBB0iZzY7GRTeclRhwWLrxvNVEs8OJY="; 24 + cargoHash = "sha256-HKDkV2eDjhfuky2ORdKwbyBa/kt1gEqK55AibKg5VYE="; 25 25 26 26 nativeBuildInputs = [ 27 27 pkg-config ··· 60 60 "--skip=path::directory_target" 61 61 "--skip=path::source_directory" 62 62 "--skip=path::source_target" 63 + "--skip=path::rootdir_directory_directory" 64 + "--skip=path::rootdir_directory_target" 65 + "--skip=path::rootdir_source_directory" 66 + "--skip=path::rootdir_source_target" 67 + "--skip=path::subdir_directory_directory" 68 + "--skip=path::subdir_directory_target" 69 + "--skip=path::subdir_source_directory" 70 + "--skip=path::subdir_source_target" 63 71 ]; 64 72 65 73 meta = {
+3 -3
pkgs/by-name/wa/wait4x/package.nix
··· 5 5 }: 6 6 let 7 7 pname = "wait4x"; 8 - version = "3.3.0"; 8 + version = "3.3.1"; 9 9 in 10 10 buildGoModule { 11 11 inherit pname version; ··· 14 14 owner = "wait4x"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - hash = "sha256-QmuBoUHOZf6VKrh00BXFxT2e+gJL1gyv9BnhGaWVAD0="; 17 + hash = "sha256-3s+ug4KqFv1P55eqNfAB2jbSPVzySxlHmkDMuuVlJcQ="; 18 18 }; 19 19 20 - vendorHash = "sha256-EqJDw88BqKfIUE/YoDNoI249covv5bzEcx9ykfUkik8="; 20 + vendorHash = "sha256-dN7R2d7roA6H9wIz2sBaWctD8K6M8nbQbwPc3t/7rlk="; 21 21 22 22 # Tests make network access 23 23 doCheck = false;
+3 -3
pkgs/by-name/yt/ytdownloader/package.nix
··· 12 12 13 13 buildNpmPackage rec { 14 14 pname = "ytDownloader"; 15 - version = "3.19.0"; 15 + version = "3.19.1"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "aandrew-me"; 19 19 repo = "ytDownloader"; 20 20 tag = "v${version}"; 21 - hash = "sha256-Oj462x1oyhaLFbVNr90hKmg0S+BZXUv1DyNdxsc2L7Y="; 21 + hash = "sha256-EweQgKA0CNgiO7q+WTLsUJHpiuRJBQox2FEgjh6CHDQ="; 22 22 }; 23 23 24 - npmDepsHash = "sha256-ZJdPfNndYOWzvJpgra16/tCuWTvPLd4ZhSFualJB00E="; 24 + npmDepsHash = "sha256-moOxzvzBFNqEe2xd2jVyotxaSsIi+F7J6Dwvqp2Bs08="; 25 25 26 26 nativeBuildInputs = [ 27 27 copyDesktopItems
+4 -4
pkgs/by-name/za/zarf/package.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "zarf"; 11 - version = "0.41.0"; 11 + version = "0.54.0"; 12 12 13 13 src = fetchFromGitHub { 14 - owner = "defenseunicorns"; 14 + owner = "zarf-dev"; 15 15 repo = "zarf"; 16 16 rev = "v${version}"; 17 17 hash = "sha256-rY9xWqJ+2Yfs6VRHTF89LmuEruAavDI7MgBm4UFEuBs="; ··· 33 33 "-s" 34 34 "-w" 35 35 "-X" 36 - "github.com/defenseunicorns/zarf/src/config.CLIVersion=${src.rev}" 36 + "github.com/zarf-dev/zarf/src/config.CLIVersion=${src.rev}" 37 37 "-X" 38 38 "k8s.io/component-base/version.gitVersion=v0.0.0+zarf${src.rev}" 39 39 "-X" ··· 53 53 meta = with lib; { 54 54 description = "DevSecOps for Air Gap & Limited-Connection Systems. https://zarf.dev"; 55 55 mainProgram = "zarf"; 56 - homepage = "https://github.com/defenseunicorns/zarf.git"; 56 + homepage = "https://zarf.dev"; 57 57 license = licenses.asl20; 58 58 maintainers = with maintainers; [ ragingpastry ]; 59 59 };
+2 -2
pkgs/by-name/zk/zk/package.nix
··· 7 7 8 8 buildGoModule rec { 9 9 pname = "zk"; 10 - version = "0.15.0"; 10 + version = "0.15.1"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "zk-org"; 14 14 repo = "zk"; 15 15 rev = "v${version}"; 16 - sha256 = "sha256-aFpn3luIp5tMp9jpBxVCmU+IU9eJg3/5UZFIklauFjI="; 16 + sha256 = "sha256-h4q3GG4DPPEJk2G5JDbUhnHpqEdMAkGYSMs9TS5Goco="; 17 17 }; 18 18 19 19 vendorHash = "sha256-2PlaIw7NaW4pAVIituSVWhssSBKjowLOLuBV/wz829I=";
+4 -1
pkgs/development/libraries/openssl/default.nix
··· 98 98 ++ lib.optional static "etc"; 99 99 setOutputFlags = false; 100 100 separateDebugInfo = 101 - !stdenv.hostPlatform.isDarwin && !(stdenv.hostPlatform.useLLVM or false) && stdenv.cc.isGNU; 101 + !stdenv.hostPlatform.isDarwin 102 + && !stdenv.hostPlatform.isAndroid 103 + && !(stdenv.hostPlatform.useLLVM or false) 104 + && stdenv.cc.isGNU; 102 105 103 106 nativeBuildInputs = 104 107 lib.optional (!stdenv.hostPlatform.isWindows) makeBinaryWrapper
+3 -3
pkgs/development/python-modules/albumentations/default.nix
··· 31 31 32 32 buildPythonPackage rec { 33 33 pname = "albumentations"; 34 - version = "2.0.6"; 34 + version = "2.0.7"; 35 35 pyproject = true; 36 36 37 37 disabled = pythonOlder "3.9"; ··· 40 40 owner = "albumentations-team"; 41 41 repo = "albumentations"; 42 42 tag = version; 43 - hash = "sha256-n00WE8RwwLx/vHRkIrOhrampFPVkPhAkS6zZ4XjEHTk="; 43 + hash = "sha256-3obvlYj+UwniEf+NokJDNqMysCGFXcJdI1Wckdfng2Y="; 44 44 }; 45 45 46 46 patches = [ ··· 88 88 meta = { 89 89 description = "Fast image augmentation library and easy to use wrapper around other libraries"; 90 90 homepage = "https://github.com/albumentations-team/albumentations"; 91 - changelog = "https://github.com/albumentations-team/albumentations/releases/tag/${version}"; 91 + changelog = "https://github.com/albumentations-team/albumentations/releases/tag/${src.tag}"; 92 92 license = lib.licenses.mit; 93 93 maintainers = with lib.maintainers; [ natsukium ]; 94 94 };
+2 -4
pkgs/development/python-modules/apache-beam/default.nix
··· 17 17 yapf, 18 18 19 19 # dependencies 20 - cloudpickle, 21 20 crcmod, 22 21 dill, 23 22 fastavro, ··· 63 62 64 63 buildPythonPackage rec { 65 64 pname = "apache-beam"; 66 - version = "2.63.0"; 65 + version = "2.65.0"; 67 66 pyproject = true; 68 67 69 68 src = fetchFromGitHub { 70 69 owner = "apache"; 71 70 repo = "beam"; 72 71 tag = "v${version}"; 73 - hash = "sha256-ixJstawgU3UGtNKVzkwMCLkdY7QKTbxNe6JJ7vG+vmA="; 72 + hash = "sha256-vDW0PVNep+egIZBe4t8IPwLgsQDmoO4rrA4wUoAHzfg="; 74 73 }; 75 74 76 75 pythonRelaxDeps = [ ··· 109 108 ]; 110 109 111 110 dependencies = [ 112 - cloudpickle 113 111 crcmod 114 112 dill 115 113 fastavro
+2 -2
pkgs/development/python-modules/commitizen/default.nix
··· 31 31 32 32 buildPythonPackage rec { 33 33 pname = "commitizen"; 34 - version = "4.7.0"; 34 + version = "4.7.1"; 35 35 pyproject = true; 36 36 37 37 disabled = pythonOlder "3.8"; ··· 40 40 owner = "commitizen-tools"; 41 41 repo = "commitizen"; 42 42 tag = "v${version}"; 43 - hash = "sha256-fCQtSzOUezd3UE8bktn2cw4qwnl2pM6L7bBgKKFq5AM="; 43 + hash = "sha256-SSj9K1ujwi/KNzugB0mIo0VMOz3WbCQ6X07ztB0JJsU="; 44 44 }; 45 45 46 46 pythonRelaxDeps = [
+3 -3
pkgs/development/python-modules/django-admin-sortable2/default.nix
··· 9 9 }: 10 10 let 11 11 pname = "django-admin-sortable2"; 12 - version = "2.2.6"; 12 + version = "2.2.8"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "jrief"; 16 16 repo = "django-admin-sortable2"; 17 17 tag = version; 18 - hash = "sha256-MIxZ33Q8dHo102zvQqMiOlxtPjkenQQYTRyXJOHdCqE="; 18 + hash = "sha256-T5dppM/o305GCg5uU7re/FdjhXFUyiH/DO2JTVf6Xgg="; 19 19 }; 20 20 21 21 assets = buildNpmPackage { ··· 55 55 meta = { 56 56 description = "Generic drag-and-drop ordering for objects in the Django admin interface"; 57 57 homepage = "https://github.com/jrief/django-admin-sortable2"; 58 - changelog = "https://github.com/jrief/django-admin-sortable2/blob/${version}/CHANGELOG.md"; 58 + changelog = "https://github.com/jrief/django-admin-sortable2/blob/${src.tag}/CHANGELOG.md"; 59 59 license = lib.licenses.mit; 60 60 maintainers = with lib.maintainers; [ sephi ]; 61 61 };
+3 -3
pkgs/development/python-modules/fastbencode/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "fastbencode"; 13 - version = "0.3.1"; 13 + version = "0.3.2"; 14 14 pyproject = true; 15 15 16 - disabled = pythonOlder "3.8"; 16 + disabled = pythonOlder "3.9"; 17 17 18 18 src = fetchPypi { 19 19 inherit pname version; 20 - hash = "sha256-X+DLfRc2iRr2HSreQM6UiUHUbpCLFvU4P1XxJ4SNoZc="; 20 + hash = "sha256-o0wyxQSw7J3hpJk0btJJMjWetGI0sotwl1pQ/fqhSrU="; 21 21 }; 22 22 23 23 build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/gspread/default.nix
··· 13 13 14 14 buildPythonPackage rec { 15 15 pname = "gspread"; 16 - version = "6.2.0"; 16 + version = "6.2.1"; 17 17 format = "pyproject"; 18 18 19 19 disabled = pythonOlder "3.7"; ··· 22 22 owner = "burnash"; 23 23 repo = "gspread"; 24 24 tag = "v${version}"; 25 - hash = "sha256-DTKSH8FtzOXlB7TzNqahDm8PY3ZarpZg8GYQ1kcdfdg="; 25 + hash = "sha256-j7UNti5N8c1mjw+1qTPIRCWJ6M4Ur0P9sG1uJnp170M="; 26 26 }; 27 27 28 28 nativeBuildInputs = [ flit-core ];
+2 -2
pkgs/development/python-modules/hyperscan/default.nix
··· 23 23 in 24 24 buildPythonPackage rec { 25 25 pname = "hyperscan"; 26 - version = "0.7.9"; 26 + version = "0.7.13"; 27 27 pyproject = true; 28 28 29 29 src = fetchFromGitHub { 30 30 owner = "darvid"; 31 31 repo = "python-hyperscan"; 32 32 tag = "v${version}"; 33 - hash = "sha256-tf3dQgY0p+J6GIS8pB3+kvomNVYcbMJ+72T8IVbrnrU="; 33 + hash = "sha256-l97UXuM37WK3XRSoIfQzobkM+3WYp6JUtemn/28mMNk="; 34 34 }; 35 35 36 36 env.CMAKE_ARGS = "-DHS_SRC_ROOT=${pkgs.hyperscan.src} -DHS_BUILD_LIB_ROOT=${lib-deps}/lib";
+1 -1
pkgs/development/python-modules/jupyter-collaboration-ui/default.nix
··· 33 33 # no tests 34 34 doCheck = false; 35 35 36 - passthru.tests = jupyter-collaboration.tests; 36 + passthru.tests = jupyter-collaboration; 37 37 38 38 meta = { 39 39 description = "JupyterLab/Jupyter Notebook 7+ extension providing user interface integration for real time collaboration";
+33 -10
pkgs/development/python-modules/jupyter-collaboration/default.nix
··· 1 1 { 2 2 lib, 3 3 buildPythonPackage, 4 - fetchPypi, 4 + fetchFromGitHub, 5 5 6 6 # build-system 7 7 hatchling, ··· 10 10 jupyter-collaboration-ui, 11 11 jupyter-docprovider, 12 12 jupyter-server-ydoc, 13 + jupyterlab, 13 14 14 15 # tests 15 - callPackage, 16 + dirty-equals, 17 + httpx-ws, 18 + pytest-jupyter, 19 + pytest-timeout, 20 + pytestCheckHook, 21 + writableTmpDirAsHomeHook, 16 22 }: 17 23 18 24 buildPythonPackage rec { 19 25 pname = "jupyter-collaboration"; 20 - version = "3.1.0"; 26 + version = "4.0.2"; 21 27 pyproject = true; 22 28 23 - src = fetchPypi { 24 - pname = "jupyter_collaboration"; 25 - inherit version; 26 - hash = "sha256-BDmG5vzdikFh342XFqk92q/smidKqbUDWEx6gORh7p8="; 29 + src = fetchFromGitHub { 30 + owner = "jupyterlab"; 31 + repo = "jupyter-collaboration"; 32 + tag = "v${version}"; 33 + hash = "sha256-BCvTtrlP45YC9G/m/e8Nvbls7AugIaQzO2Gect1EmGE="; 27 34 }; 28 35 36 + sourceRoot = "${src.name}/projects/jupyter-collaboration"; 37 + 29 38 build-system = [ hatchling ]; 30 39 31 40 dependencies = [ 32 41 jupyter-collaboration-ui 33 42 jupyter-docprovider 34 43 jupyter-server-ydoc 44 + jupyterlab 35 45 ]; 36 46 37 47 pythonImportsCheck = [ "jupyter_collaboration" ]; 38 48 39 - # no tests 40 - doCheck = false; 49 + nativeCheckInputs = [ 50 + dirty-equals 51 + httpx-ws 52 + pytest-jupyter 53 + pytest-timeout 54 + pytestCheckHook 55 + writableTmpDirAsHomeHook 56 + ]; 57 + 58 + pytestFlagsArray = [ 59 + # pytest.PytestCacheWarning: could not create cache path /build/source/.pytest_cache/v/cache/nodeids: [Errno 13] Permission denied: '/build/source/pytest-cache-files-plraagdr' 60 + "-p" 61 + "no:cacheprovider" 62 + "$src/tests" 63 + ]; 41 64 42 - passthru.tests = callPackage ./test.nix { }; 65 + __darwinAllowLocalNetworking = true; 43 66 44 67 meta = { 45 68 description = "JupyterLab Extension enabling Real-Time Collaboration";
-39
pkgs/development/python-modules/jupyter-collaboration/test.nix
··· 1 - { 2 - stdenvNoCC, 3 - fetchFromGitHub, 4 - jupyter-collaboration, 5 - pytest-jupyter, 6 - pytestCheckHook, 7 - websockets, 8 - }: 9 - stdenvNoCC.mkDerivation (finalAttrs: { 10 - pname = "jupyter-collaboration-test"; 11 - inherit (jupyter-collaboration) version; 12 - 13 - src = fetchFromGitHub { 14 - owner = "jupyterlab"; 15 - repo = "jupyter-collaboration"; 16 - rev = "refs/tags/v${finalAttrs.version}"; 17 - hash = "sha256-6hDYB1uC0WraB37s9EKLJF7jyFu0B3xLocuLYyKj4hs="; 18 - }; 19 - 20 - postPatch = '' 21 - substituteInPlace pyproject.toml \ 22 - --replace-fail "timeout = 300" "" 23 - ''; 24 - 25 - installPhase = '' 26 - touch $out 27 - ''; 28 - 29 - env.HOME = "$TMPDIR"; 30 - 31 - doCheck = true; 32 - 33 - nativeCheckInputs = [ 34 - jupyter-collaboration 35 - pytest-jupyter 36 - pytestCheckHook 37 - websockets 38 - ]; 39 - })
+3 -3
pkgs/development/python-modules/jupyter-docprovider/default.nix
··· 9 9 10 10 buildPythonPackage rec { 11 11 pname = "jupyter-docprovider"; 12 - version = "2.0.1"; 12 + version = "2.0.2"; 13 13 pyproject = true; 14 14 15 15 src = fetchPypi { 16 16 pname = "jupyter_docprovider"; 17 17 inherit version; 18 - hash = "sha256-4pyF5HDQ7dP32R+O3QN8DWtvJpQxBBbjWXaRAfs10b4="; 18 + hash = "sha256-vWgNlg6Ydw4va3DlEx3A/M9uE0t54GTrV1ljmlX44TU="; 19 19 }; 20 20 21 21 postPatch = '' ··· 33 33 # no tests 34 34 doCheck = false; 35 35 36 - passthru.tests = jupyter-collaboration.tests; 36 + passthru.tests = jupyter-collaboration; 37 37 38 38 meta = { 39 39 description = "JupyterLab/Jupyter Notebook 7+ extension integrating collaborative shared models";
+1 -1
pkgs/development/python-modules/jupyter-server-ydoc/default.nix
··· 41 41 # no tests 42 42 doCheck = false; 43 43 44 - passthru.tests = jupyter-collaboration.tests; 44 + passthru.tests = jupyter-collaboration; 45 45 46 46 meta = { 47 47 description = "Jupyter-server extension integrating collaborative shared models";
+2
pkgs/development/python-modules/langchain-community/default.nix
··· 111 111 disabledTests = [ 112 112 # requires bs4, aka BeautifulSoup 113 113 "test_importable_all" 114 + # flaky 115 + "test_llm_caching_async" 114 116 ]; 115 117 116 118 disabledTestPaths = [
+80
pkgs/development/python-modules/mlxtend/0001-StackingCVClassifier-fit-ensure-compatibility-with-s.patch
··· 1 + From 1fb59eb42f4bef229b953de313c7e78f0857ea42 Mon Sep 17 00:00:00 2001 2 + From: Philip Wilk <p.wilk@student.reading.ac.uk> 3 + Date: Sun, 23 Mar 2025 16:14:51 +0000 4 + Subject: [PATCH] StackingCVClassifier/fit: ensure compatibility with 5 + *scikit-learn* versions 1.4 and above by dynamically selecting between 6 + `fit_params` and `params` 7 + 8 + --- 9 + mlxtend/classifier/stacking_cv_classification.py | 5 ++++- 10 + mlxtend/regressor/stacking_cv_regression.py | 6 +++++- 11 + 2 files changed, 9 insertions(+), 2 deletions(-) 12 + 13 + diff --git a/mlxtend/classifier/stacking_cv_classification.py b/mlxtend/classifier/stacking_cv_classification.py 14 + index 5bff6907..f4c45b8c 100644 15 + --- a/mlxtend/classifier/stacking_cv_classification.py 16 + +++ b/mlxtend/classifier/stacking_cv_classification.py 17 + @@ -15,6 +15,7 @@ from sklearn.base import TransformerMixin, clone 18 + from sklearn.model_selection import cross_val_predict 19 + from sklearn.model_selection._split import check_cv 20 + from sklearn.preprocessing import LabelEncoder 21 + +from sklearn import __version__ as sklearn_version 22 + 23 + from ..externals.estimator_checks import check_is_fitted 24 + from ..externals.name_estimators import _name_estimators 25 + @@ -266,6 +267,8 @@ class StackingCVClassifier( 26 + if self.verbose > 1: 27 + print(_name_estimators((model,))[0][1]) 28 + 29 + + param_name = "fit_params" if sklearn_version < "1.4" else "params" 30 + + 31 + prediction = cross_val_predict( 32 + model, 33 + X, 34 + @@ -273,10 +276,10 @@ class StackingCVClassifier( 35 + groups=groups, 36 + cv=final_cv, 37 + n_jobs=self.n_jobs, 38 + - fit_params=fit_params, 39 + verbose=self.verbose, 40 + pre_dispatch=self.pre_dispatch, 41 + method="predict_proba" if self.use_probas else "predict", 42 + + **{param_name: fit_params}, 43 + ) 44 + 45 + if not self.use_probas: 46 + diff --git a/mlxtend/regressor/stacking_cv_regression.py b/mlxtend/regressor/stacking_cv_regression.py 47 + index a1faf2ff..d2fb1c49 100644 48 + --- a/mlxtend/regressor/stacking_cv_regression.py 49 + +++ b/mlxtend/regressor/stacking_cv_regression.py 50 + @@ -19,6 +19,7 @@ from sklearn.base import RegressorMixin, TransformerMixin, clone 51 + from sklearn.model_selection import cross_val_predict 52 + from sklearn.model_selection._split import check_cv 53 + from sklearn.utils import check_X_y 54 + +from sklearn import __version__ as sklearn_version 55 + 56 + from ..externals.estimator_checks import check_is_fitted 57 + from ..externals.name_estimators import _name_estimators 58 + @@ -211,6 +212,9 @@ class StackingCVRegressor(_BaseXComposition, RegressorMixin, TransformerMixin): 59 + fit_params = None 60 + else: 61 + fit_params = dict(sample_weight=sample_weight) 62 + + 63 + + param_name = "fit_params" if sklearn_version < "1.4" else "params" 64 + + 65 + meta_features = np.column_stack( 66 + [ 67 + cross_val_predict( 68 + @@ -221,8 +225,8 @@ class StackingCVRegressor(_BaseXComposition, RegressorMixin, TransformerMixin): 69 + cv=kfold, 70 + verbose=self.verbose, 71 + n_jobs=self.n_jobs, 72 + - fit_params=fit_params, 73 + pre_dispatch=self.pre_dispatch, 74 + + **{param_name: fit_params}, 75 + ) 76 + for regr in self.regr_ 77 + ] 78 + -- 79 + 2.47.1 80 +
-109
pkgs/development/python-modules/mlxtend/0001-fix-test-replace-np.float_-to-np.float64.patch
··· 1 - From 360cb75317aecaf6b9abcf24f0577afef75c464e Mon Sep 17 00:00:00 2001 2 - From: wxt <3264117476@qq.com> 3 - Date: Mon, 6 Jan 2025 20:41:27 +0800 4 - Subject: [PATCH] fix(test): replace np.float_ to np.float64 5 - 6 - --- 7 - mlxtend/_base/_regressor.py | 2 +- 8 - mlxtend/_base/tests/test_classifier.py | 2 +- 9 - mlxtend/_base/tests/test_cluster.py | 2 +- 10 - mlxtend/classifier/multilayerperceptron.py | 2 +- 11 - mlxtend/classifier/softmax_regression.py | 2 +- 12 - mlxtend/math/linalg.py | 2 +- 13 - mlxtend/plotting/tests/test_decision_regions.py | 2 +- 14 - 7 files changed, 7 insertions(+), 7 deletions(-) 15 - 16 - diff --git a/mlxtend/_base/_regressor.py b/mlxtend/_base/_regressor.py 17 - index e3d0a1d..1d3a5d6 100644 18 - --- a/mlxtend/_base/_regressor.py 19 - +++ b/mlxtend/_base/_regressor.py 20 - @@ -16,7 +16,7 @@ class _Regressor(object): 21 - pass 22 - 23 - def _check_target_array(self, y, allowed=None): 24 - - if not isinstance(y[0], (float, np.float_)): 25 - + if not isinstance(y[0], (float, np.float64)): 26 - raise AttributeError("y must be a float array.\nFound %s" % y.dtype) 27 - 28 - def fit(self, X, y, init_params=True): 29 - diff --git a/mlxtend/_base/tests/test_classifier.py b/mlxtend/_base/tests/test_classifier.py 30 - index f77f74d..1bbac6d 100644 31 - --- a/mlxtend/_base/tests/test_classifier.py 32 - +++ b/mlxtend/_base/tests/test_classifier.py 33 - @@ -51,7 +51,7 @@ def test_check_labels_not_ok_1(): 34 - 35 - 36 - def test_check_labels_integer_notok(): 37 - - y = np.array([1.0, 2.0], dtype=np.float_) 38 - + y = np.array([1.0, 2.0], dtype=np.float64) 39 - cl = BlankClassifier(print_progress=0, random_seed=1) 40 - with pytest.raises(AttributeError) as excinfo: 41 - cl._check_target_array(y) 42 - diff --git a/mlxtend/_base/tests/test_cluster.py b/mlxtend/_base/tests/test_cluster.py 43 - index 6da1a9d..54c2526 100644 44 - --- a/mlxtend/_base/tests/test_cluster.py 45 - +++ b/mlxtend/_base/tests/test_cluster.py 46 - @@ -51,7 +51,7 @@ def test_check_labels_not_ok_1(): 47 - 48 - 49 - def test_check_labels_integer_notok(): 50 - - y = np.array([1.0, 2.0], dtype=np.float_) 51 - + y = np.array([1.0, 2.0], dtype=np.float64) 52 - cl = BlankClassifier(print_progress=0, random_seed=1) 53 - with pytest.raises(AttributeError) as excinfo: 54 - cl._check_target_array(y) 55 - diff --git a/mlxtend/classifier/multilayerperceptron.py b/mlxtend/classifier/multilayerperceptron.py 56 - index 770dab9..05416c3 100644 57 - --- a/mlxtend/classifier/multilayerperceptron.py 58 - +++ b/mlxtend/classifier/multilayerperceptron.py 59 - @@ -143,7 +143,7 @@ class MultiLayerPerceptron( 60 - prev_grad_b_out = np.zeros(shape=self.b_["out"].shape) 61 - prev_grad_w_out = np.zeros(shape=self.w_["out"].shape) 62 - 63 - - y_enc = self._one_hot(y=y, n_labels=self.n_classes, dtype=np.float_) 64 - + y_enc = self._one_hot(y=y, n_labels=self.n_classes, dtype=np.float64) 65 - 66 - self.init_time_ = time() 67 - 68 - diff --git a/mlxtend/classifier/softmax_regression.py b/mlxtend/classifier/softmax_regression.py 69 - index 56444e5..173154e 100644 70 - --- a/mlxtend/classifier/softmax_regression.py 71 - +++ b/mlxtend/classifier/softmax_regression.py 72 - @@ -141,7 +141,7 @@ class SoftmaxRegression(_BaseModel, _IterativeModel, _Classifier, _MultiClass): 73 - ) 74 - self.cost_ = [] 75 - 76 - - y_enc = self._one_hot(y=y, n_labels=self.n_classes, dtype=np.float_) 77 - + y_enc = self._one_hot(y=y, n_labels=self.n_classes, dtype=np.float64) 78 - 79 - self.init_time_ = time() 80 - rgen = np.random.RandomState(self.random_seed) 81 - diff --git a/mlxtend/math/linalg.py b/mlxtend/math/linalg.py 82 - index 02600f1..ece4c3c 100644 83 - --- a/mlxtend/math/linalg.py 84 - +++ b/mlxtend/math/linalg.py 85 - @@ -45,7 +45,7 @@ def vectorspace_orthonormalization(ary, eps=1e-13): # method='gram-schmidt', 86 - # 2c) Normalize if linearly independent, 87 - # and set to zero otherwise 88 - 89 - - arr = ary.astype(np.float_).copy() 90 - + arr = ary.astype(np.float64).copy() 91 - 92 - for i in range(arr.shape[1]): 93 - for j in range(i): 94 - diff --git a/mlxtend/plotting/tests/test_decision_regions.py b/mlxtend/plotting/tests/test_decision_regions.py 95 - index fba2255..aad63ff 100644 96 - --- a/mlxtend/plotting/tests/test_decision_regions.py 97 - +++ b/mlxtend/plotting/tests/test_decision_regions.py 98 - @@ -94,7 +94,7 @@ def test_y_int_ary(): 99 - "Try passing the array as y.astype(np.int_)", 100 - plot_decision_regions, 101 - X[:, :2], 102 - - y.astype(np.float_), 103 - + y.astype(np.float64), 104 - sr, 105 - ) 106 - 107 - -- 108 - 2.47.0 109 -
+8 -4
pkgs/development/python-modules/mlxtend/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "mlxtend"; 18 - version = "0.23.3"; 18 + version = "0.23.4"; 19 19 pyproject = true; 20 20 21 21 disabled = isPy27; ··· 24 24 owner = "rasbt"; 25 25 repo = "mlxtend"; 26 26 tag = "v${version}"; 27 - hash = "sha256-c6I0dwu4y/Td2G6m2WP/52W4noQUmQMDvpzXA9RZauo="; 27 + hash = "sha256-xoAHYRmqN5SrEWlc18ntTZ6WAznBlVZdf+x5Yev3ysE="; 28 28 }; 29 29 30 30 build-system = [ setuptools ]; ··· 39 39 ]; 40 40 41 41 patches = [ 42 - # https://github.com/rasbt/mlxtend/pull/1119 43 - ./0001-fix-test-replace-np.float_-to-np.float64.patch 42 + # https://github.com/rasbt/mlxtend/issues/1117 43 + ./0001-StackingCVClassifier-fit-ensure-compatibility-with-s.patch 44 44 ]; 45 45 46 46 nativeCheckInputs = [ pytestCheckHook ]; ··· 59 59 "mlxtend/evaluate/tests/test_feature_importance.py" # urlopen error 60 60 "mlxtend/evaluate/tests/test_bias_variance_decomp.py" # keras.api._v2 61 61 "mlxtend/evaluate/tests/test_bootstrap_point632.py" # keras.api._v2 62 + # Failing tests, most likely an upstream issue. See https://github.com/rasbt/mlxtend/issues/1117 63 + "mlxtend/classifier/tests/test_ensemble_vote_classifier.py" 64 + "mlxtend/classifier/tests/test_stacking_classifier.py" 65 + "mlxtend/classifier/tests/test_stacking_cv_classifier.py" 62 66 ]; 63 67 64 68 meta = {
+2 -2
pkgs/development/python-modules/pyathena/default.nix
··· 17 17 18 18 buildPythonPackage rec { 19 19 pname = "pyathena"; 20 - version = "3.13.0"; 20 + version = "3.14.0"; 21 21 pyproject = true; 22 22 23 23 disabled = pythonOlder "3.9"; 24 24 25 25 src = fetchPypi { 26 26 inherit pname version; 27 - hash = "sha256-kzyV/y3xuf3tOMkL1SwkUCvG/I/1eQneTBUG/xbTbLA="; 27 + hash = "sha256-Dgst0gFmHsQwhScz83cIE7B1xbcSKcYslfCGtm3yuh0="; 28 28 }; 29 29 30 30 build-system = [ hatchling ];
+2 -2
pkgs/development/python-modules/sectxt/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "sectxt"; 18 - version = "0.9.6"; 18 + version = "0.9.7"; 19 19 pyproject = true; 20 20 21 21 disabled = pythonOlder "3.7"; ··· 24 24 owner = "DigitalTrustCenter"; 25 25 repo = "sectxt"; 26 26 tag = version; 27 - hash = "sha256-49YxhcOpi1wofKMRuNxt8esBtfaSoBrGu+yBCRFWZYY="; 27 + hash = "sha256-CDVfT3ANb4ugLEvrSRTbkZMvZA6rcEwBu2c3pnjsza8="; 28 28 }; 29 29 30 30 build-system = [ setuptools ];
+9
pkgs/development/python-modules/tensorflow-datasets/default.nix
··· 26 26 apache-beam, 27 27 beautifulsoup4, 28 28 click, 29 + cloudpickle, 29 30 datasets, 30 31 ffmpeg, 31 32 imagemagick, ··· 101 102 apache-beam 102 103 beautifulsoup4 103 104 click 105 + cloudpickle 104 106 datasets 105 107 ffmpeg 106 108 imagemagick ··· 134 136 # AttributeError: 'NoneType' object has no attribute 'Table' 135 137 "--deselect=tensorflow_datasets/core/file_adapters_test.py::test_read_write" 136 138 "--deselect=tensorflow_datasets/text/c4_wsrs/c4_wsrs_test.py::C4WSRSTest" 139 + ]; 140 + 141 + disabledTests = [ 142 + # Since updating apache-beam to 2.65.0 143 + # RuntimeError: Unable to pickle fn CallableWrapperDoFn...: maximum recursion depth exceeded 144 + # https://github.com/tensorflow/datasets/issues/11055 145 + "test_download_and_prepare_as_dataset" 137 146 ]; 138 147 139 148 disabledTestPaths = [
+86
pkgs/servers/sql/postgresql/ext/omnigres.nix
··· 1 + { 2 + brotli, 3 + clang_18, 4 + cmake, 5 + fetchFromGitHub, 6 + flex, 7 + lib, 8 + netcat, 9 + perl, 10 + pkg-config, 11 + postgresql, 12 + postgresqlBuildExtension, 13 + postgresqlTestExtension, 14 + python3, 15 + }: 16 + 17 + let 18 + pgWithExtensions = postgresql.withPackages (ps: [ ps.plpython3 ]); 19 + in 20 + postgresqlBuildExtension (finalAttrs: { 21 + pname = "omnigres"; 22 + version = "0-unstable-2025-05-16"; 23 + 24 + src = fetchFromGitHub { 25 + owner = "omnigres"; 26 + repo = "omnigres"; 27 + rev = "84f14792d80fb6fd60b680b7825245a8e7c5583e"; 28 + hash = "sha256-jOlHXl7ANhMwOPizd5KH+wYZmBNNkkIa9jbXZR8Xu28="; 29 + }; 30 + 31 + strictDeps = true; 32 + 33 + nativeBuildInputs = [ 34 + clang_18 35 + cmake 36 + flex 37 + netcat 38 + pkg-config 39 + perl 40 + python3 41 + ]; 42 + 43 + buildInputs = postgresql.buildInputs ++ [ 44 + brotli 45 + ]; 46 + 47 + cmakeFlags = [ 48 + "-DOPENSSL_CONFIGURED=1" 49 + "-DPG_CONFIG=${pgWithExtensions.pg_config}/bin/pg_config" 50 + "-DPostgreSQL_EXTENSION_DIR=${pgWithExtensions}/share/postgresql/extension/" 51 + "-DPostgreSQL_PACKAGE_LIBRARY_DIR=${pgWithExtensions}/lib/" 52 + "-DPostgreSQL_TARGET_EXTENSION_DIR=${builtins.placeholder "out"}/share/postgresql/extension/" 53 + "-DPostgreSQL_TARGET_PACKAGE_LIBRARY_DIR=${builtins.placeholder "out"}/lib/" 54 + ]; 55 + 56 + enableParallelBuilding = true; 57 + doCheck = false; 58 + 59 + preInstall = '' 60 + patchShebangs script_omni* 61 + mkdir -p $out/lib/ 62 + mkdir -p $out/share/postgresql/extension/ 63 + ''; 64 + 65 + # https://github.com/omnigres/omnigres?tab=readme-ov-file#building--using-extensions 66 + installTargets = [ "install_extensions" ]; 67 + 68 + passthru.tests.extension = postgresqlTestExtension { 69 + inherit (finalAttrs) finalPackage; 70 + sql = '' 71 + -- https://docs.omnigres.org/omni_id/identity_type/#usage 72 + CREATE EXTENSION omni_id; 73 + 74 + SELECT identity_type('user_id'); 75 + ''; 76 + }; 77 + 78 + meta = { 79 + description = "Postgres as a Business Operating System"; 80 + homepage = "https://docs.omnigres.org"; 81 + maintainers = with lib.maintainers; [ mtrsk ]; 82 + platforms = postgresql.meta.platforms; 83 + license = lib.licenses.asl20; 84 + broken = lib.versionOlder postgresql.version "14"; 85 + }; 86 + })
+9 -4
pkgs/test/config.nix
··· 1 - { lib, ... }: 1 + { 2 + lib, 3 + pkgs, 4 + ... 5 + }: 2 6 lib.recurseIntoAttrs { 3 7 4 8 # https://github.com/NixOS/nixpkgs/issues/175196 ··· 11 15 # Instead of `builtins.seq`, the list may be constructed based on actual package info. 12 16 allowPkgsInPermittedInsecurePackages = 13 17 let 14 - pkgs = import ../.. { 18 + pkgs' = import ../.. { 19 + system = pkgs.stdenv.hostPlatform.system; 15 20 config = { 16 - permittedInsecurePackages = builtins.seq pkgs.glibc.version [ ]; 21 + permittedInsecurePackages = builtins.seq pkgs'.glibc.version [ ]; 17 22 }; 18 23 }; 19 24 20 25 in 21 - pkgs.hello; 26 + pkgs'.hello; 22 27 23 28 }
+30 -24
pkgs/test/cross/default.nix
··· 71 71 72 72 mapMultiPlatformTest = 73 73 crossSystemFun: test: 74 - lib.mapAttrs ( 75 - name: system: 76 - test rec { 77 - crossPkgs = import pkgs.path { 78 - localSystem = { inherit (pkgs.stdenv.hostPlatform) config; }; 79 - crossSystem = crossSystemFun system; 80 - }; 74 + lib.dontRecurseIntoAttrs ( 75 + lib.mapAttrs ( 76 + name: system: 77 + lib.recurseIntoAttrs (test rec { 78 + crossPkgs = import pkgs.path { 79 + localSystem = { inherit (pkgs.stdenv.hostPlatform) config; }; 80 + crossSystem = crossSystemFun system; 81 + }; 81 82 82 - emulator = crossPkgs.stdenv.hostPlatform.emulator pkgs; 83 + emulator = crossPkgs.stdenv.hostPlatform.emulator pkgs; 83 84 84 - # Apply some transformation on windows to get dlls in the right 85 - # place. Unfortunately mingw doesn’t seem to be able to do linking 86 - # properly. 87 - platformFun = 88 - pkg: 89 - if crossPkgs.stdenv.hostPlatform.isWindows then 90 - pkgs.buildEnv { 91 - name = "${pkg.name}-winlinks"; 92 - paths = [ pkg ] ++ pkg.buildInputs; 93 - } 94 - else 95 - pkg; 96 - } 97 - ) testedSystems; 85 + # Apply some transformation on windows to get dlls in the right 86 + # place. Unfortunately mingw doesn’t seem to be able to do linking 87 + # properly. 88 + platformFun = 89 + pkg: 90 + if crossPkgs.stdenv.hostPlatform.isWindows then 91 + pkgs.buildEnv { 92 + name = "${pkg.name}-winlinks"; 93 + paths = [ pkg ] ++ pkg.buildInputs; 94 + } 95 + else 96 + pkg; 97 + }) 98 + ) testedSystems 99 + ); 98 100 99 101 tests = { 100 102 ··· 214 216 215 217 in 216 218 { 217 - gcc = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = false; })) tests); 218 - llvm = (lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = true; })) tests); 219 + gcc = lib.recurseIntoAttrs ( 220 + lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = false; })) tests 221 + ); 222 + llvm = lib.recurseIntoAttrs ( 223 + lib.mapAttrs (_: mapMultiPlatformTest (system: system // { useLLVM = true; })) tests 224 + ); 219 225 220 226 inherit mbuffer sanity; 221 227 }
+23 -21
pkgs/test/default.nix
··· 87 87 }; 88 88 89 89 llvmTests = recurseIntoAttrs llvmTests; 90 - inherit gccTests; 90 + gccTests = recurseIntoAttrs gccTests; 91 91 }; 92 92 93 93 devShellTools = callPackage ../build-support/dev-shell-tools/tests { }; 94 94 95 95 stdenv-inputs = callPackage ./stdenv-inputs { }; 96 - stdenv = callPackage ./stdenv { }; 96 + stdenv = recurseIntoAttrs (callPackage ./stdenv { }); 97 97 98 98 hardeningFlags = recurseIntoAttrs (callPackage ./cc-wrapper/hardening.nix { }); 99 99 hardeningFlags-gcc = recurseIntoAttrs ( ··· 113 113 114 114 haskell = callPackage ./haskell { }; 115 115 116 - hooks = callPackage ./hooks { }; 116 + hooks = recurseIntoAttrs (callPackage ./hooks { }); 117 117 118 118 cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; }; 119 119 cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; }; 120 120 121 121 compress-drv = callPackage ../build-support/compress-drv/test.nix { }; 122 122 123 - fetchurl = callPackages ../build-support/fetchurl/tests.nix { }; 124 - fetchtorrent = callPackages ../build-support/fetchtorrent/tests.nix { }; 125 - fetchpatch = callPackages ../build-support/fetchpatch/tests.nix { }; 126 - fetchpatch2 = callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; }; 127 - fetchDebianPatch = callPackages ../build-support/fetchdebianpatch/tests.nix { }; 128 - fetchzip = callPackages ../build-support/fetchzip/tests.nix { }; 129 - fetchgit = callPackages ../build-support/fetchgit/tests.nix { }; 130 - fetchFirefoxAddon = callPackages ../build-support/fetchfirefoxaddon/tests.nix { }; 131 - fetchPypiLegacy = callPackages ../build-support/fetchpypilegacy/tests.nix { }; 123 + fetchurl = recurseIntoAttrs (callPackages ../build-support/fetchurl/tests.nix { }); 124 + fetchtorrent = recurseIntoAttrs (callPackages ../build-support/fetchtorrent/tests.nix { }); 125 + fetchpatch = recurseIntoAttrs (callPackages ../build-support/fetchpatch/tests.nix { }); 126 + fetchpatch2 = recurseIntoAttrs ( 127 + callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; } 128 + ); 129 + fetchDebianPatch = recurseIntoAttrs (callPackages ../build-support/fetchdebianpatch/tests.nix { }); 130 + fetchzip = recurseIntoAttrs (callPackages ../build-support/fetchzip/tests.nix { }); 131 + fetchgit = recurseIntoAttrs (callPackages ../build-support/fetchgit/tests.nix { }); 132 + fetchFirefoxAddon = recurseIntoAttrs ( 133 + callPackages ../build-support/fetchfirefoxaddon/tests.nix { } 134 + ); 135 + fetchPypiLegacy = recurseIntoAttrs (callPackages ../build-support/fetchpypilegacy/tests.nix { }); 132 136 133 - install-shell-files = callPackage ./install-shell-files { }; 137 + install-shell-files = recurseIntoAttrs (callPackage ./install-shell-files { }); 134 138 135 139 checkpointBuildTools = callPackage ./checkpointBuild { }; 136 140 ··· 138 142 139 143 ld-library-path = callPackage ./ld-library-path { }; 140 144 141 - cross = callPackage ./cross { } // { 142 - __attrsFailEvaluation = true; 143 - }; 145 + cross = recurseIntoAttrs (callPackage ./cross { }); 144 146 145 147 php = recurseIntoAttrs (callPackages ./php { }); 146 148 ··· 148 150 __recurseIntoDerivationForReleaseJobs = true; 149 151 }; 150 152 151 - buildRustCrate = callPackage ../build-support/rust/build-rust-crate/test { }; 152 - importCargoLock = callPackage ../build-support/rust/test/import-cargo-lock { }; 153 + buildRustCrate = recurseIntoAttrs (callPackage ../build-support/rust/build-rust-crate/test { }); 154 + importCargoLock = recurseIntoAttrs (callPackage ../build-support/rust/test/import-cargo-lock { }); 153 155 154 156 vim = callPackage ./vim { }; 155 157 156 158 nixos-functions = callPackage ./nixos-functions { }; 157 159 158 - nixosOptionsDoc = callPackage ../../nixos/lib/make-options-doc/tests.nix { }; 160 + nixosOptionsDoc = recurseIntoAttrs (callPackage ../../nixos/lib/make-options-doc/tests.nix { }); 159 161 160 162 overriding = callPackage ./overriding.nix { }; 161 163 162 - texlive = callPackage ./texlive { }; 164 + texlive = recurseIntoAttrs (callPackage ./texlive { }); 163 165 164 166 cuda = callPackage ./cuda { }; 165 167 ··· 177 179 178 180 dotnet = recurseIntoAttrs (callPackages ./dotnet { }); 179 181 180 - makeHardcodeGsettingsPatch = callPackage ./make-hardcode-gsettings-patch { }; 182 + makeHardcodeGsettingsPatch = recurseIntoAttrs (callPackage ./make-hardcode-gsettings-patch { }); 181 183 182 184 makeWrapper = callPackage ./make-wrapper { }; 183 185 makeBinaryWrapper = callPackage ./make-binary-wrapper {
-3
pkgs/test/stdenv/default.nix
··· 220 220 in 221 221 222 222 { 223 - # Disable on Darwin due to assumptions with __bootPackages 224 - __attrsFailEvaluation = stdenv.hostPlatform.isDarwin; 225 - 226 223 # tests for hooks in `stdenv.defaultNativeBuildInputs` 227 224 hooks = lib.recurseIntoAttrs ( 228 225 import ./hooks.nix {
+17
pkgs/tools/system/uefitool/bundle-destination.patch
··· 1 + --- 2 + UEFITool/CMakeLists.txt | 2 +- 3 + 1 file changed, 1 insertion(+), 1 deletion(-) 4 + 5 + diff --git a/UEFITool/CMakeLists.txt b/UEFITool/CMakeLists.txt 6 + index aef60d0..98723ac 100644 7 + --- a/UEFITool/CMakeLists.txt 8 + +++ b/UEFITool/CMakeLists.txt 9 + @@ -143,4 +143,4 @@ IF(UNIX AND (NOT APPLE) AND (NOT CYGWIN)) 10 + INSTALL(FILES uefitool.desktop DESTINATION share/applications) 11 + ENDIF() 12 + 13 + -INSTALL(TARGETS UEFITool BUNDLE DESTINATION "/Applications" ) 14 + +INSTALL(TARGETS UEFITool BUNDLE DESTINATION "Applications" ) 15 + -- 16 + 2.40.1 17 +
+10 -19
pkgs/tools/system/uefitool/common.nix pkgs/tools/system/uefitool/old-engine.nix
··· 1 - { 2 - version, 3 - sha256, 4 - installFiles, 5 - }: 6 1 { 7 2 lib, 8 3 mkDerivation, ··· 14 9 }: 15 10 16 11 mkDerivation rec { 17 - passthru = { 18 - inherit version; 19 - inherit sha256; 20 - inherit installFiles; 21 - }; 22 12 pname = "uefitool"; 23 - inherit version; 13 + version = "0.28.0"; 24 14 25 15 src = fetchFromGitHub { 26 - inherit sha256; 16 + hash = "sha256-StqrOMsKst2X2yQQ/Xl7iLAuA4QXEOyj2KtE7ZtoUNg="; 27 17 owner = "LongSoft"; 28 - repo = pname; 29 - rev = version; 18 + repo = "uefitool"; 19 + tag = version; 30 20 }; 31 21 32 22 buildInputs = [ qtbase ]; ··· 43 33 44 34 installPhase = '' 45 35 mkdir -p "$out"/bin 46 - cp ${lib.concatStringsSep " " installFiles} "$out"/bin 36 + cp UEFITool UEFIReplace/UEFIReplace UEFIPatch/UEFIPatch "$out"/bin 47 37 ''; 48 38 49 - meta = with lib; { 39 + meta = { 50 40 description = "UEFI firmware image viewer and editor"; 51 41 homepage = "https://github.com/LongSoft/uefitool"; 52 - license = licenses.bsd2; 53 - maintainers = [ ]; 42 + license = lib.licenses.bsd2; 43 + maintainers = with lib.maintainers; [ athre0z ]; 54 44 # uefitool supposedly works on other platforms, but their build script only works on linux in nixpkgs 55 - platforms = platforms.linux; 45 + platforms = lib.platforms.linux; 46 + mainProgram = "UEFITool"; 56 47 }; 57 48 }
+38
pkgs/tools/system/uefitool/new-engine.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchFromGitHub, 5 + qtbase, 6 + cmake, 7 + wrapQtAppsHook, 8 + zip, 9 + }: 10 + 11 + stdenv.mkDerivation (finalAttrs: { 12 + pname = "uefitool"; 13 + version = "A71"; 14 + 15 + src = fetchFromGitHub { 16 + hash = "sha256-NRlrKm5+eED6oyvFRSEhn0EUbMsPJtuFAyv3vgY/IUI="; 17 + owner = "LongSoft"; 18 + repo = "uefitool"; 19 + tag = finalAttrs.version; 20 + }; 21 + 22 + buildInputs = [ qtbase ]; 23 + nativeBuildInputs = [ 24 + cmake 25 + zip 26 + wrapQtAppsHook 27 + ]; 28 + patches = lib.optionals stdenv.isDarwin [ ./bundle-destination.patch ]; 29 + 30 + meta = { 31 + description = "UEFI firmware image viewer and editor"; 32 + homepage = "https://github.com/LongSoft/uefitool"; 33 + license = lib.licenses.bsd2; 34 + maintainers = with lib.maintainers; [ athre0z ]; 35 + platforms = lib.platforms.unix; 36 + mainProgram = "uefitool"; 37 + }; 38 + })
+4 -23
pkgs/tools/system/uefitool/variants.nix
··· 1 - { libsForQt5 }: 2 - let 3 - common = opts: libsForQt5.callPackage (import ./common.nix opts) { }; 4 - in 5 - rec { 6 - new-engine = common { 7 - version = "A62"; 8 - sha256 = "sha256-U89j0BV57luv1c9hoYJtisKLxFezuaGFokZ29/NJ0xg="; 9 - installFiles = [ 10 - "build/UEFITool/UEFITool" 11 - "build/UEFIFind/UEFIFind" 12 - "build/UEFIExtract/UEFIExtract" 13 - ]; 14 - }; 15 - old-engine = common rec { 16 - version = "0.28.0"; 17 - sha256 = "1n2hd2dysi5bv2iyq40phh1jxc48gdwzs414vfbxvcharcwapnja"; 18 - installFiles = [ 19 - "UEFITool" 20 - "UEFIReplace/UEFIReplace" 21 - "UEFIPatch/UEFIPatch" 22 - ]; 23 - }; 1 + { libsForQt5, qt6Packages }: 2 + { 3 + new-engine = qt6Packages.callPackage ./new-engine.nix { }; 4 + old-engine = libsForQt5.callPackage ./old-engine.nix { }; 24 5 }
+4
pkgs/top-level/aliases.nix
··· 1688 1688 SDL_gpu = throw "'SDL_gpu' has been removed due to lack of upstream maintenance and known users"; # Added 2025-03-15 1689 1689 SDL_image_2_0 = throw "'SDL_image_2_0' has been removed in favor of the latest version"; # Added 2025-04-20 1690 1690 SDL2_mixer_2_0 = throw "'SDL2_mixer_2_0' has been removed in favor of the latest version"; # Added 2025-04-27 1691 + SDL2_classic = throw "'SDL2_classic' has been removed. Consider upgrading to 'sdl2-compat', also available as 'SDL2'."; # Added 2025-05-20 1692 + SDL2_classic_image = throw "'SDL2_classic_image' has been removed as part of the deprecation of 'SDL2_classic'. Consider upgrading to 'SDL2_image' built with 'sdl2-compat'."; # Added 2025-05-20 1691 1693 SDL2_classic_mixer_2_0 = throw "'SDL2_classic_mixer_2_0' has been removed in favor of the latest version"; # Added 2025-04-27 1694 + SDL2_classic_mixer = throw "'SDL2_classic_mixer' has been removed as part of the deprecation of 'SDL2_classic'. Consider upgrading to 'SDL2_mixer' built with 'sdl2-compat'."; # Added 2025-05-20 1695 + SDL2_classic_ttf = throw "'SDL2_classic_ttf' has been removed as part of the deprecation of 'SDL2_classic'. Consider upgrading to 'SDL2_ttf' built with 'sdl2-compat'."; # Added 2025-05-20 1692 1696 s2n = throw "'s2n' has been renamed to/replaced by 's2n-tls'"; # Converted to throw 2024-10-17 1693 1697 sandboxfs = throw "'sandboxfs' has been removed due to being unmaintained, consider using linux namespaces for sandboxing instead"; # Added 2024-06-06 1694 1698 sane-backends-git = throw "'sane-backends-git' has been renamed to/replaced by 'sane-backends'"; # Converted to throw 2024-10-17
+2 -3
pkgs/top-level/all-packages.nix
··· 3064 3064 3065 3065 gibberish-detector = with python3Packages; toPythonApplication gibberish-detector; 3066 3066 3067 - gitlab = callPackage ../applications/version-management/gitlab { }; 3068 - gitlab-ee = callPackage ../applications/version-management/gitlab { 3067 + gitlab-ee = callPackage ../by-name/gi/gitlab/package.nix { 3069 3068 gitlabEnterprise = true; 3070 3069 }; 3071 3070 3072 3071 gitlab-triage = callPackage ../applications/version-management/gitlab-triage { }; 3073 3072 3074 - gitlab-workhorse = callPackage ../applications/version-management/gitlab/gitlab-workhorse { }; 3073 + gitlab-workhorse = callPackage ../by-name/gi/gitlab/gitlab-workhorse { }; 3075 3074 3076 3075 gitqlient = libsForQt5.callPackage ../applications/version-management/gitqlient { }; 3077 3076