Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-11-04 00:11:50 +00:00 committed by GitHub
commit a09e41ed5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
226 changed files with 4354 additions and 2020 deletions

View File

@ -7664,6 +7664,12 @@
githubId = 88038050;
name = "Souvik Sen";
};
iogamaster = {
email = "iogamastercode+nixpkgs@gmail.com";
name = "IogaMaster";
github = "iogamaster";
githubId = 67164465;
};
ionutnechita = {
email = "ionut_n2001@yahoo.com";
github = "ionutnechita";
@ -8370,6 +8376,12 @@
githubId = 3081095;
name = "Jürgen Keck";
};
jl178 = {
email = "jeredlittle1996@gmail.com";
github = "jl178";
githubId = 72664723;
name = "Jered Little";
};
jlamur = {
email = "contact@juleslamur.fr";
github = "jlamur";
@ -10474,6 +10486,12 @@
githubId = 2487922;
name = "Lars Jellema";
};
ludat = {
email = "lucas6246@gmail.com";
github = "ludat";
githubId = 4952044;
name = "Lucas David Traverso";
};
ludo = {
email = "ludo@gnu.org";
github = "civodul";
@ -14076,6 +14094,12 @@
githubId = 7839004;
name = "Dmitriy Pleshevskiy";
};
pluiedev = {
email = "hi@pluie.me";
github = "pluiedev";
githubId = 22406910;
name = "Leah Amelia Chen";
};
plumps = {
email = "maks.bronsky@web.de";
github = "plumps";
@ -16549,6 +16573,16 @@
github = "SnO2WMaN";
githubId = 15155608;
};
snowflake = {
email = "snowflake@pissmail.com";
name = "Snowflake";
github = "snf1k";
githubId = 149651684;
matrix = "@snowflake:mozilla.org";
keys = [{
fingerprint = "8223 7B6F 2FF4 8F16 B652 6CA3 934F 9E5F 9701 2C0B";
}];
};
snpschaaf = {
email = "philipe.schaaf@secunet.com";
name = "Philippe Schaaf";

View File

@ -208,7 +208,7 @@ qt.style = "gtk2";
It is possible to install custom [ XKB
](https://en.wikipedia.org/wiki/X_keyboard_extension) keyboard layouts
using the option `services.xserver.extraLayouts`.
using the option `services.xserver.xkb.extraLayouts`.
As a first example, we are going to create a layout based on the basic
US layout, with an additional layer to type some greek symbols by
@ -235,7 +235,7 @@ xkb_symbols "us-greek"
A minimal layout specification must include the following:
```nix
services.xserver.extraLayouts.us-greek = {
services.xserver.xkb.extraLayouts.us-greek = {
description = "US layout with alt-gr greek";
languages = [ "eng" ];
symbolsFile = /yourpath/symbols/us-greek;
@ -298,7 +298,7 @@ xkb_symbols "media"
As before, to install the layout do
```nix
services.xserver.extraLayouts.media = {
services.xserver.xkb.extraLayouts.media = {
description = "Multimedia keys remapping";
languages = [ "eng" ];
symbolsFile = /path/to/media-key;

View File

@ -322,7 +322,7 @@
order, or relying on `mkBefore` and `mkAfter`, but may impact users calling
`mkOrder n` with n  400.
- X keyboard extension (XKB) options have been reorganized into a single attribute set, `services.xserver.xkb`. Specifically, `services.xserver.layout` is now `services.xserver.xkb.layout`, `services.xserver.xkbModel` is now `services.xserver.xkb.model`, `services.xserver.xkbOptions` is now `services.xserver.xkb.options`, `services.xserver.xkbVariant` is now `services.xserver.xkb.variant`, and `services.xserver.xkbDir` is now `services.xserver.xkb.dir`.
- X keyboard extension (XKB) options have been reorganized into a single attribute set, `services.xserver.xkb`. Specifically, `services.xserver.layout` is now `services.xserver.xkb.layout`, `services.xserver.extraLayouts` is now `services.xserver.xkb.extraLayouts`, `services.xserver.xkbModel` is now `services.xserver.xkb.model`, `services.xserver.xkbOptions` is now `services.xserver.xkb.options`, `services.xserver.xkbVariant` is now `services.xserver.xkb.variant`, and `services.xserver.xkbDir` is now `services.xserver.xkb.dir`.
- `networking.networkmanager.firewallBackend` was removed as NixOS is now using iptables-nftables-compat even when using iptables, therefore Networkmanager now uses the nftables backend unconditionally.
@ -337,6 +337,8 @@
- The `services.mtr-exporter.target` has been removed in favor of `services.mtr-exporter.jobs` which allows specifying multiple targets.
- `blender-with-packages` has been deprecated in favor of `blender.withPackages`, for example `blender.withPackages (ps: [ps.bpycv])`. It behaves similarly to `python3.withPackages`.
- Setting `nixpkgs.config` options while providing an external `pkgs` instance will now raise an error instead of silently ignoring the options. NixOS modules no longer set `nixpkgs.config` to accomodate this. This specifically affects `services.locate`, `services.xserver.displayManager.lightdm.greeters.tiny` and `programs.firefox` NixOS modules. No manual intervention should be required in most cases, however, configurations relying on those modules affecting packages outside the system environment should switch to explicit overlays.
- `service.borgmatic.settings.location` and `services.borgmatic.configurations.<name>.location` are deprecated, please move your options out of sections to the global scope.

View File

@ -267,6 +267,7 @@
./programs/udevil.nix
./programs/usbtop.nix
./programs/vim.nix
./programs/virt-manager.nix
./programs/wavemon.nix
./programs/wayland/cardboard.nix
./programs/wayland/river.nix
@ -1506,6 +1507,7 @@
./virtualisation/docker.nix
./virtualisation/ecs-agent.nix
./virtualisation/hyperv-guest.nix
./virtualisation/incus.nix
./virtualisation/kvmgt.nix
./virtualisation/libvirtd.nix
./virtualisation/lxc.nix

View File

@ -90,7 +90,7 @@ in
description = mdDoc ''
Group policies to install.
See [Mozilla's documentation](https://github.com/mozilla/policy-templates/blob/master/README.md)
See [Mozilla's documentation](https://mozilla.github.io/policy-templates/)
for a list of available options.
This can be used to install extensions declaratively! Check out the

View File

@ -6,8 +6,6 @@ let
cfg = config.security.sudo;
inherit (pkgs) sudo;
toUserString = user: if (isInt user) then "#${toString user}" else "${user}";
toGroupString = group: if (isInt group) then "%#${toString group}" else "%${group}";
@ -247,7 +245,7 @@ in
};
};
environment.systemPackages = [ sudo ];
environment.systemPackages = [ cfg.package ];
security.pam.services.sudo = { sshAgentAuth = true; usshAuth = true; };

View File

@ -181,7 +181,18 @@ in {
# required to update the firmware of disks
services.udisks2.enable = true;
systemd.packages = [ cfg.package ];
systemd = {
packages = [ cfg.package ];
# fwupd-refresh expects a user that we do not create, so just run with DynamicUser
# instead and ensure we take ownership of /var/lib/fwupd
services.fwupd-refresh.serviceConfig = {
DynamicUser = true;
StateDirectory = "fwupd";
};
timers.fwupd-refresh.wantedBy = [ "timers.target" ];
};
security.polkit.enable = true;
};

View File

@ -3,7 +3,7 @@
with lib;
let
layouts = config.services.xserver.extraLayouts;
layouts = config.services.xserver.xkb.extraLayouts;
layoutOpts = {
options = {
@ -15,10 +15,10 @@ let
languages = mkOption {
type = types.listOf types.str;
description =
lib.mdDoc ''
A list of languages provided by the layout.
(Use ISO 639-2 codes, for example: "eng" for english)
'';
lib.mdDoc ''
A list of languages provided by the layout.
(Use ISO 639-2 codes, for example: "eng" for english)
'';
};
compatFile = mkOption {
@ -80,29 +80,37 @@ let
};
xkb_patched = pkgs.xorg.xkeyboardconfig_custom {
layouts = config.services.xserver.extraLayouts;
layouts = config.services.xserver.xkb.extraLayouts;
};
in
{
imports = [
(lib.mkRenamedOptionModuleWith {
sinceRelease = 2311;
from = [ "services" "xserver" "extraLayouts" ];
to = [ "services" "xserver" "xkb" "extraLayouts" ];
})
];
###### interface
options.services.xserver = {
options.services.xserver.xkb = {
extraLayouts = mkOption {
type = types.attrsOf (types.submodule layoutOpts);
default = {};
default = { };
example = literalExpression
''
{
mine = {
description = "My custom xkb layout.";
languages = [ "eng" ];
symbolsFile = /path/to/my/layout;
};
}
'';
''
{
mine = {
description = "My custom xkb layout.";
languages = [ "eng" ];
symbolsFile = /path/to/my/layout;
};
}
'';
description = lib.mdDoc ''
Extra custom layouts that will be included in the xkb configuration.
Information on how to create a new layout can be found here:

View File

@ -0,0 +1,236 @@
{ config, lib, pkgs, ... }:
let
cfg = config.virtualisation.incus;
preseedFormat = pkgs.formats.yaml { };
in
{
meta.maintainers = [ lib.maintainers.adamcstephens ];
options = {
virtualisation.incus = {
enable = lib.mkEnableOption (lib.mdDoc ''
incusd, a daemon that manages containers and virtual machines.
Users in the "incus-admin" group can interact with
the daemon (e.g. to start or stop containers) using the
{command}`incus` command line tool, among others.
'');
package = lib.mkPackageOptionMD pkgs "incus" { };
lxcPackage = lib.mkPackageOptionMD pkgs "lxc" { };
preseed = lib.mkOption {
type = lib.types.nullOr (
lib.types.submodule { freeformType = preseedFormat.type; }
);
default = null;
description = lib.mdDoc ''
Configuration for Incus preseed, see
<https://linuxcontainers.org/incus/docs/main/howto/initialize/#non-interactive-configuration>
for supported values.
Changes to this will be re-applied to Incus which will overwrite existing entities or create missing ones,
but entities will *not* be removed by preseed.
'';
example = {
networks = [
{
name = "incusbr0";
type = "bridge";
config = {
"ipv4.address" = "10.0.100.1/24";
"ipv4.nat" = "true";
};
}
];
profiles = [
{
name = "default";
devices = {
eth0 = {
name = "eth0";
network = "incusbr0";
type = "nic";
};
root = {
path = "/";
pool = "default";
size = "35GiB";
type = "disk";
};
};
}
];
storage_pools = [
{
name = "default";
driver = "dir";
config = {
source = "/var/lib/incus/storage-pools/default";
};
}
];
};
};
socketActivation = lib.mkEnableOption (
lib.mdDoc ''
socket-activation for starting incus.service. Enabling this option
will stop incus.service from starting automatically on boot.
''
);
startTimeout = lib.mkOption {
type = lib.types.ints.unsigned;
default = 600;
apply = toString;
description = lib.mdDoc ''
Time to wait (in seconds) for incusd to become ready to process requests.
If incusd does not reply within the configured time, `incus.service` will be
considered failed and systemd will attempt to restart it.
'';
};
};
};
config = lib.mkIf cfg.enable {
# https://github.com/lxc/incus/blob/f145309929f849b9951658ad2ba3b8f10cbe69d1/doc/reference/server_settings.md
boot.kernel.sysctl = {
"fs.aio-max-nr" = lib.mkDefault 524288;
"fs.inotify.max_queued_events" = lib.mkDefault 1048576;
"fs.inotify.max_user_instances" = lib.mkOverride 1050 1048576; # override in case conflict nixos/modules/services/x11/xserver.nix
"fs.inotify.max_user_watches" = lib.mkOverride 1050 1048576; # override in case conflict nixos/modules/services/x11/xserver.nix
"kernel.dmesg_restrict" = lib.mkDefault 1;
"kernel.keys.maxbytes" = lib.mkDefault 2000000;
"kernel.keys.maxkeys" = lib.mkDefault 2000;
"net.core.bpf_jit_limit" = lib.mkDefault 1000000000;
"net.ipv4.neigh.default.gc_thresh3" = lib.mkDefault 8192;
"net.ipv6.neigh.default.gc_thresh3" = lib.mkDefault 8192;
# vm.max_map_count is set higher in nixos/modules/config/sysctl.nix
};
boot.kernelModules = [
"veth"
"xt_comment"
"xt_CHECKSUM"
"xt_MASQUERADE"
"vhost_vsock"
] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ];
environment.systemPackages = [ cfg.package ];
# Note: the following options are also declared in virtualisation.lxc, but
# the latter can't be simply enabled to reuse the formers, because it
# does a bunch of unrelated things.
systemd.tmpfiles.rules = [ "d /var/lib/lxc/rootfs 0755 root root -" ];
security.apparmor = {
packages = [ cfg.lxcPackage ];
policies = {
"bin.lxc-start".profile = ''
include ${cfg.lxcPackage}/etc/apparmor.d/usr.bin.lxc-start
'';
"lxc-containers".profile = ''
include ${cfg.lxcPackage}/etc/apparmor.d/lxc-containers
'';
};
};
systemd.services.incus = {
description = "Incus Container and Virtual Machine Management Daemon";
wantedBy = lib.mkIf (!cfg.socketActivation) [ "multi-user.target" ];
after = [
"network-online.target"
"lxcfs.service"
] ++ (lib.optional cfg.socketActivation "incus.socket");
requires = [
"lxcfs.service"
] ++ (lib.optional cfg.socketActivation "incus.socket");
wants = [
"network-online.target"
];
path = lib.mkIf config.boot.zfs.enabled [ config.boot.zfs.package ];
environment = {
# Override Path to the LXC template configuration directory
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
};
serviceConfig = {
ExecStart = "${cfg.package}/bin/incusd --group incus-admin";
ExecStartPost = "${cfg.package}/bin/incusd waitready --timeout=${cfg.startTimeout}";
ExecStop = "${cfg.package}/bin/incus admin shutdown";
KillMode = "process"; # when stopping, leave the containers alone
Delegate = "yes";
LimitMEMLOCK = "infinity";
LimitNOFILE = "1048576";
LimitNPROC = "infinity";
TasksMax = "infinity";
Restart = "on-failure";
TimeoutStartSec = "${cfg.startTimeout}s";
TimeoutStopSec = "30s";
};
};
systemd.sockets.incus = lib.mkIf cfg.socketActivation {
description = "Incus UNIX socket";
wantedBy = [ "sockets.target" ];
socketConfig = {
ListenStream = "/var/lib/incus/unix.socket";
SocketMode = "0660";
SocketGroup = "incus-admin";
Service = "incus.service";
};
};
systemd.services.incus-preseed = lib.mkIf (cfg.preseed != null) {
description = "Incus initialization with preseed file";
wantedBy = ["incus.service"];
after = ["incus.service"];
bindsTo = ["incus.service"];
partOf = ["incus.service"];
script = ''
${cfg.package}/bin/incus admin init --preseed <${
preseedFormat.generate "incus-preseed.yaml" cfg.preseed
}
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
users.groups.incus-admin = { };
users.users.root = {
# match documented default ranges https://linuxcontainers.org/incus/docs/main/userns-idmap/#allowed-ranges
subUidRanges = [
{
startUid = 1000000;
count = 1000000000;
}
];
subGidRanges = [
{
startGid = 1000000;
count = 1000000000;
}
];
};
virtualisation.lxc.lxcfs.enable = true;
};
}

View File

@ -394,6 +394,7 @@ in {
icingaweb2 = handleTest ./icingaweb2.nix {};
iftop = handleTest ./iftop.nix {};
incron = handleTest ./incron.nix {};
incus = pkgs.recurseIntoAttrs (handleTest ./incus { inherit handleTestOn; });
influxdb = handleTest ./influxdb.nix {};
influxdb2 = handleTest ./influxdb2.nix {};
initrd-network-openvpn = handleTest ./initrd-network-openvpn {};
@ -762,6 +763,7 @@ in {
spark = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./spark {};
sqlite3-to-mysql = handleTest ./sqlite3-to-mysql.nix {};
sslh = handleTest ./sslh.nix {};
ssh-audit = handleTest ./ssh-audit.nix {};
sssd = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd.nix {};
sssd-ldap = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./sssd-ldap.nix {};
stalwart-mail = handleTest ./stalwart-mail.nix {};

View File

@ -0,0 +1,77 @@
import ../make-test-python.nix ({ pkgs, lib, ... } :
let
releases = import ../../release.nix {
configuration = {
# Building documentation makes the test unnecessarily take a longer time:
documentation.enable = lib.mkForce false;
};
};
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
in
{
name = "incus-container";
meta.maintainers = with lib.maintainers; [ adamcstephens ];
nodes.machine = { ... }: {
virtualisation = {
# Ensure test VM has enough resources for creating and managing guests
cores = 2;
memorySize = 1024;
diskSize = 4096;
incus.enable = true;
};
};
testScript = ''
def instance_is_up(_) -> bool:
status, _ = machine.execute("incus exec container --disable-stdin --force-interactive /run/current-system/sw/bin/true")
return status == 0
def set_container(config):
machine.succeed(f"incus config set container {config}")
machine.succeed("incus restart container")
with machine.nested("Waiting for instance to start and be usable"):
retry(instance_is_up)
machine.wait_for_unit("incus.service")
# no preseed should mean no service
machine.fail("systemctl status incus-preseed.service")
machine.succeed("incus admin init --minimal")
with subtest("Container image can be imported"):
machine.succeed("incus image import ${container-image-metadata}/*/*.tar.xz ${container-image-rootfs}/*/*.tar.xz --alias nixos")
with subtest("Container can be launched and managed"):
machine.succeed("incus launch nixos container")
with machine.nested("Waiting for instance to start and be usable"):
retry(instance_is_up)
machine.succeed("echo true | incus exec container /run/current-system/sw/bin/bash -")
with subtest("Container CPU limits can be managed"):
set_container("limits.cpu 1")
cpuinfo = machine.succeed("incus exec container grep -- -c ^processor /proc/cpuinfo").strip()
assert cpuinfo == "1", f"Wrong number of CPUs reported from /proc/cpuinfo, want: 1, got: {cpuinfo}"
set_container("limits.cpu 2")
cpuinfo = machine.succeed("incus exec container grep -- -c ^processor /proc/cpuinfo").strip()
assert cpuinfo == "2", f"Wrong number of CPUs reported from /proc/cpuinfo, want: 2, got: {cpuinfo}"
with subtest("Container memory limits can be managed"):
set_container("limits.memory 64MB")
meminfo = machine.succeed("incus exec container grep -- MemTotal /proc/meminfo").strip()
meminfo_bytes = " ".join(meminfo.split(' ')[-2:])
assert meminfo_bytes == "62500 kB", f"Wrong amount of memory reported from /proc/meminfo, want: '62500 kB', got: '{meminfo_bytes}'"
set_container("limits.memory 128MB")
meminfo = machine.succeed("incus exec container grep -- MemTotal /proc/meminfo").strip()
meminfo_bytes = " ".join(meminfo.split(' ')[-2:])
assert meminfo_bytes == "125000 kB", f"Wrong amount of memory reported from /proc/meminfo, want: '125000 kB', got: '{meminfo_bytes}'"
'';
})

View File

@ -0,0 +1,14 @@
{
system ? builtins.currentSystem,
config ? { },
pkgs ? import ../../.. { inherit system config; },
handleTestOn,
}:
{
container = import ./container.nix { inherit system pkgs; };
preseed = import ./preseed.nix { inherit system pkgs; };
socket-activated = import ./socket-activated.nix { inherit system pkgs; };
virtual-machine = handleTestOn [ "x86_64-linux" ] ./virtual-machine.nix {
inherit system pkgs;
};
}

View File

@ -0,0 +1,60 @@
import ../make-test-python.nix ({ pkgs, lib, ... } :
{
name = "incus-preseed";
meta.maintainers = with lib.maintainers; [ adamcstephens ];
nodes.machine = { lib, ... }: {
virtualisation = {
incus.enable = true;
incus.preseed = {
networks = [
{
name = "nixostestbr0";
type = "bridge";
config = {
"ipv4.address" = "10.0.100.1/24";
"ipv4.nat" = "true";
};
}
];
profiles = [
{
name = "nixostest_default";
devices = {
eth0 = {
name = "eth0";
network = "nixostestbr0";
type = "nic";
};
root = {
path = "/";
pool = "default";
size = "35GiB";
type = "disk";
};
};
}
];
storage_pools = [
{
name = "nixostest_pool";
driver = "dir";
}
];
};
};
};
testScript = ''
machine.wait_for_unit("incus.service")
machine.wait_for_unit("incus-preseed.service")
with subtest("Verify preseed resources created"):
machine.succeed("incus profile show nixostest_default")
machine.succeed("incus network info nixostestbr0")
machine.succeed("incus storage show nixostest_pool")
'';
})

View File

@ -0,0 +1,26 @@
import ../make-test-python.nix ({ pkgs, lib, ... } :
{
name = "incus-socket-activated";
meta.maintainers = with lib.maintainers; [ adamcstephens ];
nodes.machine = { lib, ... }: {
virtualisation = {
incus.enable = true;
incus.socketActivation = true;
};
};
testScript = ''
machine.wait_for_unit("incus.socket")
# ensure service is not running by default
machine.fail("systemctl is-active incus.service")
machine.fail("systemctl is-active incus-preseed.service")
# access the socket and ensure the service starts
machine.succeed("incus list")
machine.wait_for_unit("incus.service")
'';
})

View File

@ -0,0 +1,55 @@
import ../make-test-python.nix ({ pkgs, lib, ... }:
let
releases = import ../../release.nix {
configuration = {
# Building documentation makes the test unnecessarily take a longer time:
documentation.enable = lib.mkForce false;
# Our tests require `grep` & friends:
environment.systemPackages = with pkgs; [busybox];
};
};
vm-image-metadata = releases.lxdVirtualMachineImageMeta.${pkgs.stdenv.hostPlatform.system};
vm-image-disk = releases.lxdVirtualMachineImage.${pkgs.stdenv.hostPlatform.system};
instance-name = "instance1";
in
{
name = "incus-virtual-machine";
meta.maintainers = with lib.maintainers; [ adamcstephens ];
nodes.machine = {...}: {
virtualisation = {
# Ensure test VM has enough resources for creating and managing guests
cores = 2;
memorySize = 1024;
diskSize = 4096;
incus.enable = true;
};
};
testScript = ''
def instance_is_up(_) -> bool:
status, _ = machine.execute("incus exec ${instance-name} --disable-stdin --force-interactive /run/current-system/sw/bin/true")
return status == 0
machine.wait_for_unit("incus.service")
machine.succeed("incus admin init --minimal")
with subtest("virtual-machine image can be imported"):
machine.succeed("incus image import ${vm-image-metadata}/*/*.tar.xz ${vm-image-disk}/nixos.qcow2 --alias nixos")
with subtest("virtual-machine can be launched and become available"):
machine.succeed("incus launch nixos ${instance-name} --vm --config limits.memory=512MB --config security.secureboot=false")
with machine.nested("Waiting for instance to start and be usable"):
retry(instance_is_up)
with subtest("lxd-agent is started"):
machine.succeed("incus exec ${instance-name} systemctl is-active lxd-agent")
'';
})

View File

@ -213,7 +213,7 @@ in pkgs.lib.mapAttrs mkKeyboardTest {
extraConfig.console.useXkbConfig = true;
extraConfig.services.xserver.xkb.layout = "us-greek";
extraConfig.services.xserver.extraLayouts.us-greek =
extraConfig.services.xserver.xkb.extraLayouts.us-greek =
{ description = "US layout with alt-gr greek";
languages = [ "eng" ];
symbolsFile = pkgs.writeText "us-greek" ''

103
nixos/tests/ssh-audit.nix Normal file
View File

@ -0,0 +1,103 @@
import ./make-test-python.nix (
{pkgs, ...}: let
sshKeys = import (pkgs.path + "/nixos/tests/ssh-keys.nix") pkgs;
sshUsername = "any-user";
serverName = "server";
clientName = "client";
sshAuditPort = 2222;
in {
name = "ssh";
nodes = {
"${serverName}" = {
networking.firewall.allowedTCPPorts = [
sshAuditPort
];
services.openssh.enable = true;
users.users."${sshUsername}" = {
isNormalUser = true;
openssh.authorizedKeys.keys = [
sshKeys.snakeOilPublicKey
];
};
};
"${clientName}" = {
programs.ssh = {
ciphers = [
"aes128-ctr"
"aes128-gcm@openssh.com"
"aes192-ctr"
"aes256-ctr"
"aes256-gcm@openssh.com"
"chacha20-poly1305@openssh.com"
];
extraConfig = ''
IdentitiesOnly yes
'';
hostKeyAlgorithms = [
"rsa-sha2-256"
"rsa-sha2-256-cert-v01@openssh.com"
"rsa-sha2-512"
"rsa-sha2-512-cert-v01@openssh.com"
"sk-ssh-ed25519-cert-v01@openssh.com"
"sk-ssh-ed25519@openssh.com"
"ssh-ed25519"
"ssh-ed25519-cert-v01@openssh.com"
];
kexAlgorithms = [
"curve25519-sha256"
"curve25519-sha256@libssh.org"
"diffie-hellman-group-exchange-sha256"
"diffie-hellman-group16-sha512"
"diffie-hellman-group18-sha512"
"sntrup761x25519-sha512@openssh.com"
];
macs = [
"hmac-sha2-256-etm@openssh.com"
"hmac-sha2-512-etm@openssh.com"
"umac-128-etm@openssh.com"
];
};
};
};
testScript = ''
start_all()
${serverName}.wait_for_open_port(22)
# Should pass SSH server audit
${serverName}.succeed("${pkgs.ssh-audit}/bin/ssh-audit 127.0.0.1")
# Wait for client to be able to connect to the server
${clientName}.wait_for_unit("network-online.target")
# Set up trusted private key
${clientName}.succeed("cat ${sshKeys.snakeOilPrivateKey} > privkey.snakeoil")
${clientName}.succeed("chmod 600 privkey.snakeoil")
# Fail fast and disable interactivity
ssh_options = "-o BatchMode=yes -o ConnectTimeout=1 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
# Should deny root user
${clientName}.fail(f"ssh {ssh_options} root@${serverName} true")
# Should deny non-root user password login
${clientName}.fail(f"ssh {ssh_options} -o PasswordAuthentication=yes ${sshUsername}@${serverName} true")
# Should allow non-root user certificate login
${clientName}.succeed(f"ssh {ssh_options} -i privkey.snakeoil ${sshUsername}@${serverName} true")
# Should pass SSH client audit
service_name = "ssh-audit.service"
${serverName}.succeed(f"systemd-run --unit={service_name} ${pkgs.ssh-audit}/bin/ssh-audit --client-audit --port=${toString sshAuditPort}")
${clientName}.sleep(5) # We can't use wait_for_open_port because ssh-audit exits as soon as anything talks to it
${clientName}.execute(
f"ssh {ssh_options} -i privkey.snakeoil -p ${toString sshAuditPort} ${sshUsername}@${serverName} true",
check_return=False,
timeout=10
)
${serverName}.succeed(f"exit $(systemctl show --property=ExecMainStatus --value {service_name})")
'';
}
)

View File

@ -568,7 +568,7 @@ This is how the pull request looks like in this case: [https://github.com/NixOS/
To run the main types of tests locally:
- Run package-internal tests with `nix-build --attr pkgs.PACKAGE.passthru.tests`
- Run [NixOS tests](https://nixos.org/manual/nixos/unstable/#sec-nixos-tests) with `nix-build --attr nixosTest.NAME`, where `NAME` is the name of the test listed in `nixos/tests/all-tests.nix`
- Run [NixOS tests](https://nixos.org/manual/nixos/unstable/#sec-nixos-tests) with `nix-build --attr nixosTests.NAME`, where `NAME` is the name of the test listed in `nixos/tests/all-tests.nix`
- Run [global package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests) with `nix-build --attr tests.PACKAGE`, where `PACKAGE` is the name of the test listed in `pkgs/test/default.nix`
- See `lib/tests/NAME.nix` for instructions on running specific library tests

View File

@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Terminal-based music player, library, and streaming audio server";
homepage = "https://musikcube.com/";
maintainers = with lib.maintainers; [ aanderse srapenne afh ];
maintainers = with lib.maintainers; [ aanderse afh ];
license = lib.licenses.bsd3;
platforms = lib.platforms.all;
};

View File

@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "yoshimi";
version = "2.3.0.3";
version = "2.3.1";
src = fetchFromGitHub {
owner = "Yoshimi";
repo = pname;
rev = version;
hash = "sha256-IsmhLUGqoa4Le86LE9SHFiXeiIKgwNfLaPFYXxnC9BM=";
hash = "sha256-NMgy/ucuSRFX2zlO8GhL4QSP4NZo1QKZJYTc2eXzWUA=";
};
sourceRoot = "${src.name}/src";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ergo";
version = "5.0.14";
version = "5.0.15";
src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "sha256-YcFjnDs1hAmkYmJlq3yvY/IP6P9SPVGknbzapl5C2B4=";
sha256 = "sha256-/VMuye6uCQghjwotjmWEe55RADVwHCpH6PelZXVXSzM=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
description = "A vim inspired text editor";
license = licenses.publicDomain;
mainProgram = "kak";
maintainers = with maintainers; [ vrthra srapenne ];
maintainers = with maintainers; [ vrthra ];
platforms = platforms.unix;
};
}

View File

@ -39,6 +39,7 @@ in
mapAliases ({
kak-auto-pairs = auto-pairs-kak; # backwards compat, added 2021-01-04
kak-buffers = kakoune-buffers; # backwards compat, added 2021-01-04
kak-byline = byline-kak; # backwards compat, added 2023-10-22
kak-fzf = fzf-kak; # backwards compat, added 2021-01-04
kak-powerline = powerline-kak; # backwards compat, added 2021-01-04
kak-prelude = prelude-kak; # backwards compat, added 2021-01-04

View File

@ -17,16 +17,28 @@ packages = ( self:
auto-pairs-kak = buildKakounePluginFrom2Nix {
pname = "auto-pairs-kak";
version = "2022-03-13";
version = "2023-07-30";
src = fetchFromGitHub {
owner = "alexherbo2";
repo = "auto-pairs.kak";
rev = "bfdcb8566076f653ec707f86207f83ea75173ce9";
sha256 = "0vx9msk8wlj8p9qf6yiv9gzrbanb5w245cidnx5cppgld2w842ij";
rev = "d4b33b783ea42a536c848296b5b6d434b4d1470f";
sha256 = "017x9g89q0w60y561xhigc0f14ryp4phh1hdna847ca5lvmbxksp";
};
meta.homepage = "https://github.com/alexherbo2/auto-pairs.kak/";
};
byline-kak = buildKakounePluginFrom2Nix {
pname = "byline-kak";
version = "2023-02-27";
src = fetchFromGitHub {
owner = "evanrelf";
repo = "byline.kak";
rev = "a27d109b776c60e11752eeb3207c989a5e157fc0";
sha256 = "121dxd65ml65ablkvdxj0rib3kvfwss0pv943bgl3nq35ag19b81";
};
meta.homepage = "https://github.com/evanrelf/byline.kak/";
};
connect-kak = buildKakounePluginFrom2Nix {
pname = "connect-kak";
version = "2021-02-24";
@ -137,12 +149,12 @@ packages = ( self:
kakoune-vertical-selection = buildKakounePluginFrom2Nix {
pname = "kakoune-vertical-selection";
version = "2022-11-29";
version = "2023-04-20";
src = fetchFromGitHub {
owner = "occivink";
repo = "kakoune-vertical-selection";
rev = "227b3fd9643e6e3b9d36fab324081a988c038e21";
sha256 = "0ygqhlk31ilczpwws28iqya8i1qhnwkb5rw6bn2zqgxj428a1kqj";
rev = "dbb39712e3824ca6142b510f26f35a769934a1e1";
sha256 = "1wncx16a8mi2b81cvkiji3ccv8is5g3sa4hwf1669va5a432vdwn";
};
meta.homepage = "https://github.com/occivink/kakoune-vertical-selection/";
};
@ -209,12 +221,12 @@ packages = ( self:
tabs-kak = buildKakounePluginFrom2Nix {
pname = "tabs-kak";
version = "2021-07-05";
version = "2023-05-15";
src = fetchFromGitHub {
owner = "enricozb";
repo = "tabs.kak";
rev = "1cb19e410a3ef299f7a701fa5bec98c2d9284dac";
sha256 = "0hxa4mvw1k74vscxkm520c6g7iwcaqh8kj9g4mwy6n5kkvr1drf0";
rev = "f0b3a399db1dfa12b89fbff3eed09aec74725bab";
sha256 = "1sg26bv4vr08pqyxp68wsmzj8vhi2qg1bmkqb2jnngi5sjp4r7xy";
};
meta.homepage = "https://github.com/enricozb/tabs.kak/";
};

View File

@ -1,6 +1,7 @@
repo,branch,alias
https://github.com/greenfork/active-window.kak/,,
https://github.com/alexherbo2/auto-pairs.kak/,,
https://github.com/evanrelf/byline.kak/,,
https://github.com/kakounedotcom/connect.kak/,,
https://github.com/andreyorst/fzf.kak/,,
https://github.com/lePerdu/kakboard/,,

View File

@ -73,6 +73,9 @@ in lib.fix' (lib.extends overrides packages)
)
print(f"updated {outfile}")
def update(self, args):
pluginupdate.update_plugins(self, args)
def main():
editor = KakouneEditor("kakoune", ROOT, GET_PLUGINS)

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "openvi";
version = "7.4.24";
version = "7.4.26";
src = fetchFromGitHub {
owner = "johnsonjh";
repo = "OpenVi";
rev = version;
hash = "sha256-jfh82Ti8iVqsh7G9BnHbc3cQP8D9dGV71YJ28SBjjgA=";
hash = "sha256-Fgsw4ovq7PXqPF5ECVFJulrcHdsbRQsvy62DAr4RRr4=";
};
buildInputs = [ ncurses perl ];

View File

@ -26,13 +26,13 @@ let
else throw "unsupported platform";
in stdenv.mkDerivation (finalAttrs: {
pname = "pixelorama";
version = "0.11.2";
version = "0.11.3";
src = fetchFromGitHub {
owner = "Orama-Interactive";
repo = "Pixelorama";
rev = "v${finalAttrs.version}";
sha256 = "sha256-jSgSKxW7cxSoSwBytoaQtLwbkYm2udjmaZTHbN1jJwQ=";
sha256 = "sha256-+bQRUTEJluhcs5P87It9/oJOzrCcNFzDJVpixoQKXQc=";
};
nativeBuildInputs = [

View File

@ -2735,8 +2735,8 @@ let
publisher = "nvarner";
# Please update the corresponding binary (typst-lsp) when updating
# this extension.
version = "0.10.1";
sha256 = "sha256-+LOw9JPpL5eLNxmP4kyPo9S/w8ZxfPGSaY1oR8THmvI=";
version = "0.11.0";
sha256 = "sha256-fs+CBg3FwzTn608dm9EvfF2UrI2Sa5hsm0OK/WQyy6o=";
};
nativeBuildInputs = [ jq moreutils ];

View File

@ -11,41 +11,25 @@
let
python = python310.override {
packageOverrides = self: super: {
pypdf2 = super.pypdf2.overridePythonAttrs (old: rec {
version = "1.28.6";
format = "setuptools";
src = fetchFromGitHub {
owner = "py-pdf";
repo = "pypdf";
rev = version;
fetchSubmodules = true;
hash = "sha256-WnRbsy/PJcotZqY9mJPLadrYqkXykOVifLIbDyNf4s4=";
};
nativeBuildInputs = [];
nativeCheckInputs = with self; [ pytestCheckHook pillow ];
});
flask = super.flask.overridePythonAttrs (old: rec {
version = "2.1.3";
version = "2.3.3";
src = old.src.override {
inherit version;
hash = "sha256-FZcuUBffBXXD1sCQuhaLbbkCWeYgrI1+qBOjlrrVtss=";
hash = "sha256-CcNHqSqn/0qOfzIGeV8w2CZlS684uHPQdEzVccpgnvw=";
};
});
werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
version = "2.1.2";
version = "2.3.7";
src = old.src.override {
inherit version;
hash = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY=";
hash = "sha256-K4wORHtLnbzIXdl7butNy69si2w74L1lTiVVPgohV9g=";
};
});
};
};
odoo_version = "16.0";
odoo_release = "20230722";
odoo_release = "20231024";
in python.pkgs.buildPythonApplication rec {
pname = "odoo";
version = "${odoo_version}.${odoo_release}";
@ -56,7 +40,7 @@ in python.pkgs.buildPythonApplication rec {
src = fetchzip {
url = "https://nightly.odoo.com/${odoo_version}/nightly/src/odoo_${version}.zip";
name = "${pname}-${version}";
hash = "sha256-pSycpYSiqJ6DKENvCWwLz+JaPUXT5dmaq8x4Aency60="; # odoo
hash = "sha256-Ux8RfA7kWLKissBBY5wrfL+aKKw++5BxjP3Vw0JAOsk="; # odoo
};
# needs some investigation
@ -69,6 +53,7 @@ in python.pkgs.buildPythonApplication rec {
propagatedBuildInputs = with python.pkgs; [
babel
chardet
cryptography
decorator
docutils
ebaysdk
@ -80,7 +65,6 @@ in python.pkgs.buildPythonApplication rec {
libsass
lxml
markupsafe
mock
num2words
ofxparse
passlib
@ -100,13 +84,16 @@ in python.pkgs.buildPythonApplication rec {
qrcode
reportlab
requests
setuptools
urllib3
vobject
werkzeug
xlrd
xlsxwriter
xlwt
zeep
setuptools
mock
];
# takes 5+ minutes and there are not files to strip

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "jpeginfo";
version = "1.7.0";
version = "1.7.1";
src = fetchurl {
url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz";
sha256 = "sha256-3JhQg0SNlwfULkm+2CaiR8Db2mkTyHDppdm/fHSTllk=";
sha256 = "sha256-J09r4j/Qib2ehxW2dkOmbKL2OlAwKL3qPlcSKNULZp4=";
};
buildInputs = [ libjpeg ];

View File

@ -22,6 +22,6 @@ mkDerivation rec {
description = "A comic reader for cross-platform reading and managing your digital comic collection";
homepage = "http://www.yacreader.com";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ srapenne ];
maintainers = with lib.maintainers; [ ];
};
}

View File

@ -76,7 +76,6 @@ buildDotnetModule rec {
description = "Application with primary purpose of idling Steam cards from multiple accounts simultaneously";
homepage = "https://github.com/JustArchiNET/ArchiSteamFarm";
license = licenses.asl20;
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "ArchiSteamFarm";
maintainers = with maintainers; [ SuperSandro2000 lom ];
};

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "0.22.13";
version = "0.22.14";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
rev = "v${finalAttrs.version}";
sha256 = "sha256-IZpIgU/cf25XxH8J0xQJLASu0YmTmcHY5RxUcbKrtvA=";
sha256 = "sha256-cAxdCjaCqEkwjL+OXW7ONkS7OpKfey3bUYmGzJyV+g8=";
fetchSubmodules = true;
};

View File

@ -18,10 +18,13 @@
, openpgl
, mesa
, runCommand
, callPackage
}:
let
python = python310Packages.python;
pythonPackages = python310Packages;
inherit (pythonPackages) python;
buildEnv = callPackage ./wrapper.nix {};
optix = fetchzip {
# url taken from the archlinux blender PKGBUILD
url = "https://developer.download.nvidia.com/redist/optix/v7.3/OptiX-7.3.0-Include.zip";
@ -189,7 +192,9 @@ stdenv.mkDerivation (finalAttrs: rec {
'';
passthru = {
inherit python;
inherit python pythonPackages;
withPackages = f: let packages = f pythonPackages; in buildEnv.override { blender = finalAttrs.finalPackage; extraModules = packages; };
tests = {
render = runCommand "${pname}-test" { } ''

View File

@ -2,32 +2,28 @@
, lib
, blender
, makeWrapper
, python3Packages
, extraModules ? []
}:
{ name ? "wrapped"
, packages ? []
}:
stdenv.mkDerivation {
pname = "blender-${name}";
inherit (blender) version;
stdenv.mkDerivation (finalAttrs: {
pname = blender.pname + "-wrapped";
src = blender;
nativeBuildInputs = [ python3Packages.wrapPython makeWrapper ];
inherit (blender) version meta;
nativeBuildInputs = [ blender.pythonPackages.wrapPython makeWrapper ];
installPhase = ''
mkdir $out/{share/applications,bin} -p
sed 's/Exec=blender/Exec=blender-${name}/g' $src/share/applications/blender.desktop > $out/share/applications/blender-${name}.desktop
sed 's/Exec=blender/Exec=${finalAttrs.finalPackage.pname}/g' $src/share/applications/blender.desktop > $out/share/applications/${finalAttrs.finalPackage.pname}.desktop
cp -r $src/share/blender $out/share
cp -r $src/share/doc $out/share
cp -r $src/share/icons $out/share
buildPythonPath "$pythonPath"
makeWrapper ${blender}/bin/blender $out/bin/blender-${name} \
makeWrapper ${blender}/bin/blender $out/bin/${finalAttrs.finalPackage.pname} \
--prefix PATH : $program_PATH \
--prefix PYTHONPATH : $program_PYTHONPATH
'';
pythonPath = packages;
meta = blender.meta;
}
pythonPath = extraModules;
})

View File

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "hugo";
version = "0.120.2";
version = "0.120.3";
src = fetchFromGitHub {
owner = "gohugoio";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-hCcutRfx0GtnYJYoQ/2S8Y+OmxLCtHWzTCdozWUatXY=";
hash = "sha256-96ikGGKw9IN/ch199oFcucp8aVR+fEiAWBeu39J2Osw=";
};
vendorHash = "sha256-59Q7IN7VK7tQv5w7qyxSz16G+Kmsrslu8we9S3aJeAg=";
vendorHash = "sha256-kUKnoUQzLbi0ssxvK2viNTHLtqx8vaHLYXO8ZWU2rmw=";
doCheck = false;

View File

@ -142,7 +142,7 @@ stdenv.mkDerivation rec {
'';
homepage = "https://keepassxc.org/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ jonafato srapenne blankparticle ];
maintainers = with maintainers; [ jonafato blankparticle ];
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -71,7 +71,7 @@ python3Packages.buildPythonApplication rec {
downloadPage = "https://github.com/sharkwouter/minigalaxy/releases";
description = "A simple GOG client for Linux";
license = licenses.gpl3;
maintainers = with maintainers; [ srapenne ];
maintainers = with maintainers; [ ];
platforms = platforms.linux;
};
}

View File

@ -3,6 +3,7 @@
, callPackage
, lib
, fetchFromGitHub
, fetchPypi
, python3
, substituteAll
, nix-update-script
@ -16,6 +17,30 @@ let
self = py;
packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) (
[
(
# Due to flask > 2.3 the login will not work
self: super: {
werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec {
version = "2.2.3";
format = "setuptools";
src = fetchPypi {
pname = "Werkzeug";
inherit version;
hash = "sha256-LhzMlBfU2jWLnebxdOOsCUOR6h1PvvLWZ4ZdgZ39Cv4=";
};
});
flask = super.flask.overridePythonAttrs (oldAttrs: rec {
version = "2.2.5";
format = "setuptools";
src = fetchPypi {
pname = "Flask";
inherit version;
hash = "sha256-7e6bCn/yZiG9WowQ/0hK4oc3okENmbC7mmhQx/uXeqA=";
};
});
}
)
# Built-in dependency
(
self: super: {

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "otpclient";
version = "3.1.9";
version = "3.2.0";
src = fetchFromGitHub {
owner = "paolostivanin";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-FSXUqnES/YxONwLza4N2C4Ks02OOfRaXHbdBxr85sFg=";
hash = "sha256-3ypEP5HQYXOyB2euvDDpKjpbCD67oE19wkmzQbyKxiI=";
};
nativeBuildInputs = [

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "xastir";
version = "2.1.8";
version = "2.2.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "Release-${version}";
hash = "sha256-hRe0KO1lWOv3hNNDMS70t+X1rxuhNlNKykmo4LEU+U0=";
hash = "sha256-EQXSfH4b5vMiprFcMXCUDNl+R1cHSj9CyhZnUPAMoCw=";
};
nativeBuildInputs = [

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "avalanchego";
version = "1.10.11";
version = "1.10.15";
src = fetchFromGitHub {
owner = "ava-labs";
repo = pname;
rev = "v${version}";
hash = "sha256-6eebc8+SsonTngOIM5C+cxqzhFSLK5wLB/sBhVQuTQ4=";
hash = "sha256-vx9Vfbdxd3Y0fdjpKC6LFAUEej1RHszyM5GUUGKy0zU=";
};
vendorHash = "sha256-sBoH/0SQtHO/fgyfve4bpy74GIS8qWr6KcIQyOnkgkI=";
vendorHash = "sha256-br/z6k1D1r9JEECKNy7BOZzfHaaveCMUA1bKos0+p0Q=";
# go mod vendor has a bug, see: https://github.com/golang/go/issues/57529
proxyVendor = true;

View File

@ -57,6 +57,8 @@ python3.pkgs.buildPythonApplication {
pynacl
# extensive ad blocking
adblock
# for the qute-bitwarden user script to be able to copy the TOTP token to clipboard
pyperclip
] ++ lib.optional stdenv.isLinux qtwayland
);

View File

@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "23.10.1";
sha256 = "1m4inwim5iyahwza3i4zwz4iaja9p93vfacq324r9w8gciyvc26s";
vendorHash = "sha256-wjICOdn/YqRmWHZQYB/WS0fxJ+OQsnas6BphUC2C9go=";
version = "23.10.4";
sha256 = "1fbzxkfc957kdhk60x3ywwpn54zq8njqk313cgfygnrmmj3m67j9";
vendorHash = "sha256-WEnopX/tIRoA5wiiCMue1T3wottxv744Mp7XJl63j4k=";
}

View File

@ -6,19 +6,19 @@
buildGoModule rec {
pname = "coreth";
version = "0.12.5";
version = "0.12.6";
src = fetchFromGitHub {
owner = "ava-labs";
repo = pname;
rev = "v${version}";
hash = "sha256-jHJubqNmU0OkKmWNCkucmv+IM19x3nfyDkfBpRihh7Y=";
hash = "sha256-AmlDOtV6uQtrscvIgK5kz6PldA7a1XrVuwO4DCFZeno=";
};
# go mod vendor has a bug, see: golang/go#57529
proxyVendor = true;
vendorHash = "sha256-GKAGBEHP09NJ/GLq349K9VwFGt8rCvoHu8BB8TzN4CU=";
vendorHash = "sha256-v1DoRZuv6k6UIgPirXMbvunttn1aBLbTc+GdtdKquDk=";
ldflags = [
"-s"

View File

@ -104,14 +104,14 @@ let
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
version = "4.11.2";
version = "4.11.3";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-Hjg349h9dlBfKVLIPDqPP8U+Yt0Iaeyjq6hsUB5+zYM=";
hash = "sha256-Xjb8um3TA2yIPrCdEV1BJ10keyAqTnlU20ZZ0T3P3ls=";
};
patches = [

View File

@ -158,6 +158,6 @@ in stdenv.mkDerivation rec {
homepage = "https://www.claws-mail.org/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ fpletz globin orivej oxzi ajs124 srapenne ];
maintainers = with maintainers; [ fpletz globin orivej oxzi ajs124 ];
};
}

View File

@ -38,7 +38,11 @@ stdenv.mkDerivation rec {
configureFlags = [ "--with-gnunet=${gnunet}" ];
patchPhase = "patchShebangs pixmaps/icon-theme-installer";
postPatch = "patchShebangs pixmaps/icon-theme-installer";
postInstall = ''
ln -s $out/share/gnunet-gtk/gnunet_logo.png $out/share/gnunet/gnunet-logo-color.png
'';
meta = gnunet.meta // {
description = "GNUnet GTK User Interface";

View File

@ -1,38 +1,57 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, zlib, automake, autoconf, libtool }:
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, zlib
, kssd
, runCommand
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "kssd";
version = "1.1";
version = "2.21";
src = fetchFromGitHub {
owner = "yhg926";
repo = "public_kssd";
rev = "v${version}";
sha256 = "sha256-8jzYqo9LXF66pQ1EIusm+gba2VbTYpJz2K3NVlA3QxY=";
rev = "v${finalAttrs.version}";
hash = "sha256-D/s1jL2oKE0rSdRMVljskYFsw5UPOv1L95Of+K+e17w=";
};
patches = [
# Pull upstream patch for -fno-common toolchain support:
# https://github.com/yhg926/public_kssd/pull/9
# https://github.com/yhg926/public_kssd/pull/11
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/yhg926/public_kssd/commit/cdd1e8aae256146f5913a3b4c723b638d53bdf27.patch";
sha256 = "sha256-HhaTRqPfKR+ouh0PwEH6u22pbuqbX2OypRzw8BXm0W4=";
name = "allocate-enough-memory.patch";
url = "https://github.com/yhg926/public_kssd/commit/b1e66bbcc04687bc3201301cd742a0b26a87cb5d.patch";
hash = "sha256-yFyJetpsGKeu+H6Oxrmn5ea4ESVtblb3YJDja4JEAEM=";
})
];
nativeBuildInputs = [ autoconf automake ];
buildInputs = [ zlib libtool ];
buildInputs = [ zlib ];
installPhase = ''
install -vD kssd $out/bin/kssd
runHook preInstall
install -vD kssd $out/bin/kssd
runHook postInstall
'';
passthru.tests = {
simple = runCommand "${finalAttrs.pname}-test" { } ''
mkdir $out
${lib.getExe kssd} dist -L ${kssd.src}/shuf_file/L3K10.shuf -r ${kssd.src}/test_fna/seqs1 -o $out/reference
${lib.getExe kssd} dist -L ${kssd.src}/shuf_file/L3K10.shuf -o $out/query ${kssd.src}/test_fna/seqs2
${lib.getExe kssd} dist -r $out/reference -o $out/distout $out/query
'';
};
meta = with lib; {
description = "K-mer substring space decomposition";
license = licenses.asl20;
homepage = "https://github.com/yhg926/public_kssd";
maintainers = with maintainers; [ unode ];
platforms = [ "x86_64-linux" ];
platforms = platforms.linux;
mainProgram = "kssd";
};
}
})

View File

@ -4,7 +4,7 @@
stdenv.mkDerivation rec {
pname = "qgroundcontrol";
version = "4.2.8";
version = "4.2.9";
propagatedBuildInputs = [
qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
owner = "mavlink";
repo = pname;
rev = "v${version}";
sha256 = "sha256-EmGtVy/cHiZ2SqOOKmt9vCUQbyT5Sl8XnkRlhn9BdvA=";
sha256 = "sha256-nzBap5ldlLLLBB1ILkOktt9FnBqbo8MALLOETiqoAzk=";
fetchSubmodules = true;
};

View File

@ -7,13 +7,13 @@
buildGoModule rec {
pname = "ghr";
version = "0.16.1";
version = "0.16.2";
src = fetchFromGitHub {
owner = "tcnksm";
repo = "ghr";
rev = "v${version}";
sha256 = "sha256-swu+hj8fL/xIC3KdhGQ2Ezdt7aj9L8sU/7q/AXM2i98=";
sha256 = "sha256-xClqqTVCEGghaf63kN40mwo49lkS8KC4k/36NYIngFI=";
};
vendorHash = "sha256-Wzzg66yJaHJUCfC2aH3Pk+B0d5l/+L7/bcNhQxo8ro0=";

View File

@ -1,15 +1,15 @@
{
"version": "16.4.1",
"repo_hash": "sha256-gIoHv+Zt0WgxxL1GLz1iaK1g3uJNMbp+Umo6FbWEggY=",
"yarn_hash": "0106yyiy00cag36mgckiwfdvhz23fsnskigpd533kjrl32qr9d6l",
"version": "16.5.1",
"repo_hash": "sha256-7vKdCFDgtXSTlYV9nfLuQ+LZCaGDLU9zp97rob4dj2A=",
"yarn_hash": "1df7lf2grxpfjy1vgwsxw9n310jgjb64vqcxn2a7wzgh0svr1yyf",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v16.4.1-ee",
"rev": "v16.5.1-ee",
"passthru": {
"GITALY_SERVER_VERSION": "16.4.1",
"GITLAB_PAGES_VERSION": "16.4.1",
"GITLAB_SHELL_VERSION": "14.28.0",
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.3.9",
"GITLAB_WORKHORSE_VERSION": "16.4.1"
"GITALY_SERVER_VERSION": "16.5.1",
"GITLAB_PAGES_VERSION": "16.5.1",
"GITLAB_SHELL_VERSION": "14.29.0",
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.4.0",
"GITLAB_WORKHORSE_VERSION": "16.5.1"
}
}

View File

@ -160,6 +160,7 @@ stdenv.mkDerivation {
${replace}/bin/replace-literal -f -r -e '../../lib' "$out/share/gitlab/lib" config
${replace}/bin/replace-literal -f -r -e '../lib' "$out/share/gitlab/lib" config
${replace}/bin/replace-literal -f -r -e "require_relative 'application'" "require_relative '$out/share/gitlab/config/application'" config
${replace}/bin/replace-literal -f -r -e 'require_relative "/home/git/gitlab/lib/gitlab/puma/error_handler"' "require_relative '$out/share/gitlab/lib/gitlab/puma/error_handler'" config
'';
buildPhase = ''

View File

@ -6,21 +6,22 @@
}:
let
version = "16.4.1";
version = "16.5.1";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
commonOpts = {
inherit version;
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
hash = "sha256-t3d72l/Na0qv+jezT/YhAUbG9DSSe9pyixQjTALTxvk=";
hash = "sha256-LrkFSsWIPqiEXUV5OyYkB2XUbCMXjbpcCmTacR33vOQ=";
};
vendorHash = "sha256-Nlq1l1f389DC854rFznEu2Viv0T7Y1cD1Ht0o2N304o=";
vendorHash = "sha256-QLt/12P6OLpLqCINROLmzhoRpLGrB9WzME7FzhIcb0Q=";
ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];

View File

@ -2,17 +2,18 @@
buildGoModule rec {
pname = "gitlab-container-registry";
version = "3.84.0";
version = "3.85.0";
rev = "v${version}-gitlab";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "container-registry";
inherit rev;
sha256 = "sha256-VdLovX3/y0fME74YlpPxjNPAwFpr1urAHJYO24VJ4AE=";
sha256 = "sha256-F20f1qDsI+moBAL+Tpx5AALgOi0vTH7hZ5RIvRMwY1s=";
};
vendorHash = "sha256-ZFQixOgcB8GqgZPIbjMJEYOlg9cD+wAMZF7mwWaNSXI=";
vendorHash = "sha256-JWuSJD2Mi0om9vA6+mYbArfr2lmGlRua6IM0DhDzSBk=";
patches = [
./Disable-inmemory-storage-driver-test.patch

View File

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "gitlab-elasticsearch-indexer";
version = "4.3.9";
version = "4.4.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-elasticsearch-indexer";
rev = "v${version}";
sha256 = "sha256-/jo44MlLWZCSUWFW2rJSqugNYZCXEs5pfj0f6fZs4zg=";
sha256 = "sha256-Qywf5ACxXqY1iUZCsROTLmWeM8gFcqZvnClRo5DlnjY=";
};
vendorHash = "sha256-TQ6E5eckZNVL6zzaS9m0izWnQitqfpc4MAEoQOVasnA=";
vendorHash = "sha256-2dUlztXnr7OH/gQ0Q4jQpuO1MdkOy1O4BNGiY223DAA=";
buildInputs = [ icu ];
nativeBuildInputs = [ pkg-config ];

View File

@ -2,16 +2,17 @@
buildGoModule rec {
pname = "gitlab-pages";
version = "16.4.1";
version = "16.5.1";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
hash = "sha256-aUpuzgFbxMJwKjTn+QAudOeMBSLtLTjaTmwe25f6qxg=";
hash = "sha256-1fcsliorkl118MyUnZ3yrQjwLBQGsNBBA4dIEFHBJAI=";
};
vendorHash = "sha256-ko0ycT8HlqVfXf7tck0xcs6rDJMpHxjSoI59gTLgqDQ=";
vendorHash = "sha256-YG+ERETxp0BPh/V4820pMXTXu9YcodRhzme6qZJBC9Q=";
subPackages = [ "." ];
meta = with lib; {

View File

@ -2,19 +2,21 @@
buildGoModule rec {
pname = "gitlab-shell";
version = "14.28.0";
version = "14.29.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-shell";
rev = "v${version}";
sha256 = "sha256-w/Td4J4t/xrkR5LmFTcAD5U9ZR3HDGqLNxpjkDC0pi4=";
sha256 = "sha256-MhvFLBH0CLiGNTEjHy7vDhLE3YsvbBL8XRNytPEa6uU=";
};
buildInputs = [ ruby libkrb5 ];
patches = [ ./remove-hardcoded-locations.patch ];
vendorHash = "sha256-EIJSBUUsWvA93OAyBNey2WA2sV+7YSWbsC1RnWf6nrI=";
vendorHash = "sha256-g1ZaRY0A7oREByNicPvnuxakYrNQNXg4Vy94iyNVdDY=";
postInstall = ''
cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin

View File

@ -5,8 +5,9 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "16.4.1";
version = "16.5.1";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = data.owner;
repo = data.repo;
@ -16,7 +17,7 @@ buildGoModule rec {
sourceRoot = "${src.name}/workhorse";
vendorHash = "sha256-C6FVTOY3CdO2y6mKuvgEWDZnWevRTxeOefRF2EbXDv8=";
vendorHash = "sha256-m8cDhI6DzFnSEZscZQfFm8l9MTJqTqxhBFJeTX1HWiE=";
buildInputs = [ git ];
ldflags = [ "-X main.Version=${version}" ];
doCheck = false;

View File

@ -8,555 +8,561 @@ if ENV.fetch('BUNDLER_CHECKSUM_VERIFICATION_OPT_IN', 'false') != 'false' # this
BundlerChecksum.patch!
end
gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false
# Please see https://docs.gitlab.com/ee/development/feature_categorization/#gemfile
ignore_feature_category = Module.new do
def gem(*arguments, feature_category: nil, **keyword_arguments) # rubocop:disable Lint/UnusedMethodArgument
super(*arguments, **keyword_arguments)
end
end
extend ignore_feature_category
gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# NOTE: When incrementing the major or minor version here, also increment activerecord_version
# in vendor/gems/attr_encrypted/attr_encrypted.gemspec until we resolve
# https://gitlab.com/gitlab-org/gitlab/-/issues/375713
#
# See https://docs.gitlab.com/ee/development/gemfile.html#upgrade-rails for guidelines when upgrading Rails
gem 'rails', '~> 7.0.6'
gem 'rails', '~> 7.0.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab'
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'vite_rails'
gem 'vite_rails' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bootsnap', '~> 1.16.0', require: false
gem 'bootsnap', '~> 1.16.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'openssl', '~> 3.0'
gem 'ipaddr', '~> 1.2.5'
gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ipaddr', '~> 1.2.5' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-safe_request_store', path: 'gems/gitlab-safe_request_store'
gem 'gitlab-safe_request_store', path: 'gems/gitlab-safe_request_store' # rubocop:todo Gemfile/MissingFeatureCategory
# GitLab Monorepo Gems
group :monorepo do
gem 'gitlab-utils', path: 'gems/gitlab-utils'
gem 'gitlab-utils', path: 'gems/gitlab-utils' # rubocop:todo Gemfile/MissingFeatureCategory
end
# Responders respond_to and respond_with
gem 'responders', '~> 3.0'
gem 'responders', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sprockets', '~> 3.7.0'
gem 'sprockets', '~> 3.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'view_component', '~> 3.5.0'
gem 'view_component', '~> 3.6.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Supported DBs
gem 'pg', '~> 1.5.4'
gem 'pg', '~> 1.5.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'neighbor', '~> 0.2.3'
gem 'neighbor', '~> 0.2.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rugged', '~> 1.6'
gem 'grape-path-helpers', '~> 1.7.1'
gem 'rugged', '~> 1.6' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'faraday', '~> 1.0'
gem 'marginalia', '~> 1.11.1'
gem 'faraday', '~> 1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'marginalia', '~> 1.11.1' # rubocop:todo Gemfile/MissingFeatureCategory
# Authorization
gem 'declarative_policy', '~> 1.1.0'
gem 'declarative_policy', '~> 1.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Authentication libraries
gem 'devise', '~> 4.8.1'
gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable'
gem 'bcrypt', '~> 3.1', '>= 3.1.14'
gem 'doorkeeper', '~> 5.6', '>= 5.6.6'
gem 'doorkeeper-openid_connect', '~> 1.8', '>= 1.8.7'
gem 'rexml', '~> 3.2.6'
gem 'ruby-saml', '~> 1.15.0'
gem 'omniauth', '~> 2.1.0'
gem 'omniauth-auth0', '~> 3.1'
gem 'omniauth-azure-activedirectory-v2', '~> 2.0'
gem 'omniauth-azure-oauth2', '~> 0.0.9', path: 'vendor/gems/omniauth-azure-oauth2' # See gem README.md
gem 'omniauth-dingtalk-oauth2', '~> 1.0'
gem 'omniauth-alicloud', '~> 2.0.1'
gem 'omniauth-facebook', '~> 4.0.0'
gem 'omniauth-github', '2.0.1'
gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md
gem 'omniauth-google-oauth2', '~> 1.1'
gem 'omniauth-oauth2-generic', '~> 0.2.2'
gem 'omniauth-saml', '~> 2.1.0'
gem 'omniauth-shibboleth-redux', '~> 2.0', require: 'omniauth-shibboleth'
gem 'omniauth-twitter', '~> 1.4'
gem 'omniauth_crowd', '~> 2.4.0', path: 'vendor/gems/omniauth_crowd' # See vendor/gems/omniauth_crowd/README.md
gem 'omniauth_openid_connect', '~> 0.6.1'
gem 'devise', '~> 4.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bcrypt', '~> 3.1', '>= 3.1.14' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'doorkeeper', '~> 5.6', '>= 5.6.6' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'doorkeeper-openid_connect', '~> 1.8', '>= 1.8.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rexml', '~> 3.2.6' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ruby-saml', '~> 1.15.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth', '~> 2.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-auth0', '~> 3.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-azure-activedirectory-v2', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-azure-oauth2', '~> 0.0.9', path: 'vendor/gems/omniauth-azure-oauth2' # See gem README.md # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-dingtalk-oauth2', '~> 1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-alicloud', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-facebook', '~> 4.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-github', '2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See vendor/gems/omniauth-gitlab/README.md # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-google-oauth2', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-oauth2-generic', '~> 0.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-saml', '~> 2.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-shibboleth-redux', '~> 2.0', require: 'omniauth-shibboleth' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-twitter', '~> 1.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth_crowd', '~> 2.4.0', path: 'vendor/gems/omniauth_crowd' # See vendor/gems/omniauth_crowd/README.md # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth_openid_connect', '~> 0.6.1' # rubocop:todo Gemfile/MissingFeatureCategory
# Locked until Ruby 3.0 upgrade since upgrading will pull in an updated net-smtp gem.
# See https://docs.gitlab.com/ee/development/emails.html#rationale.
gem 'openid_connect', '= 1.3.0'
gem 'omniauth-salesforce', '~> 1.0.5', path: 'vendor/gems/omniauth-salesforce' # See gem README.md
gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
gem 'rack-oauth2', '~> 1.21.3'
gem 'jwt', '~> 2.5'
gem 'openid_connect', '= 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-salesforce', '~> 1.0.5', path: 'vendor/gems/omniauth-salesforce' # See gem README.md # rubocop:todo Gemfile/MissingFeatureCategory
gem 'omniauth-atlassian-oauth2', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rack-oauth2', '~> 1.21.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'jwt', '~> 2.5' # rubocop:todo Gemfile/MissingFeatureCategory
# Kerberos authentication. EE-only
gem 'gssapi', '~> 1.3.1', group: :kerberos
gem 'timfel-krb5-auth', '~> 0.8', group: :kerberos
gem 'gssapi', '~> 1.3.1', group: :kerberos # rubocop:todo Gemfile/MissingFeatureCategory
gem 'timfel-krb5-auth', '~> 0.8', group: :kerberos # rubocop:todo Gemfile/MissingFeatureCategory
# Spam and anti-bot protection
gem 'recaptcha', '~> 5.12', require: 'recaptcha/rails'
gem 'akismet', '~> 3.0'
gem 'invisible_captcha', '~> 2.1.0'
gem 'recaptcha', '~> 5.12', require: 'recaptcha/rails' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'akismet', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'invisible_captcha', '~> 2.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Two-factor authentication
gem 'devise-two-factor', '~> 4.0.2'
gem 'rqrcode-rails3', '~> 0.1.7'
gem 'attr_encrypted', '~> 3.2.4', path: 'vendor/gems/attr_encrypted'
gem 'devise-two-factor', '~> 4.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rqrcode', '~> 2.0', feature_category: :system_access
gem 'attr_encrypted', '~> 3.2.4', path: 'vendor/gems/attr_encrypted' # rubocop:todo Gemfile/MissingFeatureCategory
# GitLab Pages
gem 'validates_hostname', '~> 1.0.13'
gem 'rubyzip', '~> 2.3.2', require: 'zip'
gem 'validates_hostname', '~> 1.0.13' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rubyzip', '~> 2.3.2', require: 'zip' # rubocop:todo Gemfile/MissingFeatureCategory
# GitLab Pages letsencrypt support
gem 'acme-client', '~> 2.0'
gem 'acme-client', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Browser detection
gem 'browser', '~> 5.3.1'
gem 'browser', '~> 5.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
# OS detection for usage ping
gem 'ohai', '~> 17.9'
gem 'ohai', '~> 17.9' # rubocop:todo Gemfile/MissingFeatureCategory
# GPG
gem 'gpgme', '~> 2.0.23'
gem 'gpgme', '~> 2.0.23' # rubocop:todo Gemfile/MissingFeatureCategory
# LDAP Auth
# GitLab fork with several improvements to original library. For full list of changes
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap'
gem 'net-ldap', '~> 0.17.1'
gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'net-ldap', '~> 0.17.1' # rubocop:todo Gemfile/MissingFeatureCategory
# API
gem 'grape', '~> 1.7.1'
gem 'grape-entity', '~> 0.10.0'
gem 'rack-cors', '~> 2.0.1', require: 'rack/cors'
gem 'grape-swagger', '~> 1.6.1', group: [:development, :test]
gem 'grape-swagger-entity', '~> 0.5.1', group: [:development, :test]
gem 'grape', '~> 1.7.1', feature_category: :api
gem 'grape-entity', '~> 0.10.0', feature_category: :api
gem 'grape-swagger', '~> 1.6.1', group: [:development, :test], feature_category: :api
gem 'grape-swagger-entity', '~> 0.5.1', group: [:development, :test], feature_category: :api
gem 'grape-path-helpers', '~> 1.7.1', feature_category: :api
gem 'rack-cors', '~> 2.0.1', require: 'rack/cors' # rubocop:todo Gemfile/MissingFeatureCategory
# GraphQL API
gem 'graphql', '~> 1.13.19'
gem 'graphiql-rails', '~> 1.8.0'
gem 'apollo_upload_server', '~> 2.1.0'
gem 'graphql-docs', '~> 2.1.0', group: [:development, :test]
gem 'graphlient', '~> 0.5.0' # Used by BulkImport feature (group::import)
gem 'graphql', '~> 2.0.27', feature_category: :api
gem 'graphql-docs', '~> 4.0.0', group: [:development, :test], feature_category: :api
gem 'graphiql-rails', '~> 1.8.0', feature_category: :api
gem 'apollo_upload_server', '~> 2.1.0', feature_category: :api
gem 'graphlient', '~> 0.5.0', feature_category: :importers # Used by BulkImport feature (group::import)
# Generate Fake data
gem 'ffaker', '~> 2.10'
gem 'ffaker', '~> 2.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'hashie', '~> 5.0.0'
gem 'hashie', '~> 5.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Pagination
gem 'kaminari', '~> 1.2.2'
gem 'kaminari', '~> 1.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
# HAML
gem 'hamlit', '~> 2.15.0'
gem 'hamlit', '~> 2.15.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Files attachments
gem 'carrierwave', '~> 1.3'
gem 'mini_magick', '~> 4.10.1'
gem 'carrierwave', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'mini_magick', '~> 4.10.1' # rubocop:todo Gemfile/MissingFeatureCategory
# for backups
gem 'fog-aws', '~> 3.18'
gem 'fog-aws', '~> 3.18' # rubocop:todo Gemfile/MissingFeatureCategory
# 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'
gem 'fog-google', '~> 1.19', require: 'fog/google'
gem 'fog-local', '~> 0.8'
gem 'fog-core', '= 2.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'fog-google', '~> 1.19', require: 'fog/google' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'fog-local', '~> 0.8' # rubocop:todo Gemfile/MissingFeatureCategory
# NOTE:
# the fog-aliyun gem since v0.4 pulls in aliyun-sdk transitively, which monkey-patches
# the rest-client gem to drop the Content-Length header field for chunked transfers,
# which may have knock-on effects on other features using `RestClient`.
# We may want to update this dependency if this is ever addressed upstream, e.g. via
# https://github.com/aliyun/aliyun-oss-ruby-sdk/pull/93
gem 'fog-aliyun', '~> 0.4'
gem 'gitlab-fog-azure-rm', '~> 1.8.0', require: 'fog/azurerm'
gem 'fog-aliyun', '~> 0.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-fog-azure-rm', '~> 1.8.0', require: 'fog/azurerm' # rubocop:todo Gemfile/MissingFeatureCategory
# for Google storage
gem 'google-cloud-storage', '~> 1.44.0'
gem 'google-apis-core', '~> 0.10.0'
gem 'google-apis-compute_v1', '~> 0.57.0'
gem 'google-apis-container_v1', '~> 0.43.0'
gem 'google-apis-container_v1beta1', '~> 0.43.0'
gem 'google-apis-cloudbilling_v1', '~> 0.21.0'
gem 'google-apis-cloudresourcemanager_v1', '~> 0.31.0'
gem 'google-apis-iam_v1', '~> 0.36.0'
gem 'google-apis-serviceusage_v1', '~> 0.28.0'
gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0'
gem 'google-apis-androidpublisher_v3', '~> 0.34.0'
gem 'google-cloud-storage', '~> 1.44.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-core', '~> 0.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-compute_v1', '~> 0.57.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-container_v1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-container_v1beta1', '~> 0.43.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-cloudbilling_v1', '~> 0.21.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-cloudresourcemanager_v1', '~> 0.31.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-iam_v1', '~> 0.36.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-serviceusage_v1', '~> 0.28.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-apis-androidpublisher_v3', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Seed data
gem 'seed-fu', '~> 2.3.7'
gem 'seed-fu', '~> 2.3.7' # rubocop:todo Gemfile/MissingFeatureCategory
# Search
gem 'elasticsearch-model', '~> 7.2'
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation'
gem 'elasticsearch-api', '7.13.3'
gem 'aws-sdk-core', '~> 3.181.1'
gem 'aws-sdk-cloudformation', '~> 1'
gem 'aws-sdk-s3', '~> 1.134.0'
gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections
gem 'elasticsearch-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'elasticsearch-api', '7.13.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-core', '~> 3.185.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-s3', '~> 1.136.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'faraday_middleware-aws-sigv4', '~>0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
# Markdown and HTML processing
gem 'html-pipeline', '~> 2.14.3'
gem 'deckar01-task_list', '2.3.3'
gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup'
gem 'commonmarker', '~> 0.23.10'
gem 'kramdown', '~> 2.3.1'
gem 'RedCloth', '~> 4.3.2'
gem 'rdoc', '~> 6.3.2'
gem 'org-ruby', '~> 0.9.12'
gem 'creole', '~> 0.5.0'
gem 'wikicloth', '0.8.1'
gem 'asciidoctor', '~> 2.0.18'
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
gem 'asciidoctor-plantuml', '~> 0.0.16'
gem 'asciidoctor-kroki', '~> 0.8.0', require: false
gem 'rouge', '~> 4.1.3'
gem 'truncato', '~> 0.7.12'
gem 'nokogiri', '~> 1.15', '>= 1.15.4'
gem 'html-pipeline', '~> 2.14.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'deckar01-task_list', '2.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'commonmarker', '~> 0.23.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'RedCloth', '~> 4.3.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'org-ruby', '~> 0.9.12' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'creole', '~> 0.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'wikicloth', '0.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor', '~> 2.0.18' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor-plantuml', '~> 0.0.16' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rouge', '~> 4.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'truncato', '~> 0.7.12' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'nokogiri', '~> 1.15', '>= 1.15.4' # rubocop:todo Gemfile/MissingFeatureCategory
# Calendar rendering
gem 'icalendar'
gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory
# Diffs
gem 'diffy', '~> 3.4'
gem 'diff_match_patch', '~> 0.1.0'
gem 'diffy', '~> 3.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'diff_match_patch', '~> 0.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Application server
gem 'rack', '~> 2.2.8'
gem 'rack', '~> 2.2.8' # rubocop:todo Gemfile/MissingFeatureCategory
# https://github.com/zombocom/rack-timeout/blob/master/README.md#rails-apps-manually
gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base'
gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
group :puma do
gem 'puma', '~> 6.3', '>= 6.3.1', require: false
gem 'sd_notify', '~> 0.1.0', require: false
gem 'puma', '~> 6.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
end
# State machine
gem 'state_machines-activerecord', '~> 0.8.0'
gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# CI domain tags
gem 'acts-as-taggable-on', '~> 9.0'
gem 'acts-as-taggable-on', '~> 9.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Background jobs
gem 'sidekiq', '~> 6.5.7'
gem 'sidekiq-cron', '~> 1.8.0'
gem 'redis-namespace', '~> 1.9.0'
gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch'
gem 'sidekiq', '~> 6.5.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sidekiq-cron', '~> 1.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'redis-namespace', '~> 1.9.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory
# Cron Parser
gem 'fugit', '~> 1.8.1'
gem 'fugit', '~> 1.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
# HTTP requests
gem 'httparty', '~> 0.21.0'
gem 'httparty', '~> 0.21.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Colored output to console
gem 'rainbow', '~> 3.0'
gem 'rainbow', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Progress bar
gem 'ruby-progressbar', '~> 1.10'
gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
# Linear-time regex library for untrusted regular expressions
gem 're2', '2.0.0'
gem 're2', '2.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
# Misc
gem 'semver_dialects', '~> 1.2.1'
gem 'version_sorter', '~> 2.3'
gem 'csv_builder', path: 'gems/csv_builder'
gem 'semver_dialects', '~> 1.2.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'version_sorter', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'csv_builder', path: 'gems/csv_builder' # rubocop:todo Gemfile/MissingFeatureCategory
# Export Ruby Regex to Javascript
gem 'js_regex', '~> 3.8'
gem 'js_regex', '~> 3.8' # rubocop:todo Gemfile/MissingFeatureCategory
# User agent parsing
gem 'device_detector'
gem 'device_detector' # rubocop:todo Gemfile/MissingFeatureCategory
# Redis
gem 'redis', '~> 4.8.0'
gem 'connection_pool', '~> 2.0'
gem 'redis', '~> 4.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
# Redis session store
gem 'redis-actionpack', '~> 5.3.0'
gem 'redis-actionpack', '~> 5.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Discord integration
gem 'discordrb-webhooks', '~> 3.4', require: false
gem 'discordrb-webhooks', '~> 3.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# Jira integration
gem 'jira-ruby', '~> 2.1.4'
gem 'atlassian-jwt', '~> 0.2.0'
gem 'jira-ruby', '~> 2.1.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'atlassian-jwt', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Slack integration
gem 'slack-messenger', '~> 2.3.4'
# Hangouts Chat integration
gem 'hangouts-chat', '~> 0.0.5', require: 'hangouts_chat'
# Asana integration
gem 'asana', '~> 0.10.13'
gem 'slack-messenger', '~> 2.3.4' # rubocop:todo Gemfile/MissingFeatureCategory
# FogBugz integration
gem 'ruby-fogbugz', '~> 0.3.0'
gem 'ruby-fogbugz', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Kubernetes integration
gem 'kubeclient', '~> 4.11.0'
gem 'kubeclient', '~> 4.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
# AI
gem 'ruby-openai', '~> 3.7'
gem 'circuitbox', '2.0.0'
gem 'ruby-openai', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'circuitbox', '2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Sanitize user input
gem 'sanitize', '~> 6.0.2'
gem 'babosa', '~> 2.0'
gem 'sanitize', '~> 6.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'babosa', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Sanitizes SVG input
gem 'loofah', '~> 2.21.3'
gem 'loofah', '~> 2.21.4' # rubocop:todo Gemfile/MissingFeatureCategory
# Used to provide license templates
gem 'licensee', '~> 9.16'
gem 'licensee', '~> 9.16' # rubocop:todo Gemfile/MissingFeatureCategory
# Detect and convert string character encoding
gem 'charlock_holmes', '~> 0.7.7'
gem 'charlock_holmes', '~> 0.7.7' # rubocop:todo Gemfile/MissingFeatureCategory
# Detect mime content type from content
gem 'ruby-magic', '~> 0.6'
gem 'ruby-magic', '~> 0.6' # rubocop:todo Gemfile/MissingFeatureCategory
# Faster blank
gem 'fast_blank', '~> 1.0.1'
gem 'fast_blank', '~> 1.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
# Parse time & duration
gem 'gitlab-chronic', '~> 0.10.5'
gem 'gitlab_chronic_duration', '~> 0.11'
gem 'gitlab-chronic', '~> 0.10.5' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab_chronic_duration', '~> 0.12' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rack-proxy', '~> 0.7.7'
gem 'rack-proxy', '~> 0.7.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sassc-rails', '~> 2.1.0'
gem 'autoprefixer-rails', '10.2.5.1'
gem 'terser', '1.0.2'
gem 'sassc-rails', '~> 2.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'autoprefixer-rails', '10.2.5.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'terser', '1.0.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client'
gem 'addressable', '~> 2.8'
gem 'tanuki_emoji', '~> 0.7'
gem 'gon', '~> 6.4.0'
gem 'request_store', '~> 1.5.1'
gem 'base32', '~> 0.3.0'
gem 'click_house-client', path: 'gems/click_house-client', require: 'click_house/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'addressable', '~> 2.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'tanuki_emoji', '~> 0.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gon', '~> 6.4.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'request_store', '~> 1.5.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'base32', '~> 0.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-license', '~> 2.3'
gem 'gitlab-license', '~> 2.3' # rubocop:todo Gemfile/MissingFeatureCategory
# Protect against bruteforcing
gem 'rack-attack', '~> 6.7.0'
gem 'rack-attack', '~> 6.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Sentry integration
gem 'sentry-raven', '~> 3.1'
gem 'sentry-ruby', '~> 5.8.0'
gem 'sentry-rails', '~> 5.8.0'
gem 'sentry-sidekiq', '~> 5.8.0'
gem 'sentry-raven', '~> 3.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sentry-ruby', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sentry-rails', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sentry-sidekiq', '~> 5.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# PostgreSQL query parsing
#
gem 'pg_query', '~> 4.2.3'
gem 'pg_query', '~> 4.2.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-schema-validation', path: 'gems/gitlab-schema-validation'
gem 'gitlab-schema-validation', path: 'gems/gitlab-schema-validation' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-http', path: 'gems/gitlab-http' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'premailer-rails', '~> 1.10.3'
gem 'premailer-rails', '~> 1.10.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-labkit', '~> 0.34.0'
gem 'thrift', '>= 0.16.0'
gem 'gitlab-labkit', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory
# I18n
gem 'rails-i18n', '~> 7.0'
gem 'gettext_i18n_rails', '~> 1.11.0'
gem 'gettext_i18n_rails_js', '~> 1.3'
gem 'gettext', '~> 3.3', require: false, group: :development
gem 'rails-i18n', '~> 7.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gettext_i18n_rails', '~> 1.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gettext_i18n_rails_js', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gettext', '~> 3.3', require: false, group: :development # rubocop:todo Gemfile/MissingFeatureCategory
gem 'batch-loader', '~> 2.0.1'
gem 'batch-loader', '~> 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
# Perf bar
gem 'peek', '~> 1.1'
gem 'peek', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
# Google Cloud Profiler support
gem 'cloud_profiler_agent', '~> 0.0.0', path: 'vendor/gems/cloud_profiler_agent', require: false
gem 'cloud_profiler_agent', '~> 0.0.0', path: 'vendor/gems/cloud_profiler_agent', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# Snowplow events tracking
gem 'snowplow-tracker', '~> 0.8.0'
gem 'snowplow-tracker', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Metrics
gem 'webrick', '~> 1.8.1', require: false
gem 'prometheus-client-mmap', '~> 0.28', require: 'prometheus/client'
gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'prometheus-client-mmap', '~> 0.28', '>= 0.28.1', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'warning', '~> 1.3.0'
gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
group :development do
gem 'lefthook', '~> 1.4.7', require: false
gem 'rubocop'
gem 'solargraph', '~> 0.47.2', require: false
gem 'lefthook', '~> 1.5.2', require: false, feature_category: :tooling
gem 'rubocop', feature_category: :tooling
gem 'solargraph', '~> 0.47.2', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'letter_opener_web', '~> 2.0.0'
gem 'lookbook', '~> 2.0', '>= 2.0.1'
gem 'letter_opener_web', '~> 2.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'lookbook', '~> 2.0', '>= 2.0.1' # rubocop:todo Gemfile/MissingFeatureCategory
# Better errors handler
gem 'better_errors', '~> 2.10.1'
gem 'better_errors', '~> 2.10.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sprite-factory', '~> 1.7'
gem 'sprite-factory', '~> 1.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem "listen", "~> 3.7"
gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
end
group :development, :test do
gem 'deprecation_toolkit', '~> 1.5.1', require: false
gem 'bullet', '~> 7.0.2'
gem 'parser', '~> 3.2', '>= 3.2.2.3'
gem 'pry-byebug'
gem 'pry-rails', '~> 0.3.9'
gem 'pry-shell', '~> 0.6.4'
gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bullet', '~> 7.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'parser', '~> 3.2', '>= 3.2.2.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pry-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pry-shell', '~> 0.6.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'awesome_print', require: false
gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'database_cleaner', '~> 1.7.0'
gem 'factory_bot_rails', '~> 6.2.0'
gem 'rspec-rails', '~> 6.0.3'
gem 'database_cleaner', '~> 1.7.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'factory_bot_rails', '~> 6.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec-rails', '~> 6.0.3' # rubocop:todo Gemfile/MissingFeatureCategory
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
gem 'minitest', '~> 5.11.0'
gem 'minitest', '~> 5.11.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'spring', '~> 4.1.0'
gem 'spring-commands-rspec', '~> 1.0.4'
gem 'spring', '~> 4.1.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'spring-commands-rspec', '~> 1.0.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-styles', '~> 10.1.0', require: false
gem 'gitlab-styles', '~> 10.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'haml_lint', '~> 0.40.0', require: false
gem 'bundler-audit', '~> 0.7.0.1', require: false
gem 'haml_lint', '~> 0.40.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# Benchmarking & profiling
gem 'benchmark-ips', '~> 2.11.0', require: false
gem 'benchmark-memory', '~> 0.1', require: false
gem 'benchmark-ips', '~> 2.11.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'benchmark-memory', '~> 0.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'knapsack', '~> 1.21.1'
gem 'crystalball', '~> 0.7.0', require: false
# Profiling data from CI/CD pipelines
gem 'influxdb-client', '~> 2.9', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'simple_po_parser', '~> 1.1.6', require: false
gem 'knapsack', '~> 1.21.1', feature_category: :tooling
gem 'crystalball', '~> 0.7.0', require: false, feature_category: :tooling
gem 'test_file_finder', '~> 0.1.3', feature_category: :tooling
gem 'png_quantizator', '~> 0.2.1', require: false
gem 'simple_po_parser', '~> 1.1.6', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'parallel', '~> 1.19', require: false
gem 'png_quantizator', '~> 0.2.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'test_file_finder', '~> 0.1.3'
gem 'parallel', '~> 1.19', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup'
gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pact', '~> 1.63'
gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory
end
group :development, :test, :danger do
gem 'gitlab-dangerfiles', '~> 4.0.0', require: false
gem 'gitlab-dangerfiles', '~> 4.3.2', require: false, feature_category: :tooling
end
group :development, :test, :coverage do
gem 'simplecov', '~> 0.21', require: false
gem 'simplecov-lcov', '~> 0.8.0', require: false
gem 'simplecov-cobertura', '~> 2.1.0', require: false
gem 'undercover', '~> 0.4.4', require: false
gem 'simplecov', '~> 0.21', require: false, feature_category: :tooling
gem 'simplecov-lcov', '~> 0.8.0', require: false, feature_category: :tooling
gem 'simplecov-cobertura', '~> 2.1.0', require: false, feature_category: :tooling
gem 'undercover', '~> 0.4.4', require: false, feature_category: :tooling
end
# Gems required in omnibus-gitlab pipeline
group :development, :test, :omnibus do
gem 'license_finder', '~> 7.0', require: false
gem 'license_finder', '~> 7.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
end
# Gems required in various pipelines
group :development, :test, :monorepo do
gem 'gitlab-rspec', path: 'gems/gitlab-rspec'
gem 'rspec_flaky', path: 'gems/rspec_flaky'
gem 'gitlab-rspec', path: 'gems/gitlab-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec_flaky', path: 'gems/rspec_flaky' # rubocop:todo Gemfile/MissingFeatureCategory
end
group :test do
gem 'fuubar', '~> 2.2.0'
gem 'rspec-retry', '~> 0.6.2'
gem 'rspec_profiling', '~> 0.0.6'
gem 'rspec-benchmark', '~> 0.6.0'
gem 'rspec-parameterized', '~> 1.0', require: false
gem 'fuubar', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec-retry', '~> 0.6.2', feature_category: :tooling
gem 'rspec_profiling', '~> 0.0.6', feature_category: :tooling
gem 'rspec-benchmark', '~> 0.6.0', feature_category: :tooling
gem 'rspec-parameterized', '~> 1.0', require: false, feature_category: :tooling
gem 'capybara', '~> 3.39', '>= 3.39.2'
gem 'capybara-screenshot', '~> 1.0.26'
gem 'selenium-webdriver', '= 4.12.0'
gem 'capybara', '~> 3.39', '>= 3.39.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'capybara-screenshot', '~> 1.0.26' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'selenium-webdriver', '~> 4.14' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'graphlyte', '~> 1.0.0'
gem 'graphlyte', '~> 1.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'shoulda-matchers', '~> 5.1.0', require: false
gem 'email_spec', '~> 2.2.0'
gem 'webmock', '~> 3.19.1'
gem 'rails-controller-testing'
gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 1.2.2'
gem 'rspec_junit_formatter'
gem 'guard-rspec'
gem 'axe-core-rspec'
gem 'shoulda-matchers', '~> 5.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'email_spec', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'webmock', '~> 3.19.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rails-controller-testing' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'concurrent-ruby', '~> 1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'test-prof', '~> 1.2.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'guard-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'axe-core-rspec' # rubocop:todo Gemfile/MissingFeatureCategory
# Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
gem 'derailed_benchmarks', require: false
gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab_quality-test_tooling', '~> 1.0.0', require: false
gem 'gitlab_quality-test_tooling', '~> 1.3.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
end
gem 'octokit', '~> 6.0'
gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-mail_room', '~> 0.0.23', require: 'mail_room'
gem 'gitlab-mail_room', '~> 0.0.23', require: 'mail_room' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'email_reply_trimmer', '~> 0.1'
gem 'html2text'
gem 'email_reply_trimmer', '~> 0.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'html2text' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'stackprof', '~> 0.2.25', require: false
gem 'rbtrace', '~> 0.4', require: false
gem 'memory_profiler', '~> 1.0', require: false
gem 'activerecord-explain-analyze', '~> 0.1', require: false
gem 'stackprof', '~> 0.2.25', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rbtrace', '~> 0.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'memory_profiler', '~> 1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'activerecord-explain-analyze', '~> 0.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# OAuth
gem 'oauth2', '~> 2.0'
gem 'oauth2', '~> 2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Health check
gem 'health_check', '~> 3.0'
gem 'health_check', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# System information
gem 'vmstat', '~> 2.3.0'
gem 'sys-filesystem', '~> 1.4.3'
gem 'vmstat', '~> 2.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sys-filesystem', '~> 1.4.3' # rubocop:todo Gemfile/MissingFeatureCategory
# NTP client
gem 'net-ntp'
gem 'net-ntp' # rubocop:todo Gemfile/MissingFeatureCategory
# SSH keys support
gem 'ssh_data', '~> 1.3'
gem 'ssh_data', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory
# Spamcheck GRPC protocol definitions
gem 'spamcheck', '~> 1.3.0'
gem 'spamcheck', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Gitaly GRPC protocol definitions
gem 'gitaly', '~> 16.3.0-rc1'
gem 'gitaly', '~> 16.5.0.pre.rc1' # rubocop:todo Gemfile/MissingFeatureCategory
# KAS GRPC protocol definitions
gem 'kas-grpc', '~> 0.2.0'
gem 'kas-grpc', '~> 0.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'grpc', '~> 1.55.0'
gem 'grpc', '~> 1.58.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-protobuf', '~> 3.24', '>= 3.24.3'
gem 'google-protobuf', '~> 3.24', '>= 3.24.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'toml-rb', '~> 2.2.0'
gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Feature toggles
gem 'flipper', '~> 0.26.2'
gem 'flipper-active_record', '~> 0.26.2'
gem 'flipper-active_support_cache_store', '~> 0.26.2'
gem 'unleash', '~> 3.2.2'
gem 'gitlab-experiment', '~> 0.8.0'
gem 'flipper', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'flipper-active_record', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'flipper-active_support_cache_store', '~> 0.26.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'unleash', '~> 3.2.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-experiment', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Structured logging
gem 'lograge', '~> 0.5'
gem 'grape_logging', '~> 1.8'
gem 'lograge', '~> 0.5' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'grape_logging', '~> 1.8', feature_category: :api
# DNS Lookup
gem 'gitlab-net-dns', '~> 0.9.2'
gem 'gitlab-net-dns', '~> 0.9.2' # rubocop:todo Gemfile/MissingFeatureCategory
# Countries list
gem 'countries', '~> 4.0.0'
gem 'countries', '~> 4.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'retriable', '~> 3.1.2'
gem 'retriable', '~> 3.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
# LRU cache
gem 'lru_redux'
gem 'lru_redux' # rubocop:todo Gemfile/MissingFeatureCategory
# Locked as long as quoted-printable encoding issues are not resolved
# Monkey-patched in `config/initializers/mail_encoding_patch.rb`
@ -565,62 +571,62 @@ gem 'lru_redux'
# `config/initializers/mail_starttls_patch.rb` has also been patched to
# fix STARTTLS handling until https://github.com/mikel/mail/pull/1536 is
# released.
gem 'mail', '= 2.8.1'
gem 'mail-smtp_pool', '~> 0.1.0', path: 'vendor/gems/mail-smtp_pool', require: false
gem 'mail', '= 2.8.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'mail-smtp_pool', '~> 0.1.0', path: 'vendor/gems/mail-smtp_pool', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'microsoft_graph_mailer', '~> 0.1.0', path: 'vendor/gems/microsoft_graph_mailer'
gem 'microsoft_graph_mailer', '~> 0.1.0', path: 'vendor/gems/microsoft_graph_mailer' # rubocop:todo Gemfile/MissingFeatureCategory
# File encryption
gem 'lockbox', '~> 1.3.0'
gem 'lockbox', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Email validation
gem 'valid_email', '~> 0.1'
gem 'valid_email', '~> 0.1' # rubocop:todo Gemfile/MissingFeatureCategory
# JSON
gem 'jsonb_accessor', '~> 1.3.10'
gem 'json', '~> 2.6.3'
gem 'json_schemer', '~> 0.2.18'
gem 'oj', '~> 3.13.21'
gem 'oj-introspect', '~> 0.7'
gem 'multi_json', '~> 1.14.1'
gem 'yajl-ruby', '~> 1.4.3', require: 'yajl'
gem 'jsonb_accessor', '~> 1.3.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'json', '~> 2.6.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'json_schemer', '~> 0.2.18' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'oj', '~> 3.13.21' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'oj-introspect', '~> 0.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'multi_json', '~> 1.14.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'yajl-ruby', '~> 1.4.3', require: 'yajl' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'webauthn', '~> 3.0'
gem 'webauthn', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# IPAddress utilities
gem 'ipaddress', '~> 0.8.3'
gem 'ipaddress', '~> 0.8.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'parslet', '~> 1.8'
gem 'parslet', '~> 1.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ipynbdiff', path: 'gems/ipynbdiff', require: 'ipynb_diff'
gem 'ipynbdiff', path: 'gems/ipynbdiff', require: 'ipynb_diff' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ed25519', '~> 1.3.0'
gem 'ed25519', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Error Tracking OpenAPI client
# See https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/development/rake_tasks.md#update-openapi-client-for-error-tracking-feature
gem 'error_tracking_open_api', path: 'gems/error_tracking_open_api'
gem 'error_tracking_open_api', path: 'gems/error_tracking_open_api' # rubocop:todo Gemfile/MissingFeatureCategory
# Vulnerability advisories
gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite'
gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite' # rubocop:todo Gemfile/MissingFeatureCategory
# Work with RPM packages
gem 'arr-pm', '~> 0.0.12'
gem 'arr-pm', '~> 0.0.12' # rubocop:todo Gemfile/MissingFeatureCategory
# Remote Development
gem 'devfile', '~> 0.0.22.pre.alpha1'
gem 'devfile', '~> 0.0.23.pre.alpha1' # rubocop:todo Gemfile/MissingFeatureCategory
# Apple plist parsing
gem 'CFPropertyList', '~> 3.0.0'
gem 'app_store_connect'
gem 'CFPropertyList', '~> 3.0.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'app_store_connect' # rubocop:todo Gemfile/MissingFeatureCategory
# For phone verification
gem 'telesignenterprise', '~> 2.2'
gem 'telesignenterprise', '~> 2.2' # rubocop:todo Gemfile/MissingFeatureCategory
# BufferedIO patch
# Updating this version will require updating scripts/allowed_warnings.txt
gem 'net-protocol', '~> 0.1.3'
gem 'net-protocol', '~> 0.1.3' # rubocop:todo Gemfile/MissingFeatureCategory
# Lock this until we make DNS rebinding work with the updated net-http:
# https://gitlab.com/gitlab-org/gitlab/-/issues/413528
gem 'net-http', '= 0.1.1'
gem 'net-http', '= 0.1.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'duo_api', '~> 1.3'
gem 'duo_api', '~> 1.3' # rubocop:todo Gemfile/MissingFeatureCategory

View File

@ -23,6 +23,16 @@ PATH
error_tracking_open_api (1.0.0)
typhoeus (~> 1.0, >= 1.0.1)
PATH
remote: gems/gitlab-http
specs:
gitlab-http (0.1.0)
activesupport (~> 7)
httparty (~> 0.21.0)
ipaddress (~> 0.8.3)
nokogiri (~> 1.15.4)
railties (~> 7)
PATH
remote: gems/gitlab-rspec
specs:
@ -64,7 +74,7 @@ PATH
remote: gems/rspec_flaky
specs:
rspec_flaky (0.1.0)
activesupport (>= 6.1, < 7.1)
activesupport (>= 6.1, < 8)
rspec (~> 3.0)
PATH
@ -155,70 +165,70 @@ GEM
acme-client (2.0.11)
faraday (>= 1.0, < 3.0.0)
faraday-retry (~> 1.0)
actioncable (7.0.6)
actionpack (= 7.0.6)
activesupport (= 7.0.6)
actioncable (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (7.0.6)
actionpack (= 7.0.6)
activejob (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
actionmailbox (7.0.8)
actionpack (= 7.0.8)
activejob (= 7.0.8)
activerecord (= 7.0.8)
activestorage (= 7.0.8)
activesupport (= 7.0.8)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.0.6)
actionpack (= 7.0.6)
actionview (= 7.0.6)
activejob (= 7.0.6)
activesupport (= 7.0.6)
actionmailer (7.0.8)
actionpack (= 7.0.8)
actionview (= 7.0.8)
activejob (= 7.0.8)
activesupport (= 7.0.8)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (7.0.6)
actionview (= 7.0.6)
activesupport (= 7.0.6)
actionpack (7.0.8)
actionview (= 7.0.8)
activesupport (= 7.0.8)
rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (7.0.6)
actionpack (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
actiontext (7.0.8)
actionpack (= 7.0.8)
activerecord (= 7.0.8)
activestorage (= 7.0.8)
activesupport (= 7.0.8)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.0.6)
activesupport (= 7.0.6)
actionview (7.0.8)
activesupport (= 7.0.8)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (7.0.6)
activesupport (= 7.0.6)
activejob (7.0.8)
activesupport (= 7.0.8)
globalid (>= 0.3.6)
activemodel (7.0.6)
activesupport (= 7.0.6)
activerecord (7.0.6)
activemodel (= 7.0.6)
activesupport (= 7.0.6)
activemodel (7.0.8)
activesupport (= 7.0.8)
activerecord (7.0.8)
activemodel (= 7.0.8)
activesupport (= 7.0.8)
activerecord-explain-analyze (0.1.0)
activerecord (>= 4)
pg
activestorage (7.0.6)
actionpack (= 7.0.6)
activejob (= 7.0.6)
activerecord (= 7.0.6)
activesupport (= 7.0.6)
activestorage (7.0.8)
actionpack (= 7.0.8)
activejob (= 7.0.8)
activerecord (= 7.0.8)
activesupport (= 7.0.8)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.6)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@ -240,11 +250,6 @@ GEM
activesupport (>= 6.0.0)
jwt (>= 1.4, <= 2.5.0)
arr-pm (0.0.12)
asana (0.10.13)
faraday (~> 1.0)
faraday_middleware (~> 1.0)
faraday_middleware-multi_json (~> 0.0)
oauth2 (>= 1.4, < 3)
asciidoctor (2.0.18)
asciidoctor-include-ext (0.4.0)
asciidoctor (>= 1.5.6, < 3.0.0)
@ -265,7 +270,7 @@ GEM
aws-sdk-cloudformation (1.41.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.181.1)
aws-sdk-core (3.185.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
@ -273,7 +278,7 @@ GEM
aws-sdk-kms (1.64.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.134.0)
aws-sdk-s3 (1.136.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
@ -321,12 +326,12 @@ GEM
msgpack (~> 1.2)
browser (5.3.1)
builder (3.2.4)
bullet (7.0.2)
bullet (7.1.1)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
bundler-audit (0.7.0.1)
bundler-audit (0.9.1)
bundler (>= 1.2.0, < 3)
thor (>= 0.18, < 2)
thor (~> 1.0)
byebug (11.1.3)
capybara (3.39.2)
addressable
@ -340,7 +345,7 @@ GEM
capybara-screenshot (1.0.26)
capybara (>= 1.0, < 4)
launchy
carrierwave (1.3.3)
carrierwave (1.3.4)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
@ -357,7 +362,7 @@ GEM
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-utils (16.10.17)
chunky_png (1.3.5)
chunky_png (1.4.0)
circuitbox (2.0.0)
citrus (3.0.2)
claide (1.1.0)
@ -371,7 +376,7 @@ GEM
colored2 (3.1.2)
commonmarker (0.23.10)
concurrent-ruby (1.2.2)
connection_pool (2.3.0)
connection_pool (2.4.1)
cork (0.3.0)
colored2 (~> 3.1)
cose (1.3.0)
@ -405,6 +410,7 @@ GEM
danger-gitlab (8.0.0)
danger
gitlab (~> 4.2, >= 4.2.0)
dartsass (1.49.8)
database_cleaner (1.7.0)
date (3.3.3)
dead_end (3.1.1)
@ -429,7 +435,7 @@ GEM
thor (>= 0.19, < 2)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
devfile (0.0.22.pre.alpha1)
devfile (0.0.23.pre.alpha1)
device_detector (1.0.0)
devise (4.8.1)
bcrypt (~> 3.0)
@ -437,11 +443,11 @@ GEM
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
devise-two-factor (4.0.2)
activesupport (< 7.1)
attr_encrypted (>= 1.3, < 4, != 2)
devise-two-factor (4.1.1)
activesupport (~> 7.0)
attr_encrypted (>= 1.3, < 5, != 2)
devise (~> 4.0)
railties (< 7.1)
railties (~> 7.0)
rotp (~> 6.0)
diff-lcs (1.5.0)
diff_match_patch (0.1.0)
@ -500,7 +506,7 @@ GEM
mail (~> 2.7)
encryptor (3.0.0)
erubi (1.12.0)
escape_utils (1.2.1)
escape_utils (1.3.0)
et-orbi (1.2.7)
tzinfo
ethon (0.16.0)
@ -510,8 +516,8 @@ GEM
expgen (0.1.1)
parslet
expression_parser (0.9.0)
extended-markdown-filter (0.6.0)
html-pipeline (~> 2.0)
extended-markdown-filter (0.7.0)
html-pipeline (~> 2.9)
factory_bot (6.2.0)
activesupport (>= 5.0.0)
factory_bot_rails (6.2.0)
@ -547,9 +553,6 @@ GEM
faraday_middleware-aws-sigv4 (0.3.0)
aws-sigv4 (~> 1.0)
faraday (>= 0.15)
faraday_middleware-multi_json (0.0.6)
faraday_middleware
multi_json
fast_blank (1.0.1)
fast_gettext (2.3.0)
ffaker (2.10.0)
@ -637,17 +640,17 @@ GEM
git (1.18.0)
addressable (~> 2.8)
rchardet (~> 1.8)
gitaly (16.3.0.pre.rc1)
gitaly (16.5.0.pre.rc1)
grpc (~> 1.0)
gitlab (4.19.0)
httparty (~> 0.20)
terminal-table (>= 1.5.1)
gitlab-chronic (0.10.5)
numerizer (~> 0.2)
gitlab-dangerfiles (4.0.0)
gitlab-dangerfiles (4.3.2)
danger (>= 9.3.0)
danger-gitlab (>= 8.0.0)
rake
rake (~> 13.0)
gitlab-experiment (0.8.0)
activesupport (>= 3.0)
request_store (>= 1.0)
@ -678,15 +681,15 @@ GEM
rubocop-performance (~> 1.15)
rubocop-rails (~> 2.17)
rubocop-rspec (~> 2.22)
gitlab_chronic_duration (0.11.0)
gitlab_chronic_duration (0.12.0)
numerizer (~> 0.2)
gitlab_omniauth-ldap (2.2.0)
net-ldap (~> 0.16)
omniauth (>= 1.3, < 3)
pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
rubyntlm (~> 0.5)
gitlab_quality-test_tooling (1.0.0)
activesupport (>= 6.1, < 7.1)
gitlab_quality-test_tooling (1.3.0)
activesupport (>= 6.1, < 7.2)
gitlab (~> 4.19)
http (~> 5.0)
nokogiri (~> 1.10)
@ -755,7 +758,7 @@ GEM
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
google-protobuf (3.24.3)
google-protobuf (3.24.4)
googleapis-common-protos (1.4.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.2)
@ -802,19 +805,19 @@ GEM
faraday_middleware
graphql-client
graphlyte (1.0.0)
graphql (1.13.19)
graphql-client (0.17.0)
graphql (2.0.27)
graphql-client (0.18.0)
activesupport (>= 3.0)
graphql (~> 1.10)
graphql-docs (2.1.0)
commonmarker (~> 0.16)
graphql
graphql-docs (4.0.0)
commonmarker (~> 0.23, >= 0.23.6)
dartsass (~> 1.49)
escape_utils (~> 1.2)
extended-markdown-filter (~> 0.4)
gemoji (~> 3.0)
graphql (~> 1.12)
html-pipeline (~> 2.9)
sass (~> 3.4)
grpc (1.55.0)
graphql (~> 2.0)
html-pipeline (~> 2.14, >= 2.14.3)
grpc (1.58.0)
google-protobuf (~> 3.23)
googleapis-common-protos-types (~> 1.0)
gssapi (1.3.1)
@ -847,7 +850,6 @@ GEM
thor
tilt
hana (1.3.7)
hangouts-chat (0.0.5)
hashdiff (1.0.1)
hashie (5.0.0)
health_check (3.1.0)
@ -883,6 +885,7 @@ GEM
ice_nine (0.11.2)
imagen (0.1.8)
parser (>= 2.5, != 2.5.1.1)
influxdb-client (2.9.0)
invisible_captcha (2.1.0)
rails (>= 5.2)
ipaddr (1.2.5)
@ -946,7 +949,7 @@ GEM
rest-client (~> 2.0)
launchy (2.5.0)
addressable (~> 2.7)
lefthook (1.4.7)
lefthook (1.5.2)
letter_opener (1.7.0)
launchy (~> 2.2)
letter_opener_web (2.0.0)
@ -981,7 +984,7 @@ GEM
activesupport (>= 4)
railties (>= 4)
request_store (~> 1.0)
loofah (2.21.3)
loofah (2.21.4)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
lookbook (2.0.1)
@ -1011,9 +1014,9 @@ GEM
memoist (0.16.2)
memory_profiler (1.0.1)
method_source (1.0.0)
mime-types (3.4.1)
mime-types (3.5.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2022.0105)
mime-types-data (3.2023.1003)
mini_histogram (0.3.1)
mini_magick (4.10.1)
mini_mime (1.1.2)
@ -1098,7 +1101,7 @@ GEM
hashie (>= 3.4.6)
rack (>= 2.2.3)
rack-protection
omniauth-alicloud (2.0.1)
omniauth-alicloud (3.0.0)
omniauth-oauth2 (~> 1.8)
omniauth-atlassian-oauth2 (0.2.0)
omniauth (>= 1.1.1)
@ -1184,7 +1187,7 @@ GEM
expgen (~> 0.1)
rainbow (~> 3.1.1)
parallel (1.22.1)
parser (3.2.2.3)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
parslet (1.8.2)
@ -1210,7 +1213,7 @@ GEM
coderay
parser
unparser
prometheus-client-mmap (0.28.0)
prometheus-client-mmap (0.28.1)
rb_sys (~> 0.9)
pry (0.14.2)
coderay (~> 1.1)
@ -1225,7 +1228,7 @@ GEM
tty-markdown
tty-prompt
public_suffix (5.0.0)
puma (6.3.1)
puma (6.4.0)
nio4r (~> 2.0)
pyu-ruby-sasl (0.0.3.3)
raabro (1.4.0)
@ -1250,20 +1253,20 @@ GEM
rack-test (2.1.0)
rack (>= 1.3)
rack-timeout (0.6.3)
rails (7.0.6)
actioncable (= 7.0.6)
actionmailbox (= 7.0.6)
actionmailer (= 7.0.6)
actionpack (= 7.0.6)
actiontext (= 7.0.6)
actionview (= 7.0.6)
activejob (= 7.0.6)
activemodel (= 7.0.6)
activerecord (= 7.0.6)
activestorage (= 7.0.6)
activesupport (= 7.0.6)
rails (7.0.8)
actioncable (= 7.0.8)
actionmailbox (= 7.0.8)
actionmailer (= 7.0.8)
actionpack (= 7.0.8)
actiontext (= 7.0.8)
actionview (= 7.0.8)
activejob (= 7.0.8)
activemodel (= 7.0.8)
activerecord (= 7.0.8)
activestorage (= 7.0.8)
activesupport (= 7.0.8)
bundler (>= 1.15.0)
railties (= 7.0.6)
railties (= 7.0.8)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
@ -1276,9 +1279,9 @@ GEM
rails-i18n (7.0.3)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
railties (7.0.6)
actionpack (= 7.0.6)
activesupport (= 7.0.6)
railties (7.0.8)
actionpack (= 7.0.8)
activesupport (= 7.0.8)
method_source
rake (>= 12.2)
thor (~> 1.0)
@ -1295,8 +1298,7 @@ GEM
optimist (>= 3.0.0)
rbtree (0.4.6)
rchardet (1.8.0)
rdoc (6.3.2)
re2 (2.0.0)
re2 (2.1.3)
mini_portile2 (~> 2.8.4)
recaptcha (5.12.3)
json
@ -1335,12 +1337,12 @@ GEM
nokogiri
rexml (3.2.6)
rinku (2.0.0)
rotp (6.2.0)
rotp (6.3.0)
rouge (4.1.3)
rqrcode (0.7.0)
chunky_png
rqrcode-rails3 (0.1.7)
rqrcode (>= 0.4.2)
rqrcode (2.2.0)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
rqrcode_core (1.2.0)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
@ -1439,11 +1441,6 @@ GEM
sanitize (6.0.2)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
sass (3.5.5)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.0)
@ -1459,7 +1456,7 @@ GEM
seed-fu (2.3.7)
activerecord (>= 3.1)
activesupport (>= 3.1)
selenium-webdriver (4.12.0)
selenium-webdriver (4.14.0)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
@ -1580,11 +1577,11 @@ GEM
unicode-display_width (>= 1.1.1, < 3)
terser (1.0.2)
execjs (>= 0.3.0, < 3)
test-prof (1.2.2)
test-prof (1.2.3)
test_file_finder (0.1.4)
faraday (~> 1.0)
text (1.3.1)
thor (1.2.1)
thor (1.2.2)
thread_safe (0.3.6)
thrift (0.16.0)
tilt (2.0.11)
@ -1649,7 +1646,7 @@ GEM
unparser (0.6.7)
diff-lcs (~> 1.3)
parser (>= 3.2.0)
uri (0.12.1)
uri (0.12.2)
uri_template (0.7.0)
valid_email (0.1.3)
activemodel
@ -1665,7 +1662,7 @@ GEM
activesupport (>= 3.0)
version_gem (1.1.0)
version_sorter (2.3.0)
view_component (3.5.0)
view_component (3.6.0)
activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
@ -1701,8 +1698,8 @@ GEM
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
webrick (1.8.1)
websocket (1.2.9)
websocket-driver (0.7.5)
websocket (1.2.10)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
wikicloth (0.8.1)
@ -1735,7 +1732,6 @@ DEPENDENCIES
apollo_upload_server (~> 2.1.0)
app_store_connect
arr-pm (~> 0.0.12)
asana (~> 0.10.13)
asciidoctor (~> 2.0.18)
asciidoctor-include-ext (~> 0.4.0)
asciidoctor-kroki (~> 0.8.0)
@ -1745,8 +1741,8 @@ DEPENDENCIES
autoprefixer-rails (= 10.2.5.1)
awesome_print
aws-sdk-cloudformation (~> 1)
aws-sdk-core (~> 3.181.1)
aws-sdk-s3 (~> 1.134.0)
aws-sdk-core (~> 3.185.1)
aws-sdk-s3 (~> 1.136.0)
axe-core-rspec
babosa (~> 2.0)
base32 (~> 0.3.0)
@ -1757,8 +1753,8 @@ DEPENDENCIES
better_errors (~> 2.10.1)
bootsnap (~> 1.16.0)
browser (~> 5.3.1)
bullet (~> 7.0.2)
bundler-audit (~> 0.7.0.1)
bullet (~> 7.1.1)
bundler-audit (~> 0.9.1)
bundler-checksum (~> 0.1.0)!
capybara (~> 3.39, >= 3.39.2)
capybara-screenshot (~> 1.0.26)
@ -1769,7 +1765,7 @@ DEPENDENCIES
cloud_profiler_agent (~> 0.0.0)!
commonmarker (~> 0.23.10)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.0)
connection_pool (~> 2.4)
countries (~> 4.0.0)
creole (~> 0.5.0)
crystalball (~> 0.7.0)
@ -1780,11 +1776,11 @@ DEPENDENCIES
declarative_policy (~> 1.1.0)
deprecation_toolkit (~> 1.5.1)
derailed_benchmarks
devfile (~> 0.0.22.pre.alpha1)
devfile (~> 0.0.23.pre.alpha1)
device_detector
devise (~> 4.8.1)
devise-pbkdf2-encryptable (~> 0.0.0)!
devise-two-factor (~> 4.0.2)
devise-two-factor (~> 4.1.1)
diff_match_patch (~> 0.1.0)
diffy (~> 3.4)
discordrb-webhooks (~> 3.4)
@ -1816,11 +1812,12 @@ DEPENDENCIES
gettext (~> 3.3)
gettext_i18n_rails (~> 1.11.0)
gettext_i18n_rails_js (~> 1.3)
gitaly (~> 16.3.0.pre.rc1)
gitaly (~> 16.5.0.pre.rc1)
gitlab-chronic (~> 0.10.5)
gitlab-dangerfiles (~> 4.0.0)
gitlab-dangerfiles (~> 4.3.2)
gitlab-experiment (~> 0.8.0)
gitlab-fog-azure-rm (~> 1.8.0)
gitlab-http!
gitlab-labkit (~> 0.34.0)
gitlab-license (~> 2.3)
gitlab-mail_room (~> 0.0.23)
@ -1832,9 +1829,9 @@ DEPENDENCIES
gitlab-sidekiq-fetcher!
gitlab-styles (~> 10.1.0)
gitlab-utils!
gitlab_chronic_duration (~> 0.11)
gitlab_chronic_duration (~> 0.12)
gitlab_omniauth-ldap (~> 2.2.0)
gitlab_quality-test_tooling (~> 1.0.0)
gitlab_quality-test_tooling (~> 1.3.0)
gon (~> 6.4.0)
google-apis-androidpublisher_v3 (~> 0.34.0)
google-apis-cloudbilling_v1 (~> 0.21.0)
@ -1847,7 +1844,7 @@ DEPENDENCIES
google-apis-serviceusage_v1 (~> 0.28.0)
google-apis-sqladmin_v1beta4 (~> 0.41.0)
google-cloud-storage (~> 1.44.0)
google-protobuf (~> 3.24, >= 3.24.3)
google-protobuf (~> 3.24, >= 3.24.4)
gpgme (~> 2.0.23)
grape (~> 1.7.1)
grape-entity (~> 0.10.0)
@ -1858,20 +1855,20 @@ DEPENDENCIES
graphiql-rails (~> 1.8.0)
graphlient (~> 0.5.0)
graphlyte (~> 1.0.0)
graphql (~> 1.13.19)
graphql-docs (~> 2.1.0)
grpc (~> 1.55.0)
graphql (~> 2.0.27)
graphql-docs (~> 4.0.0)
grpc (~> 1.58.0)
gssapi (~> 1.3.1)
guard-rspec
haml_lint (~> 0.40.0)
hamlit (~> 2.15.0)
hangouts-chat (~> 0.0.5)
hashie (~> 5.0.0)
health_check (~> 3.0)
html-pipeline (~> 2.14.3)
html2text
httparty (~> 0.21.0)
icalendar
influxdb-client (~> 2.9)
invisible_captcha (~> 2.1.0)
ipaddr (~> 1.2.5)
ipaddress (~> 0.8.3)
@ -1887,14 +1884,14 @@ DEPENDENCIES
knapsack (~> 1.21.1)
kramdown (~> 2.3.1)
kubeclient (~> 4.11.0)
lefthook (~> 1.4.7)
lefthook (~> 1.5.2)
letter_opener_web (~> 2.0.0)
license_finder (~> 7.0)
licensee (~> 9.16)
listen (~> 3.7)
lockbox (~> 1.3.0)
lograge (~> 0.5)
loofah (~> 2.21.3)
loofah (~> 2.21.4)
lookbook (~> 2.0, >= 2.0.1)
lru_redux
mail (= 2.8.1)
@ -1917,7 +1914,7 @@ DEPENDENCIES
oj (~> 3.13.21)
oj-introspect (~> 0.7)
omniauth (~> 2.1.0)
omniauth-alicloud (~> 2.0.1)
omniauth-alicloud (~> 3.0.0)
omniauth-atlassian-oauth2 (~> 0.2.0)
omniauth-auth0 (~> 3.1)
omniauth-azure-activedirectory-v2 (~> 2.0)
@ -1939,31 +1936,30 @@ DEPENDENCIES
org-ruby (~> 0.9.12)
pact (~> 1.63)
parallel (~> 1.19)
parser (~> 3.2, >= 3.2.2.3)
parser (~> 3.2, >= 3.2.2.4)
parslet (~> 1.8)
peek (~> 1.1)
pg (~> 1.5.4)
pg_query (~> 4.2.3)
png_quantizator (~> 0.2.1)
premailer-rails (~> 1.10.3)
prometheus-client-mmap (~> 0.28)
prometheus-client-mmap (~> 0.28, >= 0.28.1)
pry-byebug
pry-rails (~> 0.3.9)
pry-shell (~> 0.6.4)
puma (~> 6.3, >= 6.3.1)
puma (~> 6.4)
rack (~> 2.2.8)
rack-attack (~> 6.7.0)
rack-cors (~> 2.0.1)
rack-oauth2 (~> 1.21.3)
rack-proxy (~> 0.7.7)
rack-timeout (~> 0.6.3)
rails (~> 7.0.6)
rails (~> 7.0.8)
rails-controller-testing
rails-i18n (~> 7.0)
rainbow (~> 3.0)
rbtrace (~> 0.4)
rdoc (~> 6.3.2)
re2 (= 2.0.0)
re2 (= 2.1.3)
recaptcha (~> 5.12)
redis (~> 4.8.0)
redis-actionpack (~> 5.3.0)
@ -1973,7 +1969,7 @@ DEPENDENCIES
retriable (~> 3.1.2)
rexml (~> 3.2.6)
rouge (~> 4.1.3)
rqrcode-rails3 (~> 0.1.7)
rqrcode (~> 2.0)
rspec-benchmark (~> 0.6.0)
rspec-parameterized (~> 1.0)
rspec-rails (~> 6.0.3)
@ -1993,7 +1989,7 @@ DEPENDENCIES
sassc-rails (~> 2.1.0)
sd_notify (~> 0.1.0)
seed-fu (~> 2.3.7)
selenium-webdriver (= 4.12.0)
selenium-webdriver (~> 4.14)
semver_dialects (~> 1.2.1)
sentry-rails (~> 5.8.0)
sentry-raven (~> 3.1)
@ -2022,7 +2018,7 @@ DEPENDENCIES
tanuki_emoji (~> 0.7)
telesignenterprise (~> 2.2)
terser (= 1.0.2)
test-prof (~> 1.2.2)
test-prof (~> 1.2.3)
test_file_finder (~> 0.1.3)
thrift (>= 0.16.0)
timfel-krb5-auth (~> 0.8)
@ -2034,7 +2030,7 @@ DEPENDENCIES
valid_email (~> 0.1)
validates_hostname (~> 1.0.13)
version_sorter (~> 2.3)
view_component (~> 3.5.0)
view_component (~> 3.6.0)
vite_rails
vmstat (~> 2.3.0)
warning (~> 1.3.0)
@ -2045,4 +2041,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4.3)
BUNDLED WITH
2.4.19
2.4.20

View File

@ -17,10 +17,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d72cqx1h9c0yl1vc8xakvji00krg118ih6lwqlg5nbw50gbx25c";
sha256 = "117vxic67jnw6q637kmsb3ryj0x485295pz9a9y4z8xn9bdlsl0z";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
actionmailbox = {
dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"];
@ -28,10 +28,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12xkyfdpr7ljnd31yhc2kzl0rqrlwxzpg4qcn4yb2h364hwc6fh8";
sha256 = "1r8ldj2giaz8cn49qkdqn5zc29gbsr5ky4fg6r7ali0yh1xh684l";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"];
@ -39,10 +39,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01x11ijfg56585vj7a7az0235idnxcnyjp1nb1jvkm08jjll5d1k";
sha256 = "0w6gvj7ybniq89834hqww9rj2xypz9l91f8niwaws2yq1qklymr2";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@ -50,10 +50,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0d66w1d9rhvafd0dilqyr1ymsvr060l8hi0xvwij7cyvzzxrlrbc";
sha256 = "1l319p0gipfgq8bp8dvbv97qqb72rad9zcqn5snhgv20cmpqr69b";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
actiontext = {
dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"];
@ -61,10 +61,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bpyfh8g0mzgkb8bxvf245mwnx1awbr1y6dxcdckyhsjjgrfynfl";
sha256 = "0i47r3n2m8qm002gx7c0lx1pv15pr2zy57dm8j38x960rsb655pp";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -72,10 +72,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1icfh9pgjpd29apzn07cnqa9nlpvjv7i4vrygack5gp7hp54l8m7";
sha256 = "0xnpdwj1d8m6c2d90jp9cs50ggiz0jj02ls2h9lg68k4k8mnjbd2";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
activejob = {
dependencies = ["activesupport" "globalid"];
@ -83,10 +83,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gawwb6550ra1xgbrki03aq4q5wafa3xfrpdr3cva4ghy3qqn53q";
sha256 = "1cn1ic7ml75jm0c10s7cm5mvcgfnafj0kjvvjavpjcxgz6lxcqyb";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
activemodel = {
dependencies = ["activesupport"];
@ -94,10 +94,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "072iv0d3vpbp0xijg4jj99sjil1rykmqfj9addxj76bm5mbzwcaj";
sha256 = "004w8zaz2g3y6lnrsvlcmljll0m3ndqpgwf0wfscgq6iysibiglm";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
activerecord = {
dependencies = ["activemodel" "activesupport"];
@ -105,10 +105,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1l0rn43bhyzlfa4wwcfz016vb4lkzvl0jf5zibkjy4sppxxixzrq";
sha256 = "04wavps80q3pvhvfbmi4gs102y1p6mxbg8xylzvib35b6m92adpj";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
activerecord-explain-analyze = {
dependencies = ["activerecord" "pg"];
@ -137,10 +137,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "036mv935r5mmh7fljz10lyr43c5y5bn8b6h7gdkv8spfgwzihw4j";
sha256 = "0d6vm6alsp0g6f3548b615zxbz8l2wrmaikwgsf8kv11wf6swb4c";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
@ -148,10 +148,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cjsf26656996hv48wgv2mkwxf0fy1qc68ikgzq7mzfq2mmvmayk";
sha256 = "188kbwkn1lbhz40ala8ykp20jzqphgc68g3d8flin8cqa2xid0s5";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
acts-as-taggable-on = {
dependencies = ["activerecord"];
@ -248,17 +248,6 @@ src:
};
version = "0.0.12";
};
asana = {
dependencies = ["faraday" "faraday_middleware" "faraday_middleware-multi_json" "oauth2"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b6pqazhi9922y79763m0alvdmvm90i806qgb1a8l4fnimzx7l1n";
type = "gem";
};
version = "0.10.13";
};
asciidoctor = {
groups = ["default"];
platforms = [];
@ -411,10 +400,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1qnwh40d45pqm77dayvh1zdlb5xjbbj7hv29s8nhxj7c3qkl4bpb";
sha256 = "0wvrz7d2rw17ihj2fmvaq91cg35pvk1asl4skncsk4w3mx7dlajp";
type = "gem";
};
version = "3.181.1";
version = "3.185.1";
};
aws-sdk-kms = {
dependencies = ["aws-sdk-core" "aws-sigv4"];
@ -433,10 +422,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fbz259as60xnf563z9byp8blq5fsc81h92h3wicai4bmz45w4r5";
sha256 = "0qwdkbwp3f5illkkmivzdr9gcrcg69yv73xlfp6fc7fmhlm30irm";
type = "gem";
};
version = "1.134.0";
version = "1.136.0";
};
aws-sigv4 = {
dependencies = ["aws-eventstream"];
@ -684,10 +673,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10cwf4pi2i1r1hpz06sishj95aa9m65ymd61sl2vp57ncsrqcyab";
sha256 = "172v1vjqqlfk8dw3xh7j4m2wfmp74zwsh2v2jqppgzibmpcqjxxd";
type = "gem";
};
version = "7.0.2";
version = "7.1.1";
};
bundler-audit = {
dependencies = ["thor"];
@ -695,10 +684,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04l9rs56rlvihbr2ybkrigjajgd3swa98lxvmdl8iylj1g5m7n0j";
sha256 = "0gdx0019vj04n1512shhdx7hwphzqmdpw4vva2k551nd47y1dixx";
type = "gem";
};
version = "0.7.0.1";
version = "0.9.1";
};
bundler-checksum = {
dependencies = [];
@ -752,10 +741,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1w8k7bbwknqmq64mygl2a137vx3cs8xrjmdp8l3whm6f5vg480hg";
sha256 = "089s8rbwddzcyw1ky34h90flz5wzqzi2lvajykbxn3l3s6mjsxw1";
type = "gem";
};
version = "1.3.3";
version = "1.3.4";
};
cbor = {
groups = ["default"];
@ -825,10 +814,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vf0axgrm95bs3y0x5gdb76xawfh210yxplj7jbwr6z7n88i1axn";
sha256 = "1znw5x86hmm9vfhidwdsijz8m38pqgmv98l9ryilvky0aldv7mc9";
type = "gem";
};
version = "1.3.5";
version = "1.4.0";
};
circuitbox = {
groups = ["default"];
@ -951,10 +940,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nj4r58m5cpfdsijj6gjfs3yzcnxq2halagjk07wjcrgj6z8ayb7";
sha256 = "1x32mcpm2cl5492kd6lbjbaf17qsssmpx9kdyr7z1wcif2cwyh0g";
type = "gem";
};
version = "2.3.0";
version = "2.4.1";
};
cork = {
dependencies = ["colored2"];
@ -1083,6 +1072,16 @@ src:
};
version = "8.0.0";
};
dartsass = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0i8kivfa4i1m2msw2h5zigxdnar5fvln7xhym85qyp35lmi74zi6";
type = "gem";
};
version = "1.49.8";
};
database_cleaner = {
groups = ["development" "test"];
platforms = [];
@ -1192,10 +1191,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hglq61xxs8hgj2aq6g94w9ry90jq9aivb3c6fycxz1srdq26lsl";
sha256 = "02p4cxz9w9nsghgmwmw32f9g80df8simagzpafhkvc5grdwwd8pv";
type = "gem";
};
version = "0.0.22.pre.alpha1";
version = "0.0.23.pre.alpha1";
};
device_detector = {
groups = ["default"];
@ -1234,10 +1233,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04f5rb8fg4cvzm32v413z3h53wc0fgxg927q8rqd546hdrlx4j35";
sha256 = "15cbgb0hyq78myc6aaszzdrd9qll9n3qdhykmrx22qiyac3mnpy9";
type = "gem";
};
version = "4.0.2";
version = "4.1.1";
};
diff-lcs = {
groups = ["default" "development" "test"];
@ -1558,10 +1557,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qminivnyzwmqjhrh3b92halwbk0zcl9xn828p5rnap1szl2yag5";
sha256 = "029c7kynhkxw8fgq9q171xi68ajfqrb22r7drvkar018j8871yyz";
type = "gem";
};
version = "1.2.1";
version = "1.3.0";
};
et-orbi = {
dependencies = ["tzinfo"];
@ -1632,10 +1631,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17mi5qayplfaa6p3mfwa36il84ixr0bimqvl0q73lw5i81blp126";
sha256 = "0f7isjr3vpvmyc3arqcgn1fc69axxd73xk87nk31ibpv15sfzvn8";
type = "gem";
};
version = "0.6.0";
version = "0.7.0";
};
factory_bot = {
dependencies = ["activesupport"];
@ -1804,17 +1803,6 @@ src:
};
version = "0.3.0";
};
faraday_middleware-multi_json = {
dependencies = ["faraday_middleware" "multi_json"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0651sxhzbq9xfq3hbpmrp0nbybxnm9ja3m97k386m4bqgamlvz1q";
type = "gem";
};
version = "0.0.6";
};
fast_blank = {
groups = ["default"];
platforms = [];
@ -2131,10 +2119,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hsccw9njvvsic0qn5x1aia0yz66sy4bsw1pixc5jf2g990wrnam";
sha256 = "0lw3lfq0wii1jg6112ry2c3g01dphwl8yp61xyh66ijds1d525zd";
type = "gem";
};
version = "16.3.0.pre.rc1";
version = "16.5.0.pre.rc1";
};
gitlab = {
dependencies = ["httparty" "terminal-table"];
@ -2164,10 +2152,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04j81xsasbfzc9xs0sgizc76qj26ka629yrcd9l6m3iqj0byiaz3";
sha256 = "15hax19xpav0i8mhg3y1zf4528hx18r6zg6dy8lwdk7s60gdi2wp";
type = "gem";
};
version = "4.0.0";
version = "4.3.2";
};
gitlab-experiment = {
dependencies = ["activesupport" "request_store"];
@ -2191,6 +2179,16 @@ src:
};
version = "1.8.0";
};
gitlab-http = {
dependencies = ["activesupport" "httparty" "ipaddress" "nokogiri" "railties"];
groups = ["default"];
platforms = [];
source = {
path = "${src}/gems/gitlab-http";
type = "path";
};
version = "0.1.0";
};
gitlab-labkit = {
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "pg_query" "redis"];
groups = ["default"];
@ -2310,10 +2308,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19jba5gxlb25mvd85rn3hfzyzsqw4cq7ml13mzq1y0x94hbj1zf2";
sha256 = "0vf1zw3z45m6ldwjvvzvbc6gr0spcbl1x1vny4qwid8msi26jxhd";
type = "gem";
};
version = "0.11.0";
version = "0.12.0";
};
gitlab_omniauth-ldap = {
dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
@ -2332,10 +2330,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nriqgy9rlnachzrq63xakskdgjg9b3bdgh2fb2b63kai8bbwc5h";
sha256 = "0bk5lhaqfww0swi6xl1wqj6g97xmxlva6b8yyag23743k052x4qc";
type = "gem";
};
version = "1.0.0";
version = "1.3.0";
};
globalid = {
dependencies = ["activesupport"];
@ -2583,10 +2581,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pcl4x4cw3snl5xzs99lm82m9xkfs8vm1a8dfrc34pwb77mwrwv3";
sha256 = "1jpjf9p3yf11f1fx74whp4zbxwcaf7jd5y10gknx61fr5z50791q";
type = "gem";
};
version = "3.24.3";
version = "3.24.4";
};
googleapis-common-protos = {
dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
@ -2735,10 +2733,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0njsbxx82vqi8hdn4nad62abmh0x0w3mis3mq79q3xr11srisn23";
sha256 = "0dlb8hbgs7yas59pwf4k7qrczbgkvrpcjqd2f5cmjj02fxdbwn8z";
type = "gem";
};
version = "1.13.19";
version = "2.0.27";
};
graphql-client = {
dependencies = ["activesupport" "graphql"];
@ -2746,21 +2744,21 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pgb1r4vkyrq8hzhkii48hn7cdlkmnrswzjsl0xqxg1diz705bss";
sha256 = "02r5qvfr176n051mp1c79xbpjhjqm92kk4118r0fbp131y0xralq";
type = "gem";
};
version = "0.17.0";
version = "0.18.0";
};
graphql-docs = {
dependencies = ["commonmarker" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline" "sass"];
dependencies = ["commonmarker" "dartsass" "escape_utils" "extended-markdown-filter" "gemoji" "graphql" "html-pipeline"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xmmifirvm4hay8qy6hjsdwms56sk973cq1b9c85b97xz0129f3y";
sha256 = "1mq2zafz0n5yd0i251w1a37l3dk7dn2mhw5snzhjdnv3jaard0pn";
type = "gem";
};
version = "2.1.0";
version = "4.0.0";
};
grpc = {
dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@ -2768,10 +2766,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bk1l7mi98givcd4rj0h9izj97nwgff4lp7xi89mp3z9wpw354sj";
sha256 = "00lx7sql179ak7rx5vg76z45y558d5wj0gldql4qjcaxjnzcryqc";
type = "gem";
};
version = "1.55.0";
version = "1.58.0";
};
gssapi = {
dependencies = ["ffi"];
@ -2859,16 +2857,6 @@ src:
};
version = "1.3.7";
};
hangouts-chat = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dmnv3723c22683bzys8walkl6wi74xzawxjbhwqzjdbwk3bdgmx";
type = "gem";
};
version = "0.0.5";
};
hashdiff = {
groups = ["default" "test"];
platforms = [];
@ -3079,6 +3067,16 @@ src:
};
version = "0.1.8";
};
influxdb-client = {
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00lzkgzr6zmnlbqcfsb38b4d3762wslx0v32nsy6052jksvas7xm";
type = "gem";
};
version = "2.9.0";
};
invisible_captcha = {
dependencies = ["rails"];
groups = ["default"];
@ -3351,10 +3349,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "112m3ypr3z3n23l0axy057wkbzwhf52p20pya2nylwd8jmck1gi2";
sha256 = "02k7gr457gdi4zjgxr9ga44f8lb8q0yyiqmwhaylr70n76zqrmrp";
type = "gem";
};
version = "1.4.7";
version = "1.5.2";
};
letter_opener = {
dependencies = ["launchy"];
@ -3465,14 +3463,14 @@ src:
};
loofah = {
dependencies = ["crass" "nokogiri"];
groups = ["default" "development" "test"];
groups = ["default" "development" "monorepo" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
sha256 = "0d5p9vg2qkqfy60i93mpd3b25kw4bdxfai034y5a94pxp5fws61c";
type = "gem";
};
version = "2.21.3";
version = "2.21.4";
};
lookbook = {
dependencies = ["activemodel" "css_parser" "htmlbeautifier" "htmlentities" "marcel" "railties" "redcarpet" "rouge" "view_component" "yard" "zeitwerk"];
@ -3603,24 +3601,24 @@ src:
};
mime-types = {
dependencies = ["mime-types-data"];
groups = ["danger" "default" "development" "test"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
type = "gem";
};
version = "3.4.1";
version = "3.5.1";
};
mime-types-data = {
groups = ["danger" "default" "development" "test"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
sha256 = "0yjv0apysnrhbc70ralinfpcqn9382lxr643swp7a5sdwpa9cyqg";
type = "gem";
};
version = "3.2022.0105";
version = "3.2023.1003";
};
mini_histogram = {
groups = ["default" "test"];
@ -4067,10 +4065,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ls87xxzhh1bbm4iqz221hz57y7iq1ifn33i7vvx1d02r9dl4k5i";
sha256 = "0gh1d69w6p62hj18bh2p5fdykg9za1yifpq18swp9ms0pcx4yp4w";
type = "gem";
};
version = "2.0.1";
version = "3.0.0";
};
omniauth-atlassian-oauth2 = {
dependencies = ["omniauth" "omniauth-oauth2"];
@ -4408,10 +4406,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h";
sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
type = "gem";
};
version = "3.2.2.3";
version = "3.2.2.4";
};
parslet = {
groups = ["default" "development" "test"];
@ -4536,10 +4534,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yyd1mvzbv64jc700d2vvdcr4cmb2gwf68368g0bwp1ybn64xqgk";
sha256 = "0ap52y7lng1cnqmg5bp4hazllppar33fpczwmh6gn9v9l64kkywj";
type = "gem";
};
version = "0.28.0";
version = "0.28.1";
};
pry = {
dependencies = ["coderay" "method_source"];
@ -4601,10 +4599,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1x4dwx2shx0p7lsms97r85r7ji7zv57bjy3i1kmcpxc8bxvrr67c";
sha256 = "1y8jcw80zcxvdq0id329lzmp5pzx7hpac227d7sgjkblc89s3pfm";
type = "gem";
};
version = "6.3.1";
version = "6.4.0";
};
pyu-ruby-sasl = {
groups = ["default"];
@ -4739,10 +4737,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08glp6jhq5yh8i5jjxzqa3aqx819l6ci6m68bx1asmimla0x9ysx";
sha256 = "0rsqin156dawz7gzpy1ijs02afqcr4704vqj56s6yxng3a9ayhwf";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
rails-controller-testing = {
dependencies = ["actionpack" "actionview" "activesupport"];
@ -4794,10 +4792,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dcabk5bl5flmspnb9d2qcvclcaw0nd5yr9w6m5pzsmylg3y63pv";
sha256 = "0sfc16zrcn4jgf5xczb08n6prhmqqgg9f0b4mn73zlzg6cwmqchj";
type = "gem";
};
version = "7.0.6";
version = "7.0.8";
};
rainbow = {
groups = ["coverage" "default" "development" "test"];
@ -4881,26 +4879,16 @@ src:
};
version = "1.8.0";
};
rdoc = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19h5g3g7k7wggy9amfx8b3m09ss7wrakbrva2xnda9sw4chagx6y";
type = "gem";
};
version = "6.3.2";
};
re2 = {
dependencies = ["mini_portile2"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09c9f692ixym8sqk26f175jw53a00h2s4xad6z141axpi2mmy1q9";
sha256 = "13xfrx1wwq7n2qsw449fq8h611n05v400i9dz9k6pdia019hp8q3";
type = "gem";
};
version = "2.0.0";
version = "2.1.3";
};
recaptcha = {
dependencies = ["json"];
@ -5107,10 +5095,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11q7rkjx40yi6lpylgl2jkpy162mjw7mswrcgcax86vgpbpjx6i3";
sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m";
type = "gem";
};
version = "6.2.0";
version = "6.3.0";
};
rouge = {
groups = ["default" "development" "test"];
@ -5123,26 +5111,25 @@ src:
version = "4.1.3";
};
rqrcode = {
dependencies = ["chunky_png"];
dependencies = ["chunky_png" "rqrcode_core"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "188n1mvc7klrlw30bai16sdg4yannmy7cz0sg0nvm6f1kjx5qflb";
sha256 = "1hggzz8i1l62pkkiybhiqv6ypxw7q844sddrrbbfczjcnj5sivi3";
type = "gem";
};
version = "0.7.0";
version = "2.2.0";
};
rqrcode-rails3 = {
dependencies = ["rqrcode"];
rqrcode_core = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1i28rwmj24ssk91chn0g7qsnvn003y3s5a7jsrg3w4l5ckr841bg";
sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg";
type = "gem";
};
version = "0.1.7";
version = "1.2.0";
};
rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@ -5530,28 +5517,6 @@ src:
};
version = "6.0.2";
};
sass = {
dependencies = ["sass-listen"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10401m2xlv6vaxfwzy4xxmk51ddcnkvwi918cw3jkki0qqdl7d8v";
type = "gem";
};
version = "3.5.5";
};
sass-listen = {
dependencies = ["rb-fsevent" "rb-inotify"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
type = "gem";
};
version = "4.0.0";
};
sassc = {
dependencies = ["ffi"];
groups = ["default"];
@ -5612,10 +5577,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0jwll13m7bqph4lgl75m7vwd175k657znwa7qn9qkf5dcxdjkcjs";
sha256 = "094x2gzfxpp4wzyy3fcbb5ah3abvdd41ilzwv5g0hgqx0a0nywjm";
type = "gem";
};
version = "4.12.0";
version = "4.14.0";
};
semver_dialects = {
dependencies = ["pastel" "thor" "tty-command"];
@ -6161,10 +6126,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08j5456rdpgxvv8bs44x81jrxzpxb79wxfxdq4fqwxyircxzi2jj";
sha256 = "1mhzw33lv7h8d7pyh65lis5svnmm8m6fnszbsfg3j3xk9hcl0an5";
type = "gem";
};
version = "1.2.2";
version = "1.2.3";
};
test_file_finder = {
dependencies = ["faraday"];
@ -6192,10 +6157,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
type = "gem";
};
version = "1.2.1";
version = "1.2.2";
};
thread_safe = {
groups = ["default" "test"];
@ -6517,10 +6482,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1vigw7nfszfqgikr6n574k9bfh0rvs74z8xq46rz2zsm8249l8cc";
sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy";
type = "gem";
};
version = "0.12.1";
version = "0.12.2";
};
uri_template = {
groups = ["default"];
@ -6602,10 +6567,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bz86m3bbnhy8j1gmpm76jcgqfyjafqwyxjdd1bk2f5jmgswvqy3";
sha256 = "18s2b8g23agnykjjdw74ha0hhzx8n73gn41vsqxmhlgxnh8mr93s";
type = "gem";
};
version = "3.5.0";
version = "3.6.0";
};
virtus = {
dependencies = ["axiom-types" "coercible" "descendants_tracker"];
@ -6719,10 +6684,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8";
sha256 = "1a4zc8d0d91c3xqwapda3j3zgpfwdbj76hkb69xn6qvfkfks9h9c";
type = "gem";
};
version = "1.2.9";
version = "1.2.10";
};
websocket-driver = {
dependencies = ["websocket-extensions"];
@ -6730,10 +6695,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
type = "gem";
};
version = "0.7.5";
version = "0.7.6";
};
websocket-extensions = {
groups = ["default" "test"];

View File

@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://jonas.github.io/tig/";
description = "Text-mode interface for git";
maintainers = with maintainers; [ bjornfor domenkozar qknight globin ma27 srapenne ];
maintainers = with maintainers; [ bjornfor domenkozar qknight globin ma27 ];
license = licenses.gpl2Plus;
platforms = platforms.unix;
};

View File

@ -22,13 +22,13 @@
mkDerivation rec {
pname = "vokoscreen-ng";
version = "3.7.0";
version = "3.8.0";
src = fetchFromGitHub {
owner = "vkohaupt";
repo = "vokoscreenNG";
rev = version;
sha256 = "sha256-epz/KoXo84zzCD1dzclRWgeQSqrgwEtaIGvrTPuN9hw=";
sha256 = "sha256-4tQ/fLaAbjfc3mt2qJsW9scku/CGUs74SehDaZgLPj4=";
};
qmakeFlags = [ "src/vokoscreenNG.pro" ];

View File

@ -15,13 +15,13 @@
buildGoModule rec {
pname = "cri-o";
version = "1.28.1";
version = "1.28.2";
src = fetchFromGitHub {
owner = "cri-o";
repo = "cri-o";
rev = "v${version}";
sha256 = "sha256-4RwR4aM+h0cqogJ9sxoODlPGaXH2PALFoBU3jv/6Agg=";
sha256 = "sha256-g9J66CZOAoco7UmK+xPEE6T5Aes3LWEG3J40LuDcvYo=";
};
vendorHash = null;

View File

@ -62,13 +62,13 @@ let
in
buildGoModule rec {
pname = "podman";
version = "4.7.0";
version = "4.7.2";
src = fetchFromGitHub {
owner = "containers";
repo = "podman";
rev = "v${version}";
hash = "sha256-xbU2F/QYtTKeZacTmwKDfIGuUg9VStEO/jkpChK0DyU=";
hash = "sha256-o5FTCuFUbTlENqvh+u6fPEfD816tKWPxHu2yhBi/Mf0=";
};
patches = [

View File

@ -2,19 +2,18 @@
picom.overrideAttrs (oldAttrs: rec {
pname = "picom-allusive";
version = "0.3.2";
version = "1.2.5";
src = fetchFromGitHub {
owner = "allusive-dev";
repo = "picom-allusive";
rev = version;
hash = "sha256-1zWntz2QKp/O9ZuOUZy9NkCNXFsBqRRvcd0SAr+7G/o=";
hash = "sha256-yM4TJjoVs+i33m/u/oWlx1TDKJrgwlfiGu72DOL/tl8=";
};
nativeBuildInputs = [ installShellFiles ] ++ oldAttrs.nativeBuildInputs;
postInstall = ''
chmod +x $out/bin/picom-trans
installManPage $src/man/picom.1.gz
'' + (lib.optionalString (oldAttrs ? postInstall) oldAttrs.postInstall);
@ -22,6 +21,6 @@ picom.overrideAttrs (oldAttrs: rec {
description = "A fork of picom featuring improved animations and other features";
homepage = "https://github.com/allusive-dev/picom-allusive";
license = with lib.licenses; [ mit mpl20 ];
maintainers = with lib.maintainers; [ allusive ];
maintainers = with lib.maintainers; [ allusive iogamaster ];
};
})

View File

@ -0,0 +1,48 @@
{ lib
, python3
, fetchPypi
, argparse
, kubernetes-helm
, kind
, docker
}:
python3.pkgs.buildPythonApplication rec {
pname = "airlift";
pyproject = true;
version = "0.3.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-1LE3fpfX4NExJdUdSjt4BXvxQTLJ8zrRkGHkxo/6Pb8=";
};
buildInputs = [
kubernetes-helm
kind
docker
];
nativeBuildInputs = [
python3.pkgs.poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
argparse
halo
pyyaml
hiyapyco
jinja2
dotmap
requests
];
pythonImportsCheck = [
"airlift"
];
meta = with lib; {
description = "A flexible, configuration driven CLI for Apache Airflow local development";
homepage = "https://github.com/jl178/airlift";
license = licenses.mit;
changelog = "https://github.com/jl178/airlift/releases/tag/v${version}";
maintainers = with maintainers; [ jl178 ];
mainProgram = "airlift";
};
}

View File

@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "bruno";
version = "0.27.0";
version = "0.27.2";
src = fetchurl {
url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb";
hash = "sha256-57Cbp/+3rNq/bhUItPuN6ZIjSd8IzmJsn9FNm89khiE=";
hash = "sha256-FhlwwdX845Say6I/g9HYRTexh94DXhc/K9jmqFiHwVY=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ];

View File

@ -39,9 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "dev" "out" ];
passthru = {
tests = {
inherit incus;
};
inherit (incus) tests;
updateScript = gitUpdater {
rev-prefix = "v";

View File

@ -8,14 +8,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "debianutils";
version = "5.13";
version = "5.14";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "debianutils";
rev = "debian/${finalAttrs.version}";
hash = "sha256-h6swRil0sldRaZT7/LMEmV6Ah3zoppiHeGO3xTJlrac=";
hash = "sha256-gbqtBFWq6KtmGLvGkmhpSHkpoDglfAT1KjDoZ4Y0SbI=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,43 @@
{ lib
, python3Packages
, fetchFromGitHub
}:
python3Packages.buildPythonApplication rec {
pname = "dotbot";
version = "1.20.1";
pyproject = true;
src = fetchFromGitHub {
owner = "anishathalye";
repo = "dotbot";
rev = "v${version}";
hash = "sha256-Gy+LVGG/BAqXoM6GDuKBkGKxxAkmoYtBRA33y/ihdRE=";
};
preCheck = ''
patchShebangs bin/dotbot
'';
nativeBuildInputs = with python3Packages; [ setuptools ];
propagatedBuildInputs = with python3Packages; [ pyyaml ];
nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
meta = with lib; {
description = "A tool that bootstraps your dotfiles";
longDescription = ''
Dotbot is designed to be lightweight and self-contained, with no external
dependencies and no installation required. Dotbot can also be a drop-in
replacement for any other tool you were using to manage your dotfiles, and
Dotbot is VCS-agnostic -- it doesn't make any attempt to manage your
dotfiles.
'';
homepage = "https://github.com/anishathalye/dotbot";
changelog =
"https://github.com/anishathalye/dotbot/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ ludat ];
};
}

View File

@ -53,18 +53,18 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "ecc";
version = "1.0.11";
version = "1.0.12";
src = fetchFromGitHub {
owner = "eunomia-bpf";
repo = "eunomia-bpf";
rev = "v${version}";
hash = "sha256-UiwS+osyC3gtbQH0bWNsx1p3xYr993/FAZ5d5NKnaBM=";
hash = "sha256-EK/SZ9LNAk88JpHJEoxw12NHje6QdCqO/vT2TfkWlb0=";
};
sourceRoot = "${src.name}/compiler/cmd";
cargoHash = "sha256-j2HPSmU/JARfw2mE1IiXFT/dcdxxnp+agC2DN0Kc5nw=";
cargoHash = "sha256-ymBEzFsMTxKSdJRYoDY3AC0QpgtcMlU0fQV03emCxQc=";
nativeBuildInputs = [
pkg-config

View File

@ -0,0 +1,83 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, python3Packages # for tests
, openssl # for tests
, enableManpages ? true
, docutils # for manpages
}:
stdenv.mkDerivation (finalAttrs: {
pname = "eiwd";
version = "2.8-1";
src = fetchFromGitHub {
owner = "illiliti";
repo = "eiwd";
rev = finalAttrs.version;
hash = "sha256-SD/RJFuGBwFT4G73f93VrWO/6mGKQxjVhmNrpKRA/WY=";
fetchSubmodules = true;
};
outputs = [
"out" "doc"
] ++ lib.optionals enableManpages [
"man"
] ++ lib.optionals finalAttrs.doCheck [
"test"
];
postUnpack = ''
patchShebangs .
'';
nativeBuildInputs = [
autoreconfHook
pkg-config
] ++ lib.optionals enableManpages [
docutils # only for the man pages
];
checkInputs = [
python3Packages.python
(lib.getBin openssl)
];
configureFlags = [
"--disable-dbus"
] ++ lib.optionals (!enableManpages) [
"--disable-manual-pages"
];
enableParallelBuilding = true;
# override this to false if you don't want to build python3
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
# prevent the `install-data-local` Makefile rule from running;
# all it does is attempt to `mkdir` the `localstatedir`.
preInstall = ''
mkdir install-data-local
substituteInPlace Makefile --replace \
'$(MKDIR_P) -m 700 $(DESTDIR)$(daemon_storagedir)' \
'true'
'';
postInstall = ''
mkdir -p $doc/share/doc
cp -a doc $doc/share/doc/iwd
cp -a README AUTHORS TODO $doc/share/doc/iwd
'' + lib.optionalString finalAttrs.doCheck ''
mkdir -p $test/bin
cp -a test/* $test/bin/
'';
meta = with lib; {
homepage = "https://github.com/illiliti/eiwd/";
description = "Fork of iwd (wifi daemon) which does not require dbus";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
};
})

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "go-camo";
version = "2.4.4";
version = "2.4.5";
src = fetchFromGitHub {
owner = "cactus";
repo = pname;
rev = "v${version}";
sha256 = "sha256-27kAVuFJaGKt7q9E2tchAD6kSukO4xkhU+1JTPfT3Qk=";
sha256 = "sha256-qELWl8kWQzgwQ8Mwp7MAxlYhHV6Us3kTuMjKVwJjZFs=";
};
vendorHash = "sha256-LVQnQ8Tpkzpc6aUsUgwz2xTttccHynJPsQKvWGiRAIU=";
vendorHash = "sha256-PF7WqA3hdV+eFu++eoCo1m2m4o92vUtArH0uS+rjxGU=";
ldflags = [ "-s" "-w" "-X=main.ServerVersion=${version}" ];

View File

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, guile
, autoreconfHook
, pkg-config
, aspell
, texinfo
}:
stdenv.mkDerivation (finalAttrs: {
pname = "guile-aspell";
version = "0.5.0";
src = fetchFromGitHub {
owner = "spk121";
repo = "guile-aspell";
rev = finalAttrs.version;
hash = "sha256-CvLECZLwf4MujAQCL3I81O5xFvq6ezVhV0BjbqI3mR0=";
};
strictDeps = true;
nativeBuildInputs = [
guile
autoreconfHook
pkg-config
texinfo
];
buildInputs = [
guile
];
propagatedBuildInputs = [
aspell
];
meta = with lib; {
description = "Guile bindings for the aspell library";
homepage = "https://github.com/spk121/guile-aspell";
license = licenses.gpl3Only;
maintainers = with maintainers; [ snowflake ];
platforms = guile.meta.platforms;
};
})

View File

@ -41,13 +41,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "icewm";
version = "3.4.3";
version = "3.4.4";
src = fetchFromGitHub {
owner = "ice-wm";
repo = "icewm";
rev = finalAttrs.version;
hash = "sha256-SgSbcWNib2BXyTOBDI1J2TzXhnXoRH0GK3rJvyLID7w=";
hash = "sha256-bnoNkBsNJ/6CVmm5I/nwy6LGxYhxPXssjZ3TT7FdEz8=";
};
nativeBuildInputs = [

View File

@ -11,6 +11,7 @@
, udev
, installShellFiles
, nix-update-script
, nixosTests
}:
buildGoModule rec {
@ -79,6 +80,8 @@ buildGoModule rec {
'';
passthru = {
tests.incus = nixosTests.incus;
updateScript = nix-update-script {
extraArgs = [
"-vr" "incus-\(.*\)"

View File

@ -24,6 +24,7 @@
, rsync
, spice-gtk
, squashfsTools
, util-linux
, virtiofsd
, xz
}:
@ -44,6 +45,7 @@ let
qemu-utils
rsync
squashfsTools
util-linux
virtiofsd
xz

View File

@ -0,0 +1,130 @@
{ lib
, cmake
, darwin
, fetchFromGitHub
, nix-update-script
, stdenv
, symlinkJoin
, config
, cudaSupport ? config.cudaSupport
, cudaPackages ? { }
, rocmSupport ? false
, rocmPackages ? { }
, openclSupport ? false
, clblast
, openblasSupport ? true
, openblas
, pkg-config
}:
let
cudatoolkit_joined = symlinkJoin {
name = "${cudaPackages.cudatoolkit.name}-merged";
paths = [
cudaPackages.cudatoolkit.lib
cudaPackages.cudatoolkit.out
] ++ lib.optionals (lib.versionOlder cudaPackages.cudatoolkit.version "11") [
# for some reason some of the required libs are in the targets/x86_64-linux
# directory; not sure why but this works around it
"${cudaPackages.cudatoolkit}/targets/${stdenv.system}"
];
};
metalSupport = stdenv.isDarwin && stdenv.isAarch64;
in
stdenv.mkDerivation (finalAttrs: {
pname = "llama-cpp";
version = "1469";
src = fetchFromGitHub {
owner = "ggerganov";
repo = "llama.cpp";
rev = "refs/tags/b${finalAttrs.version}";
hash = "sha256-budBvpX2SnKekGTWHomvhW+4grB8EPd9OJbufNynHsc=";
};
postPatch = ''
substituteInPlace ./ggml-metal.m \
--replace '[bundle pathForResource:@"ggml-metal" ofType:@"metal"];' "@\"$out/bin/ggml-metal.metal\";"
'';
nativeBuildInputs = [ cmake ] ++ lib.optionals openblasSupport [ pkg-config ];
buildInputs = lib.optionals metalSupport
(with darwin.apple_sdk.frameworks; [
Accelerate
CoreGraphics
CoreVideo
Foundation
MetalKit
])
++ lib.optionals cudaSupport [
cudatoolkit_joined
] ++ lib.optionals rocmSupport [
rocmPackages.clr
rocmPackages.hipblas
rocmPackages.rocblas
] ++ lib.optionals openclSupport [
clblast
] ++ lib.optionals openblasSupport [
openblas
];
cmakeFlags = [
"-DLLAMA_NATIVE=OFF"
"-DLLAMA_BUILD_SERVER=ON"
]
++ lib.optionals metalSupport [
"-DCMAKE_C_FLAGS=-D__ARM_FEATURE_DOTPROD=1"
"-DLLAMA_METAL=ON"
]
++ lib.optionals cudaSupport [
"-DLLAMA_CUBLAS=ON"
]
++ lib.optionals rocmSupport [
"-DLLAMA_HIPBLAS=1"
"-DCMAKE_C_COMPILER=hipcc"
"-DCMAKE_CXX_COMPILER=hipcc"
"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
]
++ lib.optionals openclSupport [
"-DLLAMA_CLBLAST=ON"
]
++ lib.optionals openblasSupport [
"-DLLAMA_BLAS=ON"
"-DLLAMA_BLAS_VENDOR=OpenBLAS"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
for f in bin/*; do
test -x "$f" || continue
cp "$f" $out/bin/llama-cpp-"$(basename "$f")"
done
${lib.optionalString metalSupport "cp ./bin/ggml-metal.metal $out/bin/ggml-metal.metal"}
runHook postInstall
'';
passthru.updateScript = nix-update-script {
attrPath = "llama-cpp";
extraArgs = [ "--version-regex" "b(.*)" ];
};
meta = with lib; {
description = "Port of Facebook's LLaMA model in C/C++";
homepage = "https://github.com/ggerganov/llama.cpp/";
license = licenses.mit;
mainProgram = "llama-cpp-main";
maintainers = with maintainers; [ dit7ya elohmeier ];
broken = stdenv.isDarwin && stdenv.isx86_64;
platforms = platforms.unix;
};
})

View File

@ -0,0 +1,48 @@
{ lib
, stdenv
, fetchFromGitHub
, m2libc
, mescc-tools
}:
stdenv.mkDerivation (finalAttrs: {
pname = "m2-mesoplanet";
version = "1.11.0";
src = fetchFromGitHub {
owner = "oriansj";
repo = "M2-Mesoplanet";
rev = "Release_${finalAttrs.version}";
hash = "sha256-hE7xvX84q3tk0XakveYDJhrhfBnpoItQs456NCzFfws=";
};
# Don't use vendored M2libc
postPatch = ''
rmdir M2libc
ln -s ${m2libc}/include/M2libc M2libc
'';
# Upstream overrides the optimisation to be -O0, which is incompatible with fortify. Let's disable it.
hardeningDisable = [ "fortify" ];
doCheck = true;
checkTarget = "test";
nativeCheckInputs = [ mescc-tools ];
installPhase = ''
runHook preInstall
install -D bin/M2-Mesoplanet $out/bin/M2-Mesoplanet
runHook postInstall
'';
meta = with lib; {
description = "Macro Expander Saving Our m2-PLANET";
homepage = "https://github.com/oriansj/M2-Mesoplanet";
license = licenses.gpl3Only;
maintainers = teams.minimal-bootstrap.members;
inherit (m2libc.meta) platforms;
mainProgram = "M2-Mesoplanet";
};
})

View File

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchFromGitHub
, m2libc
}:
stdenv.mkDerivation (finalAttrs: {
pname = "m2-planet";
version = "1.11.0";
src = fetchFromGitHub {
owner = "oriansj";
repo = "M2-Planet";
rev = "Release_${finalAttrs.version}";
hash = "sha256-xVwUO67PlRiBj/YBnnTXFGh3jH470fcbaNjABoyYes4=";
};
# Don't use vendored M2libc
postPatch = ''
rmdir M2libc
ln -s ${m2libc}/include/M2libc M2libc
'';
# Upstream overrides the optimisation to be -O0, which is incompatible with fortify. Let's disable it.
hardeningDisable = [ "fortify" ];
installPhase = ''
runHook preInstall
install -D bin/M2-Planet $out/bin/M2-Planet
runHook postInstall
'';
meta = with lib; {
description = "PLAtform NEutral Transpiler";
homepage = "https://github.com/oriansj/M2-Planet";
license = licenses.gpl3Only;
maintainers = teams.minimal-bootstrap.members;
inherit (m2libc.meta) platforms;
mainProgram = "M2-Planet";
};
})

View File

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
}:
stdenv.mkDerivation (finalAttrs: {
pname = "m2libc";
version = "unstable-2023-05-22";
src = fetchFromGitHub {
owner = "oriansj";
repo = "M2libc";
rev = "de7c75f144176c3b9be77695d9bf94440445aeae";
hash = "sha256-248plvODhBRfmx7zOmf05ICbk8vzSbaceZJ0j+wPaAY=";
};
patches = [
# # aarch64: syscall: mkdir -> mkdirat
# https://github.com/oriansj/M2libc/pull/17
(fetchpatch {
url = "https://github.com/oriansj/M2libc/commit/ff7c3023b3ab6cfcffc5364620b25f8d0279e96b.patch";
hash = "sha256-QAKddv4TixIQHpFa9SVu9fAkeKbzhQaxjaWzW2yJy7A=";
})
];
installPhase = ''
runHook preInstall
mkdir -p $out/include
cp -r . $out/include/M2libc
runHook postInstall
'';
meta = with lib; {
description = "More standards compliant C library written in M2-Planet's C subset";
homepage = "https://github.com/oriansj/m2libc";
license = licenses.gpl3Only;
maintainers = teams.minimal-bootstrap.members;
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "riscv32-linux" "riscv64-linux" ];
};
})

View File

@ -0,0 +1,40 @@
{ lib
, stdenv
, fetchFromGitHub
, m2libc
, perl
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mescc-tools-extra";
version = "1.3.0";
src = fetchFromGitHub {
owner = "oriansj";
repo = "mescc-tools-extra";
rev = "Release_${finalAttrs.version}";
hash = "sha256-LS9Eq1z+OsDF7Jq0TfF4u8jEJ5bjcLZNfKtnpIbtG20=";
};
# Don't use vendored M2libc
postPatch = ''
rmdir M2libc
ln -s ${m2libc}/include/M2libc M2libc
'';
enableParallelBuilding = true;
doCheck = true;
checkTarget = "test";
nativeCheckInputs = [ perl ];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Collection of tools written for use in bootstrapping";
homepage = "https://github.com/oriansj/mescc-tools-extra";
license = licenses.gpl3Only;
maintainers = teams.minimal-bootstrap.members;
inherit (m2libc.meta) platforms;
};
})

View File

@ -0,0 +1,39 @@
{ lib
, stdenv
, fetchFromSavannah
, m2libc
, which
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mescc-tools";
version = "1.5.1";
src = fetchFromSavannah {
repo = "mescc-tools";
rev = "Release_${finalAttrs.version}";
hash = "sha256-jFDrmzsjKEQKOKlsch1ceWtzUhoJAJVyHjXGVhjE9/U=";
};
# Don't use vendored M2libc
postPatch = ''
rmdir M2libc
ln -s ${m2libc}/include/M2libc M2libc
'';
enableParallelBuilding = true;
doCheck = true;
checkTarget = "test";
nativeCheckInputs = [ which ];
installFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Collection of tools written for use in bootstrapping";
homepage = "https://savannah.nongnu.org/projects/mescc-tools";
license = licenses.gpl3Only;
maintainers = teams.minimal-bootstrap.members;
inherit (m2libc.meta) platforms;
};
})

View File

@ -6,13 +6,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "oelint-adv";
version = "3.26.1";
version = "3.26.2";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "oelint_adv";
hash = "sha256-xQC3y9YeY8o4L4pLV+nLs1Ao8KH6q1BprwTeUm8f+2w=";
hash = "sha256-tR4CB4i91XHoyFtZH1LsDxVI791v0LCtvCd28Ahlxlc=";
};
propagatedBuildInputs = with python3.pkgs; [

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "orchard";
version = "0.14.1";
version = "0.14.3";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = pname;
rev = version;
hash = "sha256-u4aGjEkQ9H7caW2Y5ZbiGhCV47I0Afi5NC/apJB5qvU=";
hash = "sha256-hQP48druIwkVVKeC1TKq+DEGOJOmkendc3Ij9ft+uDQ=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -19,7 +19,7 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-BrzS+QtpGUHcYNNmSI6FlBtcYwNFri7R6nlVvFihdb4=";
vendorHash = "sha256-opPxsCukXcLcrf/sD9AW1iIYOK5BmTLnc/QGUvzVLwg=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -41,9 +41,12 @@ stdenv.mkDerivation rec {
outputs = [ "dev" "out" ];
passthru.tests = {
inherit incus;
updateScript = gitUpdater { };
passthru = {
inherit (incus) tests;
updateScript = gitUpdater {
rev-prefix = "v";
};
};
meta = with lib; {

View File

@ -0,0 +1,15 @@
Index: tkdiff
===================================================================
diff --git a/tkdiff b/tkdiff
--- a/tkdiff (revision 193)
+++ b/tkdiff (revision 194)
@@ -4557,7 +4557,8 @@
}
}
}
- }
+ # But KICK scroll to *LOOK* for Ratcliff (when ON); otherwise is a NOOP
+ } { $w(acTxWdg) SEE @1,1 }
}
###############################################################################

View File

@ -9,9 +9,16 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-EpbIdjsejkkTaSpoZRM5AHz0r1Cio+YzRryK0BoghBk=";
};
# fix regression: allow /dev/null again. eg: "tkdiff /dev/null file"
# svn diff --git -r188:189 https://svn.code.sf.net/p/tkdiff/code/trunk
patches = [ ./189.patch ];
patches = [
# fix regression: allow /dev/null again. eg: "tkdiff /dev/null file"
# svn diff --git -r188:189 https://svn.code.sf.net/p/tkdiff/code/trunk
./189.patch
# fix regression: trigger redraw when inline recursive diff requested
# svn diff --git -r193:194 https://svn.code.sf.net/p/tkdiff/code/trunk | \
# sed -e '/^@@ -4545,7/,14d' -e '/^@@ -18063,7/,$d'
./194.patch
];
nativeBuildInputs = [ makeBinaryWrapper ];

View File

@ -10,13 +10,13 @@
let
tusc = stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tusc-sh";
version = "1.1.0";
version = "1.1.1";
src = fetchFromGitHub {
owner = "adhocore";
repo = "tusc.sh";
rev = finalAttrs.version;
hash = "sha256-9bTv6ih9N3nPtY5fioZvUCSvCHHB0+yVpxA++z8uGWY=";
hash = "sha256-EKlcE+rsVh5lUd8dQzAwXDjiUvrrud5yWfF6JWSZQFE=";
};
dontConfigure = true;

View File

@ -0,0 +1,43 @@
{ lib
, fetchFromGitHub
, python3Packages
, ffmpeg
,
}:
python3Packages.buildPythonPackage rec {
pname = "unsilence";
version = "1.0.9";
src = fetchFromGitHub {
owner = "lagmoellertim";
repo = "unsilence";
rev = version;
sha256 = "sha256-M4Ek1JZwtr7vIg14aTa8h4otIZnPQfKNH4pZE4GpiBQ=";
};
nativeBuildInputs = with python3Packages; [
rich
pythonRelaxDepsHook
];
propagatedBuildInputs = [
python3Packages.rich
python3Packages.setuptools # imports pkg_resources.parse_version
];
makeWrapperArgs = [
"--suffix PATH : ${lib.makeBinPath [ ffmpeg ]}"
];
doCheck = false;
pythonImportsCheck = [ "unsilence" ];
pythonRelaxDeps = [ "rich" ];
meta = with lib; {
homepage = "https://github.com/lagmoellertim/unsilence";
description = "Console Interface and Library to remove silent parts of a media file";
license = licenses.mit;
maintainers = with maintainers; [ esau79p ];
};
}

View File

@ -18,13 +18,13 @@
}:
stdenv.mkDerivation rec {
pname = "vesktop";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
owner = "Vencord";
repo = "Vesktop";
rev = "v${version}";
hash = "sha256-elgoX8z8q0+7uUia9gbcCmpDg+qYRWWUxdRuNV53Puw=";
hash = "sha256-wGOyDGY0FpAVS5+MTiKrOpDyd13ng0RLGAENW5tXuR4=";
};
pnpm-deps = stdenvNoCC.mkDerivation {
@ -53,7 +53,10 @@ stdenv.mkDerivation rec {
dontFixup = true;
outputHashMode = "recursive";
outputHash = "sha256-KDJ8QmpwGb2lOdwWEl5y62pJiqEvpI59StfQZrN1PPE=";
outputHash = {
"aarch64-linux" = "sha256-OcAQbUi+wpBAumncYxP3qtTzjyxiHL69kbQefwaeBfg=";
"x86_64-linux" = "sha256-R5/2MSH/jXHrj2x1Ap2OoOFLBLQp3Sq91o01uW8hWOw=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};
nativeBuildInputs = [
@ -105,7 +108,7 @@ stdenv.mkDerivation rec {
runHook preInstall
mkdir -p $out/opt/Vesktop/resources
cp dist/linux-unpacked/resources/app.asar $out/opt/Vesktop/resources
cp dist/linux-*unpacked/resources/app.asar $out/opt/Vesktop/resources
pushd build
${libicns}/bin/icns2png -x icon.icns
@ -138,9 +141,8 @@ stdenv.mkDerivation rec {
description = "An alternate client for Discord with Vencord built-in";
homepage = "https://github.com/Vencord/Vesktop";
license = licenses.gpl3Only;
maintainers = with maintainers; [ getchoo Scrumplex vgskye ];
maintainers = with maintainers; [ getchoo Scrumplex vgskye pluiedev ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "vencorddesktop";
broken = stdenv.hostPlatform.isAarch64;
};
}

View File

@ -0,0 +1,31 @@
{ lib, stdenvNoCC, fetchFromGitHub }:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fg-virgil";
version = "0.16.1";
src = fetchFromGitHub {
owner = "excalidraw";
repo = "excalidraw";
rev = "v${finalAttrs.version}";
hash = "sha256-iziCCHacaShPqb0f5nI8cCinFFs5fB3TcMJrifNhg4I=";
};
installPhase = ''
runHook preInstall
install -D -m 444 public/Virgil.woff2 -t $out/share/fonts/woff2
install -D -m 444 public/FG_Virgil.woff2 -t $out/share/fonts/woff2
install -D -m 444 public/FG_Virgil.ttf -t $out/share/fonts/ttf
runHook postInstall
'';
meta = {
homepage = "https://github.com/excalidraw/virgil";
description = "The font that powers Excalidraw";
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ drupol ];
license = lib.licenses.ofl;
};
})

View File

@ -35,13 +35,13 @@ rec {
}:
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "23.8.1";
version = "23.11.1";
src = fetchFromGitHub {
owner = "notofonts";
repo = "notofonts.github.io";
rev = "noto-monthly-release-${version}";
hash = "sha256-TYCJzioZcNFV8N5wLr7Fo69g/p5GQF/tbGgYoLUV7Us=";
hash = "sha256-qBHLCOfVBOn9CV194S4cYw9nhHyAe2AUBJHQMvyEfW8=";
};
_variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants;

View File

@ -7,25 +7,25 @@
let
# make install will use dconf to find desktop background file uri.
# consider adding an args to allow specify pictures manually.
# https://github.com/daniruiz/flat-remix-gnome/blob/20230606/Makefile#L38
# https://github.com/daniruiz/flat-remix-gnome/blob/20231026/Makefile#L38
fake-dconf = writeScriptBin "dconf" "echo -n";
in
stdenv.mkDerivation rec {
pname = "flat-remix-gnome";
version = "20230606";
version = "20231026";
src = fetchFromGitHub {
owner = "daniruiz";
repo = pname;
rev = version;
hash = "sha256-NnCRWADyAOR5yyOjB18zSQov+5FfKhhCSkDXBAL80wo=";
hash = "sha256-sKQOq0GMslkzND2ayL5M6XIxJv8t0yj6XCP3poA6wRc=";
};
nativeBuildInputs = [ glib fake-dconf ];
makeFlags = [ "PREFIX=$(out)" ];
# make install will back up this file, it will fail if the file doesn't exist.
# https://github.com/daniruiz/flat-remix-gnome/blob/20230606/Makefile#L56
# https://github.com/daniruiz/flat-remix-gnome/blob/20231026/Makefile#L56
preInstall = ''
mkdir -p $out/share/gnome-shell/
touch $out/share/gnome-shell/gnome-shell-theme.gresource

View File

@ -5,17 +5,18 @@
, gtk-engine-murrine
, gtk_engines
, librsvg
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "marwaita-peppermint";
version = "10.3";
version = "17.0";
src = fetchFromGitHub {
owner = "darkomarko42";
repo = pname;
rev = version;
sha256 = "09lqp82aymj3silpwmjkkf4mgv3b1xw7181ck89lz2nxb98sr9im";
rev = "247f9c539d6eef8ae3a5f59beed42a40b1f10434";
hash = "sha256-uT7KnpIdxypUqKhXOao3Bz3vJecJKK+GjcAp9biNyHc=";
};
buildInputs = [
@ -37,6 +38,8 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.updateScript = gitUpdater { };
meta = with lib; {
description = "Marwaita GTK theme with Peppermint Os Linux style";
homepage = "https://www.pling.com/p/1399569/";

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, xulrunner, zip, pkg-config, npapi_sdk, bash, bc }:
{ lib, stdenv, fetchFromGitHub, cargo, rustc, autoreconfHook, jdk, glib, firefox-unwrapped, zip, pkg-config, npapi_sdk, bash, bc }:
stdenv.mkDerivation rec {
pname = "adoptopenjdk-icedtea-web";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ autoreconfHook pkg-config bc ];
buildInputs = [ cargo rustc glib xulrunner zip npapi_sdk ];
buildInputs = [ cargo rustc glib firefox-unwrapped zip npapi_sdk ];
preConfigure = ''
configureFlagsArray+=("BIN_BASH=${bash}/bin/bash")

View File

@ -68,7 +68,10 @@ in
scheme2c-compatibility = old:
addToNativeBuildInputs (lib.optionals (stdenv.system == "x86_64-darwin") [ pkgs.memorymappingHook ])
(addPkgConfig old);
sdl-base = addToBuildInputs pkgs.SDL;
sdl-base = old:
((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL old) //
# needed for sdl-config to be in PATH
(addToNativeBuildInputs pkgs.SDL old));
sdl2 = old:
((addToPropagatedBuildInputsWithPkgConfig pkgs.SDL2 old) //
# needed for sdl2-config to be in PATH
@ -89,7 +92,10 @@ in
stfl = old:
(addToBuildInputs [ pkgs.ncurses pkgs.stfl ] old)
// (addToCscOptions "-L -lncurses" old);
taglib = addToBuildInputs [ pkgs.zlib pkgs.taglib ];
taglib = old:
(addToBuildInputs [ pkgs.zlib pkgs.taglib ] old) // (
# needed for tablib-config to be in PATH
addToNativeBuildInputs pkgs.taglib old);
uuid-lib = addToBuildInputs pkgs.libuuid;
ws-client = addToBuildInputs pkgs.zlib;
xlib = addToPropagatedBuildInputs pkgs.xorg.libX11;

Some files were not shown because too many files have changed in this diff Show More