about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/misc/hollywood/default.nix94
-rw-r--r--pkgs/applications/misc/hollywood/nixos-paths.patch67
-rw-r--r--pkgs/applications/misc/josm/default.nix6
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix4
-rw-r--r--pkgs/applications/science/math/mathematica/generic.nix2
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/Remove-geo-from-database.yml.patch69
-rw-r--r--pkgs/applications/version-management/gitlab/data.json16
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix14
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix8
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile48
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock159
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix261
-rw-r--r--pkgs/applications/video/vlc/default.nix2
18 files changed, 579 insertions, 195 deletions
diff --git a/pkgs/applications/misc/hollywood/default.nix b/pkgs/applications/misc/hollywood/default.nix
new file mode 100644
index 0000000000000..f3b721bc49597
--- /dev/null
+++ b/pkgs/applications/misc/hollywood/default.nix
@@ -0,0 +1,94 @@
+{ stdenv
+, fetchFromGitHub
+, makeWrapper
+, lib
+, coreutils
+, apg
+, atop
+, bmon
+, cmatrix
+, pygments
+, moreutils
+, util-linux
+, jp2a
+, man
+, mplayer
+, openssh
+, tree
+, mlocate
+, findutils
+, ccze
+, ncurses
+, python3
+, wget
+, libcaca
+, newsboat
+, rsstail
+, w3m
+, ticker
+, tmux
+}:
+
+stdenv.mkDerivation {
+  pname = "hollywood";
+  version = "1.22";
+
+  src = fetchFromGitHub {
+    owner = "dustinkirkland";
+    repo = "hollywood";
+    rev = "35275a68c37bbc39d8b2b0e4664a0c2f5451e5f6";
+    sha256 = "sha256-faIm1uXERvIDZ6SK6uarVkWGNJskAroHgq5Cg7nUZc4=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  patches = [ ./nixos-paths.patch ];
+  postPatch = ''
+    rm lib/hollywood/speedometer
+    rm bin/wallstreet
+    rm -r lib/wallstreet
+  '';
+
+  dontBuild = true;
+
+  installPhase =
+    let pathDeps = [
+      tmux
+      coreutils
+      ncurses
+      jp2a
+      mlocate
+      apg
+      atop
+      bmon
+      cmatrix
+      pygments
+      moreutils
+      util-linux
+      jp2a
+      man
+      mplayer
+      openssh
+      tree
+      findutils
+      ccze
+    ];
+    in ''
+      runHook preInstall
+
+      mkdir -p $out
+      cp -r bin $out/bin
+      cp -r lib $out/lib
+      cp -r share $out/share
+      wrapProgram $out/bin/hollywood --prefix PATH : ${lib.makeBinPath pathDeps}
+
+      runHook postInstall
+    '';
+
+  meta = {
+    description = "Fill your console with Hollywood melodrama technobabble";
+    homepage = "https://a.hollywood.computer/";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.anselmschueler ];
+  };
+}
diff --git a/pkgs/applications/misc/hollywood/nixos-paths.patch b/pkgs/applications/misc/hollywood/nixos-paths.patch
new file mode 100644
index 0000000000000..d280a6b003c1e
--- /dev/null
+++ b/pkgs/applications/misc/hollywood/nixos-paths.patch
@@ -0,0 +1,67 @@
+diff --git a/bin/hollywood b/bin/hollywood
+index 6f1ee68..09bc4ea 100755
+--- a/bin/hollywood
++++ b/bin/hollywood
+@@ -74,7 +74,7 @@ if [ -z "$TMUX" ]; then
+ 	else
+ 		tmux_launcher=tmux
+ 	fi
+-	$tmux_launcher new-session -d -s $PKG "/bin/bash"
++	$tmux_launcher new-session -d -s $PKG "/usr/bin/env bash"
+ 	$tmux_launcher send-keys -t $PKG "$0 $1"
+ 	$tmux_launcher send-keys -t $PKG Enter
+ 	exec $tmux_launcher attach-session -t $PKG
+diff --git a/lib/hollywood/code b/lib/hollywood/code
+index 532ce73..3448447 100755
+--- a/lib/hollywood/code
++++ b/lib/hollywood/code
+@@ -19,7 +19,7 @@ command -v view >/dev/null 2>&1 || exit 1
+ 
+ trap "pkill -f -9 lib/hollywood/ >/dev/null 2>&1; exit" INT
+ while true; do
+-	FILES=$(locate -l 4096 "/usr/*.java" "/usr/*.c" "/usr/*.cpp" 2>/dev/null | sort -R)
++	FILES=$(locate -l 4096 "/usr/*.java" "/run/current-system/sw/*.java" "/usr/*.c" "/run/current-system/sw/*.c" "/usr/*.cpp" "/run/current-system/sw/*.cpp" 2>/dev/null | sort -R)
+ 	for f in $FILES; do
+ 		[ -r "$f" ] || continue
+ 		[ -s "$f" ] || continue
+diff --git a/lib/hollywood/hexdump b/lib/hollywood/hexdump
+index f2fb0bd..db059f5 100755
+--- a/lib/hollywood/hexdump
++++ b/lib/hollywood/hexdump
+@@ -19,8 +19,8 @@ command -v ccze >/dev/null 2>&1 || exit 1
+ 
+ trap "pkill -f -9 lib/hollywood/ >/dev/null 2>&1; exit" INT
+ while true; do
+-	for f in $(ls /usr/bin/ | sort -R); do
+-		head -c 4096 "/usr/bin/$f" | hexdump -C | ccze -A -c default=green -c dir="bold green"
++	for f in $(find /usr/bin/ /run/current-system/sw/bin/ | sort -R); do
++		head -c 4096 "$f" | hexdump -C | ccze -A -c default=green -c dir="bold green"
+ 		sleep 0.7
+ 	done
+ done
+diff --git a/lib/hollywood/jp2a b/lib/hollywood/jp2a
+index e87b950..6541f80 100755
+--- a/lib/hollywood/jp2a
++++ b/lib/hollywood/jp2a
+@@ -19,7 +19,7 @@ command -v jp2a >/dev/null 2>&1 || exit 1
+ 
+ trap "pkill -f -9 lib/hollywood/ >/dev/null 2>&1; exit" INT
+ while true; do
+-	FILES=$(locate -l 4096 "/usr/*jpg" 2>/dev/null | sort -R)
++	FILES=$(locate -l 4096 "/usr/*jpg" "/run/current-system/sw/*jpg" 2>/dev/null | sort -R)
+ 	for f in $FILES; do
+ 		[ -r "$f" ] || continue
+ 		[ -s "$f" ] || continue
+diff --git a/lib/hollywood/man b/lib/hollywood/man
+index 2d42513..f4d8bbb 100755
+--- a/lib/hollywood/man
++++ b/lib/hollywood/man
+@@ -19,7 +19,7 @@ command -v ccze >/dev/null 2>&1 || exit 1
+ 
+ trap "pkill -f -9 lib/hollywood/ >/dev/null 2>&1; exit" INT
+ while true; do
+-	FILES=$(ls /usr/share/man/man1/ | sort -R | sed "s/\.1\.gz.*$//" | head -n 4096)
++	FILES=$(ls /usr/share/man/man1/ /run/current-system/sw/share/man/man1/ | sort -R | sed "s/\.1\.gz.*$//" | head -n 4096)
+ 	for f in $FILES; do
+ 		man "$f" | ccze -A
+ 		sleep 0.2
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 67807887ec615..d35a526dfdb3b 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,15 +3,15 @@
 }:
 let
   pname = "josm";
-  version = "18427";
+  version = "18463";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      sha256 = "sha256-SsoeKfpWi41sd77LfaQW0OcHnyf8iLolKWF74dhalpY=";
+      sha256 = "sha256-++8XtzAykJ+85Kvzy3xgaZoKaVlJwz+Ct1xb/QkC1Gc=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      sha256 = "sha256-cz3OT03StvJy9XYBiPxx+nz36O0cg+XrL/uc52/G/1c=";
+      sha256 = "sha256-n7GlUWYOAXw4G59SBsO8HZ1OaiUWwzOsiURPFBYq31E=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index ae82d4023247d..822f2c13cbeae 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -311,8 +311,8 @@ in
     src = fetchFromGitHub {
       owner = "jneilliii";
       repo = "OctoPrint-STLViewer";
-      rev = version;
-      sha256 = "0mkvh44fn2ch4z2avsdjwi1rp353ylmk9j5fln4x7rx8ph8y7g2b";
+      rev = "refs/tags/${version}";
+      sha256 = "sha256-S7zjEbyo59OJpa7INCv1o4ybQ+Sy6a3EJ5AJ6wiBe1Y=";
     };
 
     meta = with lib; {
diff --git a/pkgs/applications/science/math/mathematica/generic.nix b/pkgs/applications/science/math/mathematica/generic.nix
index 0f4819172cea9..b081640c97d5b 100644
--- a/pkgs/applications/science/math/mathematica/generic.nix
+++ b/pkgs/applications/science/math/mathematica/generic.nix
@@ -121,6 +121,8 @@ in stdenv.mkDerivation {
     "--set USE_WOLFRAM_LD_LIBRARY_PATH 1"
     # Fix xkeyboard config path for Qt
     "--set QT_XKB_CONFIG_ROOT ${xkeyboard_config}/share/X11/xkb"
+    # wayland isn't supported
+    "--set QT_QPA_PLATFORM xcb"
   ] ++ lib.optionals cudaSupport [
     "--set CUDA_PATH ${cudaEnv}"
     "--set NVIDIA_DRIVER_LIBRARY_PATH ${addOpenGLRunpath.driverLink}/lib/libnvidia-tls.so"
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
index 8f15a38111c8f..4fed03db0dd08 100644
--- a/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -28,14 +28,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wezterm";
-  version = "20220408-101518-b908e2dd";
+  version = "20220624-141144-bd1b7c5d";
 
   src = fetchFromGitHub {
     owner = "wez";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-kuuoD+hqgj7QXFRIxa112oc4idtcK0ptFACDpI0bzGY=";
+    sha256 = "sha256-7VuNOJ4xqTxumLft7wRj4zdN8Y2ZSYtXr/KuqaLNOgw=";
   };
 
   postPatch = ''
@@ -45,7 +45,7 @@ rustPlatform.buildRustPackage rec {
     rm -r wezterm-ssh/tests
   '';
 
-  cargoSha256 = "sha256-iIb2zLUZpn23ooEiOP+yQMYUUmvef/KqvjzgLOFmjs0=";
+  cargoSha256 = "sha256-YvQ0APyPiYwISE/pDD2s+UgYFj4CKPdolb14FrNpocU=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/applications/version-management/gitlab/Remove-geo-from-database.yml.patch b/pkgs/applications/version-management/gitlab/Remove-geo-from-database.yml.patch
new file mode 100644
index 0000000000000..968e618f3121f
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab/Remove-geo-from-database.yml.patch
@@ -0,0 +1,69 @@
+From 7d833508e3bc4c737834e9edf1c429d36f67a38c Mon Sep 17 00:00:00 2001
+From: "M. A" <mak@nyantec.com>
+Date: Sat, 25 Jun 2022 13:34:42 +0000
+Subject: [PATCH] Remove geo from database.yml
+
+---
+ config/database.yml.postgresql | 28 ----------------------------
+ 1 file changed, 28 deletions(-)
+
+diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql
+index 5329a8e9fd7..a4daab1fd0c 100644
+--- a/config/database.yml.postgresql
++++ b/config/database.yml.postgresql
+@@ -18,13 +18,6 @@ production:
+     #     port: 8600
+     #     record: secondary.postgresql.service.consul
+     #     interval: 300
+-  geo:
+-    adapter: postgresql
+-    encoding: unicode
+-    database: gitlabhq_geo_production
+-    username: git
+-    password: "secure password"
+-    host: localhost
+ 
+ #
+ # Development specific
+@@ -39,13 +32,6 @@ development:
+     host: localhost
+     variables:
+       statement_timeout: 15s
+-  geo:
+-    adapter: postgresql
+-    encoding: unicode
+-    database: gitlabhq_geo_development
+-    username: postgres
+-    password: "secure password"
+-    host: localhost
+ 
+ #
+ # Staging specific
+@@ -58,13 +44,6 @@ staging:
+     username: git
+     password: "secure password"
+     host: localhost
+-  geo:
+-    adapter: postgresql
+-    encoding: unicode
+-    database: gitlabhq_geo_staging
+-    username: git
+-    password: "secure password"
+-    host: localhost
+ 
+ # Warning: The database defined as "test" will be erased and
+ # re-generated from your development database when you run "rake".
+@@ -80,10 +59,3 @@ test: &test
+     prepared_statements: false
+     variables:
+       statement_timeout: 15s
+-  geo:
+-    adapter: postgresql
+-    encoding: unicode
+-    database: gitlabhq_geo_test
+-    username: postgres
+-    password:
+-    host: localhost
+-- 
+2.36.0
+
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index c2f3092a7fabc..3cfdc2a11c771 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "15.0.2",
-  "repo_hash": "sha256-B5zD8yBY6d+jkIghuxShsR73+2X7Jd9mai1ouraEM44=",
-  "yarn_hash": "1a8k3x3b9sirzicqkwmr10m27n593iljfh8awdc9700akbj155lr",
+  "version": "15.1.0",
+  "repo_hash": "sha256-vOPI9kxdJlQNmI/DZueFcbvZPy2/0d+2CYM/RBAkIcU=",
+  "yarn_hash": "19df16gk0vpvdi1idqaakaglf11cic93i5njw0x4m2cnsznhpvz4",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v15.0.2-ee",
+  "rev": "v15.1.0-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "15.0.2",
-    "GITLAB_PAGES_VERSION": "1.58.0",
-    "GITLAB_SHELL_VERSION": "14.3.0",
-    "GITLAB_WORKHORSE_VERSION": "15.0.2"
+    "GITALY_SERVER_VERSION": "15.1.0",
+    "GITLAB_PAGES_VERSION": "1.59.0",
+    "GITLAB_SHELL_VERSION": "14.7.4",
+    "GITLAB_WORKHORSE_VERSION": "15.1.0"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index e5765bb78423c..73a02673471f4 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -59,9 +59,17 @@ let
 
     nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert ];
 
-    # Since version 12.6.0, the rake tasks need the location of git,
-    # so we have to apply the location patches here too.
-    patches = [ ./remove-hardcoded-locations.patch ];
+    patches = [
+      # Since version 12.6.0, the rake tasks need the location of git,
+      # so we have to apply the location patches here too.
+      ./remove-hardcoded-locations.patch
+
+      # Gitlab edited the default database config since [1] and the
+      # installer complains about valid keywords only being "main" and "ci".
+      #
+      # [1]: https://gitlab.com/gitlab-org/gitlab/-/commit/99c0fac52b10cd9df62bbe785db799352a2d9028
+      ./Remove-geo-from-database.yml.patch
+    ];
     # One of the patches uses this variable - if it's unset, execution
     # of rake tasks fails.
     GITLAB_LOG_PATH = "log";
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index cc5344f8e87af..3616864ad7e6d 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -115,7 +115,7 @@ GEM
     minitest (5.15.0)
     msgpack (1.3.3)
     multipart-post (2.1.1)
-    nokogiri (1.13.3)
+    nokogiri (1.13.6)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     octokit (4.20.0)
@@ -249,4 +249,4 @@ DEPENDENCIES
   timecop
 
 BUNDLED WITH
-   2.1.4
+   2.3.15
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index e38a24213b0ef..b8c1ecf6704e6 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,8 +11,8 @@ let
     gemdir = ./.;
   };
 
-  version = "15.0.2";
-  package_version = "v14";
+  version = "15.1.0";
+  package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 in
 
@@ -24,10 +24,10 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-jwPXar16FOq0xCg3xUXH72YPmoVa91ae3bgz95ZmYo4=";
+    sha256 = "sha256-rhMQRskum4c5bQL1sE7O4gMxIGX7q3bntuV1HkttA8M=";
   };
 
-  vendorSha256 = "sha256-/tHKWo09ZV31TSIqlOk36V3y7gNikziUJHf+nS1gHEw=";
+  vendorSha256 = "sha256-0JWJ2mpf79gJdnNRdlQLi0oDvnj6VmibkW2XcPnaCww=";
 
   passthru = {
     inherit rubyEnv;
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index ccf444330af36..1697a9f90200c 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -493,10 +493,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
+      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
       type = "gem";
     };
-    version = "1.13.3";
+    version = "1.13.6";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 3888b0ba1104b..37d66c3a7f656 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "14.3.0";
+  version = "14.7.4";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-SFoNtWcY0iJREsA+vZRsVJHmNb2vNvOiBJnochxA/Us=";
+    sha256 = "sha256-kLIjlMwoK1AlhvP38OspXnIWbdOcaLl4r05PiUmqnWw=";
   };
 
   buildInputs = [ ruby ];
 
   patches = [ ./remove-hardcoded-locations.patch ];
 
-  vendorSha256 = "sha256-eSzJon8o7ktV3rFuTE1A4tzdkBzWBZf1JxnrcMj5s00=";
+  vendorSha256 = "sha256-f2IkdkTZhve/cYKSH+N2Y5bXFSHuQ8t4hjfReyKTPUU=";
 
   postInstall = ''
     cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 89d82cc8dd569..b59909dd041a1 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 = "15.0.2";
+  version = "15.1.0";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-7hNwBCDMdiiOliZa/lkYLo8gyAksAU0HanCSyaAMYLs=";
+  vendorSha256 = "sha256-cF2wVii/uBqlUQvrbDyPlv4tnfKA45deb/sE0c9U7Tk=";
   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 cbb4d6f90c0fb..9f5c0e4cbfd8d 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
 
 gem 'rails', '~> 6.1.4.7'
 
-gem 'bootsnap', '~> 1.9.4', require: false
+gem 'bootsnap', '~> 1.12.0', require: false
 
 # Responders respond_to and respond_with
 gem 'responders', '~> 3.0'
@@ -17,7 +17,7 @@ gem 'view_component', '~> 2.50.0'
 gem 'default_value_for', '~> 3.4.0'
 
 # Supported DBs
-gem 'pg', '~> 1.1'
+gem 'pg', '~> 1.3.0'
 
 gem 'rugged', '~> 1.2'
 gem 'grape-path-helpers', '~> 1.7.0'
@@ -55,7 +55,7 @@ gem 'omniauth-authentiq', '~> 0.3.3'
 gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect'
 gem 'omniauth-salesforce', '~> 1.0.5'
 gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
-gem 'rack-oauth2', '~> 1.16.0'
+gem 'rack-oauth2', '~> 1.19.0'
 gem 'jwt', '~> 2.1.0'
 
 # Kerberos authentication. EE-only
@@ -97,10 +97,10 @@ gem 'net-ldap', '~> 0.16.3'
 # API
 gem 'grape', '~> 1.5.2'
 gem 'grape-entity', '~> 0.10.0'
-gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
+gem 'rack-cors', '~> 1.1.0', require: 'rack/cors'
 
 # GraphQL API
-gem 'graphql', '~> 1.11.10'
+gem 'graphql', '~> 1.13.12'
 gem 'graphiql-rails', '~> 1.8'
 gem 'apollo_upload_server', '~> 2.1.0'
 gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
@@ -121,7 +121,7 @@ gem 'carrierwave', '~> 1.3'
 gem 'mini_magick', '~> 4.10.1'
 
 # for backups
-gem 'fog-aws', '~> 3.12'
+gem 'fog-aws', '~> 3.14'
 # Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
 # Also see config/initializers/fog_core_patch.rb.
 gem 'fog-core', '= 2.1.0'
@@ -130,7 +130,7 @@ gem 'fog-local', '~> 0.6'
 gem 'fog-openstack', '~> 1.0'
 gem 'fog-rackspace', '~> 0.1.1'
 gem 'fog-aliyun', '~> 0.3'
-gem 'gitlab-fog-azure-rm', '~> 1.2.0', require: 'fog/azurerm'
+gem 'gitlab-fog-azure-rm', '~> 1.3.0', require: 'fog/azurerm'
 
 # for Google storage
 gem 'google-api-client', '~> 0.33'
@@ -167,10 +167,10 @@ gem 'asciidoctor', '~> 2.0.10'
 gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
 gem 'asciidoctor-plantuml', '~> 0.0.12'
 gem 'asciidoctor-kroki', '~> 0.5.0', require: false
-gem 'rouge', '~> 3.27.0'
+gem 'rouge', '~> 3.29.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.12'
+gem 'nokogiri', '~> 1.13.6'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -181,9 +181,9 @@ gem 'diffy', '~> 3.3'
 gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
-gem 'rack', '~> 2.2.3'
-# https://github.com/sharpstone/rack-timeout/blob/master/README.md#rails-apps-manually
-gem 'rack-timeout', '~> 0.5.1', require: 'rack/timeout/base'
+gem 'rack', '~> 2.2.3.0'
+# https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually
+gem 'rack-timeout', '~> 0.6.0', require: 'rack/timeout/base'
 
 group :puma do
   gem 'puma', '~> 5.6.2', require: false
@@ -219,7 +219,7 @@ gem 'ruby-progressbar', '~> 1.10'
 gem 'settingslogic', '~> 2.0.9'
 
 # Linear-time regex library for untrusted regular expressions
-gem 're2', '~> 1.2.0'
+gem 're2', '~> 1.4.0'
 
 # Misc
 
@@ -301,7 +301,7 @@ gem 'base32', '~> 0.3.0'
 gem 'gitlab-license', '~> 2.1.0'
 
 # Protect against bruteforcing
-gem 'rack-attack', '~> 6.3.0'
+gem 'rack-attack', '~> 6.6.0'
 
 # Sentry integration
 gem 'sentry-raven', '~> 3.1'
@@ -311,12 +311,12 @@ gem 'sentry-sidekiq', '~> 5.1.1'
 
 # PostgreSQL query parsing
 #
-gem 'pg_query', '~> 2.1'
+gem 'pg_query', '~> 2.1.0'
 
 gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
-gem 'gitlab-labkit', '~> 0.22.0'
+gem 'gitlab-labkit', '~> 0.23.0'
 # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0
 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900
 gem 'thrift', '>= 0.14.0'
@@ -344,7 +344,7 @@ gem 'prometheus-client-mmap', '~> 0.15.0', require: 'prometheus/client'
 gem 'warning', '~> 1.2.0'
 
 group :development do
-  gem 'lefthook', '~> 0.7.0', require: false
+  gem 'lefthook', '~> 0.8.0', require: false
   gem 'rubocop'
   gem 'solargraph', '~> 0.44.3', require: false
 
@@ -381,7 +381,7 @@ group :development, :test do
   gem 'spring', '~> 2.1.0'
   gem 'spring-commands-rspec', '~> 1.0.4'
 
-  gem 'gitlab-styles', '~> 7.0.0', require: false
+  gem 'gitlab-styles', '~> 7.1.0', require: false
 
   gem 'haml_lint', '~> 0.36.0', require: false
   gem 'bundler-audit', '~> 0.7.0.1', require: false
@@ -402,10 +402,12 @@ group :development, :test do
   gem 'test_file_finder', '~> 0.1.3'
 
   gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup'
+
+  gem 'pact', '~> 1.12'
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 3.0', require: false
+  gem 'gitlab-dangerfiles', '~> 3.4.0', require: false
 end
 
 group :development, :test, :coverage do
@@ -477,13 +479,13 @@ gem 'sys-filesystem', '~> 1.4.3'
 gem 'net-ntp'
 
 # SSH keys support
-gem 'ssh_data', '~> 1.2'
+gem 'ssh_data', '~> 1.3'
 
 # Spamcheck GRPC protocol definitions
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 14.10.0-rc1'
+gem 'gitaly', '~> 15.1.0-rc1'
 
 # KAS GRPC protocol definitions
 gem 'kas-grpc', '~> 0.0.2'
@@ -503,7 +505,7 @@ gem 'gitlab-experiment', '~> 0.7.1'
 
 # Structured logging
 gem 'lograge', '~> 0.5'
-gem 'grape_logging', '~> 1.7'
+gem 'grape_logging', '~> 1.8'
 
 # DNS Lookup
 gem 'gitlab-net-dns', '~> 0.9.1'
@@ -545,3 +547,5 @@ gem 'ipaddress', '~> 0.8.3'
 gem 'parslet', '~> 1.8'
 
 gem 'ipynbdiff', '0.4.7'
+
+gem 'ed25519', '~> 1.3.0'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 4f5d0e36ab33e..535e470372c6d 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -143,8 +143,8 @@ GEM
       rack (>= 0.9.0)
     bindata (2.4.10)
     binding_ninja (0.2.3)
-    bootsnap (1.9.4)
-      msgpack (~> 1.0)
+    bootsnap (1.12.0)
+      msgpack (~> 1.2)
     bootstrap_form (4.2.0)
       actionpack (>= 5.0)
       activemodel (>= 5.0)
@@ -214,10 +214,10 @@ GEM
     creole (0.5.0)
     crystalball (0.7.0)
       git
-    css_parser (1.7.0)
+    css_parser (1.11.0)
       addressable
     daemons (1.3.1)
-    danger (8.5.0)
+    danger (8.6.1)
       claide (~> 1.0)
       claide-plugins (>= 0.9.2)
       colored2 (~> 3.1)
@@ -306,6 +306,7 @@ GEM
     e2mmap (0.1.0)
     ecma-re-validator (0.3.0)
       regexp_parser (~> 2.0)
+    ed25519 (1.3.0)
     elasticsearch (7.13.3)
       elasticsearch-api (= 7.13.3)
       elasticsearch-transport (= 7.13.3)
@@ -360,7 +361,7 @@ GEM
     faraday-em_http (1.0.0)
     faraday-em_synchrony (1.0.0)
     faraday-excon (1.1.0)
-    faraday-http-cache (2.2.0)
+    faraday-http-cache (2.4.0)
       faraday (>= 0.8)
     faraday-httpclient (1.0.1)
     faraday-multipart (1.0.3)
@@ -387,6 +388,8 @@ GEM
       rake
     ffi-yajl (2.3.4)
       libyajl2 (~> 1.2)
+    filelock (1.1.1)
+    find_a_port (1.0.1)
     flipper (0.21.0)
     flipper-active_record (0.21.0)
       activerecord (>= 5.0, < 7)
@@ -402,11 +405,10 @@ GEM
       fog-json
       ipaddress (~> 0.8)
       xml-simple (~> 1.1)
-    fog-aws (3.12.0)
+    fog-aws (3.14.0)
       fog-core (~> 2.1)
       fog-json (~> 1.1)
       fog-xml (~> 0.1)
-      ipaddress (~> 0.8)
     fog-core (2.1.0)
       builder
       excon (~> 0.58)
@@ -458,7 +460,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (14.10.0.pre.rc1)
+    gitaly (15.1.0.pre.rc1)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -466,21 +468,21 @@ GEM
       terminal-table (~> 1.5, >= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (3.0.0)
+    gitlab-dangerfiles (3.4.0)
       danger (>= 8.4.5)
       danger-gitlab (>= 8.0.0)
       rake
     gitlab-experiment (0.7.1)
       activesupport (>= 3.0)
       request_store (>= 1.0)
-    gitlab-fog-azure-rm (1.2.0)
+    gitlab-fog-azure-rm (1.3.0)
       azure-storage-blob (~> 2.0)
       azure-storage-common (~> 2.0)
       fog-core (= 2.1.0)
       fog-json (~> 1.2.0)
       mime-types
       ms_rest_azure (~> 0.12.0)
-    gitlab-labkit (0.22.0)
+    gitlab-labkit (0.23.0)
       actionpack (>= 5.0.0, < 7.0.0)
       activesupport (>= 5.0.0, < 7.0.0)
       grpc (>= 1.37)
@@ -505,7 +507,7 @@ GEM
       openid_connect (~> 1.2)
     gitlab-sidekiq-fetcher (0.8.0)
       sidekiq (~> 6.1)
-    gitlab-styles (7.0.0)
+    gitlab-styles (7.1.0)
       rubocop (~> 0.91, >= 0.91.1)
       rubocop-gitlab-security (~> 0.1.1)
       rubocop-graphql (~> 0.10)
@@ -564,7 +566,7 @@ GEM
       grape (~> 1.3)
       rake (> 12)
       ruby2_keywords (~> 0.0.2)
-    grape_logging (1.8.3)
+    grape_logging (1.8.4)
       grape
       rack
     graphiql-rails (1.8.0)
@@ -574,7 +576,7 @@ GEM
       faraday (>= 1.0)
       faraday_middleware
       graphql-client
-    graphql (1.11.10)
+    graphql (1.13.12)
     graphql-client (0.17.0)
       activesupport (>= 3.0)
       graphql (~> 1.10)
@@ -715,7 +717,7 @@ GEM
       rest-client (~> 2.0)
     launchy (2.5.0)
       addressable (~> 2.7)
-    lefthook (0.7.5)
+    lefthook (0.8.0)
     letter_opener (1.7.0)
       launchy (~> 2.2)
     letter_opener_web (2.0.0)
@@ -777,7 +779,7 @@ GEM
       faraday (>= 0.9, < 2.0.0)
       faraday-cookie_jar (~> 0.0.6)
       ms_rest (~> 0.7.6)
-    msgpack (1.5.1)
+    msgpack (1.5.2)
     multi_json (1.14.1)
     multi_xml (0.6.0)
     multipart-post (2.1.1)
@@ -798,7 +800,7 @@ GEM
     netrc (0.11.0)
     nio4r (2.5.8)
     no_proxy_fix (0.1.2)
-    nokogiri (1.13.3)
+    nokogiri (1.13.6)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     notiffany (0.1.3)
@@ -852,8 +854,8 @@ GEM
       addressable (~> 2.3)
       nokogiri (~> 1.7, >= 1.7.1)
       omniauth (~> 1.2)
-    omniauth-dingtalk-oauth2 (1.0.0)
-      omniauth-oauth2 (~> 1.7.1)
+    omniauth-dingtalk-oauth2 (1.0.1)
+      omniauth-oauth2 (~> 1.7)
     omniauth-facebook (4.0.0)
       omniauth-oauth2 (~> 1.2)
     omniauth-github (1.4.0)
@@ -908,22 +910,45 @@ GEM
       rubypants (~> 0.2)
     orm_adapter (0.5.0)
     os (1.1.1)
-    parallel (1.20.1)
-    parser (3.0.3.2)
+    pact (1.59.0)
+      pact-mock_service (~> 3.0, >= 3.3.1)
+      pact-support (~> 1.15)
+      rack-test (>= 0.6.3, < 2.0.0)
+      rspec (~> 3.0)
+      term-ansicolor (~> 1.0)
+      thor (>= 0.20, < 2.0)
+      webrick (~> 1.3)
+    pact-mock_service (3.6.2)
+      filelock (~> 1.1)
+      find_a_port (~> 1.0.1)
+      json
+      pact-support (~> 1.12, >= 1.12.0)
+      rack (~> 2.0)
+      rspec (>= 2.14)
+      term-ansicolor (~> 1.0)
+      thor (>= 0.19, < 2.0)
+      webrick (~> 1.3)
+    pact-support (1.15.1)
+      awesome_print (~> 1.1)
+      randexp (~> 0.1.7)
+      rspec (>= 2.14)
+      term-ansicolor (~> 1.0)
+    parallel (1.22.1)
+    parser (3.1.2.0)
       ast (~> 2.4.1)
     parslet (1.8.2)
     pastel (0.8.0)
       tty-color (~> 0.5)
     peek (1.1.0)
       railties (>= 4.0.0)
-    pg (1.2.3)
-    pg_query (2.1.1)
-      google-protobuf (>= 3.17.1)
+    pg (1.3.5)
+    pg_query (2.1.3)
+      google-protobuf (>= 3.19.2)
     plist (3.6.0)
     png_quantizator (0.2.1)
     po_to_json (1.0.1)
       json (>= 1.6.0)
-    premailer (1.11.1)
+    premailer (1.16.0)
       addressable
       css_parser (>= 1.6.0)
       htmlentities (>= 4.0.0)
@@ -947,7 +972,7 @@ GEM
       pry (~> 0.13.0)
       tty-markdown
       tty-prompt
-    public_suffix (4.0.6)
+    public_suffix (4.0.7)
     puma (5.6.2)
       nio4r (~> 2.0)
     puma_worker_killer (0.3.1)
@@ -956,14 +981,14 @@ GEM
     pyu-ruby-sasl (0.0.3.3)
     raabro (1.1.6)
     racc (1.6.0)
-    rack (2.2.3)
+    rack (2.2.3.1)
     rack-accept (0.4.5)
       rack (>= 0.4)
-    rack-attack (6.3.0)
+    rack-attack (6.6.1)
       rack (>= 1.0, < 3)
-    rack-cors (1.0.6)
-      rack (>= 1.6.0)
-    rack-oauth2 (1.16.0)
+    rack-cors (1.1.1)
+      rack (>= 2.0.0)
+    rack-oauth2 (1.19.0)
       activesupport
       attr_required
       httpclient
@@ -973,7 +998,7 @@ GEM
       rack
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
-    rack-timeout (0.5.2)
+    rack-timeout (0.6.0)
     rails (6.1.4.7)
       actioncable (= 6.1.4.7)
       actionmailbox (= 6.1.4.7)
@@ -1007,8 +1032,9 @@ GEM
       method_source
       rake (>= 0.13)
       thor (~> 1.0)
-    rainbow (3.0.0)
+    rainbow (3.1.1)
     rake (13.0.6)
+    randexp (0.1.7)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
@@ -1019,7 +1045,7 @@ GEM
     rbtree (0.4.4)
     rchardet (1.8.0)
     rdoc (6.3.2)
-    re2 (1.2.0)
+    re2 (1.4.0)
     recaptcha (4.13.1)
       json
     recursive-open-struct (1.1.3)
@@ -1035,7 +1061,7 @@ GEM
       redis-store (>= 1.2, < 2)
     redis-store (1.9.0)
       redis (>= 4, < 5)
-    regexp_parser (2.2.1)
+    regexp_parser (2.5.0)
     regexp_property_values (1.0.0)
     representable (3.0.4)
       declarative (< 0.1.0)
@@ -1057,7 +1083,7 @@ GEM
     rexml (3.2.5)
     rinku (2.0.0)
     rotp (6.2.0)
-    rouge (3.27.0)
+    rouge (3.29.0)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -1112,11 +1138,11 @@ GEM
       rubocop-ast (>= 0.6.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 2.0)
-    rubocop-ast (1.4.1)
-      parser (>= 2.7.1.5)
+    rubocop-ast (1.18.0)
+      parser (>= 3.1.1.0)
     rubocop-gitlab-security (0.1.1)
       rubocop (>= 0.51)
-    rubocop-graphql (0.13.0)
+    rubocop-graphql (0.14.3)
       rubocop (>= 0.87, < 2)
     rubocop-performance (1.9.2)
       rubocop (>= 0.90.0, < 2.0)
@@ -1253,7 +1279,7 @@ GEM
       activesupport (>= 5.2)
       sprockets (>= 3.0.0)
     sqlite3 (1.4.2)
-    ssh_data (1.2.0)
+    ssh_data (1.3.0)
     ssrf_filter (1.0.7)
     stackprof (0.2.15)
     state_machines (0.5.0)
@@ -1272,11 +1298,14 @@ GEM
       activesupport (>= 3)
       attr_required (>= 0.0.5)
       httpclient (>= 2.4)
+    sync (0.5.0)
     sys-filesystem (1.4.3)
       ffi (~> 1.1)
     sysexits (1.2.0)
     tanuki_emoji (0.6.0)
     temple (0.8.2)
+    term-ansicolor (1.7.1)
+      tins (~> 1.0)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
     terser (1.0.2)
@@ -1295,6 +1324,8 @@ GEM
     timecop (0.9.1)
     timeliness (0.3.10)
     timfel-krb5-auth (0.8.3)
+    tins (1.31.0)
+      sync
     toml-rb (2.0.1)
       citrus (~> 3.0, > 3.0)
     tomlrb (1.3.0)
@@ -1341,7 +1372,7 @@ GEM
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.8)
-    unicode-display_width (1.7.0)
+    unicode-display_width (1.8.0)
     unicode_utils (1.4.0)
     uniform_notifier (1.13.0)
     unleash (3.2.2)
@@ -1403,7 +1434,7 @@ GEM
       nokogiri (~> 1.8)
     yajl-ruby (1.4.1)
     yard (0.9.26)
-    zeitwerk (2.5.4)
+    zeitwerk (2.6.0)
 
 PLATFORMS
   ruby
@@ -1435,7 +1466,7 @@ DEPENDENCIES
   benchmark-ips (~> 2.3.0)
   benchmark-memory (~> 0.1)
   better_errors (~> 2.9.0)
-  bootsnap (~> 1.9.4)
+  bootsnap (~> 1.12.0)
   bootstrap_form (~> 4.2.0)
   browser (~> 4.2)
   bullet (~> 6.1.3)
@@ -1464,6 +1495,7 @@ DEPENDENCIES
   discordrb-webhooks (~> 3.4)
   doorkeeper (~> 5.5.0.rc2)
   doorkeeper-openid_connect (~> 1.7.5)
+  ed25519 (~> 1.3.0)
   elasticsearch-api (= 7.13.3)
   elasticsearch-model (~> 7.2)
   elasticsearch-rails (~> 7.2)
@@ -1481,7 +1513,7 @@ DEPENDENCIES
   flipper-active_support_cache_store (~> 0.21.0)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
-  fog-aws (~> 3.12)
+  fog-aws (~> 3.14)
   fog-core (= 2.1.0)
   fog-google (~> 1.15)
   fog-local (~> 0.6)
@@ -1492,13 +1524,13 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 14.10.0.pre.rc1)
+  gitaly (~> 15.1.0.pre.rc1)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 3.0)
+  gitlab-dangerfiles (~> 3.4.0)
   gitlab-experiment (~> 0.7.1)
-  gitlab-fog-azure-rm (~> 1.2.0)
-  gitlab-labkit (~> 0.22.0)
+  gitlab-fog-azure-rm (~> 1.3.0)
+  gitlab-labkit (~> 0.23.0)
   gitlab-license (~> 2.1.0)
   gitlab-license_finder (~> 6.0)
   gitlab-mail_room (~> 0.0.9)
@@ -1506,7 +1538,7 @@ DEPENDENCIES
   gitlab-net-dns (~> 0.9.1)
   gitlab-omniauth-openid-connect (~> 0.9.0)
   gitlab-sidekiq-fetcher (= 0.8.0)
-  gitlab-styles (~> 7.0.0)
+  gitlab-styles (~> 7.1.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.4.0)
@@ -1516,10 +1548,10 @@ DEPENDENCIES
   grape (~> 1.5.2)
   grape-entity (~> 0.10.0)
   grape-path-helpers (~> 1.7.0)
-  grape_logging (~> 1.7)
+  grape_logging (~> 1.8)
   graphiql-rails (~> 1.8)
   graphlient (~> 0.5.0)
-  graphql (~> 1.11.10)
+  graphql (~> 1.13.12)
   graphql-docs (~> 1.6.0)
   grpc (~> 1.42.0)
   gssapi
@@ -1547,7 +1579,7 @@ DEPENDENCIES
   knapsack (~> 1.21.1)
   kramdown (~> 2.3.1)
   kubeclient (~> 4.9.2)
-  lefthook (~> 0.7.0)
+  lefthook (~> 0.8.0)
   letter_opener_web (~> 2.0.0)
   licensee (~> 9.14.1)
   lockbox (~> 0.6.2)
@@ -1563,7 +1595,7 @@ DEPENDENCIES
   multi_json (~> 1.14.1)
   net-ldap (~> 0.16.3)
   net-ntp
-  nokogiri (~> 1.12)
+  nokogiri (~> 1.13.6)
   oauth2 (~> 1.4)
   octokit (~> 4.15)
   ohai (~> 16.10)
@@ -1588,11 +1620,12 @@ DEPENDENCIES
   omniauth-twitter (~> 1.4)
   omniauth_crowd (~> 2.4.0)
   org-ruby (~> 0.9.12)
+  pact (~> 1.12)
   parallel (~> 1.19)
   parslet (~> 1.8)
   peek (~> 1.1)
-  pg (~> 1.1)
-  pg_query (~> 2.1)
+  pg (~> 1.3.0)
+  pg_query (~> 2.1.0)
   png_quantizator (~> 0.2.1)
   premailer-rails (~> 1.10.3)
   prometheus-client-mmap (~> 0.15.0)
@@ -1601,19 +1634,19 @@ DEPENDENCIES
   pry-shell (~> 0.5.0)
   puma (~> 5.6.2)
   puma_worker_killer (~> 0.3.1)
-  rack (~> 2.2.3)
-  rack-attack (~> 6.3.0)
-  rack-cors (~> 1.0.6)
-  rack-oauth2 (~> 1.16.0)
+  rack (~> 2.2.3.0)
+  rack-attack (~> 6.6.0)
+  rack-cors (~> 1.1.0)
+  rack-oauth2 (~> 1.19.0)
   rack-proxy (~> 0.7.2)
-  rack-timeout (~> 0.5.1)
+  rack-timeout (~> 0.6.0)
   rails (~> 6.1.4.7)
   rails-controller-testing
   rails-i18n (~> 6.0)
   rainbow (~> 3.0)
   rbtrace (~> 0.4)
   rdoc (~> 6.3.2)
-  re2 (~> 1.2.0)
+  re2 (~> 1.4.0)
   recaptcha (~> 4.11)
   redis (~> 4.4.0)
   redis-actionpack (~> 5.2.0)
@@ -1622,7 +1655,7 @@ DEPENDENCIES
   responders (~> 3.0)
   retriable (~> 3.1.2)
   rexml (~> 3.2.5)
-  rouge (~> 3.27.0)
+  rouge (~> 3.29.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-benchmark (~> 0.6.0)
   rspec-parameterized
@@ -1665,7 +1698,7 @@ DEPENDENCIES
   spring-commands-rspec (~> 1.0.4)
   sprite-factory (~> 1.7)
   sprockets (~> 3.7.0)
-  ssh_data (~> 1.2)
+  ssh_data (~> 1.3)
   stackprof (~> 0.2.15)
   state_machines-activerecord (~> 0.8.0)
   sys-filesystem (~> 1.4.3)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 87791ff567532..5f11d60987854 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -577,10 +577,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19i4x2nascd74ahcvmrsnf03cygh1y4c9yf8rcv91fv0mcxpvb9n";
+      sha256 = "0yza43f42v0ys81y6jzbqfkdykf40h6l3yyvadwq32fswrbpwvbc";
       type = "gem";
     };
-    version = "1.9.4";
+    version = "1.12.0";
   };
   bootstrap_form = {
     dependencies = ["actionpack" "activemodel"];
@@ -930,10 +930,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
+      sha256 = "1qbdgp36dhcyljhmfxrvbgp1ha9yqxhxgyg3sdm48y9m371jd2an";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.11.0";
   };
   daemons = {
     groups = ["default" "development"];
@@ -951,10 +951,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmckbl41v27x9ri6snrl01alsbwxcqsfc4a1nfhgx0py6y0dmjg";
+      sha256 = "1n6zbkkinlv2hp4ig5c170d1ckbbdf8rgxmykfm3m3gn865vapnr";
       type = "gem";
     };
-    version = "8.5.0";
+    version = "8.6.1";
   };
   danger-gitlab = {
     dependencies = ["danger" "gitlab"];
@@ -1283,6 +1283,16 @@
     };
     version = "0.3.0";
   };
+  ed25519 = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
   elasticsearch = {
     dependencies = ["elasticsearch-api" "elasticsearch-transport"];
     groups = ["default"];
@@ -1537,14 +1547,14 @@
   };
   faraday-http-cache = {
     dependencies = ["faraday"];
-    groups = ["default" "development"];
+    groups = ["danger" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lhfwlk4mhmw9pdlgdsl2bq4x45w7s51jkxjryf18wym8iiw36g7";
+      sha256 = "143cpzdrnyqyfv1jasr0qjqgm57dhv46nsf5f2s06ndxccfr13rq";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.4.0";
   };
   faraday-httpclient = {
     groups = ["danger" "default" "development" "test"];
@@ -1712,6 +1722,26 @@
     };
     version = "2.3.4";
   };
+  filelock = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "085vrb6wf243iqqnrrccwhjd4chphfdsybkvjbapa2ipfj1ja1sj";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
+  find_a_port = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1sswgpvn38yav4i21adrr7yy8c8299d7rj065gd3iwg6nn26lpb0";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   flipper = {
     groups = ["default"];
     platforms = [];
@@ -1767,15 +1797,15 @@
     version = "0.3.3";
   };
   fog-aws = {
-    dependencies = ["fog-core" "fog-json" "fog-xml" "ipaddress"];
+    dependencies = ["fog-core" "fog-json" "fog-xml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cl9b93mwhzm9fp0lmac1vzz359g3sq52k06kn0a0vnvxrxnhzjm";
+      sha256 = "1gsb26a1jp0k7hclry0dai2a9m77a9h6ybc17x0i98z2ivzjsi07";
       type = "gem";
     };
-    version = "3.12.0";
+    version = "3.14.0";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
@@ -1967,10 +1997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ls4x3h1c3axx9kqmvs1mpcmjqchl297sh1bzzl5zjgdz25w24di";
+      sha256 = "0ygf5di1sl8b3gs7ascn3r9carf6v8d9c3damc10sh81sm7bwc0z";
       type = "gem";
     };
-    version = "14.10.0.pre.rc1";
+    version = "15.1.0.pre.rc1";
   };
   github-markup = {
     groups = ["default"];
@@ -2010,10 +2040,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kyp5kxp0jsk224y2nq4yg37wnn824ialdjvsf8fv3a20q9w4k7i";
+      sha256 = "13c7k36xq042fbf7d9jwgfc30zq9dfziwvqfi88h2199v9dkylix";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.4.0";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store"];
@@ -2032,10 +2062,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hi9v0zy863gnk17w0fp1ks2kr1s2z6q0bkx5wdbq6yawycjs94h";
+      sha256 = "1d8plrl69q5mcsgz8ywhw7k9q0g31y3gm6h90gw9apsisqbm7vrg";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   gitlab-labkit = {
     dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "pg_query" "redis"];
@@ -2043,10 +2073,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vs5q1lfk5i953gv2xvz6h5x6ycllr8hdzg81zsrz7hy3aygxknj";
+      sha256 = "0kiz2m3dw6ld2z6dsl8jh2ycw061wv8wiy34flymb5zqjiyyzw8l";
       type = "gem";
     };
-    version = "0.22.0";
+    version = "0.23.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -2127,10 +2157,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10fmvx2vx2v0mbwv5d4wcpc2iyp5y8lwxn9hjpzkk5bvxkk4c493";
+      sha256 = "0xp2f1bbx8i7a89xjwy6b5rhxr9g1vnms68chcnxdd95csxhxpzp";
       type = "gem";
     };
-    version = "7.0.0";
+    version = "7.1.0";
   };
   gitlab_chronic_duration = {
     dependencies = ["numerizer"];
@@ -2280,10 +2310,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x6cmmj0wi1m689r8d4yhyhpl8dwj5skn8b29igm4xvw3swkg94x";
+      sha256 = "1lcjqwal3wc2r41wsi01d09cyhxhglxp6y7hd0564pdx5lr3xk7g";
       type = "gem";
     };
-    version = "1.8.3";
+    version = "1.8.4";
   };
   graphiql-rails = {
     dependencies = ["railties" "sprockets-rails"];
@@ -2312,10 +2342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qb6bk8gflwid4qrk2i9ndzs5fxycdjvxmhy9w547lglzb5jx19b";
+      sha256 = "1hvsv6ig6d8syr4vasa8vcc090kbawwflk5m1j6kl681y9n6d0hx";
       type = "gem";
     };
-    version = "1.11.10";
+    version = "1.13.12";
   };
   graphql-client = {
     dependencies = ["activesupport" "graphql"];
@@ -2899,10 +2929,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07r76qlzxcz9y4dmkqf8k4khkfq7s2v22dcq6b0w0v4cfiwqva3h";
+      sha256 = "05ykgpj6cka9vprvrk37ixyhj2pdw7a9m6bq645yai6ihghahlf0";
       type = "gem";
     };
-    version = "0.7.5";
+    version = "0.8.0";
   };
   letter_opener = {
     dependencies = ["launchy"];
@@ -3226,10 +3256,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i0gbypr1yxwfkaxzrk0i1wz4n6v3mw7z24k65jy3q1h5lda5xbw";
+      sha256 = "1hpj9mm31a5aw5qys2kglfl8jv74bkwkc5pfrpp3als89hgkznqy";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.5.2";
   };
   multi_json = {
     groups = ["default"];
@@ -3401,10 +3431,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
+      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
       type = "gem";
     };
-    version = "1.13.3";
+    version = "1.13.6";
   };
   notiffany = {
     dependencies = ["nenv" "shellany"];
@@ -3574,10 +3604,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sflfy1jvn9wqpral7gcfmbys7msvykp6rlnl33r8qgnbksn54y8";
+      sha256 = "16qkd51f1ab1hw4az27qj3vk958aal67by8djsplwd1q3h7nfib5";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.0.1";
   };
   omniauth-facebook = {
     dependencies = ["omniauth-oauth2"];
@@ -3803,15 +3833,48 @@
     };
     version = "1.1.1";
   };
+  pact = {
+    dependencies = ["pact-mock_service" "pact-support" "rack-test" "rspec" "term-ansicolor" "thor" "webrick"];
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ngwc4zrp6jxpb8s0y07xxic492a1n0akjxd7x4hks2fbsiwwwk2";
+      type = "gem";
+    };
+    version = "1.59.0";
+  };
+  pact-mock_service = {
+    dependencies = ["filelock" "find_a_port" "json" "pact-support" "rack" "rspec" "term-ansicolor" "thor" "webrick"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0izmf5h0n1mcrfk6qlz61rhzdjs6h0bkqrx6ndp8nhmfhja254fc";
+      type = "gem";
+    };
+    version = "3.6.2";
+  };
+  pact-support = {
+    dependencies = ["awesome_print" "randexp" "rspec" "term-ansicolor"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07qxvxy48im9vlswqspsh2k6fy6rsmi3409863ww8y7yx5pmjr63";
+      type = "gem";
+    };
+    version = "1.15.1";
+  };
   parallel = {
     groups = ["development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
+      sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb";
       type = "gem";
     };
-    version = "1.20.1";
+    version = "1.22.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -3819,10 +3882,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sszdl9mpzqzn9kxrp28sqmg47mjxcwypr4d60vbajqba4v885di";
+      sha256 = "0xhfghgidj8cbdnqp01f7kvnrv1f60izpkd9dhxsvpdzkfsdg97d";
       type = "gem";
     };
-    version = "3.0.3.2";
+    version = "3.1.2.0";
   };
   parslet = {
     groups = ["default" "development" "test"];
@@ -3861,10 +3924,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
+      sha256 = "10ryzmc3r5ja6g90a9ycsxcxsy5872xa1vf01jam0bm74zq3zmi6";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.3.5";
   };
   pg_query = {
     dependencies = ["google-protobuf"];
@@ -3872,10 +3935,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cf1b97nznl6adkx25j2x96sq8xx2b4fpic230fx65k3vqqn8a4r";
+      sha256 = "00bhwkhjy6bkp04313m5il7vd165i3fz0x4jissflf66i164ppgk";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.1.3";
   };
   plist = {
     groups = ["default"];
@@ -3914,10 +3977,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h";
+      sha256 = "11j7d6abxivj15yax47z3f751wz4pnl02qszzc9swswf8hn41r03";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.16.0";
   };
   premailer-rails = {
     dependencies = ["actionmailer" "premailer"];
@@ -4000,14 +4063,14 @@
     version = "0.5.0";
   };
   public_suffix = {
-    groups = ["default" "development" "test"];
+    groups = ["danger" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
       type = "gem";
     };
-    version = "4.0.6";
+    version = "4.0.7";
   };
   puma = {
     dependencies = ["nio4r"];
@@ -4062,14 +4125,14 @@
     version = "1.6.0";
   };
   rack = {
-    groups = ["default" "development" "kerberos" "test"];
+    groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0i5vs0dph9i5jn8dfc6aqd6njcafmb20rwqngrf759c9cvmyff16";
+      sha256 = "1b1qsg0yfargdhmpapp2d3mlxj82wyygs9nj74w0r03diyi8swlc";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.2.3.1";
   };
   rack-accept = {
     dependencies = ["rack"];
@@ -4088,10 +4151,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15b8lk54j2abqhpn588b1wvbzwmxwa7iql6241kxpjc0gyb51p0z";
+      sha256 = "049s3y3dpl6dn478g912y6f9nzclnnkl30psrbc2w5kaihj5szhq";
       type = "gem";
     };
-    version = "6.3.0";
+    version = "6.6.1";
   };
   rack-cors = {
     dependencies = ["rack"];
@@ -4099,10 +4162,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07dppmm1ah1gs31sb5byrkkady9vqzwjmpd92c8425nc6yzwknik";
+      sha256 = "0jvs0mq8jrsz86jva91mgql16daprpa3qaipzzfvngnnqr5680j7";
       type = "gem";
     };
-    version = "1.0.6";
+    version = "1.1.1";
   };
   rack-oauth2 = {
     dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"];
@@ -4110,10 +4173,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b0h0rlfl0p0drymwfc71g87fp66ck3205pl32z89xsgh0lzw25k";
+      sha256 = "0gxxr209r8h3nxhc9h731khv6yswiv9hc6q2pg672v530xmknznw";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.19.0";
   };
   rack-proxy = {
     dependencies = ["rack"];
@@ -4142,10 +4205,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d4dgbf8rgqx03lwsm8j6i20lzawk1bsvzfj5bhzrsycfyfk25aj";
+      sha256 = "16ahj3qz3xhfrwvqb4nf6cfzvliigg0idfsp5jyr8qwk676d2f30";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.6.0";
   };
   rails = {
     dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
@@ -4214,14 +4277,14 @@
     version = "6.1.4.7";
   };
   rainbow = {
-    groups = ["default" "development" "test"];
+    groups = ["coverage" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.1.1";
   };
   rake = {
     groups = ["default" "development" "test"];
@@ -4233,6 +4296,16 @@
     };
     version = "13.0.6";
   };
+  randexp = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1j742j7g107jgkvpsfq2b10d5xhsni5s8vxrp518d3karw7529ih";
+      type = "gem";
+    };
+    version = "0.1.7";
+  };
   rb-fsevent = {
     groups = ["default" "development" "test"];
     platforms = [];
@@ -4300,10 +4373,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16q71cc9wx342c697q18pkz19ym4ncjd97hcw4v6f1mgflkdv400";
+      sha256 = "13za43xb5xfg1xb1vwlvwx14jlmnk7jal5dqw8q9a5g13csx41sw";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.4.0";
   };
   recaptcha = {
     dependencies = ["json"];
@@ -4395,10 +4468,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm";
+      sha256 = "1rfd3q17p7q7pa67844q8b16ipy6ksh8mkzynpm1zldqbb9x4xm0";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.5.0";
   };
   regexp_property_values = {
     groups = ["default"];
@@ -4510,10 +4583,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
+      sha256 = "17dhzc9hfzd8x18hfsvn9rsp4jg18wdfsdy3a5p99y5dhfh1321r";
       type = "gem";
     };
-    version = "3.27.0";
+    version = "3.29.0";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -4674,10 +4747,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gkf1p8yal38nlvdb39qaiy0gr85fxfr09j5dxh8qvrgpncpnk78";
+      sha256 = "1b3p4wy68jkyq8vhm5y568wlhsihy3ilnp2c6ig18xcw1slnkypl";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.18.0";
   };
   rubocop-gitlab-security = {
     dependencies = ["rubocop"];
@@ -4696,10 +4769,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18md69dkz0s5xm93c4psmvy4c0nx3a7yi61vfjn46cw6yk54fm7b";
+      sha256 = "1yam7fdm77y0x6b6i7v14iiji9020mvdd9h1ainvv88zbv8yd4wq";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.14.3";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -5330,10 +5403,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p3vaq2fbmlphphqr0yjc5cyzzxjizq4zbxbbw3j2vpgdcmpi6bs";
+      sha256 = "1h5aiqqlk51z12kgvanhdvd0ajvv2i68z6a7450yxgmflfaiwz7c";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   ssrf_filter = {
     groups = ["default"];
@@ -5419,6 +5492,16 @@
     };
     version = "1.3.0";
   };
+  sync = {
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
   sys-filesystem = {
     dependencies = ["ffi"];
     groups = ["default"];
@@ -5460,6 +5543,17 @@
     };
     version = "0.8.2";
   };
+  term-ansicolor = {
+    dependencies = ["tins"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xq5kci9215skdh27npyd3y55p812v4qb4x2hv3xsjvwqzz9ycwj";
+      type = "gem";
+    };
+    version = "1.7.1";
+  };
   terminal-table = {
     dependencies = ["unicode-display_width"];
     groups = ["default" "development"];
@@ -5584,6 +5678,17 @@
     };
     version = "0.8.3";
   };
+  tins = {
+    dependencies = ["sync"];
+    groups = ["default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153q7j2nj7y43iscbfcihmwlcydx6sbd65azs27kain0gncymd90";
+      type = "gem";
+    };
+    version = "1.31.0";
+  };
   toml-rb = {
     dependencies = ["citrus"];
     groups = ["default"];
@@ -5776,14 +5881,14 @@
     version = "0.0.8";
   };
   unicode-display_width = {
-    groups = ["default" "development" "test"];
+    groups = ["danger" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
+      sha256 = "1204c1jx2g89pc25qk5150mk7j5k90692i7ihgfzqnad6qni74h2";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.8.0";
   };
   unicode_utils = {
     groups = ["default"];
@@ -6084,9 +6189,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
+      sha256 = "0xjdr2szxvn3zb1sb5l8nfd6k9jr3b4qqbbg1mj9grf68m3fxckc";
       type = "gem";
     };
-    version = "2.5.4";
+    version = "2.6.0";
   };
 }
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 700730a57fc97..770fe2cea3ee2 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -34,6 +34,7 @@
 , libmtp
 , liboggz
 , libopus
+, libplacebo
 , libpulseaudio
 , libraw1394
 , librsvg
@@ -123,6 +124,7 @@ stdenv.mkDerivation rec {
     libmtp
     liboggz
     libopus
+    libplacebo
     libpulseaudio
     libraw1394
     librsvg