From 7843e02066f3701f7ffa35425df5b2db7f6eb9d0 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 16 Nov 2021 22:04:47 +0100 Subject: [PATCH 01/14] chromium: Install vk_swiftshader_icd.json This should be required for Vulkan support via SwiftShader but I wasn't able to test/confirm it yet (according to strace Chromium never tried to load that file). The relevant flags for using Chromium with SwiftShader are documented at [0] and SwiftShader's ANGLE documentation [1] mentions the relevant files. See also [2], [3], and [4] for more details. [0]: https://source.chromium.org/chromium/chromium/src/+/master:docs/gpu/swiftshader.md;drc=046f987e020baba45ffb3061b3ee3d960d6ce981 [1]: https://github.com/google/swiftshader/blob/241349107851000f6a48c3d5769ed617785c8962/docs/ANGLE.md [2]: https://github.com/google/swiftshader/blob/241349107851000f6a48c3d5769ed617785c8962/README.md [3]: https://github.com/KhronosGroup/Vulkan-Loader/blob/ca9efe3f1ccd98a5fe05da71bf65087bcaa82f35/docs/LoaderInterfaceArchitecture.md [4]: https://bugs.archlinux.org/task/72652 (cherry picked from commit 66352e3ee4b02927a57b708c32b8314b9df0d948) Reason: related to libvulkan.so.1 fix for for nixos/jibri --- pkgs/applications/networking/browsers/chromium/browser.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index 96729f1dcda6..d28d797a879c 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -17,6 +17,7 @@ mkChromiumDerivation (base: rec { installPhase = '' mkdir -p "$libExecPath" cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/" + cp -v "$buildPath/vk_swiftshader_icd.json" "$libExecPath/" cp -v "$buildPath/icudtl.dat" "$libExecPath/" cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/" cp -v "$buildPath/chrome_crashpad_handler" "$libExecPath/" From 07eb146d72edfd8f855d9a212bdab3945bbbcaa7 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 14 Dec 2021 19:16:39 +0100 Subject: [PATCH 02/14] chromium: Install libvulkan.so.1 This might be required for experimental Vulkan support, see: https://github.com/NixOS/nixpkgs/issues/150398 Note: Google Chrome distributes it as well. (cherry picked from commit 075338beb2928bc3845204c3f87ca30a586516b8) Reason: fixes nixos/jibri bug since upgrade to chromium 96 on Nov 15: https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.jibri.x86_64-linux --- pkgs/applications/networking/browsers/chromium/browser.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index d28d797a879c..40a0d7997528 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -17,6 +17,7 @@ mkChromiumDerivation (base: rec { installPhase = '' mkdir -p "$libExecPath" cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/" + cp -v "$buildPath/libvulkan.so.1" "$libExecPath/" cp -v "$buildPath/vk_swiftshader_icd.json" "$libExecPath/" cp -v "$buildPath/icudtl.dat" "$libExecPath/" cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/" From 8bc2e3ce36271147fa5278568a49b11a8eb030fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 29 Dec 2021 21:31:09 +0100 Subject: [PATCH 03/14] yt-dlp: 2021.12.25 -> 2021.12.27 (cherry picked from commit 9919f32394055234564691e35ac0007659b4f86b) --- pkgs/tools/misc/yt-dlp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix index ece8418f0bf0..b8e838b4d228 100644 --- a/pkgs/tools/misc/yt-dlp/default.nix +++ b/pkgs/tools/misc/yt-dlp/default.nix @@ -20,12 +20,12 @@ buildPythonPackage rec { # The websites yt-dlp deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2021.12.25"; + version = "2021.12.27"; src = fetchPypi { inherit pname; version = builtins.replaceStrings [ ".0" ] [ "." ] version; - sha256 = "sha256-h8E1F8VVEM+sqGFyYN43YCkDXbwvhxWnQmulZS6P4hI="; + sha256 = "sha256-IkTfN1l1FIfnlrI7ZyFr7pjnCDKjpDwlJrCw4Lv7y1s="; }; propagatedBuildInputs = [ websockets mutagen ] From cec1018ccafab162e811a2d00413cec1549375df Mon Sep 17 00:00:00 2001 From: Enno Richter Date: Wed, 22 Dec 2021 13:43:05 +0100 Subject: [PATCH 04/14] python39Packages.frozendict: fix build on non-x86_64 systems (cherry picked from commit 687b1233c24e3f3661a6ecaa74b9bbf08454f0df) --- pkgs/development/python-modules/frozendict/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix index e2ebc07ae31b..b1cdfdb23990 100644 --- a/pkgs/development/python-modules/frozendict/default.nix +++ b/pkgs/development/python-modules/frozendict/default.nix @@ -18,6 +18,11 @@ buildPythonPackage rec { sha256 = "a68f609d1af67da80b45519fdcfca2d60249c0a8c96e68279c1b6ddd92128204"; }; + postPatch = '' + # fixes build on non-x86_64 architectures + rm frozendict/src/3_9/cpython_src/Include/pyconfig.h + ''; + pythonImportsCheck = [ "frozendict" ]; From 782674816faeefea65da09af17d526436c337dfb Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Tue, 28 Dec 2021 16:21:13 +0000 Subject: [PATCH 05/14] unicorn: 2.0.0-rc4 -> 2.0.0-rc5 (cherry picked from commit bdb8ba829c4f2d725d7ba7a1a44dbecb7f0595ab) --- pkgs/development/libraries/unicorn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/unicorn/default.nix b/pkgs/development/libraries/unicorn/default.nix index 2be3c9508291..ce1f91eee867 100644 --- a/pkgs/development/libraries/unicorn/default.nix +++ b/pkgs/development/libraries/unicorn/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "unicorn"; - version = "2.0.0-rc4"; + version = "2.0.0-rc5"; src = fetchFromGitHub { owner = "unicorn-engine"; repo = pname; rev = version; - sha256 = "sha256-dNBebXp8HVmmY1RVRYuRFoJ3PStCf4taNTeYKi2lhQM="; + sha256 = "1q9k8swnq4qsi54zdfaap69z56w3yj4n4ggm9pscmmmr69nply5f"; }; nativeBuildInputs = [ pkg-config cmake ]; From c8d9bdc08c3f70e98bc37dffd6f671ef4fe0254b Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 29 Dec 2021 23:47:38 +0000 Subject: [PATCH 06/14] python3Packages.angr: fix build for non-x86 linux (cherry picked from commit 6a733a18fd45acc72a87ddcbd606ac8b6e0918cb) --- pkgs/development/python-modules/angr/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix index c85c5d6bd639..140806df09fa 100644 --- a/pkgs/development/python-modules/angr/default.nix +++ b/pkgs/development/python-modules/angr/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , ailment , archinfo , buildPythonPackage @@ -54,6 +55,8 @@ buildPythonPackage rec { sha256 = "sha256-lRoJZX7HPZE6y7v5AuU1C6sjOIXXefv8M/qPiNQtobw="; }; + setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ]; + propagatedBuildInputs = [ ailment archinfo From 5d4f4b9f8a6f09ea32f45c8ec58680547cdd1da8 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Wed, 29 Dec 2021 23:47:54 +0000 Subject: [PATCH 07/14] python3Packages.keystone-engine: fix build for non-x86 linux (cherry picked from commit addd745ca30209951f49867c953c65d248cc10de) --- pkgs/development/python-modules/keystone-engine/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/keystone-engine/default.nix b/pkgs/development/python-modules/keystone-engine/default.nix index ed9f3a6bb702..7c3cf2e70d83 100644 --- a/pkgs/development/python-modules/keystone-engine/default.nix +++ b/pkgs/development/python-modules/keystone-engine/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, keystone }: +{ lib, stdenv, buildPythonPackage, fetchPypi, keystone }: buildPythonPackage rec { pname = "keystone-engine"; @@ -9,6 +9,8 @@ buildPythonPackage rec { sha256 = "1xahdr6bh3dw5swrc2r8kqa8ljhqlb7k2kxv5mrw5rhcmcnzcyig"; }; + setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ]; + preConfigure = '' substituteInPlace setup.py --replace \ "libkeystone" "${keystone}/lib/libkeystone" From f6dc47d9d8e10c79301378fb7fb1b1a2cc99313a Mon Sep 17 00:00:00 2001 From: Lara Date: Fri, 24 Dec 2021 13:20:46 +0000 Subject: [PATCH 08/14] gitlab: 14.5.2 -> 14.6.0 (cherry picked from commit 6e1978ee81dd35651e3410fa33c52e04a105433a) --- .../version-management/gitlab/data.json | 14 +- .../version-management/gitlab/gitaly/Gemfile | 8 + .../gitlab/gitaly/Gemfile.lock | 17 ++- .../gitlab/gitaly/default.nix | 4 +- .../gitlab/gitaly/gemset.nix | 60 +++++++- .../gitlab/gitlab-workhorse/default.nix | 4 +- .../version-management/gitlab/rubyEnv/Gemfile | 27 ++-- .../gitlab/rubyEnv/Gemfile.lock | 82 +++++----- .../gitlab/rubyEnv/gemset.nix | 140 +++++++++++------- 9 files changed, 238 insertions(+), 118 deletions(-) diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json index 7c23d18a6a94..4a1e7f46ea38 100644 --- a/pkgs/applications/version-management/gitlab/data.json +++ b/pkgs/applications/version-management/gitlab/data.json @@ -1,14 +1,14 @@ { - "version": "14.5.2", - "repo_hash": "sha256-sXRVnxb7b3grosg0YXwd+GBXHF7mDxIRXhWHcswZjdA=", - "yarn_hash": "134x774vz1w9qhxs6xfk7vnajxzqwfyb9f55qhpwqprg6ldwivkr", + "version": "14.6.0", + "repo_hash": "0b77nh7xq5qalzhvfmsymmkrb78lmaffk464b074wi5c8gy3f5dn", + "yarn_hash": "1kcjbf8xn3bwac2s9i2i7dpgbkwcjh09wvgbgysm5yffpdswg6nl", "owner": "gitlab-org", "repo": "gitlab", - "rev": "v14.5.2-ee", + "rev": "v14.6.0-ee", "passthru": { - "GITALY_SERVER_VERSION": "14.5.2", - "GITLAB_PAGES_VERSION": "1.48.0", + "GITALY_SERVER_VERSION": "14.6.0", + "GITLAB_PAGES_VERSION": "1.49.0", "GITLAB_SHELL_VERSION": "13.22.1", - "GITLAB_WORKHORSE_VERSION": "14.5.2" + "GITLAB_WORKHORSE_VERSION": "14.6.0" } } diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile index 6568c0c3cbf4..bec450d04760 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile +++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile @@ -31,3 +31,11 @@ group :development, :test do gem 'grpc-tools', '= 1.30.2' end + +# Gems required in omnibus-gitlab pipeline +group :development, :test, :omnibus do + # Using a fork until https://github.com/pivotal/LicenseFinder/pull/816 is + # resolved. For details, check discussion in + # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74881 + gem 'gitlab-license_finder', require: false +end diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock index b5c5ec672b37..415ca4b16752 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock @@ -26,7 +26,7 @@ GEM memoizable (~> 0.4.0) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - ast (2.4.1) + ast (2.4.2) binding_ninja (0.2.3) builder (3.2.4) charlock_holmes (0.7.7) @@ -73,6 +73,13 @@ GEM opentracing (~> 0.4) pg_query (~> 2.1) redis (> 3.0.0, < 5.0.0) + gitlab-license_finder (6.14.2.1) + bundler + rubyzip (>= 1, < 3) + thor (~> 1.0) + tomlrb (>= 1.3, < 2.1) + with_env (= 1.1.0) + xml-simple (~> 1.1.5) gitlab-markup (1.7.1) google-protobuf (3.17.3) googleapis-common-protos-types (1.1.0) @@ -119,7 +126,7 @@ GEM opentracing (0.5.0) optimist (3.0.1) parallel (1.19.2) - parser (2.7.2.0) + parser (3.0.3.2) ast (~> 2.4.1) pg_query (2.1.1) google-protobuf (>= 3.17.1) @@ -184,6 +191,7 @@ GEM rubocop-ast (0.2.0) parser (>= 2.7.0.1) ruby-progressbar (1.10.1) + rubyzip (2.3.2) rugged (1.2.0) sanitize (4.6.6) crass (~> 1.0.2) @@ -199,6 +207,7 @@ GEM thread_safe (0.3.6) thrift (0.15.0) timecop (0.9.1) + tomlrb (2.0.1) tzinfo (2.0.4) concurrent-ruby (~> 1.0) unicode-display_width (1.7.0) @@ -210,6 +219,9 @@ GEM equalizer (~> 0.0.9) parser (>= 2.6.5) procto (~> 0.0.2) + with_env (1.1.0) + xml-simple (1.1.9) + rexml zeitwerk (2.4.2) PLATFORMS @@ -223,6 +235,7 @@ DEPENDENCIES gitlab-gollum-lib (~> 4.2.7.10.gitlab.1) gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1) gitlab-labkit (~> 0.21.1) + gitlab-license_finder gitlab-markup (~> 1.7.1) google-protobuf (~> 3.17.0) grpc (~> 1.30.2) diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix index 8db31b58b21e..6afefefb4b5f 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/default.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix @@ -33,7 +33,7 @@ let }; }; - version = "14.5.2"; + version = "14.6.0"; gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}"; in @@ -45,7 +45,7 @@ buildGoModule { owner = "gitlab-org"; repo = "gitaly"; rev = "v${version}"; - sha256 = "sha256-x8LRBd0bw1JipBu3MbV0d8WFIFPD7joZDBGOr1gstMg="; + sha256 = "sha256-YiDZtWRb1PnCAv+UCPRQFoCA12vf3xoHoJ1i/hW+vMg="; }; vendorSha256 = "sha256-ZLd4E3+e25Hqmd6ZyF3X6BveMEg7OF0FX9IvNBWn3v0="; diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix index 0fa91679adb2..5e9efe0a8245 100644 --- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix +++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix @@ -65,10 +65,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a"; + sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y"; type = "gem"; }; - version = "2.4.1"; + version = "2.4.2"; }; binding_ninja = { groups = ["default" "development" "test"]; @@ -274,6 +274,17 @@ }; version = "0.21.2"; }; + gitlab-license_finder = { + dependencies = ["rubyzip" "thor" "tomlrb" "with_env" "xml-simple"]; + groups = ["development" "omnibus" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fzrv96kbzyqnsdj762x7n0y006rsgsi8k23nad4xsa43d065i71"; + type = "gem"; + }; + version = "6.14.2.1"; + }; gitlab-markup = { groups = ["default"]; platforms = []; @@ -543,10 +554,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f7gmm60yla325wlnd3qkxs59qm2y0aan8ljpg6k18rwzrrfil6z"; + sha256 = "0sszdl9mpzqzn9kxrp28sqmg47mjxcwypr4d60vbajqba4v885di"; type = "gem"; }; - version = "2.7.2.0"; + version = "3.0.3.2"; }; pg_query = { dependencies = ["google-protobuf"]; @@ -825,6 +836,16 @@ }; version = "1.10.1"; }; + rubyzip = { + groups = ["default" "development" "omnibus" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz"; + type = "gem"; + }; + version = "2.3.2"; + }; rugged = { groups = ["default"]; platforms = []; @@ -912,6 +933,16 @@ }; version = "0.9.1"; }; + tomlrb = { + groups = ["default" "development" "omnibus" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a83cb5xpyzlr651d46rk5xgq37s46hs9nfqy9baawzs31hm9k2g"; + type = "gem"; + }; + version = "2.0.1"; + }; tzinfo = { dependencies = ["concurrent-ruby"]; groups = ["default" "development" "test"]; @@ -944,6 +975,27 @@ }; version = "0.4.7"; }; + with_env = { + groups = ["default" "development" "omnibus" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1r5ns064mbb99hf1dyxsk9183hznc5i7mn3bi86zka6dlvqf9csh"; + type = "gem"; + }; + version = "1.1.0"; + }; + xml-simple = { + dependencies = ["rexml"]; + groups = ["default" "development" "omnibus" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pb9plyl71mdbjr4kllfy53qx6g68ryxblmnq9dilvy837jk24fj"; + type = "gem"; + }; + version = "1.1.9"; + }; zeitwerk = { groups = ["default" "development" "test"]; platforms = []; diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix index b592fc6faa22..fd8bdd2aef17 100644 --- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix +++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix @@ -5,7 +5,7 @@ in buildGoModule rec { pname = "gitlab-workhorse"; - version = "14.5.2"; + version = "14.6.0"; src = fetchFromGitLab { owner = data.owner; @@ -16,7 +16,7 @@ buildGoModule rec { sourceRoot = "source/workhorse"; - vendorSha256 = "sha256-yLZY9FFUS4nJl4TkE6MwICCEwtPTXFc5zuj4FgiIy74="; + vendorSha256 = "sha256-ps/MjNY2woHrfcsNZTurnO2TbasWdS3LiuPUfVD2Ypc="; buildInputs = [ git ]; ldflags = [ "-X main.Version=${version}" ]; doCheck = false; diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile index 69a8528d6897..a28a05536ffc 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile +++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile @@ -153,7 +153,7 @@ gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # Markdown and HTML processing gem 'html-pipeline', '~> 2.13.2' gem 'deckar01-task_list', '2.3.1' -gem 'gitlab-markup', '~> 1.7.1' +gem 'gitlab-markup', '~> 1.8.0' gem 'github-markup', '~> 1.7.0', require: 'github/markup' gem 'commonmarker', '~> 0.23.2' gem 'kramdown', '~> 2.3.1' @@ -185,7 +185,7 @@ gem 'rack', '~> 2.2.3' gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base' group :puma do - gem 'puma', '~> 5.3.1', require: false + gem 'puma', '~> 5.5.2', require: false gem 'puma_worker_killer', '~> 0.3.1', require: false gem 'sd_notify', '~> 0.1.0', require: false end @@ -194,10 +194,10 @@ end gem 'state_machines-activerecord', '~> 0.8.0' # Issue tags -gem 'acts-as-taggable-on', '~> 7.0' +gem 'acts-as-taggable-on', '~> 8.1' # Background jobs -gem 'sidekiq', '~> 6.2.2' +gem 'sidekiq', '~> 6.3' gem 'sidekiq-cron', '~> 1.0' gem 'redis-namespace', '~> 1.8.1' gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch' @@ -376,7 +376,7 @@ group :development, :test do gem 'spring', '~> 2.1.0' gem 'spring-commands-rspec', '~> 1.0.4' - gem 'gitlab-styles', '~> 6.4.0', require: false + gem 'gitlab-styles', '~> 6.6.0', require: false gem 'haml_lint', '~> 0.36.0', require: false gem 'bundler-audit', '~> 0.7.0.1', require: false @@ -400,17 +400,22 @@ group :development, :test do end group :development, :test, :danger do - gem 'gitlab-dangerfiles', '~> 2.5.0', require: false + gem 'gitlab-dangerfiles', '~> 2.6.1', require: false end group :development, :test, :coverage do gem 'simplecov', '~> 0.18.5', require: false + gem 'simplecov-lcov', '~> 0.8.0', require: false gem 'simplecov-cobertura', '~> 1.3.1', require: false + gem 'undercover', '~> 0.4.4', require: false end # Gems required in omnibus-gitlab pipeline group :development, :test, :omnibus do - gem 'license_finder', '~> 6.0', require: false + # Using a fork until https://github.com/pivotal/LicenseFinder/pull/816 is + # resolved. For details, check discussion in + # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74881 + gem 'gitlab-license_finder', '~> 6.0', require: false end group :test do @@ -459,7 +464,7 @@ gem 'health_check', '~> 3.0' # System information gem 'vmstat', '~> 2.3.0' -gem 'sys-filesystem', '~> 1.1.6' +gem 'sys-filesystem', '~> 1.4.3' # NTP client gem 'net-ntp' @@ -471,7 +476,7 @@ gem 'sshkey', '~> 2.0' # Required for ED25519 SSH host key support group :ed25519 do gem 'ed25519', '~> 1.2' - gem 'bcrypt_pbkdf', '~> 1.0' + gem 'bcrypt_pbkdf', '~> 1.1' end # Spamcheck GRPC protocol definitions @@ -494,7 +499,7 @@ gem 'flipper', '~> 0.21.0' gem 'flipper-active_record', '~> 0.21.0' gem 'flipper-active_support_cache_store', '~> 0.21.0' gem 'unleash', '~> 3.2.2' -gem 'gitlab-experiment', '~> 0.6.4' +gem 'gitlab-experiment', '~> 0.6.5' # Structured logging gem 'lograge', '~> 0.5' @@ -539,4 +544,4 @@ gem 'ipaddress', '~> 0.8.3' gem 'parslet', '~> 1.8' -gem 'ipynbdiff', '0.3.7' +gem 'ipynbdiff', '0.3.8' diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock index 4da4cce018bf..3bfd392abaf9 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock +++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock @@ -66,7 +66,7 @@ GEM minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - acts-as-taggable-on (7.0.0) + acts-as-taggable-on (8.1.0) activerecord (>= 5.0, < 6.2) addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) @@ -130,7 +130,7 @@ GEM base32 (0.3.2) batch-loader (2.0.1) bcrypt (3.1.16) - bcrypt_pbkdf (1.0.0) + bcrypt_pbkdf (1.1.0) benchmark (0.1.1) benchmark-ips (2.3.0) benchmark-memory (0.1.2) @@ -215,7 +215,7 @@ GEM css_parser (1.7.0) addressable daemons (1.3.1) - danger (8.4.1) + danger (8.4.2) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) @@ -451,10 +451,10 @@ GEM terminal-table (~> 1.5, >= 1.5.1) gitlab-chronic (0.10.5) numerizer (~> 0.2) - gitlab-dangerfiles (2.5.0) + gitlab-dangerfiles (2.6.1) danger (>= 8.3.1) danger-gitlab (>= 8.0.0) - gitlab-experiment (0.6.4) + gitlab-experiment (0.6.5) activesupport (>= 3.0) request_store (>= 1.0) scientist (~> 1.6, >= 1.6.0) @@ -474,8 +474,15 @@ GEM pg_query (~> 2.1) redis (> 3.0.0, < 5.0.0) gitlab-license (2.0.0) + gitlab-license_finder (6.14.2.1) + bundler + rubyzip (>= 1, < 3) + thor (~> 1.0) + tomlrb (>= 1.3, < 2.1) + with_env (= 1.1.0) + xml-simple (~> 1.1.5) gitlab-mail_room (0.0.9) - gitlab-markup (1.7.1) + gitlab-markup (1.8.0) gitlab-net-dns (0.9.1) gitlab-omniauth-openid-connect (0.8.0) addressable (~> 2.7) @@ -483,9 +490,10 @@ GEM openid_connect (~> 1.2) gitlab-sidekiq-fetcher (0.8.0) sidekiq (~> 6.1) - gitlab-styles (6.4.0) + gitlab-styles (6.6.0) rubocop (~> 0.91, >= 0.91.1) rubocop-gitlab-security (~> 0.1.1) + rubocop-graphql (~> 0.10) rubocop-performance (~> 1.9.2) rubocop-rails (~> 2.9) rubocop-rspec (~> 1.44) @@ -626,14 +634,16 @@ GEM mime-types (~> 3.0) multi_xml (>= 0.5.2) httpclient (2.8.3) - i18n (1.8.10) + i18n (1.8.11) concurrent-ruby (~> 1.0) i18n_data (0.8.0) icalendar (2.4.1) + imagen (0.1.8) + parser (>= 2.5, != 2.5.1.1) invisible_captcha (1.1.0) rails (>= 4.2) ipaddress (0.8.3) - ipynbdiff (0.3.7) + ipynbdiff (0.3.8) diffy (= 3.3.0) json (= 2.5.1) jaeger-client (1.1.0) @@ -699,13 +709,6 @@ GEM railties (>= 5.2) rexml libyajl2 (1.2.0) - license_finder (6.0.0) - bundler - rubyzip (>= 1, < 3) - thor - toml (= 0.2.0) - with_env (= 1.1.0) - xml-simple licensee (9.14.1) dotenv (~> 2.0) octokit (~> 4.17) @@ -896,7 +899,7 @@ GEM orm_adapter (0.5.0) os (1.1.1) parallel (1.20.1) - parser (3.0.2.0) + parser (3.0.3.2) ast (~> 2.4.1) parslet (1.8.2) pastel (0.8.0) @@ -935,7 +938,7 @@ GEM tty-markdown tty-prompt public_suffix (4.0.6) - puma (5.3.2) + puma (5.5.2) nio4r (~> 2.0) puma_worker_killer (0.3.1) get_process_mem (~> 0.2) @@ -1100,6 +1103,8 @@ GEM parser (>= 2.7.1.5) rubocop-gitlab-security (0.1.1) rubocop (>= 0.51) + rubocop-graphql (0.10.3) + rubocop (>= 0.87, < 2) rubocop-performance (1.9.2) rubocop (>= 0.90.0, < 2.0) rubocop-ast (>= 0.4.0) @@ -1151,7 +1156,7 @@ GEM sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) - scientist (1.6.0) + scientist (1.6.2) sd_notify (0.1.0) securecompare (1.0.0) seed-fu (2.3.7) @@ -1168,7 +1173,7 @@ GEM shellany (0.0.1) shoulda-matchers (4.0.1) activesupport (>= 4.2.0) - sidekiq (6.2.2) + sidekiq (6.3.1) connection_pool (>= 2.2.2) rack (~> 2.0) redis (>= 4.2.0) @@ -1187,6 +1192,7 @@ GEM simplecov-cobertura (1.3.1) simplecov (~> 0.8) simplecov-html (0.12.3) + simplecov-lcov (0.8.0) sixarm_ruby_unaccent (1.2.0) slack-messenger (2.3.4) snowplow-tracker (0.6.1) @@ -1242,8 +1248,8 @@ GEM activesupport (>= 3) attr_required (>= 0.0.5) httpclient (>= 2.4) - sys-filesystem (1.1.9) - ffi + sys-filesystem (1.4.3) + ffi (~> 1.1) sysexits (1.2.0) tanuki_emoji (0.5.0) temple (0.8.2) @@ -1265,8 +1271,6 @@ GEM timecop (0.9.1) timeliness (0.3.10) timfel-krb5-auth (0.8.3) - toml (0.2.0) - parslet (~> 1.8.0) toml-rb (2.0.1) citrus (~> 3.0, > 3.0) tomlrb (1.3.0) @@ -1304,6 +1308,10 @@ GEM concurrent-ruby (~> 1.0) u2f (0.2.1) uber (0.1.0) + undercover (0.4.4) + imagen (>= 0.1.8) + rainbow (>= 2.1, < 4.0) + rugged (>= 0.27, < 1.3) unf (0.1.4) unf_ext unf_ext (0.0.7.7) @@ -1366,7 +1374,7 @@ GEM nokogiri (~> 1.8) yajl-ruby (1.4.1) yard (0.9.26) - zeitwerk (2.4.2) + zeitwerk (2.5.1) PLATFORMS ruby @@ -1375,7 +1383,7 @@ DEPENDENCIES RedCloth (~> 4.3.2) acme-client (~> 2.0, >= 2.0.6) activerecord-explain-analyze (~> 0.1) - acts-as-taggable-on (~> 7.0) + acts-as-taggable-on (~> 8.1) addressable (~> 2.8) akismet (~> 3.0) apollo_upload_server (~> 2.1.0) @@ -1395,7 +1403,7 @@ DEPENDENCIES base32 (~> 0.3.0) batch-loader (~> 2.0.1) bcrypt (~> 3.1, >= 3.1.14) - bcrypt_pbkdf (~> 1.0) + bcrypt_pbkdf (~> 1.1) benchmark-ips (~> 2.3.0) benchmark-memory (~> 0.1) better_errors (~> 2.9.0) @@ -1460,17 +1468,18 @@ DEPENDENCIES gitaly (~> 14.4.0.pre.rc43) github-markup (~> 1.7.0) gitlab-chronic (~> 0.10.5) - gitlab-dangerfiles (~> 2.5.0) - gitlab-experiment (~> 0.6.4) + gitlab-dangerfiles (~> 2.6.1) + gitlab-experiment (~> 0.6.5) gitlab-fog-azure-rm (~> 1.2.0) gitlab-labkit (~> 0.21.1) gitlab-license (~> 2.0) + gitlab-license_finder (~> 6.0) gitlab-mail_room (~> 0.0.9) - gitlab-markup (~> 1.7.1) + gitlab-markup (~> 1.8.0) gitlab-net-dns (~> 0.9.1) gitlab-omniauth-openid-connect (~> 0.8.0) gitlab-sidekiq-fetcher (= 0.8.0) - gitlab-styles (~> 6.4.0) + gitlab-styles (~> 6.6.0) gitlab_chronic_duration (~> 0.10.6.2) gitlab_omniauth-ldap (~> 2.1.1) gon (~> 6.4.0) @@ -1500,7 +1509,7 @@ DEPENDENCIES icalendar invisible_captcha (~> 1.1.0) ipaddress (~> 0.8.3) - ipynbdiff (= 0.3.7) + ipynbdiff (= 0.3.8) jira-ruby (~> 2.1.4) js_regex (~> 3.7) json (~> 2.5.1) @@ -1513,7 +1522,6 @@ DEPENDENCIES kubeclient (~> 4.9.2) lefthook (~> 0.7.0) letter_opener_web (~> 2.0.0) - license_finder (~> 6.0) licensee (~> 9.14.1) lockbox (~> 0.6.2) lograge (~> 0.5) @@ -1565,7 +1573,7 @@ DEPENDENCIES pry-byebug pry-rails (~> 0.3.9) pry-shell (~> 0.5.0) - puma (~> 5.3.1) + puma (~> 5.5.2) puma_worker_killer (~> 0.3.1) rack (~> 2.2.3) rack-attack (~> 6.3.0) @@ -1612,11 +1620,12 @@ DEPENDENCIES sentry-raven (~> 3.1) settingslogic (~> 2.0.9) shoulda-matchers (~> 4.0.1) - sidekiq (~> 6.2.2) + sidekiq (~> 6.3) sidekiq-cron (~> 1.0) simple_po_parser (~> 1.1.2) simplecov (~> 0.18.5) simplecov-cobertura (~> 1.3.1) + simplecov-lcov (~> 0.8.0) slack-messenger (~> 2.3.4) snowplow-tracker (~> 0.6.1) solargraph (~> 0.43) @@ -1628,7 +1637,7 @@ DEPENDENCIES sshkey (~> 2.0) stackprof (~> 0.2.15) state_machines-activerecord (~> 0.8.0) - sys-filesystem (~> 1.1.6) + sys-filesystem (~> 1.4.3) tanuki_emoji (~> 0.5) terser (= 1.0.2) test-prof (~> 1.0.7) @@ -1639,6 +1648,7 @@ DEPENDENCIES toml-rb (~> 2.0) truncato (~> 0.7.11) u2f (~> 0.2.1) + undercover (~> 0.4.4) unf (~> 0.1.4) unleash (~> 3.2.2) valid_email (~> 0.1) diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix index 5154254b165a..3ee8ea0512bd 100644 --- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix +++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix @@ -148,10 +148,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09m7lvm6id8mm8y9qycjr54l9gyqfb43x6yjz23cggisjg0px1fv"; + sha256 = "0kfnyix173bazjswab21bx7hmqmik71awj2kz090fsa2nv58c4mw"; type = "gem"; }; - version = "7.0.0"; + version = "8.1.0"; }; addressable = { dependencies = ["public_suffix"]; @@ -484,10 +484,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cj4k13c7qvvck7y25i3xarvyqq8d27vl61jddifkc7llnnap1hv"; + sha256 = "0ndamfaivnkhc6hy0yqyk2gkwr6f3bz6216lh74hsiiyk3axz445"; type = "gem"; }; - version = "1.0.0"; + version = "1.1.0"; }; benchmark = { groups = ["default" "development"]; @@ -931,10 +931,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f9p7sdj542cbn352qz58m4n26kamv6vbnxzpc06j0pxi50z3i0v"; + sha256 = "07mxkgksgilfipd97rgfhx7c421j1fx7rk6lf0k18bkccyg1r8vn"; type = "gem"; }; - version = "8.4.1"; + version = "8.4.2"; }; danger-gitlab = { dependencies = ["danger" "gitlab"]; @@ -1942,10 +1942,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1488s24c9fm55z2a2pbry2fjx72fzgzv0y48krgldvf0qy43l0kz"; + sha256 = "0pgb0v41qn2cnzzn4fizffds07vhz9sf09bpmm0lw86x8lz6vfdq"; type = "gem"; }; - version = "2.5.0"; + version = "2.6.1"; }; gitlab-experiment = { dependencies = ["activesupport" "request_store" "scientist"]; @@ -1953,10 +1953,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "07b7fb8vkpwjf668mircz6lavr8yp5xc7f7yp1v1h7izhzhn7m8g"; + sha256 = "064iy0pgjfvfcxynclmk70cdi10hwx7xzq1c14p68cilg569vma2"; type = "gem"; }; - version = "0.6.4"; + version = "0.6.5"; }; gitlab-fog-azure-rm = { dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types" "ms_rest_azure"]; @@ -1990,6 +1990,17 @@ }; version = "2.0.0"; }; + gitlab-license_finder = { + dependencies = ["rubyzip" "thor" "tomlrb" "with_env" "xml-simple"]; + groups = ["development" "omnibus" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fzrv96kbzyqnsdj762x7n0y006rsgsi8k23nad4xsa43d065i71"; + type = "gem"; + }; + version = "6.14.2.1"; + }; gitlab-mail_room = { groups = ["default"]; platforms = []; @@ -2005,10 +2016,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xnlra517pfj3hx07kasbqlcw51ix4xajr6bsd3mwg8bc92dlwy7"; + sha256 = "11kc33j6m0nayppkb7645w0ldh8g18pgmxgb8wz39pd5vilr6qpv"; type = "gem"; }; - version = "1.7.1"; + version = "1.8.0"; }; gitlab-net-dns = { groups = ["default"]; @@ -2043,15 +2054,15 @@ version = "0.8.0"; }; gitlab-styles = { - dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rails" "rubocop-rspec"]; + dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-graphql" "rubocop-performance" "rubocop-rails" "rubocop-rspec"]; groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16d90sd0x6qfkhgfjysswwrzk82zs82xs9azn9w287irpzdkvj7f"; + sha256 = "1xs7v0sj3j4d5yflfn8n5azh5qwxsrc432q7v4nckg9irwqj99js"; type = "gem"; }; - version = "6.4.0"; + version = "6.6.0"; }; gitlab_chronic_duration = { dependencies = ["numerizer"]; @@ -2532,10 +2543,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a"; + sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf"; type = "gem"; }; - version = "1.8.10"; + version = "1.8.11"; }; i18n_data = { groups = ["default"]; @@ -2557,6 +2568,17 @@ }; version = "2.4.1"; }; + imagen = { + dependencies = ["parser"]; + groups = ["coverage" "default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0qm1jcprs0xys8m72kgm9pasd1xzhiqiyv64baxwcygyshkvgrzx"; + type = "gem"; + }; + version = "0.1.8"; + }; invisible_captcha = { dependencies = ["rails"]; groups = ["default"]; @@ -2584,10 +2606,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18337bzcwssmnyg2wf3za50z0zh2b1sh17wgaapavd1ffr24svkx"; + sha256 = "0raj4xwp2dz1xrzcpqqdp5ygfpjdy7jx28ziqg9f73hf850j90d1"; type = "gem"; }; - version = "0.3.7"; + version = "0.3.8"; }; jaeger-client = { dependencies = ["opentracing" "thrift"]; @@ -2846,17 +2868,6 @@ }; version = "1.2.0"; }; - license_finder = { - dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"]; - groups = ["development" "omnibus" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0kc4bkaxy6mm6kpbpg8hdjsqpzybh7cy5b45qydc7bfa9c35vr93"; - type = "gem"; - }; - version = "6.0.0"; - }; licensee = { dependencies = ["dotenv" "octokit" "reverse_markdown" "rugged" "thor"]; groups = ["default"]; @@ -3758,14 +3769,14 @@ }; parser = { dependencies = ["ast"]; - groups = ["default" "development" "test"]; + groups = ["coverage" "default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06ma6w87ph8lnc9z4hi40ynmcdnjv0p8x53x0s3fjkz4q2p6sxh5"; + sha256 = "0sszdl9mpzqzn9kxrp28sqmg47mjxcwypr4d60vbajqba4v885di"; type = "gem"; }; - version = "3.0.2.0"; + version = "3.0.3.2"; }; parslet = { groups = ["default" "development" "test"]; @@ -3958,10 +3969,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lmaq05a257m9588a81wql3a5p039f221f0dmq57bm2qjwxydjmj"; + sha256 = "1xblxnrs0c5m326v7kgr32k4m00cl2ipcf5m0qvyisrw62vd5dbn"; type = "gem"; }; - version = "5.3.2"; + version = "5.5.2"; }; puma_worker_killer = { dependencies = ["get_process_mem" "puma"]; @@ -4637,6 +4648,17 @@ }; version = "0.1.1"; }; + rubocop-graphql = { + dependencies = ["rubocop"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0hvm17hm7xjqcfn70c7h3rrz2y2mrazqmkp5ains08j0zd39x7rh"; + type = "gem"; + }; + version = "0.10.3"; + }; rubocop-performance = { dependencies = ["rubocop" "rubocop-ast"]; groups = ["default" "development" "test"]; @@ -4886,10 +4908,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jklwk9aldvlmdv17m77g2f82j383alqd4jjnwn4c564q9wvz3fp"; + sha256 = "05xiv6kznhawbkjrz97s6lp2ld0w95x1l2s80gm8m49f273399s2"; type = "gem"; }; - version = "1.6.0"; + version = "1.6.2"; }; sd_notify = { groups = ["puma"]; @@ -5001,10 +5023,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "104a97cl94aclg71ngrr097zjbdf6cibnz4q3rqjb88izmd7cfk6"; + sha256 = "0k38cbwhcj9ncfzlgfmvq2zqfdvldln58w8s8v89m0jqlhnhsqhj"; type = "gem"; }; - version = "6.2.2"; + version = "6.3.1"; }; sidekiq-cron = { dependencies = ["fugit" "sidekiq"]; @@ -5070,6 +5092,16 @@ }; version = "0.12.3"; }; + simplecov-lcov = { + groups = ["coverage" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h8kswnshgb9zidvc88f4zjy4gflgz3854sx9wrw8ppgnwfg6581"; + type = "gem"; + }; + version = "0.8.0"; + }; sixarm_ruby_unaccent = { groups = ["default"]; platforms = []; @@ -5297,10 +5329,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03y0mnn5mp9ydi5jc4d3y0gnk5fxwljzzfzj9rg7q94kslwi1kx4"; + sha256 = "08bln6c3qmylakgpmpswv4zdis8bf96nkbrxpb9xcal2i7g1j29r"; type = "gem"; }; - version = "1.1.9"; + version = "1.4.3"; }; sysexits = { groups = ["default" "development" "test"]; @@ -5456,17 +5488,6 @@ }; version = "0.8.3"; }; - toml = { - dependencies = ["parslet"]; - groups = ["default" "development" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0xj460rkyqvg74xc8kivmbvgc46c6mm7r8mbjs5m2gq8khf8sbki"; - type = "gem"; - }; - version = "0.2.0"; - }; toml-rb = { dependencies = ["citrus"]; groups = ["default"]; @@ -5615,6 +5636,17 @@ }; version = "0.1.0"; }; + undercover = { + dependencies = ["imagen" "rainbow" "rugged"]; + groups = ["coverage" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "19gnc5sr41z3rqbw03k8v3sdpn7rccmgivnc0x5pdq4x7bhcpi31"; + type = "gem"; + }; + version = "0.4.4"; + }; unf = { dependencies = ["unf_ext"]; groups = ["default"]; @@ -5934,9 +5966,9 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; + sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj"; type = "gem"; }; - version = "2.4.2"; + version = "2.5.1"; }; } From 4e39259eba52ac311cfdce088f398bcd5b0bf957 Mon Sep 17 00:00:00 2001 From: Mauricio Collares Date: Mon, 27 Dec 2021 22:23:05 -0300 Subject: [PATCH 09/14] singular: backport patch to fix docbuilding with >= 64 cpus (cherry picked from commit ec0c4a001f48aea7570bfe96592c418a83964707) --- .../science/math/singular/default.nix | 7 ++-- .../singular/disable-vspace-on-aarch64.patch | 15 -------- .../math/singular/vspace-MAX_PROCESS.patch | 35 +++++++++++++++++++ 3 files changed, 39 insertions(+), 18 deletions(-) delete mode 100644 pkgs/applications/science/math/singular/disable-vspace-on-aarch64.patch create mode 100644 pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix index df298aab2114..b543252e8712 100644 --- a/pkgs/applications/science/math/singular/default.nix +++ b/pkgs/applications/science/math/singular/default.nix @@ -47,12 +47,13 @@ stdenv.mkDerivation rec { }; patches = [ + # fix timeouts when docbuilding with >= 64 cpus + # https://github.com/Singular/Singular/issues/1117 + ./vspace-MAX_PROCESS.patch + # add aarch64 support to cpu-check.m4. copied from redhat. ./redhat-aarch64.patch - # vspace causes hangs in modstd and other libraries on aarch64 - ./disable-vspace-on-aarch64.patch - # the newest version of ax-prog-cc-for-build.m4 seems to trigger # linker errors. see # https://github.com/alsa-project/alsa-firmware/issues/3 for a diff --git a/pkgs/applications/science/math/singular/disable-vspace-on-aarch64.patch b/pkgs/applications/science/math/singular/disable-vspace-on-aarch64.patch deleted file mode 100644 index 3e51b7fb2cec..000000000000 --- a/pkgs/applications/science/math/singular/disable-vspace-on-aarch64.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/kernel/mod2.h b/kernel/mod2.h -index 867fcae47..2abd84f23 100644 ---- a/kernel/mod2.h -+++ b/kernel/mod2.h -@@ -60,8 +60,10 @@ - - /* define for parallel processes with shared memory */ - #ifndef __CCYGWIN__ -+#ifndef SI_CPU_AARCH64 - #define HAVE_VSPACE 1 - #endif -+#endif - - /*#define PROFILING*/ - #ifdef PROFILING diff --git a/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch b/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch new file mode 100644 index 000000000000..78d658f926ee --- /dev/null +++ b/pkgs/applications/science/math/singular/vspace-MAX_PROCESS.patch @@ -0,0 +1,35 @@ +diff --git a/kernel/GBEngine/kChinese.cc b/kernel/GBEngine/kChinese.cc +index 829a66609..84655caf2 100644 +--- a/kernel/GBEngine/kChinese.cc ++++ b/kernel/GBEngine/kChinese.cc +@@ -209,6 +209,8 @@ ideal id_ChineseRemainder_0(ideal *xx, number *q, int rl, const ring r) + return NULL; + } + int cpus=(int)(long)feOptValue(FE_OPT_CPUS); ++ if (cpus>=vspace::internals::MAX_PROCESS) ++ cpus=vspace::internals::MAX_PROCESS-1; + if ((cpus==1) || (2*cpus>=cnt)) + /* at least 2 polys for each process, or switch to seriell version */ + return id_ChineseRemainder(xx,q,rl,r); +@@ -295,6 +297,8 @@ ideal id_Farey_0(ideal x, number N, const ring r) + { + int cnt=IDELEMS(x)*x->nrows; + int cpus=(int)(long)feOptValue(FE_OPT_CPUS); ++ if (cpus>=vspace::internals::MAX_PROCESS) ++ cpus=vspace::internals::MAX_PROCESS-1; + if (2*cpus>=cnt) /* at least 2 polys for each process, + or switch to seriell version */ + return id_Farey(x,N,r); +diff --git a/kernel/GBEngine/kverify.cc b/kernel/GBEngine/kverify.cc +index 909d84994..aa06d6624 100644 +--- a/kernel/GBEngine/kverify.cc ++++ b/kernel/GBEngine/kverify.cc +@@ -176,6 +176,8 @@ BOOLEAN kVerify2(ideal F, ideal Q) + /*---------------------------------------------------------------------*/ + BOOLEAN all_okay=TRUE; + int cpus=(int)(long)feOptValue(FE_OPT_CPUS); ++ if (cpus>=vspace::internals::MAX_PROCESS) ++ cpus=vspace::internals::MAX_PROCESS-1; + int parent_pid=getpid(); + using namespace vspace; + vmem_init(); From 7d5a23afd61cc1ad251e37f71313f0f0a6284b3d Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Thu, 30 Dec 2021 12:56:47 -0300 Subject: [PATCH 10/14] babashka: 0.7.0 -> 0.7.3 (cherry picked from commit 192cd3cd39a90c590d2a35ae787c6755e3367ea6) --- pkgs/development/interpreters/clojure/babashka.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix index ffb33713a913..93755e83a3d6 100644 --- a/pkgs/development/interpreters/clojure/babashka.nix +++ b/pkgs/development/interpreters/clojure/babashka.nix @@ -2,11 +2,11 @@ buildGraalvmNativeImage rec { pname = "babashka"; - version = "0.7.0"; + version = "0.7.3"; src = fetchurl { url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar"; - sha256 = "sha256-zSjiHacetJ68U0GciIbuGET9I/51EM8JnPPUGemDfEI="; + sha256 = "sha256-zbxFMc02hbsU2ERlUzqMBHwHYfORB7TkMINrKC52PPU="; }; executable = "bb"; From 11ec91d759e7be978c19187315632dfb174ca914 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 18 Nov 2021 08:53:54 -0800 Subject: [PATCH 11/14] nixos/test-driver: more context when step finishes When displaying the amount of time some step took, with no other context, it becomes nigh impossible (especially in longer tests) to see when specific steps finished. (cherry picked from commit c6ee63259a744b204ef2283a931de9f4e246f238) --- nixos/lib/test-driver/test-driver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index adacca47abe6..75f85ab597bc 100755 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -171,7 +171,7 @@ class Logger: yield self.drain_log_queue() toc = time.time() - self.log("({:.2f} seconds)".format(toc - tic)) + self.log("(finished: {}, in {:.2f} seconds)".format(message, toc - tic)) self.xml.endElement("nest") From 2bf5a904f086d220691253f98b8032783e2b81bb Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 18 Nov 2021 09:10:51 -0800 Subject: [PATCH 12/14] nixos/test-driver: give more functions nested labels This will make it easier to trace through the test execution without having to scroll through the entire kernel output. (cherry picked from commit af765f3abd7193ec5256cea3d5e8b7692dc99931) --- nixos/lib/test-driver/test-driver.py | 71 +++++++++++++++------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 75f85ab597bc..731adfcc3585 100755 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -490,23 +490,24 @@ class Machine: return rootlog.nested(msg, my_attrs) def wait_for_monitor_prompt(self) -> str: - assert self.monitor is not None - answer = "" - while True: - undecoded_answer = self.monitor.recv(1024) - if not undecoded_answer: - break - answer += undecoded_answer.decode() - if answer.endswith("(qemu) "): - break - return answer + with self.nested("waiting for monitor prompt"): + assert self.monitor is not None + answer = "" + while True: + undecoded_answer = self.monitor.recv(1024) + if not undecoded_answer: + break + answer += undecoded_answer.decode() + if answer.endswith("(qemu) "): + break + return answer def send_monitor_command(self, command: str) -> str: - message = ("{}\n".format(command)).encode() - self.log("sending monitor command: {}".format(command)) - assert self.monitor is not None - self.monitor.send(message) - return self.wait_for_monitor_prompt() + with self.nested("sending monitor command: {}".format(command)): + message = ("{}\n".format(command)).encode() + assert self.monitor is not None + self.monitor.send(message) + return self.wait_for_monitor_prompt() def wait_for_unit(self, unit: str, user: Optional[str] = None) -> None: """Wait for a systemd unit to get into "active" state. @@ -533,7 +534,12 @@ class Machine: return state == "active" - retry(check_active) + with self.nested( + "waiting for unit {}{}".format( + unit, f" with user {user}" if user is not None else "" + ) + ): + retry(check_active) def get_unit_info(self, unit: str, user: Optional[str] = None) -> Dict[str, str]: status, lines = self.systemctl('--no-pager show "{}"'.format(unit), user) @@ -752,7 +758,8 @@ class Machine: status, _ = self.execute("nc -z localhost {}".format(port)) return status != 0 - retry(port_is_closed) + with self.nested("waiting for TCP port {} to be closed"): + retry(port_is_closed) def start_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]: return self.systemctl("start {}".format(jobname), user) @@ -886,20 +893,20 @@ class Machine: retry(screen_matches) def wait_for_console_text(self, regex: str) -> None: - self.log("waiting for {} to appear on console".format(regex)) - # Buffer the console output, this is needed - # to match multiline regexes. - console = io.StringIO() - while True: - try: - console.write(self.last_lines.get()) - except queue.Empty: - self.sleep(1) - continue - console.seek(0) - matches = re.search(regex, console.read()) - if matches is not None: - return + with self.nested("waiting for {} to appear on console".format(regex)): + # Buffer the console output, this is needed + # to match multiline regexes. + console = io.StringIO() + while True: + try: + console.write(self.last_lines.get()) + except queue.Empty: + self.sleep(1) + continue + console.seek(0) + matches = re.search(regex, console.read()) + if matches is not None: + return def send_key(self, key: str) -> None: key = CHAR_TO_KEY.get(key, key) @@ -1015,7 +1022,7 @@ class Machine: ) return any(pattern.search(name) for name in names) - with self.nested("Waiting for a window to appear"): + with self.nested("waiting for a window to appear"): retry(window_is_visible) def sleep(self, secs: int) -> None: From a9f78ab7c2890df1cc3c42cc0b16fd7181f42ed6 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 15 Nov 2021 12:11:18 -0800 Subject: [PATCH 13/14] nixos/test-driver: add timeout parameter to execute (cherry picked from commit 363d7f3ae857aeb863bc2e00fb487591b7d5db2b) --- nixos/lib/test-driver/test-driver.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 731adfcc3585..b2e102cc8f1d 100755 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -603,9 +603,14 @@ class Machine: break return "".join(output_buffer) - def execute(self, command: str, check_return: bool = True) -> Tuple[int, str]: + def execute( + self, command: str, check_return: bool = True, timeout: Optional[int] = 900 + ) -> Tuple[int, str]: self.connect() + if timeout is not None: + command = "timeout {} sh -c {}".format(timeout, shlex.quote(command)) + out_command = f"( set -euo pipefail; {command} ) | (base64 --wrap 0; echo)\n" assert self.shell self.shell.send(out_command.encode()) From c7295777c97308ba7b0399c23d1e8bf15a1c7815 Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Mon, 15 Nov 2021 12:23:25 -0800 Subject: [PATCH 14/14] nixos/test-driver: add (functional) timeouts to more functions A retry timeout doesn't really help if the thing it's retrying may block forever. (cherry picked from commit e62b8020f3d6597ffe4c5444fe824546af88e739) --- nixos/lib/test-driver/test-driver.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index b2e102cc8f1d..90c9e9be45cd 100755 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -640,12 +640,12 @@ class Machine: pass_fds=[self.shell.fileno()], ) - def succeed(self, *commands: str) -> str: + def succeed(self, *commands: str, timeout: Optional[int] = None) -> str: """Execute each command and check that it succeeds.""" output = "" for command in commands: with self.nested("must succeed: {}".format(command)): - (status, out) = self.execute(command) + (status, out) = self.execute(command, timeout=timeout) if status != 0: self.log("output: {}".format(out)) raise Exception( @@ -654,12 +654,12 @@ class Machine: output += out return output - def fail(self, *commands: str) -> str: + def fail(self, *commands: str, timeout: Optional[int] = None) -> str: """Execute each command and check that it fails.""" output = "" for command in commands: with self.nested("must fail: {}".format(command)): - (status, out) = self.execute(command) + (status, out) = self.execute(command, timeout=timeout) if status == 0: raise Exception( "command `{}` unexpectedly succeeded".format(command) @@ -675,14 +675,14 @@ class Machine: def check_success(_: Any) -> bool: nonlocal output - status, output = self.execute(command) + status, output = self.execute(command, timeout=timeout) return status == 0 with self.nested("waiting for success: {}".format(command)): retry(check_success, timeout) return output - def wait_until_fails(self, command: str) -> str: + def wait_until_fails(self, command: str, timeout: int = 900) -> str: """Wait until a command returns failure. Throws an exception on timeout. """ @@ -690,7 +690,7 @@ class Machine: def check_failure(_: Any) -> bool: nonlocal output - status, output = self.execute(command) + status, output = self.execute(command, timeout=timeout) return status != 0 with self.nested("waiting for failure: {}".format(command)):