Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-02-01 00:13:01 +00:00 committed by GitHub
commit 05ce1c8cd3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
209 changed files with 2490 additions and 1071 deletions

View File

@ -1,3 +1,3 @@
# Python {#setup-hook-python}
Adds the `lib/${python.libPrefix}/site-packages` subdirectory of each build input to the `PYTHONPATH` environment variable.
Adds the `python.sitePackages` subdirectory (i.e. `lib/pythonX.Y/site-packages`) of each build input to the `PYTHONPATH` environment variable.

View File

@ -1229,10 +1229,12 @@ in
in
{
haskell = lib.recursiveUpdate prev.haskell {
compiler.${ghcName} = prev.haskell.compiler.${ghcName}.override {
# Unfortunately, the GHC setting is named differently for historical reasons
enableProfiledLibs = enableProfiling;
haskell = prev.haskell // {
compiler = prev.haskell.compiler // {
${ghcName} = prev.haskell.compiler.${ghcName}.override {
# Unfortunately, the GHC setting is named differently for historical reasons
enableProfiledLibs = enableProfiling;
};
};
};
})
@ -1244,31 +1246,33 @@ in
in
{
haskell = lib.recursiveUpdate prev.haskell {
packages.${ghcName} = prev.haskell.packages.${ghcName}.override {
overrides = hfinal: hprev: {
mkDerivation = args: hprev.mkDerivation (args // {
# Since we are forcing our ideas upon mkDerivation, this change will
# affect every package in the package set.
enableLibraryProfiling = enableProfiling;
haskell = prev.haskell // {
packages = prev.haskell.packages // {
${ghcName} = prev.haskell.packages.${ghcName}.override {
overrides = hfinal: hprev: {
mkDerivation = args: hprev.mkDerivation (args // {
# Since we are forcing our ideas upon mkDerivation, this change will
# affect every package in the package set.
enableLibraryProfiling = enableProfiling;
# To actually use profiling on an executable, executable profiling
# needs to be enabled for the executable you want to profile. You
# can either do this globally or…
enableExecutableProfiling = enableProfiling;
});
# To actually use profiling on an executable, executable profiling
# needs to be enabled for the executable you want to profile. You
# can either do this globally or…
enableExecutableProfiling = enableProfiling;
});
# …only for the package that contains an executable you want to profile.
# That saves on unnecessary rebuilds for packages that you only depend
# on for their library, but also contain executables (e.g. pandoc).
my-executable = haskellLib.enableExecutableProfiling hprev.my-executable;
# …only for the package that contains an executable you want to profile.
# That saves on unnecessary rebuilds for packages that you only depend
# on for their library, but also contain executables (e.g. pandoc).
my-executable = haskellLib.enableExecutableProfiling hprev.my-executable;
# If you are disabling profiling to save on build time, but want to
# retain the ability to substitute from the binary cache. Drop the
# override for mkDerivation above and instead have an override like
# this for the specific packages you are building locally and want
# to make cheaper to build.
my-library = haskellLib.disableLibraryProfiling hprev.my-library;
# If you are disabling profiling to save on build time, but want to
# retain the ability to substitute from the binary cache. Drop the
# override for mkDerivation above and instead have an override like
# this for the specific packages you are building locally and want
# to make cheaper to build.
my-library = haskellLib.disableLibraryProfiling hprev.my-library;
};
};
};
};

View File

@ -10107,6 +10107,12 @@
githubId = 264372;
name = "Jan van den Berg";
};
koppor = {
email = "kopp.dev@gmail.com";
github = "koppor";
githubId = 1366654;
name = "Oliver Kopp";
};
koral = {
email = "koral@mailoo.org";
github = "k0ral";

View File

@ -50,6 +50,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [GNS3](https://www.gns3.com/), a network software emulator. Available as [services.gns3-server](#opt-services.gns3-server.enable).
- [pretalx](https://github.com/pretalx/pretalx), a conference planning tool. Available as [services.pretalx](#opt-services.pretalx.enable).
- [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training.
- [ollama](https://ollama.ai), server for running large language models locally.

View File

@ -1343,6 +1343,7 @@
./services/web-apps/plantuml-server.nix
./services/web-apps/plausible.nix
./services/web-apps/powerdns-admin.nix
./services/web-apps/pretalx.nix
./services/web-apps/prosody-filer.nix
./services/web-apps/restya-board.nix
./services/web-apps/rimgo.nix

View File

@ -135,7 +135,6 @@ in
wantedBy = [ "multi-user.target" ];
serviceConfig = {
PrivateNetwork = true;
ExecStart = escapeShellArgs
([ "${pkgs.acpid}/bin/acpid"
"--foreground"

View File

@ -60,7 +60,6 @@ let
"node"
"nut"
"openldap"
"openvpn"
"pgbouncer"
"php-fpm"
"pihole"

View File

@ -1,39 +0,0 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.prometheus.exporters.openvpn;
in {
port = 9176;
extraOpts = {
statusPaths = mkOption {
type = types.listOf types.str;
description = lib.mdDoc ''
Paths to OpenVPN status files. Please configure the OpenVPN option
`status` accordingly.
'';
};
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
};
serviceOpts = {
serviceConfig = {
PrivateDevices = true;
ProtectKernelModules = true;
NoNewPrivileges = true;
ExecStart = ''
${pkgs.prometheus-openvpn-exporter}/bin/openvpn_exporter \
-openvpn.status_paths "${concatStringsSep "," cfg.statusPaths}" \
-web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
-web.telemetry-path ${cfg.telemetryPath}
'';
};
};
}

View File

@ -3,6 +3,7 @@
with lib;
let
logPrefix = "services.prometheus.exporters.snmp";
cfg = config.services.prometheus.exporters.snmp;
# This ensures that we can deal with string paths, path types and

View File

@ -32,7 +32,8 @@ let
dataDir = "${seafRoot}/data";
seahubDir = "${seafRoot}/seahub";
in {
in
{
###### Interface
@ -147,146 +148,151 @@ in {
description = "Seafile components";
};
systemd.services = let
securityOptions = {
ProtectHome = true;
PrivateUsers = true;
PrivateDevices = true;
ProtectClock = true;
ProtectHostname = true;
ProtectProc = "invisible";
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
RestrictNamespaces = true;
LockPersonality = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
MemoryDenyWriteExecute = true;
SystemCallArchitectures = "native";
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
};
in {
seaf-server = {
description = "Seafile server";
partOf = [ "seafile.target" ];
after = [ "network.target" ];
wantedBy = [ "seafile.target" ];
restartTriggers = [ ccnetConf seafileConf ];
path = [ pkgs.sqlite ];
serviceConfig = securityOptions // {
User = "seafile";
Group = "seafile";
DynamicUser = true;
StateDirectory = "seafile";
RuntimeDirectory = "seafile";
LogsDirectory = "seafile";
ConfigurationDirectory = "seafile";
ExecStart = ''
${cfg.seafilePackage}/bin/seaf-server \
--foreground \
-F /etc/seafile \
-c ${ccnetDir} \
-d ${dataDir} \
-l /var/log/seafile/server.log \
-P /run/seafile/server.pid \
-p /run/seafile
systemd.services =
let
securityOptions = {
ProtectHome = true;
PrivateUsers = true;
PrivateDevices = true;
ProtectClock = true;
ProtectHostname = true;
ProtectProc = "invisible";
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
RestrictNamespaces = true;
LockPersonality = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
MemoryDenyWriteExecute = true;
SystemCallArchitectures = "native";
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
};
in
{
seaf-server = {
description = "Seafile server";
partOf = [ "seafile.target" ];
after = [ "network.target" ];
wantedBy = [ "seafile.target" ];
restartTriggers = [ ccnetConf seafileConf ];
path = [ pkgs.sqlite ];
serviceConfig = securityOptions // {
User = "seafile";
Group = "seafile";
DynamicUser = true;
StateDirectory = "seafile";
RuntimeDirectory = "seafile";
LogsDirectory = "seafile";
ConfigurationDirectory = "seafile";
ExecStart = ''
${cfg.seafilePackage}/bin/seaf-server \
--foreground \
-F /etc/seafile \
-c ${ccnetDir} \
-d ${dataDir} \
-l /var/log/seafile/server.log \
-P /run/seafile/server.pid \
-p /run/seafile
'';
};
preStart = ''
if [ ! -f "${seafRoot}/server-setup" ]; then
mkdir -p ${dataDir}/library-template
mkdir -p ${ccnetDir}/{GroupMgr,misc,OrgMgr,PeerMgr}
sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql"
sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql"
sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql"
sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql"
sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql"
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
fi
# checking for upgrades and handling them
installedMajor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f1)
installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2)
pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1)
pkgMinor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f2)
if [[ $installedMajor == $pkgMajor && $installedMinor == $pkgMinor ]]; then
:
elif [[ $installedMajor == 8 && $installedMinor == 0 && $pkgMajor == 9 && $pkgMinor == 0 ]]; then
# Upgrade from 8.0 to 9.0
sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql"
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
elif [[ $installedMajor == 9 && $installedMinor == 0 && $pkgMajor == 10 && $pkgMinor == 0 ]]; then
# Upgrade from 9.0 to 10.0
sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/10.0.0/sqlite3/seafile.sql"
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
else
echo "Unsupported upgrade" >&2
exit 1
fi
'';
};
preStart = ''
if [ ! -f "${seafRoot}/server-setup" ]; then
mkdir -p ${dataDir}/library-template
mkdir -p ${ccnetDir}/{GroupMgr,misc,OrgMgr,PeerMgr}
sqlite3 ${ccnetDir}/GroupMgr/groupmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/groupmgr.sql"
sqlite3 ${ccnetDir}/misc/config.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/config.sql"
sqlite3 ${ccnetDir}/OrgMgr/orgmgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/org.sql"
sqlite3 ${ccnetDir}/PeerMgr/usermgr.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/user.sql"
sqlite3 ${dataDir}/seafile.db ".read ${cfg.seafilePackage}/share/seafile/sql/sqlite/seafile.sql"
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
fi
# checking for upgrades and handling them
# WARNING: needs to be extended to actually handle major version migrations
installedMajor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f1)
installedMinor=$(cat "${seafRoot}/server-setup" | cut -d"-" -f1 | cut -d"." -f2)
pkgMajor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f1)
pkgMinor=$(echo "${cfg.seafilePackage.version}" | cut -d"." -f2)
if [[ $installedMajor == $pkgMajor && $installedMinor == $pkgMinor ]]; then
:
elif [[ $installedMajor == 8 && $installedMinor == 0 && $pkgMajor == 9 && $pkgMinor == 0 ]]; then
# Upgrade from 8.0 to 9.0
sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql"
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
else
echo "Unsupported upgrade" >&2
exit 1
fi
'';
};
seahub = {
description = "Seafile Server Web Frontend";
wantedBy = [ "seafile.target" ];
partOf = [ "seafile.target" ];
after = [ "network.target" "seaf-server.service" ];
requires = [ "seaf-server.service" ];
restartTriggers = [ seahubSettings ];
environment = {
PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
DJANGO_SETTINGS_MODULE = "seahub.settings";
CCNET_CONF_DIR = ccnetDir;
SEAFILE_CONF_DIR = dataDir;
SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
SEAFILE_RPC_PIPE_PATH = "/run/seafile";
SEAHUB_LOG_DIR = "/var/log/seafile";
};
serviceConfig = securityOptions // {
User = "seafile";
Group = "seafile";
DynamicUser = true;
RuntimeDirectory = "seahub";
StateDirectory = "seafile";
LogsDirectory = "seafile";
ConfigurationDirectory = "seafile";
ExecStart = ''
${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
--name seahub \
--workers ${toString cfg.workers} \
--log-level=info \
--preload \
--timeout=1200 \
--limit-request-line=8190 \
--bind unix:/run/seahub/gunicorn.sock
seahub = {
description = "Seafile Server Web Frontend";
wantedBy = [ "seafile.target" ];
partOf = [ "seafile.target" ];
after = [ "network.target" "seaf-server.service" ];
requires = [ "seaf-server.service" ];
restartTriggers = [ seahubSettings ];
environment = {
PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
DJANGO_SETTINGS_MODULE = "seahub.settings";
CCNET_CONF_DIR = ccnetDir;
SEAFILE_CONF_DIR = dataDir;
SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
SEAFILE_RPC_PIPE_PATH = "/run/seafile";
SEAHUB_LOG_DIR = "/var/log/seafile";
};
serviceConfig = securityOptions // {
User = "seafile";
Group = "seafile";
DynamicUser = true;
RuntimeDirectory = "seahub";
StateDirectory = "seafile";
LogsDirectory = "seafile";
ConfigurationDirectory = "seafile";
ExecStart = ''
${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
--name seahub \
--workers ${toString cfg.workers} \
--log-level=info \
--preload \
--timeout=1200 \
--limit-request-line=8190 \
--bind unix:/run/seahub/gunicorn.sock
'';
};
preStart = ''
mkdir -p ${seahubDir}/media
# Link all media except avatars
for m in `find ${pkgs.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
ln -sf $m ${seahubDir}/media/
done
if [ ! -e "${seafRoot}/.seahubSecret" ]; then
${pkgs.seahub.python}/bin/python ${pkgs.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
chmod 400 ${seafRoot}/.seahubSecret
fi
if [ ! -f "${seafRoot}/seahub-setup" ]; then
# avatars directory should be writable
install -D -t ${seahubDir}/media/avatars/ ${pkgs.seahub}/media/avatars/default.png
install -D -t ${seahubDir}/media/avatars/groups ${pkgs.seahub}/media/avatars/groups/default.png
# init database
${pkgs.seahub}/manage.py migrate
# create admin account
${pkgs.expect}/bin/expect -c 'spawn ${pkgs.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
fi
if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.seahub.version}" ]; then
# update database
${pkgs.seahub}/manage.py migrate
echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
fi
'';
};
preStart = ''
mkdir -p ${seahubDir}/media
# Link all media except avatars
for m in `find ${pkgs.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
ln -sf $m ${seahubDir}/media/
done
if [ ! -e "${seafRoot}/.seahubSecret" ]; then
${pkgs.seahub.python}/bin/python ${pkgs.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
chmod 400 ${seafRoot}/.seahubSecret
fi
if [ ! -f "${seafRoot}/seahub-setup" ]; then
# avatars directory should be writable
install -D -t ${seahubDir}/media/avatars/ ${pkgs.seahub}/media/avatars/default.png
install -D -t ${seahubDir}/media/avatars/groups ${pkgs.seahub}/media/avatars/groups/default.png
# init database
${pkgs.seahub}/manage.py migrate
# create admin account
${pkgs.expect}/bin/expect -c 'spawn ${pkgs.seahub}/manage.py createsuperuser --email=${cfg.adminEmail}; expect "Password: "; send "${cfg.initialAdminPassword}\r"; expect "Password (again): "; send "${cfg.initialAdminPassword}\r"; expect "Superuser created successfully."'
echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
fi
if [ $(cat "${seafRoot}/seahub-setup" | cut -d"-" -f1) != "${pkgs.seahub.version}" ]; then
# update database
${pkgs.seahub}/manage.py migrate
echo "${pkgs.seahub.version}-sqlite" > "${seafRoot}/seahub-setup"
fi
'';
};
};
};
}

View File

@ -18,6 +18,9 @@ let
in
pkgs.writeShellScript "manage" ''
${setupEnv}
eval "$(${config.systemd.package}/bin/systemctl show -pUID,MainPID photoprism.service | ${pkgs.gnused}/bin/sed "s/UID/ServiceUID/")"
exec ${pkgs.util-linux}/bin/nsenter \
-t $MainPID -m -S $ServiceUID -G $ServiceUID --wdns=${cfg.storagePath} \
exec ${cfg.package}/bin/photoprism "$@"
'';
in

View File

@ -0,0 +1,415 @@
{ config
, lib
, pkgs
, utils
, ...
}:
let
cfg = config.services.pretalx;
format = pkgs.formats.ini { };
configFile = format.generate "pretalx.cfg" cfg.settings;
extras = cfg.package.optional-dependencies.redis
++ lib.optionals (cfg.settings.database.backend == "mysql") cfg.package.optional-dependencies.mysql
++ lib.optionals (cfg.settings.database.backend == "postgresql") cfg.package.optional-dependencies.postgres;
pythonEnv = cfg.package.python.buildEnv.override {
extraLibs = [ (cfg.package.python.pkgs.toPythonModule cfg.package) ]
++ (with cfg.package.python.pkgs; [ gunicorn ]
++ lib.optional cfg.celery.enable celery) ++ extras;
};
in
{
meta = with lib; {
maintainers = teams.c3d2.members;
};
options.services.pretalx = {
enable = lib.mkEnableOption (lib.mdDoc "pretalx");
package = lib.mkPackageOptionMD pkgs "pretalx" {};
group = lib.mkOption {
type = lib.types.str;
default = "pretalx";
description = "Group under which pretalx should run.";
};
user = lib.mkOption {
type = lib.types.str;
default = "pretalx";
description = "User under which pretalx should run.";
};
gunicorn.extraArgs = lib.mkOption {
type = with lib.types; listOf str;
default = [
"--name=pretalx"
];
example = [
"--name=pretalx"
"--workers=4"
"--max-requests=1200"
"--max-requests-jitter=50"
"--log-level=info"
];
description = lib.mdDoc ''
Extra arguments to pass to gunicorn.
See <https://docs.pretalx.org/administrator/installation.html#step-6-starting-pretalx-as-a-service> for details.
'';
apply = lib.escapeShellArgs;
};
celery = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
example = false;
description = lib.mdDoc ''
Whether to set up celery as an asynchronous task runner.
'';
};
extraArgs = lib.mkOption {
type = with lib.types; listOf str;
default = [ ];
description = lib.mdDoc ''
Extra arguments to pass to celery.
See <https://docs.celeryq.dev/en/stable/reference/cli.html#celery-worker> for more info.
'';
apply = utils.escapeSystemdExecArgs;
};
};
nginx = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
example = false;
description = lib.mdDoc ''
Whether to set up an nginx virtual host.
'';
};
domain = lib.mkOption {
type = lib.types.str;
example = "talks.example.com";
description = lib.mdDoc ''
The domain name under which to set up the virtual host.
'';
};
};
database.createLocally = lib.mkOption {
type = lib.types.bool;
default = true;
example = false;
description = lib.mdDoc ''
Whether to automatically set up the database on the local DBMS instance.
Currently only supported for PostgreSQL. Not required for sqlite.
'';
};
settings = lib.mkOption {
type = lib.types.submodule {
freeformType = format.type;
options = {
database = {
backend = lib.mkOption {
type = lib.types.enum [
"postgresql"
];
default = "postgresql";
description = lib.mdDoc ''
Database backend to use.
Currently only PostgreSQL gets tested, and as such we don't support any other DBMS.
'';
readOnly = true; # only postgres supported right now
};
host = lib.mkOption {
type = with lib.types; nullOr types.path;
default = if cfg.settings.database.backend == "postgresql" then "/run/postgresql"
else if cfg.settings.database.backend == "mysql" then "/run/mysqld/mysqld.sock"
else null;
defaultText = lib.literalExpression ''
if config.services.pretalx.settings..database.backend == "postgresql" then "/run/postgresql"
else if config.services.pretalx.settings.database.backend == "mysql" then "/run/mysqld/mysqld.sock"
else null
'';
description = lib.mdDoc ''
Database host or socket path.
'';
};
name = lib.mkOption {
type = lib.types.str;
default = "pretalx";
description = lib.mdDoc ''
Database name.
'';
};
user = lib.mkOption {
type = lib.types.str;
default = "pretalx";
description = lib.mdDoc ''
Database username.
'';
};
};
filesystem = {
data = lib.mkOption {
type = lib.types.path;
default = "/var/lib/pretalx";
description = lib.mdDoc ''
Base path for all other storage paths.
'';
};
logs = lib.mkOption {
type = lib.types.path;
default = "/var/log/pretalx";
description = lib.mdDoc ''
Path to the log directory, that pretalx logs message to.
'';
};
static = lib.mkOption {
type = lib.types.path;
default = "${cfg.package.static}/";
defaultText = lib.literalExpression "\${config.services.pretalx.package}.static}/";
readOnly = true;
description = lib.mdDoc ''
Path to the directory that contains static files.
'';
};
};
celery = {
backend = lib.mkOption {
type = with lib.types; nullOr str;
default = lib.optionalString cfg.celery.enable "redis+socket://${config.services.redis.servers.pretalx.unixSocket}?virtual_host=1";
defaultText = lib.literalExpression ''
optionalString config.services.pretalx.celery.enable "redis+socket://''${config.services.redis.servers.pretalx.unixSocket}?virtual_host=1"
'';
description = lib.mdDoc ''
URI to the celery backend used for the asynchronous job queue.
'';
};
broker = lib.mkOption {
type = with lib.types; nullOr str;
default = lib.optionalString cfg.celery.enable "redis+socket://${config.services.redis.servers.pretalx.unixSocket}?virtual_host=2";
defaultText = lib.literalExpression ''
optionalString config.services.pretalx.celery.enable "redis+socket://''${config.services.redis.servers.pretalx.unixSocket}?virtual_host=2"
'';
description = lib.mdDoc ''
URI to the celery broker used for the asynchronous job queue.
'';
};
};
redis = {
location = lib.mkOption {
type = with lib.types; nullOr str;
default = "unix://${config.services.redis.servers.pretalx.unixSocket}?db=0";
defaultText = lib.literalExpression ''
"unix://''${config.services.redis.servers.pretalx.unixSocket}?db=0"
'';
description = lib.mdDoc ''
URI to the redis server, used to speed up locking, caching and session storage.
'';
};
session = lib.mkOption {
type = lib.types.bool;
default = true;
example = false;
description = lib.mdDoc ''
Whether to use redis as the session storage.
'';
};
};
site = {
url = lib.mkOption {
type = lib.types.str;
default = "https://${cfg.nginx.domain}";
defaultText = lib.literalExpression "https://\${config.services.pretalx.nginx.domain}";
example = "https://talks.example.com";
description = lib.mdDoc ''
The base URI below which your pretalx instance will be reachable.
'';
};
};
};
};
default = { };
description = lib.mdDoc ''
pretalx configuration as a Nix attribute set. All settings can also be passed
from the environment.
See <https://docs.pretalx.org/administrator/configure.html> for possible options.
'';
};
};
config = lib.mkIf cfg.enable {
# https://docs.pretalx.org/administrator/installation.html
environment.systemPackages = [
(pkgs.writeScriptBin "pretalx-manage" ''
cd ${cfg.settings.filesystem.data}
sudo=exec
if [[ "$USER" != ${cfg.user} ]]; then
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} --preserve-env=PRETALX_CONFIG_FILE'
fi
export PRETALX_CONFIG_FILE=${configFile}
$sudo ${lib.getExe' pythonEnv "pretalx-manage"} "$@"
'')
];
services = {
nginx = lib.mkIf cfg.nginx.enable {
enable = true;
recommendedGzipSettings = lib.mkDefault true;
recommendedOptimisation = lib.mkDefault true;
recommendedProxySettings = lib.mkDefault true;
recommendedTlsSettings = lib.mkDefault true;
upstreams.pretalx.servers."unix:/run/pretalx/pretalx.sock" = { };
virtualHosts.${cfg.nginx.domain} = {
# https://docs.pretalx.org/administrator/installation.html#step-7-ssl
extraConfig = ''
more_set_headers Referrer-Policy same-origin;
more_set_headers X-Content-Type-Options nosniff;
'';
locations = {
"/".proxyPass = "http://pretalx";
"/media/" = {
alias = "${cfg.settings.filesystem.data}/data/media/";
extraConfig = ''
access_log off;
more_set_headers Content-Disposition 'attachment; filename="$1"';
expires 7d;
'';
};
"/static/" = {
alias = cfg.settings.filesystem.static;
extraConfig = ''
access_log off;
more_set_headers Cache-Control "public";
expires 365d;
'';
};
};
};
};
postgresql = lib.mkIf (cfg.database.createLocally && cfg.settings.database.backend == "postgresql") {
enable = true;
ensureUsers = [ {
name = cfg.settings.database.user;
ensureDBOwnership = true;
} ];
ensureDatabases = [ cfg.settings.database.name ];
};
redis.servers.pretalx.enable = true;
};
systemd.services = let
commonUnitConfig = {
environment.PRETALX_CONFIG_FILE = configFile;
serviceConfig = {
User = "pretalx";
Group = "pretalx";
StateDirectory = [ "pretalx" "pretalx/media" ];
LogsDirectory = "pretalx";
WorkingDirectory = cfg.settings.filesystem.data;
SupplementaryGroups = [ "redis-pretalx" ];
};
};
in {
pretalx-web = lib.recursiveUpdate commonUnitConfig {
description = "pretalx web service";
after = [
"network.target"
"redis-pretalx.service"
] ++ lib.optionals (cfg.settings.database.backend == "postgresql") [
"postgresql.service"
] ++ lib.optionals (cfg.settings.database.backend == "mysql") [
"mysql.service"
];
wantedBy = [ "multi-user.target" ];
preStart = ''
versionFile="${cfg.settings.filesystem.data}/.version"
version=$(cat "$versionFile" 2>/dev/null || echo 0)
if [[ $version != ${cfg.package.version} ]]; then
${lib.getExe' pythonEnv "pretalx-manage"} migrate
echo "${cfg.package.version}" > "$versionFile"
fi
'';
serviceConfig = {
ExecStart = "${lib.getExe' pythonEnv "gunicorn"} --bind unix:/run/pretalx/pretalx.sock ${cfg.gunicorn.extraArgs} pretalx.wsgi";
RuntimeDirectory = "pretalx";
};
};
pretalx-periodic = lib.recursiveUpdate commonUnitConfig {
description = "pretalx periodic task runner";
# every 15 minutes
startAt = [ "*:3,18,33,48" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} runperiodic";
};
};
pretalx-clear-sessions = lib.recursiveUpdate commonUnitConfig {
description = "pretalx session pruning";
startAt = [ "monthly" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${lib.getExe' pythonEnv "pretalx-manage"} clearsessions";
};
};
pretalx-worker = lib.mkIf cfg.celery.enable (lib.recursiveUpdate commonUnitConfig {
description = "pretalx asynchronous job runner";
after = [
"network.target"
"redis-pretalx.service"
] ++ lib.optionals (cfg.settings.database.backend == "postgresql") [
"postgresql.service"
] ++ lib.optionals (cfg.settings.database.backend == "mysql") [
"mysql.service"
];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${lib.getExe' pythonEnv "celery"} -A pretalx.celery_app worker ${cfg.celery.extraArgs}";
});
};
systemd.sockets.pretalx-web.socketConfig = {
ListenStream = "/run/pretalx/pretalx.sock";
SocketUser = "nginx";
};
users = {
groups."${cfg.group}" = {};
users."${cfg.user}" = {
isSystemUser = true;
createHome = true;
home = cfg.settings.filesystem.data;
inherit (cfg) group;
};
};
};
}

View File

@ -18,7 +18,7 @@ from dataclasses import dataclass
# These values will be replaced with actual values during the package build
EFI_SYS_MOUNT_POINT = "@efiSysMountPoint@"
TIMEOUT = "@timeout@"
EDITOR = bool("@editor@")
EDITOR = "@editor@" == "1"
CONSOLE_MODE = "@consoleMode@"
BOOTSPEC_TOOLS = "@bootspecTools@"
DISTRO_NAME = "@distroName@"

View File

@ -22,11 +22,9 @@ let
timeout = optionalString (config.boot.loader.timeout != null) config.boot.loader.timeout;
editor = if cfg.editor then "True" else "False";
configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
inherit (cfg) consoleMode graceful;
inherit (cfg) consoleMode graceful editor;
inherit (efi) efiSysMountPoint canTouchEfiVariables;

View File

@ -713,6 +713,7 @@ in {
power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
pppd = handleTest ./pppd.nix {};
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
pretalx = runTest ./web-apps/pretalx.nix;
printing-socket = handleTest ./printing.nix { socket = true; };
printing-service = handleTest ./printing.nix { socket = false; };
privoxy = handleTest ./privoxy.nix {};

View File

@ -942,31 +942,6 @@ let
'';
};
openvpn = {
exporterConfig = {
enable = true;
group = "openvpn";
statusPaths = [ "/run/openvpn-test" ];
};
metricProvider = {
users.groups.openvpn = { };
services.openvpn.servers.test = {
config = ''
dev tun
status /run/openvpn-test
status-version 3
'';
up = "chmod g+r /run/openvpn-test";
};
systemd.services."openvpn-test".serviceConfig.Group = "openvpn";
};
exporterTest = ''
wait_for_unit("openvpn-test.service")
wait_for_unit("prometheus-openvpn-exporter.service")
succeed("curl -sSf http://localhost:9176/metrics | grep 'openvpn_up{.*} 1'")
'';
};
pgbouncer = {
exporterConfig = {
enable = true;

View File

@ -0,0 +1,31 @@
{ lib, ... }:
{
name = "pretalx";
meta.maintainers = lib.teams.c3d2.members;
nodes = {
pretalx = {
networking.extraHosts = ''
127.0.0.1 talks.local
'';
services.pretalx = {
enable = true;
nginx.domain = "talks.local";
settings = {
site.url = "http://talks.local";
};
};
};
};
testScript = ''
start_all()
pretalx.wait_for_unit("pretalx-web.service")
pretalx.wait_for_unit("pretalx-worker.service")
pretalx.wait_until_succeeds("curl -q --fail http://talks.local/orga/")
'';
}

View File

@ -5,12 +5,12 @@
python3.pkgs.buildPythonPackage rec {
pname = "ledfx";
version = "2.0.89";
version = "2.0.90";
pyproject= true;
src = fetchPypi {
inherit pname version;
hash = "sha256-PBOj6u0TukT6wRKMQML4+XNQQZvsGyRzXBk9YsISst4=";
hash = "sha256-ZlZtC0bi9ZUf/1D9hUxxhdix6F8l7Lg5IUOOg+JHGYU=";
};
pythonRelaxDeps = true;

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mympd";
version = "13.0.6";
version = "14.0.0";
src = fetchFromGitHub {
owner = "jcorporation";
repo = "myMPD";
rev = "v${finalAttrs.version}";
sha256 = "sha256-7yqpm2qMDHWVM5m5FueYlkEFY+VIW8Cx+aRa1iY2vZ4=";
sha256 = "sha256-srwLnoQSPex7/PtgF6RWpJM39fpOqN3wze5ABSRTIRA=";
};
nativeBuildInputs = [

View File

@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
description = "netease cloud music terminal client by rust";
maintainers = with maintainers; [ vonfry ];
license = licenses.mit;
mainProgram = "ncmt";
};
}

View File

@ -29,8 +29,13 @@ mkDerivation rec {
'';
installPhase = ''
runHook preInstall
install -d $out/bin
install -m755 bin/polyphone $out/bin/
install -Dm444 ./contrib/com.polyphone_soundfonts.polyphone.desktop -t $out/share/applications/
install -Dm444 ./contrib/polyphone.svg -t $out/share/icons/hicolor/scalable/apps/
runHook postInstall
'';
qmakeFlags = [

View File

@ -985,8 +985,8 @@ let
mktplcRef = {
name = "vscode-eslint";
publisher = "dbaeumer";
version = "2.4.2";
sha256 = "sha256-eIjaiVQ7PNJUtOiZlM+lw6VmW07FbMWPtY7UoedWtbw=";
version = "2.4.4";
sha256 = "sha256-NJGsMme/+4bvED/93SGojYTH03EZbtKe5LyvocywILA=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
@ -3235,11 +3235,12 @@ let
mktplcRef = {
name = "crates";
publisher = "serayuzgur";
version = "0.6.5";
sha256 = "sha256-HgqM4PKGk3R5MLY4cVjKxv79p5KlOkVDeDbv7/6FmpM=";
version = "0.6.6";
sha256 = "sha256-HXoH1IgMLniq0kxHs2snym4rerScu9qCqUaqwEC+O/E=";
};
meta = {
license = lib.licenses.mit;
maintainers = [ lib.maintainers.wackbyte ];
};
};

View File

@ -1,13 +1,13 @@
{ stdenv, fetchFromGitHub, unstableGitUpdater }:
stdenv.mkDerivation {
pname = "yuzu-compatibility-list";
version = "unstable-2024-01-27";
version = "unstable-2024-01-30";
src = fetchFromGitHub {
owner = "flathub";
repo = "org.yuzu_emu.yuzu";
rev = "c01bdbbfda3e2558930fcced63b6d02b646f881b";
hash = "sha256-TDmzBxeJq4gJvU88hJaXN7U3PYOqI1OrkenlH1GJo8g=";
rev = "82194fa23ec35545ade47cc3dc2035b2b07badcb";
hash = "sha256-LsQZml8I43fZDFACtVZpc76/62Pv11Z6bm8w/9hTHdI=";
};
buildCommand = ''

View File

@ -77,14 +77,14 @@ let
urllib3
];
in mkDerivation rec {
version = "3.34.2";
version = "3.34.3";
pname = "qgis-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-RKxIJpp0lmRqyMYJuX2U4/GJh0FTnklFOcUft6LsuHc=";
hash = "sha256-uf4qUalY6LxPykgUt/atHBTu+A6ITrcnfez/jwVMLvA=";
};
passthru = {

View File

@ -14,13 +14,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "diffuse";
version = "0.8.2";
version = "0.9.0";
src = fetchFromGitHub {
owner = "MightyCreak";
repo = "diffuse";
rev = "v${version}";
sha256 = "aGg5uh9KitVP2bBUizgGIZWvzTxfJGid0WUGVNyHdlk=";
sha256 = "6GdUtdVhhIQL1cD9/e7Byv37PVKXmzVWhJC6GROK7OA=";
};
format = "other";

View File

@ -1,18 +1,48 @@
{ lib, fetchFromGitHub, gtk3, pythonPackages, intltool, gexiv2,
pango, gobject-introspection, wrapGAppsHook, gettext,
# Optional packages:
enableOSM ? true, osm-gps-map, glib-networking,
enableGraphviz ? true, graphviz,
enableGhostscript ? true, ghostscript
}:
{ lib
, fetchpatch
, fetchFromGitHub
, gtk3
, pythonPackages
, glibcLocales
, intltool
, gexiv2
, pango
, gobject-introspection
, wrapGAppsHook
, gettext
, # Optional packages:
enableOSM ? true
, osm-gps-map
, glib-networking
, enableGraphviz ? true
, graphviz
, enableGhostscript ? true
, ghostscript
}:
let
inherit (pythonPackages) python buildPythonApplication;
in buildPythonApplication rec {
version = "5.1.4";
in
buildPythonApplication rec {
version = "5.1.6";
pname = "gramps";
pyproject = true;
nativeBuildInputs = [
wrapGAppsHook
intltool
gettext
gobject-introspection
pythonPackages.setuptools
];
nativeCheckInputs = [
glibcLocales
pythonPackages.jsonschema
pythonPackages.mock
pythonPackages.lxml
];
nativeBuildInputs = [ wrapGAppsHook intltool gettext gobject-introspection ];
buildInputs = [ gtk3 pango gexiv2 ]
# Map support
++ lib.optionals enableOSM [ osm-gps-map glib-networking ]
@ -26,35 +56,53 @@ in buildPythonApplication rec {
owner = "gramps-project";
repo = "gramps";
rev = "v${version}";
sha256 = "00358nzyw686ypqv45imc5k9frcqnhla0hpx9ynna3iy6iz5006x";
hash = "sha256-BerkDXdFYfZ3rV5AeMo/uk53IN2U5z4GFs757Ar26v0=";
};
pythonPath = with pythonPackages; [ bsddb3 pyicu pygobject3 pycairo ];
pythonPath = with pythonPackages; [
bsddb3
pyicu
pygobject3
pycairo
];
patches = [
# fix for running tests with a temporary home - remove next release
# https://gramps-project.org/bugs/view.php?id=12577
(fetchpatch {
url = "https://github.com/gramps-project/gramps/commit/1e95d8a6b5193d655d8caec1e6ab13628ad123db.patch";
hash = "sha256-2riWB13Yl+tk9+Tuo0YDLoxY2Rc0xrJKfb+ZU7Puzxk=";
})
];
# Same installPhase as in buildPythonApplication but without --old-and-unmanageble
# install flag.
installPhase = ''
runHook preInstall
mkdir -p "$out/lib/${python.libPrefix}/site-packages"
mkdir -p "$out/${python.sitePackages}"
export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
${python}/bin/${python.executable} setup.py install \
--install-lib=$out/lib/${python.libPrefix}/site-packages \
--install-lib=$out/${python.sitePackages} \
--prefix="$out"
eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
eapth="$out/${python.sitePackages}/easy-install.pth"
if [ -e "$eapth" ]; then
# move colliding easy_install.pth to specifically named one
mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth
fi
rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
rm -f "$out/${python.sitePackages}"/site.py*
runHook postInstall
'';
preCheck = ''
export HOME=$TMPDIR
'';
# https://github.com/NixOS/nixpkgs/issues/149812
# https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
strictDeps = false;
@ -62,6 +110,15 @@ in buildPythonApplication rec {
meta = with lib; {
description = "Genealogy software";
homepage = "https://gramps-project.org";
license = licenses.gpl2;
maintainers = with maintainers; [ jk pinpox ];
changelog = "https://github.com/gramps-project/gramps/blob/v${version}/ChangeLog";
longDescription = ''
Every person has their own story but they are also part of a collective
family history. Gramps gives you the ability to record the many details of
an individual's life as well as the complex relationships between various
people, places and events. All of your research is kept organized,
searchable and as precise as you need it to be.
'';
license = licenses.gpl2Plus;
};
}

View File

@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication {
[Desktop Entry]
Type=Application
Exec=$out/bin/loxodo
Icon=$out/lib/${python3.libPrefix}/site-packages/resources/loxodo-icon.png
Icon=$out/${python3.sitePackages}/resources/loxodo-icon.png
Name=Loxodo
GenericName=Password Vault
Categories=Application;Other;

View File

@ -9,6 +9,7 @@
, cereal
, cgal
, curl
, darwin
, dbus
, eigen
, expat
@ -111,6 +112,8 @@ stdenv.mkDerivation (finalAttrs: {
catch2
] ++ lib.optionals withSystemd [
systemd
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.CoreWLAN
];
separateDebugInfo = true;
@ -190,6 +193,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/prusa3d/PrusaSlicer";
license = licenses.agpl3;
maintainers = with maintainers; [ moredread tweber tmarkus ];
platforms = platforms.unix;
} // lib.optionalAttrs (stdenv.isDarwin) {
mainProgram = "PrusaSlicer";
};

View File

@ -15,7 +15,7 @@
stdenv.mkDerivation rec {
pname = "wmenu";
version = "0.1.4";
version = "0.1.6";
strictDeps = true;
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
owner = "~adnano";
repo = "wmenu";
rev = version;
hash = "sha256-aB23wi8kLBKAvQv2UPsfqVMCjakdsM6AzH8LgGv3HPs=";
hash = "sha256-Xsnf7T39up6E5kzV37sM9j3PpA2eqxItbGt+tOfjsjE=";
};
nativeBuildInputs = [ pkg-config meson ninja ];

View File

@ -292,6 +292,9 @@ buildStdenv.mkDerivation {
# Runs autoconf through ./mach configure in configurePhase
configureScript="$(realpath ./mach) configure"
# Set reproducible build date; https://bugzilla.mozilla.org/show_bug.cgi?id=885777#c21
export MOZ_BUILD_DATE=$(head -n1 sourcestamp.txt)
# Set predictable directories for build and state
export MOZ_OBJDIR=$(pwd)/mozobj
export MOZBUILD_STATE_PATH=$(pwd)/mozbuild

View File

@ -1,20 +1,20 @@
{
stable = import ./browser.nix {
channel = "stable";
version = "120.0.2210.144";
version = "121.0.2277.83";
revision = "1";
hash = "sha256-O/7LdopcMfSYx8cg9BNDU6KxbPfnF9rYXD7Q6jugBLU=";
hash = "sha256-WuDu44elNlkYZEtol+TZNpcRAkAq8HHATYCc9Or/bvU=";
};
beta = import ./browser.nix {
channel = "beta";
version = "121.0.2277.71";
version = "121.0.2277.83";
revision = "1";
hash = "sha256-PsfUZJ5ftHxSFGaXjzFMEff7Czfq88yL31mqNkFilNM=";
hash = "sha256-eW8Bpcjw1aY5lMqsGCJ3hORVLhzW8Fmaio+kpSOzPeU=";
};
dev = import ./browser.nix {
channel = "dev";
version = "122.0.2348.0";
version = "122.0.2353.0";
revision = "1";
hash = "sha256-Vsnrc43d70fLDncMeQeYhZJhnYex2LsIV1U2KPlkP9U=";
hash = "sha256-llLaq13SU4ZpqhOYK0hy6ZD6amAqijStk8TIHX3gydQ=";
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubecm";
version = "0.27.1";
version = "0.28.0";
src = fetchFromGitHub {
owner = "sunny0826";
repo = "kubecm";
rev = "v${version}";
hash = "sha256-Fg+jlnYkdv9Vfj94lxfmhoc6pyM0EAqwIBepFXYoO5M=";
hash = "sha256-v2frNvJUvDjPhV1RCR3DHk04kYEqP6hMXeA4j3cWlss=";
};
vendorHash = "sha256-wj/IHNN8r6pwkKk0ZmpRjxr5nE2c+iypjCsZb+i5vwo=";
vendorHash = "sha256-uM9/rqu5WOXK6bqxhtmje+Zd9dtdv3qwt+Xr0SJHjPs=";
ldflags = [ "-s" "-w" "-X github.com/sunny0826/kubecm/version.Version=${version}"];
doCheck = false;

View File

@ -167,9 +167,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.7.1";
hash = "sha256-e+YXOqXgiUXtm6P8PulZowRK0OLA8ekmS+MZRQP/srg=";
vendorHash = "sha256-77W0x6DENB+U3yB4LI3PwJU9bTuH7Eqz2a9FNoERuJg=";
version = "1.7.2";
hash = "sha256-jTzZWmYeKF87Er2i7XHquM8oQyF4q/qoBf4DdMqv7L8=";
vendorHash = "sha256-DI4YTjdFFvfby8ExEY3KoK4J9YKK5LPpMbelzFMDVVs=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;

View File

@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation rec {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/web/yarn.lock";
hash = "sha256-UTxglGn3eIgahZg4kxolg2f2MTReCL4r/GyWNg4105E=";
hash = "sha256-0JpoAQKRmU7P1bzYNR/vqtPjOOSw8wSlNjXl2f6uBrw=";
};
configurePhase = ''

View File

@ -5,13 +5,13 @@ let args = rec {
/* Do not use "dev" as a version. If you do, Tilt will consider itself
running in development environment and try to serve assets from the
source tree, which is not there once build completes. */
version = "0.33.6";
version = "0.33.10";
src = fetchFromGitHub {
owner = "tilt-dev";
repo = "tilt";
rev = "v${version}";
hash = "sha256-WtE8ExUKFRtdYeg0+My/DB+L/qT+J1EaKHKChNjC5oI=";
hash = "sha256-LPb2tC3xIGhjiLYkTU+NBIUoqiicO2ORM6Nt1eTnwQs=";
};
};

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "deck";
version = "1.32.0";
version = "1.32.1";
src = fetchFromGitHub {
owner = "Kong";
repo = "deck";
rev = "v${version}";
hash = "sha256-h0dZXIrQm8RlfNnIHU4P0iFelWmkXVqkBmyyrA3/EgY=";
hash = "sha256-7lE/Wnrlv3L6V1ex+357q6XXpdx0810m1rKkqITowXY=";
};
nativeBuildInputs = [ installShellFiles ];
@ -21,7 +21,7 @@ buildGoModule rec {
];
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-0KEQ03lls8ZEbhMEcKiZ1jFIbBtXnlCE/mkYHrZdWv8=";
vendorHash = "sha256-D260T3E0aufOAqlN918SChv3aNDCFHfe2e0It1pcPiU=";
postInstall = ''
installShellCompletion --cmd deck \

View File

@ -11,11 +11,11 @@
}:
let
pname = "beeper";
version = "3.92.23";
version = "3.93.36";
name = "${pname}-${version}";
src = fetchurl {
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.92.23-build-240111az2vz7kii-x86_64.AppImage";
hash = "sha256-M+3mJ+X/yr6yONOpdnCRECbswYlSuhlqqbg2d6Px/7s=";
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.93.36-build-2401269p8vcb695-x86_64.AppImage";
hash = "sha256-3pOOAI4/BWdbWfPweRx5I2KRi9VOgJ5vcQ89FTJhPak=";
};
appimage = appimageTools.wrapType2 {
inherit version pname src;

View File

@ -2,11 +2,11 @@
let
pname = "rambox";
version = "2.2.3";
version = "2.3.0";
src = fetchurl {
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
sha256 = "sha256-V1Sxfgn3fcqW7t7oa1pfnrPYAqHdCLrWUbplE/I789A=";
sha256 = "sha256-PmTiXQp+AkTwCKisH1tR6B1+cHPx25P8FAAlLvKEb3w=";
};
desktopItem = (makeDesktopItem {

View File

@ -70,11 +70,11 @@ python3Packages.buildPythonApplication {
];
postInstall = ''
substituteInPlace $out/lib/${python3Packages.python.libPrefix}/site-packages/mkchromecast/video.py \
substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/video.py \
--replace '/usr/share/mkchromecast/nodejs/' '${placeholder "out"}/share/mkchromecast/nodejs/'
'' + lib.optionalString stdenv.isDarwin ''
install -Dm 755 -t $out/bin bin/audiodevice
substituteInPlace $out/lib/${python3Packages.python.libPrefix}/site-packages/mkchromecast/audio_devices.py \
substituteInPlace $out/${python3Packages.python.sitePackages}/mkchromecast/audio_devices.py \
--replace './bin/audiodevice' '${placeholder "out"}/bin/audiodevice'
'';

View File

@ -77,7 +77,7 @@ let
install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop
'' else ''
rm -r $out/bin/deluge-gtk
rm -r $out/lib/${python3Packages.python.libPrefix}/site-packages/deluge/ui/gtk3
rm -r $out/${python3Packages.python.sitePackages}/deluge/ui/gtk3
rm -r $out/share/{icons,man/man1/deluge-gtk*,pixmaps}
'');

View File

@ -6,29 +6,22 @@
, nixosTests
}:
let
# Seahub 8.x.x does not support django-webpack-loader >=1.x.x
python = python3.override {
packageOverrides = self: super: {
django-webpack-loader = super.django-webpack-loader.overridePythonAttrs (old: rec {
version = "0.7.0";
src = old.src.override {
inherit version;
hash = "sha256-ejyIIBqlRIH5OZRlYVy+e5rs6AgUlqbQKHt8uOIy9Ec=";
};
});
django = super.django_3;
};
};
in
python.pkgs.buildPythonApplication rec {
pname = "seahub";
version = "9.0.10";
version = "10.0.1";
pyproject = false;
src = fetchFromGitHub {
owner = "haiwen";
repo = "seahub";
rev = "5971bf25fe67d94ec4d9f53b785c15a098113620"; # using a fixed revision because upstream may re-tag releases :/
sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk=";
rev = "e8c02236c0eaca6dde009872745f089da4b77e6e"; # using a fixed revision because upstream may re-tag releases :/
sha256 = "sha256-7JXWKEFqCsC+ZByhvyP8AmDpajT3hpgyYDNUqc3wXyg=";
};
patches = [

View File

@ -75,6 +75,7 @@ stdenvNoCC.mkDerivation {
homepage = "https://libreoffice.org/";
license = licenses.lgpl3;
maintainers = with maintainers; [ tricktron ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
};
}

View File

@ -64,7 +64,7 @@ python3Packages.buildPythonApplication rec {
# fixes [WARNING] [openpaperwork_core.resources.setuptools] Failed to find
# resource file paperwork_gtk.icon.out/paperwork_128.png, tried at path
# /nix/store/3n5lz6y8k9yks76f0nar3smc8djan3xr-paperwork-2.0.2/lib/python3.8/site-packages/paperwork_gtk/icon/out/paperwork_128.png.
site=$out/lib/${python3Packages.python.libPrefix}/site-packages/paperwork_gtk
site=$out/${python3Packages.python.sitePackages}/paperwork_gtk
for i in $site/data/paperwork_*.png; do
ln -s $i $site/icon/out;
done

View File

@ -19,14 +19,14 @@
let
pname = "qownnotes";
appname = "QOwnNotes";
version = "24.1.4";
version = "24.1.5";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
hash = "sha256-RWAg89rbmoOSzOu9YjAkDluyPiYjT6f8gmri5AAHyww=";
hash = "sha256-iw3MdsS1i7B8RXZk2GXwiOReSUC1IX5z0MTEk9B4nMM=";
};
nativeBuildInputs = [

View File

@ -244,6 +244,8 @@ stdenv.mkDerivation (finalAttrs: (shared // {
rm gr-fec/python/fec/qa_polar_encoder.py
rm gr-fec/python/fec/qa_polar_encoder_systematic.py
rm gr-filter/python/filter/qa_freq_xlating_fft_filter.py
# Failed with libstdc++ from GCC 13
rm gr-filter/python/filter/qa_filterbank.py
'';
patches = [
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227

View File

@ -1,4 +1,5 @@
{ lib, stdenv
, fetchpatch
, fetchFromGitHub
, cmake
# Remove gcc and python references
@ -277,6 +278,11 @@ stdenv.mkDerivation (finalAttrs: (shared // {
patches = [
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
./modtool-newmod-permissions.3_9.patch
# Fix compilation with GCC 13
(fetchpatch {
url = "https://github.com/gnuradio/gnuradio/commit/fe1b3592776c26e349e9985d47d3178568dfe6ec.patch";
hash = "sha256-bu6fJuUo/i4kM+cZqSw8moB0ymoSVooLfwUIW+WDpWI=";
})
];
passthru = shared.passthru // {
# Deps that are potentially overridden and are used inside GR plugins - the same version must

View File

@ -17,8 +17,8 @@ python3Packages.buildPythonApplication rec {
'';
preBuild = ''
substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/lib/${python3.libPrefix}/site-packages";
export NIX_CFLAGS_COMPILE="-L $out/lib/${python3.libPrefix}/site-packages $NIX_CFLAGS_COMPILE"
substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/${python3.sitePackages}";
export NIX_CFLAGS_COMPILE="-L $out/${python3.sitePackages} $NIX_CFLAGS_COMPILE"
'';
dontConfigure = true;

View File

@ -2,7 +2,6 @@
, lib
, callPackage
, fetchurl
, fetchpatch
, makeWrapper
, cmake
, coreutils
@ -58,7 +57,7 @@
stdenv.mkDerivation rec {
pname = "root";
version = "6.30.02";
version = "6.30.04";
passthru = {
tests = import ./tests { inherit callPackage; };
@ -66,7 +65,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
hash = "sha256-eWWkVtGtHuDV/kdpv1qP7Cka9oTtk9sPMICpw2JDUYM=";
hash = "sha256-K0GAtpjznMZdkQhNgzqIRRWzJbxfZzyOOavoGLAl2Mw=";
};
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
@ -110,13 +109,6 @@ stdenv.mkDerivation rec {
patches = [
./sw_vers.patch
# Fix for builtin_llvm=OFF
# https://github.com/root-project/root/pull/14238
(fetchpatch {
url = "https://github.com/root-project/root/commit/1477d3adebf27a19f3a8b85f21c27a0a5649c7ff.diff";
hash = "sha256-g+FqXBTWXA7t7F/rMarnmOK2014oCNnNJbHhjH+Tvjw=";
})
];
preConfigure = ''

View File

@ -1,15 +1,15 @@
{
"version": "16.7.4",
"repo_hash": "sha256-rUEr9G/5T4yWnNY69I+IpjsVOSmfdL0j0u6et4jkIt8=",
"yarn_hash": "1qxz2p969qg7kzyvhwxws5zwdw986gdq9gxllzi58c5c56jz49zf",
"version": "16.8.1",
"repo_hash": "sha256-95YdEAUYoFDFX4COI6NnI6tDB+NLnihlJdUDM8NixXA=",
"yarn_hash": "1yhl4l2dln9ck4nbjjrlyjx17nxk4h12gb5hqjh4dq3rz3az3jvx",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v16.7.4-ee",
"rev": "v16.8.1-ee",
"passthru": {
"GITALY_SERVER_VERSION": "16.7.4",
"GITLAB_PAGES_VERSION": "16.7.4",
"GITLAB_SHELL_VERSION": "14.32.0",
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.5.0",
"GITLAB_WORKHORSE_VERSION": "16.7.4"
"GITALY_SERVER_VERSION": "16.8.1",
"GITLAB_PAGES_VERSION": "16.8.1",
"GITLAB_SHELL_VERSION": "14.33.0",
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.6.0",
"GITLAB_WORKHORSE_VERSION": "16.8.1"
}
}

View File

@ -1,7 +1,9 @@
{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
, ruby_3_1, tzdata, git, nettools, nixosTests, nodejs, openssl
, defaultGemConfig, buildRubyGem
, gitlabEnterprise ? false, callPackage, yarn
, prefetch-yarn-deps, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config
, cargo, rustc, rustPlatform
}:
let
@ -19,20 +21,54 @@ let
name = "gitlab-env-${version}";
ruby = ruby_3_1;
gemdir = ./rubyEnv;
gemset =
let x = import (gemdir + "/gemset.nix") src;
in x // {
gpgme = x.gpgme // {
gemset = import (gemdir + "/gemset.nix") src;
gemConfig = defaultGemConfig // {
gpgme = attrs: {
nativeBuildInputs = [ pkg-config ];
};
# the openssl needs the openssl include files
openssl = x.openssl // {
openssl = attrs: {
buildInputs = [ openssl ];
};
ruby-magic = x.ruby-magic // {
ruby-magic = attrs: {
buildInputs = [ file ];
buildFlags = [ "--enable-system-libraries" ];
};
gitlab-glfm-markdown = attrs: {
cargoDeps = rustPlatform.fetchCargoTarball {
src = stdenv.mkDerivation {
inherit (buildRubyGem { inherit (attrs) gemName version source; })
name
src
unpackPhase
nativeBuildInputs
;
dontBuilt = true;
installPhase = ''
cp -R ext/glfm_markdown $out
cp Cargo.lock $out
'';
};
hash = "sha256-I5w/roDgnRe5eyXo0wiRcoWPpXEtpL3kOl9eDg99t/w=";
};
dontBuild = false;
nativeBuildInputs = [
cargo
rustc
rustPlatform.cargoSetupHook
rustPlatform.bindgenHook
];
preInstall = ''
export CARGO_HOME="$PWD/../.cargo/"
'';
postInstall = ''
mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,}
'';
};
};
groups = [
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"

View File

@ -6,7 +6,7 @@
}:
let
version = "16.7.4";
version = "16.8.1";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
@ -18,10 +18,10 @@ let
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
hash = "sha256-4wdMwLsJiQzaZ8PhQz7gYj+dzA+92NFPm0twMdr65qA=";
hash = "sha256-yR8O9F6THymKKHbnfh67NhEcNNBz7XHja/fpeTmVoe0=";
};
vendorHash = "sha256-btWHZMy1aBSsUVs30IqrdBCO79XQvTMXxkxYURF2Nqs=";
vendorHash = "sha256-AkL/BbCrqgXyvfiMxzMIXeZwh5aFL2a2+myk/4YXMNc=";
ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];

View File

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "gitlab-elasticsearch-indexer";
version = "4.5.0";
version = "4.6.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-elasticsearch-indexer";
rev = "v${version}";
sha256 = "sha256-6Y2ARnFjbz6nFhWGRhzgAY8s0aX24oLMY1016oRD9oo=";
sha256 = "sha256-HlT3Uj/DWbyK4xGq7SjKjZ90sww6oMiMDo05mtv6rTA=";
};
vendorHash = "sha256-jpjfQl2z5yPnlGEYW6KKBfd4quchT+bU/RU6vwaB4gQ=";
vendorHash = "sha256-YUH/agSy/shHmHRXlfDtgumbka6BjX5NTxgvlNJS4hQ=";
buildInputs = [ icu ];
nativeBuildInputs = [ pkg-config ];

View File

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "gitlab-pages";
version = "16.7.4";
version = "16.8.1";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
hash = "sha256-6OPpfn+nylTUp7rNI8NqipbHmLmaV0ezE1qrQqHcuqw=";
hash = "sha256-Wj15GHm+5Xd5wq4C3dH+i94jh7pecHM6KCDugLm5YAA=";
};
vendorHash = "sha256-NMky8v0YmN2pSeKJ7G0+DWAZvUx2JlwFbqPHvciYroM=";
vendorHash = "sha256-9yogTSdEij/YwWGm3gz7jMn2AZcI+o7aEnjBvJ8E3vA=";
subPackages = [ "." ];
meta = with lib; {

View File

@ -2,21 +2,21 @@
buildGoModule rec {
pname = "gitlab-shell";
version = "14.32.0";
version = "14.33.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-shell";
rev = "v${version}";
sha256 = "sha256-fZttdcIdPeiy2ncDyseR1BnR6GBoSRsFkn7Mxc+mTA8=";
sha256 = "sha256-0C3ODs2NElJQ+A6x9lZxSParTZc3q4YqWsw7DxwhODo=";
};
buildInputs = [ ruby libkrb5 ];
patches = [ ./remove-hardcoded-locations.patch ];
vendorHash = "sha256-tdYBEV/dKnIJ+OWTF3/5bIbWVdE/ulMrMD/LMzj1QZE=";
vendorHash = "sha256-sTAd/AbPx5WzBCzTDLvo/bDZcmz/xVhIhz9nFGBEYx4=";
postInstall = ''
cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin

View File

@ -5,7 +5,7 @@ in
buildGoModule rec {
pname = "gitlab-workhorse";
version = "16.7.4";
version = "16.8.1";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
@ -17,7 +17,7 @@ buildGoModule rec {
sourceRoot = "${src.name}/workhorse";
vendorHash = "sha256-1oeToeqGXSj5CdL5dgWsnN/VpwALlus93P0Ed7G8TIw=";
vendorHash = "sha256-OcdfanSlH1ZUmKlhzMOD3oNySx1o92Is7EDf1Z3953A=";
buildInputs = [ git ];
ldflags = [ "-X main.Version=${version}" ];
doCheck = false;

View File

@ -28,7 +28,7 @@ gem 'rails', '~> 7.0.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bootsnap', '~> 1.17.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bootsnap', '~> 1.17.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ipaddr', '~> 1.2.5' # rubocop:todo Gemfile/MissingFeatureCategory
@ -133,11 +133,11 @@ gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap' # rubocop:todo
gem 'net-ldap', '~> 0.17.1' # rubocop:todo Gemfile/MissingFeatureCategory
# API
gem 'grape', '~> 1.7.1', feature_category: :api
gem 'grape', '~> 2.0.0', 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', '~> 2.0.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 'grape-path-helpers', '~> 2.0.0', feature_category: :api
gem 'rack-cors', '~> 2.0.1', require: 'rack/cors' # rubocop:todo Gemfile/MissingFeatureCategory
# GraphQL API
@ -203,17 +203,17 @@ gem 'seed-fu', '~> 2.3.7' # rubocop:todo Gemfile/MissingFeatureCategory
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.190.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-core', '~> 3.190.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-cloudformation', '~> 1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-s3', '~> 1.141.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'aws-sdk-s3', '~> 1.142.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' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'deckar01-task_list', '2.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'html-pipeline', '~> 2.14.3', feature_category: :team_planning
gem 'deckar01-task_list', '2.3.3', feature_category: :team_planning
gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'commonmarker', '~> 0.23.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'commonmarker', '~> 0.23.10', feature_category: :team_planning
gem 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'RedCloth', '~> 4.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'org-ruby', '~> 0.9.12' # rubocop:todo Gemfile/MissingFeatureCategory
@ -225,7 +225,8 @@ gem 'asciidoctor-plantuml', '~> 0.0.16' # rubocop:todo Gemfile/MissingFeatureCat
gem 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rouge', '~> 4.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'truncato', '~> 0.7.12' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'nokogiri', '~> 1.15', '>= 1.15.5' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'nokogiri', '~> 1.16' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-glfm-markdown', '~> 0.0.11', feature_category: :team_planning
# Calendar rendering
gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory
@ -240,7 +241,7 @@ gem 'rack', '~> 2.2.8' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
group :puma do
gem 'puma', '~> 6.4', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'puma', '= 6.4.0', require: false, feature_category: :shared
gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
end
@ -251,7 +252,7 @@ gem 'state_machines-activerecord', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeat
gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Background jobs
gem 'sidekiq', '~> 6.5.10' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sidekiq', '~> 7.1.6' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'sidekiq-cron', '~> 1.12.0', feature_category: :shared
gem 'gitlab-sidekiq-fetcher', path: 'vendor/gems/sidekiq-reliable-fetch', require: 'sidekiq-reliable-fetch' # rubocop:todo Gemfile/MissingFeatureCategory
@ -268,7 +269,7 @@ gem 'rainbow', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
# Linear-time regex library for untrusted regular expressions
gem 're2', '2.5.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 're2', '2.6.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Misc
@ -288,7 +289,7 @@ gem 'redis-namespace', '~> 1.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
# Redis session store
gem 'redis-actionpack', '~> 5.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'redis-actionpack', '~> 5.4.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Discord integration
gem 'discordrb-webhooks', '~> 3.4', require: false, feature_category: :integrations
@ -366,7 +367,7 @@ gem 'gitlab-http', path: 'gems/gitlab-http' # rubocop:todo Gemfile/MissingFeatur
gem 'premailer-rails', '~> 1.10.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-labkit', '~> 0.34.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab-labkit', '~> 0.35.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory
# I18n
@ -387,7 +388,7 @@ gem 'snowplow-tracker', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
# Metrics
gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'prometheus-client-mmap', '~> 1.0', '>= 1.0.2', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'prometheus-client-mmap', '~> 1.1', require: 'prometheus/client' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'warning', '~> 1.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -406,7 +407,7 @@ group :development do
gem 'listen', '~> 3.7' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'ruby-lsp', "~> 0.13.1", require: false, feature_category: :tooling
gem 'ruby-lsp', "~> 0.13.2", require: false, feature_category: :tooling
gem 'ruby-lsp-rails', "~> 0.2.8", feature_category: :tooling
@ -416,7 +417,7 @@ end
group :development, :test do
gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bullet', '~> 7.1.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'parser', '~> 3.2', '>= 3.2.2.4' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'parser', '~> 3.3', '>= 3.3.0.2' # 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
@ -424,7 +425,7 @@ group :development, :test do
gem 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'database_cleaner-active_record', '~> 2.1.0', feature_category: :database
gem 'factory_bot_rails', '~> 6.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'factory_bot_rails', '~> 6.4.3' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'rspec-rails', '~> 6.1.0', feature_category: :shared
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
@ -435,7 +436,7 @@ group :development, :test do
gem 'gitlab-styles', '~> 11.0.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'haml_lint', '~> 0.52', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'haml_lint', '~> 0.53', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
# Benchmarking & profiling
@ -457,7 +458,7 @@ group :development, :test do
gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pact', '~> 1.63' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'pact', '~> 1.64' # rubocop:todo Gemfile/MissingFeatureCategory
# For now we only use vite in development / test, and not for production builds
# See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
@ -472,7 +473,7 @@ group :development, :test, :danger do
end
group :development, :test, :coverage do
gem 'simplecov', '~> 0.21', require: false, feature_category: :tooling
gem 'simplecov', '~> 0.22', 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
@ -511,12 +512,12 @@ group :test do
gem 'test-prof', '~> 1.3.1' # 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
gem 'axe-core-rspec', '~> 4.8.0', feature_category: :tooling
# Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
gem 'gitlab_quality-test_tooling', '~> 1.9.0', require: false, feature_category: :tooling
gem 'gitlab_quality-test_tooling', '~> 1.11.0', require: false, feature_category: :tooling
end
gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory
@ -558,7 +559,7 @@ gem 'kas-grpc', '~> 0.3.0', feature_category: :deployment_management
gem 'grpc', '~> 1.58.0' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-protobuf', '~> 3.25', '>= 3.25.1' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'google-protobuf', '~> 3.25', '>= 3.25.2' # rubocop:todo Gemfile/MissingFeatureCategory
gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory

View File

@ -33,6 +33,7 @@ PATH
remote: gems/gitlab-housekeeper
specs:
gitlab-housekeeper (0.1.0)
activesupport
httparty
rubocop
@ -44,7 +45,6 @@ PATH
concurrent-ruby (~> 1.2)
httparty (~> 0.21.0)
ipaddress (~> 0.8.3)
nokogiri (~> 1.15.4)
railties (~> 7)
PATH
@ -66,6 +66,7 @@ PATH
remote: gems/gitlab-safe_request_store
specs:
gitlab-safe_request_store (0.1.0)
rack (~> 2.2.8)
request_store
PATH
@ -79,6 +80,7 @@ PATH
remote: gems/gitlab-secret_detection
specs:
gitlab-secret_detection (0.1.0)
parallel (~> 1.22)
re2 (~> 2.4)
toml-rb (~> 2.2)
@ -89,7 +91,6 @@ PATH
actionview (>= 6.1.7.2)
activesupport (>= 6.1.7.2)
addressable (~> 2.8)
nokogiri (~> 1.15.2)
rake (~> 13.0)
PATH
@ -179,9 +180,9 @@ PATH
PATH
remote: vendor/gems/sidekiq-reliable-fetch
specs:
gitlab-sidekiq-fetcher (0.10.0)
gitlab-sidekiq-fetcher (0.11.0)
json (>= 2.5)
sidekiq (~> 6.1)
sidekiq (~> 7.0)
GEM
remote: https://rubygems.org/
@ -296,28 +297,28 @@ GEM
awesome_print (1.9.2)
awrence (1.2.1)
aws-eventstream (1.3.0)
aws-partitions (1.761.0)
aws-partitions (1.877.0)
aws-sdk-cloudformation (1.41.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.190.0)
aws-sdk-core (3.190.2)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.64.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (1.76.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.141.0)
aws-sdk-s3 (1.142.0)
aws-sdk-core (~> 3, >= 3.189.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
axe-core-api (4.6.0)
axe-core-api (4.8.0)
dumb_delegator
virtus
axe-core-rspec (4.6.0)
axe-core-rspec (4.8.0)
axe-core-api
dumb_delegator
virtus
@ -352,7 +353,7 @@ GEM
bindata (2.4.11)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
bootsnap (1.17.0)
bootsnap (1.17.1)
msgpack (~> 1.2)
browser (5.3.1)
builder (3.2.4)
@ -500,7 +501,7 @@ GEM
jwt (>= 2.5)
dotenv (2.7.6)
dry-cli (1.0.0)
dry-core (1.0.0)
dry-core (1.0.1)
concurrent-ruby (~> 1.0)
zeitwerk (~> 2.6)
dry-inflector (1.0.0)
@ -552,10 +553,10 @@ GEM
expression_parser (0.9.0)
extended-markdown-filter (0.7.0)
html-pipeline (~> 2.9)
factory_bot (6.2.0)
factory_bot (6.4.5)
activesupport (>= 5.0.0)
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
factory_bot_rails (6.4.3)
factory_bot (~> 6.4)
railties (>= 5.0.0)
faraday (1.10.0)
faraday-em_http (~> 1.0)
@ -596,7 +597,6 @@ GEM
rake
ffi-yajl (2.6.0)
libyajl2 (>= 1.2)
filelock (1.1.1)
find_a_port (1.0.1)
flipper (0.26.2)
concurrent-ruby (< 2)
@ -693,13 +693,15 @@ GEM
fog-core (= 2.1.0)
fog-json (~> 1.2.0)
mime-types
gitlab-labkit (0.34.0)
gitlab-glfm-markdown (0.0.11)
rb_sys (~> 0.9.86)
gitlab-labkit (0.35.0)
actionpack (>= 5.0.0, < 8.0.0)
activesupport (>= 5.0.0, < 8.0.0)
grpc (>= 1.37)
jaeger-client (~> 1.1.0)
opentracing (~> 0.4)
pg_query (~> 4.2.3)
pg_query (>= 4.2.3, < 6.0)
redis (> 3.0.0, < 6.0.0)
gitlab-license (2.3.0)
gitlab-mail_room (0.0.24)
@ -727,7 +729,7 @@ GEM
omniauth (>= 1.3, < 3)
pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
rubyntlm (~> 0.5)
gitlab_quality-test_tooling (1.9.0)
gitlab_quality-test_tooling (1.11.0)
activesupport (>= 6.1, < 7.2)
amatch (~> 0.4.1)
gitlab (~> 4.19)
@ -798,7 +800,7 @@ GEM
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
google-protobuf (3.25.1)
google-protobuf (3.25.2)
googleapis-common-protos (1.4.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.2)
@ -814,23 +816,24 @@ GEM
signet (>= 0.16, < 2.a)
gpgme (2.0.23)
mini_portile2 (~> 2.7)
grape (1.7.1)
activesupport
grape (2.0.0)
activesupport (>= 5)
builder
dry-types (>= 1.1)
mustermann-grape (~> 1.0.0)
rack (>= 1.3.0, < 3)
rack (>= 1.3.0)
rack-accept
grape-entity (0.10.0)
activesupport (>= 3.0.0)
multi_json (>= 1.3.2)
grape-path-helpers (1.7.1)
grape-path-helpers (2.0.1)
activesupport
grape (~> 1.3)
grape (~> 2.0)
rake (> 12)
ruby2_keywords (~> 0.0.2)
grape-swagger (1.6.1)
grape (~> 1.3)
grape-swagger (2.0.1)
grape (>= 1.7, < 3.0)
rack-test (~> 2)
grape-swagger-entity (0.5.1)
grape-entity (>= 0.6.0)
grape-swagger (>= 1.2.0)
@ -879,8 +882,8 @@ GEM
haml (5.2.2)
temple (>= 0.8.0)
tilt
haml_lint (0.52.0)
haml (>= 4.0)
haml_lint (0.53.0)
haml (>= 5.0)
parallel (~> 1.10)
rainbow
rubocop (>= 1.0)
@ -1104,9 +1107,9 @@ GEM
net-protocol
net-ssh (7.2.0)
netrc (0.11.0)
nio4r (2.5.8)
nio4r (2.7.0)
no_proxy_fix (0.1.2)
nokogiri (1.15.5)
nokogiri (1.16.0)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
notiffany (0.1.3)
@ -1206,31 +1209,29 @@ GEM
rubypants (~> 0.2)
orm_adapter (0.5.0)
os (1.1.4)
pact (1.63.0)
pact (1.64.0)
pact-mock_service (~> 3.0, >= 3.3.1)
pact-support (~> 1.16, >= 1.16.9)
rack-test (>= 0.6.3, < 3.0.0)
rspec (~> 3.0)
term-ansicolor (~> 1.0)
term-ansicolor (~> 1.7)
thor (>= 0.20, < 2.0)
webrick (~> 1.3)
pact-mock_service (3.10.0)
filelock (~> 1.1)
webrick (~> 1.8)
pact-mock_service (3.11.2)
find_a_port (~> 1.0.1)
json
pact-support (~> 1.16, >= 1.16.4)
rack (~> 2.0)
rspec (>= 2.14)
term-ansicolor (~> 1.0)
thor (>= 0.19, < 2.0)
webrick (~> 1.3)
pact-support (1.18.1)
webrick (~> 1.8)
pact-support (1.20.0)
awesome_print (~> 1.9)
diff-lcs (~> 1.4)
diff-lcs (~> 1.5)
expgen (~> 0.1)
rainbow (~> 3.1.1)
parallel (1.22.1)
parser (3.2.2.4)
parser (3.3.0.2)
ast (~> 2.4.1)
racc
parslet (1.8.2)
@ -1253,13 +1254,13 @@ GEM
prime (0.1.2)
forwardable
singleton
prism (0.18.0)
prism (0.19.0)
proc_to_ast (0.1.0)
coderay
parser
unparser
prometheus-client-mmap (1.0.2)
rb_sys (~> 0.9)
prometheus-client-mmap (1.1.0)
rb_sys (~> 0.9.86)
protocol (2.0.0)
ruby_parser (~> 3.0)
pry (0.14.2)
@ -1297,6 +1298,8 @@ GEM
rack
rack-proxy (0.7.7)
rack
rack-session (1.0.2)
rack (< 3)
rack-test (2.1.0)
rack (>= 1.3)
rack-timeout (0.6.3)
@ -1321,8 +1324,9 @@ GEM
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
rails-i18n (7.0.3)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
@ -1338,31 +1342,33 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rb_sys (0.9.83)
rb_sys (0.9.86)
rbtrace (0.4.14)
ffi (>= 1.0.6)
msgpack (>= 0.4.3)
optimist (>= 3.0.0)
rbtree (0.4.6)
rchardet (1.8.0)
re2 (2.5.0)
re2 (2.6.0)
mini_portile2 (~> 2.8.5)
recaptcha (5.12.3)
json
recursive-open-struct (1.1.3)
redcarpet (3.6.0)
redis (4.8.0)
redis-actionpack (5.3.0)
redis-actionpack (5.4.0)
actionpack (>= 5, < 8)
redis-rack (>= 2.1.0, < 3)
redis-rack (>= 2.1.0, < 4)
redis-store (>= 1.1.0, < 2)
redis-client (0.19.0)
connection_pool
redis-namespace (1.10.0)
redis (>= 4)
redis-rack (2.1.4)
rack (>= 2.0.8, < 3)
redis-rack (3.0.0)
rack-session (>= 0.2.0)
redis-store (>= 1.2, < 2)
redis-store (1.9.1)
redis (>= 4, < 5)
redis-store (1.10.0)
redis (>= 4, < 6)
regexp_parser (2.6.0)
regexp_property_values (1.0.0)
representable (3.2.0)
@ -1469,9 +1475,9 @@ GEM
ruby-fogbugz (0.3.0)
crack (~> 0.4)
multipart-post (~> 2.0)
ruby-lsp (0.13.1)
ruby-lsp (0.13.2)
language_server-protocol (~> 3.17.0)
prism (>= 0.18.0, < 0.19)
prism (>= 0.19.0, < 0.20)
sorbet-runtime (>= 0.5.5685)
ruby-lsp-rails (0.2.8)
actionpack (>= 6.0)
@ -1542,10 +1548,11 @@ GEM
shellany (0.0.1)
shoulda-matchers (5.1.0)
activesupport (>= 5.2.0)
sidekiq (6.5.12)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
sidekiq (7.1.6)
concurrent-ruby (< 2)
connection_pool (>= 2.3.0)
rack (>= 2.2.4)
redis-client (>= 0.14.0)
sidekiq-cron (1.12.0)
fugit (~> 1.8)
globalid (>= 1.0.1)
@ -1713,7 +1720,7 @@ GEM
unparser (0.6.7)
diff-lcs (~> 1.3)
parser (>= 3.2.0)
uri (0.12.2)
uri (0.13.0)
uri_template (0.7.0)
valid_email (0.1.3)
activemodel
@ -1808,9 +1815,9 @@ DEPENDENCIES
autoprefixer-rails (= 10.2.5.1)
awesome_print
aws-sdk-cloudformation (~> 1)
aws-sdk-core (~> 3.190.0)
aws-sdk-s3 (~> 1.141.0)
axe-core-rspec
aws-sdk-core (~> 3.190.2)
aws-sdk-s3 (~> 1.142.0)
axe-core-rspec (~> 4.8.0)
babosa (~> 2.0)
base32 (~> 0.3.0)
batch-loader (~> 2.0.1)
@ -1818,7 +1825,7 @@ DEPENDENCIES
benchmark-ips (~> 2.11.0)
benchmark-memory (~> 0.1)
better_errors (~> 2.10.1)
bootsnap (~> 1.17.0)
bootsnap (~> 1.17.1)
browser (~> 5.3.1)
bullet (~> 7.1.2)
bundler-audit (~> 0.9.1)
@ -1861,7 +1868,7 @@ DEPENDENCIES
email_reply_trimmer (~> 0.1)
email_spec (~> 2.2.0)
error_tracking_open_api!
factory_bot_rails (~> 6.2.0)
factory_bot_rails (~> 6.4.3)
faraday (~> 1.0)
faraday_middleware-aws-sigv4 (~> 0.3.0)
fast_blank (~> 1.0.1)
@ -1884,9 +1891,10 @@ DEPENDENCIES
gitlab-dangerfiles (~> 4.6.0)
gitlab-experiment (~> 0.9.1)
gitlab-fog-azure-rm (~> 1.8.0)
gitlab-glfm-markdown (~> 0.0.11)
gitlab-housekeeper!
gitlab-http!
gitlab-labkit (~> 0.34.0)
gitlab-labkit (~> 0.35.0)
gitlab-license (~> 2.3)
gitlab-mail_room (~> 0.0.24)
gitlab-markup (~> 1.9.0)
@ -1902,7 +1910,7 @@ DEPENDENCIES
gitlab-utils!
gitlab_chronic_duration (~> 0.12)
gitlab_omniauth-ldap (~> 2.2.0)
gitlab_quality-test_tooling (~> 1.9.0)
gitlab_quality-test_tooling (~> 1.11.0)
gon (~> 6.4.0)
google-apis-androidpublisher_v3 (~> 0.34.0)
google-apis-cloudbilling_v1 (~> 0.21.0)
@ -1916,12 +1924,12 @@ DEPENDENCIES
google-apis-sqladmin_v1beta4 (~> 0.41.0)
google-apis-storage_v1 (~> 0.29)
google-cloud-storage (~> 1.45.0)
google-protobuf (~> 3.25, >= 3.25.1)
google-protobuf (~> 3.25, >= 3.25.2)
gpgme (~> 2.0.23)
grape (~> 1.7.1)
grape (~> 2.0.0)
grape-entity (~> 0.10.0)
grape-path-helpers (~> 1.7.1)
grape-swagger (~> 1.6.1)
grape-path-helpers (~> 2.0.0)
grape-swagger (~> 2.0.1)
grape-swagger-entity (~> 0.5.1)
grape_logging (~> 1.8)
graphiql-rails (~> 1.8.0)
@ -1932,7 +1940,7 @@ DEPENDENCIES
grpc (~> 1.58.0)
gssapi (~> 1.3.1)
guard-rspec
haml_lint (~> 0.52)
haml_lint (~> 0.53)
hamlit (~> 2.15.0)
hashie (~> 5.0.0)
health_check (~> 3.0)
@ -1979,7 +1987,7 @@ DEPENDENCIES
net-ldap (~> 0.17.1)
net-ntp
net-protocol (~> 0.1.3)
nokogiri (~> 1.15, >= 1.15.5)
nokogiri (~> 1.16)
oauth2 (~> 2.0)
octokit (~> 6.0)
ohai (~> 18.1)
@ -2007,20 +2015,20 @@ DEPENDENCIES
openssl (~> 3.0)
org-ruby (~> 0.9.12)
os (~> 1.1)
pact (~> 1.63)
pact (~> 1.64)
parallel (~> 1.19)
parser (~> 3.2, >= 3.2.2.4)
parser (~> 3.3, >= 3.3.0.2)
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 (~> 1.0, >= 1.0.2)
prometheus-client-mmap (~> 1.1)
pry-byebug
pry-rails (~> 0.3.9)
pry-shell (~> 0.6.4)
puma (~> 6.4)
puma (= 6.4.0)
rack (~> 2.2.8)
rack-attack (~> 6.7.0)
rack-cors (~> 2.0.1)
@ -2032,10 +2040,10 @@ DEPENDENCIES
rails-i18n (~> 7.0)
rainbow (~> 3.0)
rbtrace (~> 0.4)
re2 (= 2.5.0)
re2 (= 2.6.0)
recaptcha (~> 5.12)
redis (~> 4.8.0)
redis-actionpack (~> 5.3.0)
redis-actionpack (~> 5.4.0)
redis-namespace (~> 1.10.0)
request_store (~> 1.5.1)
responders (~> 3.0)
@ -2051,7 +2059,7 @@ DEPENDENCIES
rspec_profiling (~> 0.0.6)
rubocop
ruby-fogbugz (~> 0.3.0)
ruby-lsp (~> 0.13.1)
ruby-lsp (~> 0.13.2)
ruby-lsp-rails (~> 0.2.8)
ruby-lsp-rspec (~> 0.1.8)
ruby-magic (~> 0.6)
@ -2071,11 +2079,11 @@ DEPENDENCIES
sentry-ruby (~> 5.10.0)
sentry-sidekiq (~> 5.10.0)
shoulda-matchers (~> 5.1.0)
sidekiq (~> 6.5.10)
sidekiq (~> 7.1.6)
sidekiq-cron (~> 1.12.0)
sigdump (~> 0.2.4)
simple_po_parser (~> 1.1.6)
simplecov (~> 0.21)
simplecov (~> 0.22)
simplecov-cobertura (~> 2.1.0)
simplecov-lcov (~> 0.8.0)
slack-messenger (~> 2.3.4)
@ -2117,4 +2125,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4.3)
BUNDLED WITH
2.4.22
2.5.4

View File

@ -389,10 +389,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1whf6ppvdibfpsr660ajncig3hyc6q9dvnx645ajrjfz3r7487i9";
sha256 = "1zcwrlg4in3gzvsiynpzp9fzlr5grrhc2881xcgfs01ppmxysllm";
type = "gem";
};
version = "1.761.0";
version = "1.877.0";
};
aws-sdk-cloudformation = {
dependencies = ["aws-sdk-core" "aws-sigv4"];
@ -411,10 +411,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19nglxz49nlzgsvnivb3bdm17vxjn1ng2br8659xv48nzjrmyid3";
sha256 = "0z9f8ypvpwj3sfqh3nlnhrq7ryhrv7isqzg370fba27zpy7bv5sx";
type = "gem";
};
version = "3.190.0";
version = "3.190.2";
};
aws-sdk-kms = {
dependencies = ["aws-sdk-core" "aws-sigv4"];
@ -422,10 +422,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1bcm0c9f7xy5qj5f0z3gddqslhb2vzrj9smc39pgqyq4jmn5kpj0";
sha256 = "0jfgw9a9c8xyjhkmgpd9rpi95h9i0rhbqszn8iqkbfm9rc9m1xz7";
type = "gem";
};
version = "1.64.0";
version = "1.76.0";
};
aws-sdk-s3 = {
dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@ -433,10 +433,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bnhpmi0iiaj88rqc5lhhnp2gyrk4fs8xz51lj36wwzng94qinya";
sha256 = "1sfpipfdmixpc0madfx1yvpwpv52fdhxfx4bmvrjxzb6ra78ikbr";
type = "gem";
};
version = "1.141.0";
version = "1.142.0";
};
aws-sigv4 = {
dependencies = ["aws-eventstream"];
@ -455,10 +455,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qkcia7yg50j0ycmzqnl2dzzz9a35wlg5fk30g0qs41z6p1xw38v";
sha256 = "0bx67lskxslfd2mpim3kqrxa4sx4qhvnpjpr57j1ll2xppyl9kw8";
type = "gem";
};
version = "4.6.0";
version = "4.8.0";
};
axe-core-rspec = {
dependencies = ["axe-core-api" "dumb_delegator" "virtus"];
@ -466,10 +466,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zvlrnxcyam2574gzn44r0ibz4h0s9j3vrp5lixi731qvp4mphhi";
sha256 = "07niarqd2lrbgnw00biyigc48lbdv4vy68p57myliz7k82nizidj";
type = "gem";
};
version = "4.6.0";
version = "4.8.0";
};
axiom-types = {
dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
@ -653,10 +653,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0iqkzby0fdgi786m873nm0ckmc847wy9a4ydinb29m7hd3fs83kb";
sha256 = "028qif22isxa5sg5gf1322d0qjhir5rr0jpkaiwcic4lspacdcnv";
type = "gem";
};
version = "1.17.0";
version = "1.17.1";
};
browser = {
groups = ["default"];
@ -1391,10 +1391,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01gks2hrp7nl3pzb487azvd25dlbrc40d5cpk4n0szwnf2c0k4ks";
sha256 = "03a5qn74c4lk2rpy6wlhv66synjlyzc4wn086xzphkpmw12l4bzk";
type = "gem";
};
version = "1.0.0";
version = "1.0.1";
};
dry-inflector = {
groups = ["default" "development" "test"];
@ -1674,10 +1674,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi";
sha256 = "1glq677vmd3xrdilcx6ar8sdaysm9ldrppg34yzw43jzr6dx47fp";
type = "gem";
};
version = "6.2.0";
version = "6.4.5";
};
factory_bot_rails = {
dependencies = ["factory_bot" "railties"];
@ -1685,10 +1685,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18fhcihkc074gk62iwqgbdgc3ymim4fm0b4p3ipffy5hcsb9d2r7";
sha256 = "1j6w4rr2cb5wng9yrn2ya9k40q52m0pbz47kzw8xrwqg3jncwwza";
type = "gem";
};
version = "6.2.0";
version = "6.4.3";
};
faraday = {
dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
@ -1897,16 +1897,6 @@ src:
};
version = "2.6.0";
};
filelock = {
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "085vrb6wf243iqqnrrccwhjd4chphfdsybkvjbapa2ipfj1ja1sj";
type = "gem";
};
version = "1.1.1";
};
find_a_port = {
groups = ["default" "development" "test"];
platforms = [];
@ -2220,8 +2210,19 @@ src:
};
version = "1.8.0";
};
gitlab-glfm-markdown = {
dependencies = ["rb_sys"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0z0h4bvfvlwyfx8ia03lr9dlpy38n75v2wxh424v6fhy4z08ycab";
type = "gem";
};
version = "0.0.11";
};
gitlab-housekeeper = {
dependencies = ["httparty" "rubocop"];
dependencies = ["activesupport" "httparty" "rubocop"];
groups = ["development" "test"];
platforms = [];
source = {
@ -2231,7 +2232,7 @@ src:
version = "0.1.0";
};
gitlab-http = {
dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "nokogiri" "railties"];
dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "railties"];
groups = ["default"];
platforms = [];
source = {
@ -2246,10 +2247,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k9yd8b1xbq3l6l1n4pb0mh2wklz0ninr7h2l5xx031r05150p6a";
sha256 = "0ya6r3ij0fzz6p50h157bn224n7405nwak6lx80ppvil9sm0dzr6";
type = "gem";
};
version = "0.34.0";
version = "0.35.0";
};
gitlab-license = {
groups = ["default"];
@ -2313,7 +2314,7 @@ src:
version = "0.1.0";
};
gitlab-safe_request_store = {
dependencies = ["request_store"];
dependencies = ["rack" "request_store"];
groups = ["default"];
platforms = [];
source = {
@ -2344,7 +2345,7 @@ src:
version = "0.2.3";
};
gitlab-secret_detection = {
dependencies = ["re2" "toml-rb"];
dependencies = ["parallel" "re2" "toml-rb"];
groups = ["default"];
platforms = [];
source = {
@ -2361,7 +2362,7 @@ src:
path = "${src}/vendor/gems/sidekiq-reliable-fetch";
type = "path";
};
version = "0.10.0";
version = "0.11.0";
};
gitlab-styles = {
dependencies = ["rubocop" "rubocop-graphql" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
@ -2375,7 +2376,7 @@ src:
version = "11.0.0";
};
gitlab-utils = {
dependencies = ["actionview" "activesupport" "addressable" "nokogiri" "rake"];
dependencies = ["actionview" "activesupport" "addressable" "rake"];
groups = ["monorepo"];
platforms = [];
source = {
@ -2412,10 +2413,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18m35p6kizkaw829lwvh6mc7r8q94gmyhkq9qggx7r78h8iafiqd";
sha256 = "0anhwfn9dnd8zkjwkq3qycjswfxqksfnwvl7dr6azz2zvjnxnii1";
type = "gem";
};
version = "1.9.0";
version = "1.11.0";
};
globalid = {
dependencies = ["activesupport"];
@ -2663,10 +2664,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18yiqq657lbqbrbdfbxfspdrkiynd0wf49l3cgdw939z36cy0h77";
sha256 = "02sh4rp14wmpfv9r7xrap6xgcakg0lk6zjvq1gsi5y38swhn2blw";
type = "gem";
};
version = "3.25.1";
version = "3.25.2";
};
googleapis-common-protos = {
dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
@ -2718,10 +2719,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1dnbb3gxwbmvhzvzb22prwaim9wmvilm0nm91ndw2ggf324rsrvb";
sha256 = "0jj98w80ry1ir8lc3347130s0z8yd7gk727r9ynwwk782x6gkvrs";
type = "gem";
};
version = "1.7.1";
version = "2.0.0";
};
grape-entity = {
dependencies = ["activesupport" "multi_json"];
@ -2740,21 +2741,21 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ql1acy68n9xkvjzda1vpscf20zqqwjm959b7cx3w1yl40d2f9rf";
sha256 = "1mq2cwy0jvprq3wdilds1n865jdl58sqg00im4w6fybf5kjiclmd";
type = "gem";
};
version = "1.7.1";
version = "2.0.1";
};
grape-swagger = {
dependencies = ["grape"];
dependencies = ["grape" "rack-test"];
groups = ["development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17y6smk7shplblgic4jvi5njhd0x91n1xrvds3l6cjsjfs2d7lhg";
sha256 = "1467ni6f0yy4z3qldjs8x0h50n9ym6zyjbx5gqqzbq6zhvgbx40g";
type = "gem";
};
version = "1.6.1";
version = "2.0.1";
};
grape-swagger-entity = {
dependencies = ["grape-entity" "grape-swagger"];
@ -2913,10 +2914,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1shlh68vjqyj092ig2b571anbr5npg8kp66a7cq5h9a1387nnckn";
sha256 = "060vz5dx0ag3ggpwhwfcadfim0g8aabl0b1dvnzagizymfsw2g92";
type = "gem";
};
version = "0.52.0";
version = "0.53.0";
};
hamlit = {
dependencies = ["temple" "thor" "tilt"];
@ -4040,10 +4041,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm";
type = "gem";
};
version = "2.5.8";
version = "2.7.0";
};
no_proxy_fix = {
groups = ["default" "development"];
@ -4061,10 +4062,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl";
type = "gem";
};
version = "1.15.5";
version = "1.16.0";
};
notiffany = {
dependencies = ["nenv" "shellany"];
@ -4466,21 +4467,21 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ldi3j95dh3c29w4bliykfdd08r95d4zvbdblk385w9b4knr2afc";
sha256 = "1a3fbwzzzdsbzipv63mcq1q761mqc6w8k1vxkbrbf3aqi2489p8b";
type = "gem";
};
version = "1.63.0";
version = "1.64.0";
};
pact-mock_service = {
dependencies = ["filelock" "find_a_port" "json" "pact-support" "rack" "rspec" "term-ansicolor" "thor" "webrick"];
dependencies = ["find_a_port" "json" "pact-support" "rack" "rspec" "thor" "webrick"];
groups = ["default" "development" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09syv4y0g0pvjshxj8i0yg7mrvszgp503is1b78k86bgv6wc73l9";
sha256 = "0lds3xpkrx91lm74pa3n5167c8mkmqyki9axj7bjj0m18r2ybna2";
type = "gem";
};
version = "3.10.0";
version = "3.11.2";
};
pact-support = {
dependencies = ["awesome_print" "diff-lcs" "expgen" "rainbow"];
@ -4488,10 +4489,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xh4idg0m1mr0pkywj5f79nlr4g6n4waism86gj34h8wicf9c9aa";
sha256 = "0waq8ywxhljm5sjk7m3q7f6s2pvcfshg3ncs9dl7kcsg2ail7hs1";
type = "gem";
};
version = "1.18.1";
version = "1.20.0";
};
parallel = {
groups = ["development" "test"];
@ -4509,10 +4510,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
sha256 = "181faqz59p2mbfab5q4l1r298pq0nxl0k85rjcb58g0lardmv321";
type = "gem";
};
version = "3.2.2.4";
version = "3.3.0.2";
};
parslet = {
groups = ["default" "development" "test"];
@ -4625,10 +4626,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "172qxf1zyrhxzwbn4c7gz12zdyb1jkdqrqvb2c7863lmxp53rrxs";
sha256 = "0qiv9irrca2la1awqgvzsg7a17z2nydqyq43w4fhapdkq2l7xwa7";
type = "gem";
};
version = "0.18.0";
version = "0.19.0";
};
proc_to_ast = {
dependencies = ["coderay" "parser" "unparser"];
@ -4647,10 +4648,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xfy4g3bwgqb1hn948aw3zfwxvak3886gxdyf0cnajzjfp9z33pq";
sha256 = "19mi424kwalrzdm7cvzjx2w0rw778mxqb75y9wn20nc277nxglvb";
type = "gem";
};
version = "1.0.2";
version = "1.1.0";
};
protocol = {
dependencies = ["ruby_parser"];
@ -4834,6 +4835,17 @@ src:
};
version = "0.7.7";
};
rack-session = {
dependencies = ["rack"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0";
type = "gem";
};
version = "1.0.2";
};
rack-test = {
dependencies = ["rack"];
groups = ["default" "development" "test"];
@ -4889,15 +4901,15 @@ src:
version = "2.0.3";
};
rails-html-sanitizer = {
dependencies = ["loofah"];
groups = ["default" "development" "test"];
dependencies = ["loofah" "nokogiri"];
groups = ["default" "development" "monorepo" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz";
sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6";
type = "gem";
};
version = "1.5.0";
version = "1.6.0";
};
rails-i18n = {
dependencies = ["i18n" "railties"];
@ -4967,10 +4979,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pj5qq4phswviw9vybvz4ql5921ddxkkmn9iywm992x0kbvhvn0f";
sha256 = "131sa2jvc7b1yld3nzc0xq7lvwvql7b8c09i0xv2brzjybammlv5";
type = "gem";
};
version = "0.9.83";
version = "0.9.86";
};
rbtrace = {
dependencies = ["ffi" "msgpack" "optimist"];
@ -5009,10 +5021,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ih6igmfcb4b9a8hd46ggn85zfyclz9h828d0xafy2pq5qlz9fs2";
sha256 = "0sj80r3gy4sb27mrgc6pwcf2lra669p8p81axdv2p5pfm6k3mqbq";
type = "gem";
};
version = "2.5.0";
version = "2.6.0";
};
recaptcha = {
dependencies = ["json"];
@ -5071,10 +5083,21 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0h4iq67p5jjkg9kny7ki6yzkivyakmhbp6ckkhl6mlnriw5avc9z";
sha256 = "0h1mx8shrzpcj27k9kw77f4cq7i217vxfd1ksqb4g485md4zc37i";
type = "gem";
};
version = "5.3.0";
version = "5.4.0";
};
redis-client = {
dependencies = ["connection_pool"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k9jaqsdc2s2qm713pdv19dawk1b11vxnfclsps7ra2szwisznbf";
type = "gem";
};
version = "0.19.0";
};
redis-namespace = {
dependencies = ["redis"];
@ -5088,15 +5111,15 @@ src:
version = "1.10.0";
};
redis-rack = {
dependencies = ["rack" "redis-store"];
dependencies = ["rack-session" "redis-store"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k3pn706wnf7lb24l6hwsi00c8rx693hvgfnccw3qj1y635ywwh8";
sha256 = "10438w0y1jbgr205zndvmz6md0mrqazh2j9fr88lvb8hms10pddb";
type = "gem";
};
version = "2.1.4";
version = "3.0.0";
};
redis-store = {
dependencies = ["redis"];
@ -5104,10 +5127,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0787fwmlvpx5k360dxlcs8r7vijgl2iyvh3zyvl7qyvgshw78k3v";
sha256 = "17mhr1g3lmacrgjndbmrklngy32g55165n53111q70kykx7qjn7j";
type = "gem";
};
version = "1.9.1";
version = "1.10.0";
};
regexp_parser = {
groups = ["default" "development" "test"];
@ -5502,10 +5525,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zsd9ax4xzk8y1hflzbmfq1l0fpflwqhrggd8x2f4j9ap6z464lg";
sha256 = "1g1vdas991rv6lrjppjxjbfyzif4jxbncrcg9shgzrmibzilbnwr";
type = "gem";
};
version = "0.13.1";
version = "0.13.2";
};
ruby-lsp-rails = {
dependencies = ["actionpack" "activerecord" "railties" "ruby-lsp" "sorbet-runtime"];
@ -5837,15 +5860,15 @@ src:
version = "5.1.0";
};
sidekiq = {
dependencies = ["connection_pool" "rack" "redis"];
dependencies = ["concurrent-ruby" "connection_pool" "rack" "redis-client"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl";
sha256 = "18j3g31ps6ga9nzza0z0d00qjrn810fhkhx2pqi3rvxwsmkdlnbq";
type = "gem";
};
version = "6.5.12";
version = "7.1.6";
};
sidekiq-cron = {
dependencies = ["fugit" "globalid" "sidekiq"];
@ -6670,10 +6693,10 @@ src:
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy";
sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96";
type = "gem";
};
version = "0.12.2";
version = "0.13.0";
};
uri_template = {
groups = ["default"];

View File

@ -62,7 +62,7 @@ let
cp contrib/hgk $out/bin
cat >> $out/etc/mercurial/hgrc << EOF
[extensions]
hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
hgk=$out/${python.sitePackages}/hgext/hgk.py
EOF
# setting HG so that hgk can be run itself as well (not only hg view)
WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}

View File

@ -106,6 +106,17 @@ rec {
url = "https://github.com/moby/moby/pull/43136.patch";
hash = "sha256-1WZfpVnnqFwLMYqaHLploOodls0gHF8OCp7MrM26iX8=";
})
] ++ lib.optionals (lib.versions.major version == "24") [
# docker_24 has LimitNOFILE set to "infinity", which causes a wide variety of issues in containers.
# Issues range from higher-than-usual ressource usage, to containers not starting at all.
# This patch (part of the release candidates for docker_25) simply removes this unit option
# making systemd use its default "1024:524288", which is sane. See commit message and/or the PR for
# more details: https://github.com/moby/moby/pull/45534
(fetchpatch {
name = "LimitNOFILE-systemd-default.patch";
url = "https://github.com/moby/moby/pull/45534/commits/c8930105bc9fc3c1a8a90886c23535cc6c41e130.patch";
hash = "sha256-nyGLxFrJaD0TrDqsAwOD6Iph0aHcFH9sABj1Fy74sec=";
})
];
postPatch = ''

View File

@ -34,7 +34,7 @@ runCommand testName {
for moduleName in $moduleNames; do
echo "checking pkg-config module $moduleName in $buildInputs"
set +e
version="$(pkg-config --modversion $moduleName)"
version="$($PKG_CONFIG --modversion $moduleName)"
r=$?
set -e
if [[ $r = 0 ]]; then
@ -42,7 +42,7 @@ runCommand testName {
printf '%s\t%s\n' "$moduleName" "$version" >> "$out"
else
echo "These modules were available in the input propagation closure:"
pkg-config --list-all
$PKG_CONFIG --list-all
echo " pkg-config module $moduleName was not found"
false
fi

View File

@ -0,0 +1,52 @@
{ lib
, pkgs
, alsa-lib
, plugins ? [ pkgs.alsa-plugins ]
, lndir
, symlinkJoin
, runCommand
}:
let
merged = symlinkJoin { name = "alsa-plugins-merged"; paths = plugins; };
in
runCommand "${alsa-lib.pname}-${alsa-lib.version}" {
meta = with lib; {
description = "wrapper to ease access to ALSA plugins";
platforms = platforms.linux;
maintainers = with maintainers; [ gm6k ];
};
outputs = alsa-lib.outputs;
} (
(
lib.concatMapStringsSep "\n" (
output: ''
mkdir ${builtins.placeholder output}
${lndir}/bin/lndir ${lib.attrByPath [output] null alsa-lib} \
${builtins.placeholder output}
''
) alsa-lib.outputs
) + ''
cp -r ${merged}/lib/alsa-lib $out/lib
(
echo $out | wc -c
echo ${alsa-lib} | wc -c
) | xargs echo | grep -q "^\(.*\) \1$" || (
echo cannot binary patch
exit 1
)
rm $out/lib/libasound.la
rm $out/lib/libasound.so.?.?.?
rm $dev/lib/pkgconfig/alsa.pc
rm $dev/nix-support/propagated-build-inputs
cp ${alsa-lib}/lib/libasound.la $out/lib
cp ${alsa-lib}/lib/libasound.so.?.?.? $out/lib
cp ${alsa-lib.dev}/lib/pkgconfig/alsa.pc $dev/lib/pkgconfig
cp ${alsa-lib.dev}/nix-support/propagated-build-inputs $dev/nix-support
sed -i \
$out/lib/libasound.la \
$out/lib/libasound.so.?.?.? \
$dev/lib/pkgconfig/alsa.pc \
$dev/nix-support/propagated-build-inputs \
-e "s@${alsa-lib}@$out@g"
''
)

View File

@ -2,17 +2,15 @@
let
pname = "anytype";
version = "0.37.3";
version = "0.38.0";
name = "Anytype-${version}";
nameExecutable = pname;
src = fetchurl {
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
name = "Anytype-${version}.AppImage";
sha256 = "sha256-W3p67L07XOEtXYluI+TvggXBdaNRadypZc9MO6QTh4M=";
hash = "sha256-tcAOj7omrhyyG8elnAvbj/FtYaYOBeBkclpPHhSoass=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in
appimageTools.wrapType2 {
in appimageTools.wrapType2 {
inherit name src;
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)

View File

@ -0,0 +1,18 @@
{ lib, buildGoModule, authentik }:
buildGoModule {
pname = "authentik-ldap-outpost";
inherit (authentik) version src;
vendorHash = "sha256-74rSuZrO5c7mjhHh0iQlJEkOslsFrcDb1aRXXC4RsUM=";
CGO_ENABLED = 0;
subPackages = [ "cmd/ldap" ];
meta = authentik.meta // {
description = "The authentik ldap outpost. Needed for the extendal ldap API.";
homepage = "https://goauthentik.io/docs/providers/ldap/";
mainProgram = "ldap";
};
}

View File

@ -0,0 +1,5 @@
{ callPackage }:
{
ldap = callPackage ./ldap.nix { };
}

View File

@ -0,0 +1,254 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, buildNpmPackage
, buildGoModule
, runCommand
, openapi-generator-cli
, nodejs
, python3
, codespell
, makeWrapper }:
let
version = "2023.10.7";
src = fetchFromGitHub {
owner = "goauthentik";
repo = "authentik";
rev = "version/${version}";
hash = "sha256-+1IdXRt28UZ2KTa0zsmjneNUOcutP99UUwqcYyVyqTI=";
};
meta = with lib; {
description = "The authentication glue you need";
changelog = "https://github.com/goauthentik/authentik/releases/tag/version%2F${version}";
homepage = "https://goauthentik.io/";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ jvanbruegge ];
};
website = buildNpmPackage {
pname = "authentik-website";
inherit version src meta;
npmDepsHash = "sha256-4dgFxEvMnp+35nSQNsEchtN1qoS5X2KzEbLPvMnyR+k=";
NODE_ENV = "production";
NODE_OPTIONS = "--openssl-legacy-provider";
postPatch = ''
cd website
'';
installPhase = ''
cp -r help $out
'';
npmInstallFlags = [ "--include=dev" ];
npmBuildScript = "build-docs-only";
};
clientapi = stdenvNoCC.mkDerivation {
pname = "authentik-client-api";
inherit version src meta;
postPatch = ''
rm Makefile
substituteInPlace ./scripts/api-ts-config.yaml \
--replace-fail '/local' "$(pwd)/"
'';
nativeBuildInputs = [ openapi-generator-cli ];
buildPhase = ''
runHook preBuild
openapi-generator-cli generate -i ./schema.yml \
-g typescript-fetch -o $out \
-c ./scripts/api-ts-config.yaml \
--additional-properties=npmVersion=${nodejs.pkgs.npm.version} \
--git-repo-id authentik --git-user-id goauthentik
runHook postBuild
'';
};
webui = buildNpmPackage {
pname = "authentik-webui";
inherit version meta;
src = runCommand "authentik-webui-source" {} ''
mkdir -p $out/web/node_modules/@goauthentik/
cp -r ${src}/web $out/
ln -s ${src}/website $out/
ln -s ${clientapi} $out/web/node_modules/@goauthentik/api
'';
npmDepsHash = "sha256-5aCKlArtoEijGqeYiY3zoV0Qo7/Xt5hSXbmy2uYZpok=";
postPatch = ''
cd web
'';
installPhase = ''
runHook preInstall
mkdir $out
cp -r dist $out/dist
cp -r authentik $out/authentik
runHook postInstall
'';
NODE_ENV = "production";
NODE_OPTIONS = "--openssl-legacy-provider";
npmInstallFlags = [ "--include=dev" ];
};
python = python3.override {
self = python;
packageOverrides = final: prev: {
authentik-django = prev.buildPythonPackage {
pname = "authentik-django";
inherit version src meta;
pyproject = true;
postPatch = ''
substituteInPlace authentik/root/settings.py \
--replace-fail 'Path(__file__).absolute().parent.parent.parent' "\"$out\""
substituteInPlace authentik/lib/default.yml \
--replace-fail '/blueprints' "$out/blueprints"
substituteInPlace pyproject.toml \
--replace-fail 'dumb-init = "*"' "" \
--replace-fail 'djangorestframework-guardian' 'djangorestframework-guardian2'
'';
nativeBuildInputs = [ prev.poetry-core ];
propagatedBuildInputs = with prev; [
argon2-cffi
celery
channels
channels-redis
colorama
dacite
daphne
deepmerge
defusedxml
django
django-filter
django-guardian
django-model-utils
django-prometheus
django-redis
djangorestframework
djangorestframework-guardian2
docker
drf-spectacular
duo-client
facebook-sdk
flower
geoip2
gunicorn
httptools
kubernetes
ldap3
lxml
opencontainers
packaging
paramiko
psycopg
pycryptodome
pydantic
pydantic-scim
pyjwt
pyyaml
requests-oauthlib
sentry-sdk
structlog
swagger-spec-validator
twilio
twisted
ua-parser
urllib3
uvicorn
uvloop
watchdog
webauthn
websockets
wsproto
xmlsec
zxcvbn
jsonpatch
] ++ [
codespell
];
postInstall = ''
mkdir -p $out/web $out/website
cp -r lifecycle manage.py $out/${prev.python.sitePackages}/
cp -r blueprints $out/
cp -r ${webui}/dist ${webui}/authentik $out/web/
cp -r ${website} $out/website/help
ln -s $out/${prev.python.sitePackages}/lifecycle $out/lifecycle
'';
};
};
};
inherit (python.pkgs) authentik-django;
proxy = buildGoModule {
pname = "authentik-proxy";
inherit version src meta;
postPatch = ''
substituteInPlace internal/gounicorn/gounicorn.go \
--replace-fail './lifecycle' "${authentik-django}/lifecycle"
substituteInPlace web/static.go \
--replace-fail './web' "${authentik-django}/web"
substituteInPlace internal/web/static.go \
--replace-fail './web' "${authentik-django}/web"
'';
CGO_ENABLED = 0;
vendorHash = "sha256-74rSuZrO5c7mjhHh0iQlJEkOslsFrcDb1aRXXC4RsUM=";
postInstall = ''
mv $out/bin/server $out/bin/authentik
'';
subPackages = [ "cmd/server" ];
};
in stdenvNoCC.mkDerivation {
pname = "authentik";
inherit src version;
postPatch = ''
rm Makefile
patchShebangs lifecycle/ak
# This causes issues in systemd services
substituteInPlace lifecycle/ak \
--replace-fail 'printf' '>&2 printf' \
--replace-fail '> /dev/stderr' ""
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r lifecycle/ak $out/bin/
wrapProgram $out/bin/ak \
--prefix PATH : ${lib.makeBinPath [ (python.withPackages (ps: [ps.authentik-django])) proxy ]} \
--set TMPDIR /dev/shm \
--set PYTHONDONTWRITEBYTECODE 1 \
--set PYTHONUNBUFFERED 1
runHook postInstall
'';
nativeBuildInputs = [ makeWrapper ];
meta = meta // {
mainProgram = "ak";
};
}

View File

@ -13,10 +13,10 @@ let
}.${system} or throwSystem;
hash = {
x86_64-linux = "sha256-6ki5sIzypyBhCFhUDXlD3mT13o9A4OQ4cFFfCWTFPaA=";
aarch64-linux = "sha256-LoFDQDsQDRZZiyEpWmGTfEWE/kJDk4GNKA8AsoqxXmY=";
x86_64-darwin = "sha256-o13H5phQ0aWCchizRpIWuy1nO/19qoRRZNq52QHbINY=";
aarch64-darwin = "sha256-N7N1y3/C5Q4NT0fISjjUuU3a9IV1Ur5VEa/Z4wVoApU=";
x86_64-linux = "sha256-vS3rHYxsRTWejp2SAQk7gI/C6ElOYOjPA5cHxy7ef3U=";
aarch64-linux = "sha256-FxbJL5qzkVBPL6o52/gNJ8dC7Sgm/v5KFi8DL+SxiTc=";
x86_64-darwin = "sha256-zPas9sZzl9FqcsoqMxIjvW75JhexW/cuWvku8fPUS1Q=";
aarch64-darwin = "sha256-EZC9EEzilsm7H+oEr1Le5tNevWu1ldLB2UH0fS1RlLk=";
}.${system} or throwSystem;
bin = "$out/bin/codeium_language_server";
@ -24,7 +24,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "codeium";
version = "1.6.26";
version = "1.6.28";
src = fetchurl {
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "flarectl";
version = "0.86.0";
version = "0.87.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "cloudflare-go";
rev = "v${version}";
hash = "sha256-BGjay9DTlIU563bCSjprq5YwF47Xqj+ZulCda5t2t5I=";
hash = "sha256-M3Qc9PAcYASOQyEjWdGrLKx9h6uQGPftMJnD0Uc2buc=";
};
vendorHash = "sha256-Bn2SDvFWmmMYDpOe+KBuzyTZLpdDtYDPc8HixgEgX+M=";

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "littlefs-fuse";
version = "2.7.4";
version = "2.7.5";
src = fetchFromGitHub {
owner = "littlefs-project";
repo = pname;
rev = "v${version}";
hash = "sha256-S4yLe6xugr/cQOmf4vS09ebCqFuDPCXySJKACr0AUDU=";
hash = "sha256-sSnk1iQV5aHcOPqVKbigWqojrZKlJK5CcrVlwilT2mE=";
};
buildInputs = [ fuse ];
installPhase = ''

View File

@ -1 +1 @@
2024-01-15
2024-01-31

View File

@ -8,8 +8,8 @@ mkDerivation {
pname = "nixfmt";
version = "0.5.0";
src = fetchzip {
url = "https://github.com/piegamesde/nixfmt/archive/1eff7a84ac82fbebb5f586244f1c80e1fcc4f494.tar.gz";
sha256 = "1pg876sr58h7v087kbjsnfr4pzvqpwzibl06w2468qs1sywmd283";
url = "https://github.com/piegamesde/nixfmt/archive/d6930fd0c62c4d7ec9e4a814adc3d2f590d96271.tar.gz";
sha256 = "1ijrdzdwricv4asmy296j7gzvhambv96nlxi3qrxb4lj1by6a34m";
};
isLibrary = true;
isExecutable = true;

View File

@ -9,7 +9,6 @@
, timg
, xdg-utils
, xsel
,
}:
let
@ -31,10 +30,10 @@ let
xsel
];
in
python3Packages.buildPythonPackage rec {
python3Packages.buildPythonApplication rec {
pname = "offpunk";
version = "2.1";
format = "pyproject";
pyproject = true;
disabled = python3Packages.pythonOlder "3.7";
@ -55,7 +54,7 @@ python3Packages.buildPythonPackage rec {
passthru.tests.version = testers.testVersion { package = offpunk; };
meta = with lib; {
description = "An Offline-First browser for the smolnet ";
description = "A command-line and offline-first smolnet browser/feed reader";
homepage = src.meta.homepage;
maintainers = with maintainers; [ DamienCassou ];
platforms = platforms.linux;

View File

@ -74,7 +74,7 @@ python3Packages.buildPythonApplication rec {
makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \
--prefix PATH : ${lib.makeBinPath [ onedrive ]} \
--prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \
--add-flags $out/lib/${python3Packages.python.libPrefix}/site-packages/OneDriveGUI.py
--add-flags $out/${python3Packages.python.sitePackages}/OneDriveGUI.py
'';
meta = with lib; {

View File

@ -34,14 +34,14 @@ stdenv.mkDerivation (finalAttrs: {
+ lib.optionalString enableQt "-qt"
+ lib.optionalString (!enableQt) "-sdl"
+ lib.optionalString forceWayland "-wayland";
version = "1.16.6";
version = "1.17";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-FCdYvYKcV+0TpQUSWiooNlTXKYtqbfnAWwjk7M8iF1Q=";
hash = "sha256-BJWcaxUUxNDiSX3YnhwXhgbp3iymcrR493BKrtivn3U=";
};
postPatch = ''
@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
makeWrapper
pkg-config
python3
] ++ lib.optional enableQt wrapQtAppsHook;
] ++ lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = [
SDL2
@ -67,17 +67,17 @@ stdenv.mkDerivation (finalAttrs: {
] ++ lib.optionals enableQt [
qtbase
qtmultimedia
] ++ lib.optional enableVulkan vulkan-loader
] ++ lib.optionals enableVulkan [ vulkan-loader ]
++ lib.optionals vulkanWayland [ wayland libffi ];
cmakeFlags = [
"-DHEADLESS=${if enableQt then "OFF" else "ON"}"
"-DOpenGL_GL_PREFERENCE=GLVND"
"-DUSE_SYSTEM_FFMPEG=ON"
"-DUSE_SYSTEM_LIBZIP=ON"
"-DUSE_SYSTEM_SNAPPY=ON"
"-DUSE_WAYLAND_WSI=${if vulkanWayland then "ON" else "OFF"}"
"-DUSING_QT_UI=${if enableQt then "ON" else "OFF"}"
(lib.cmakeBool "HEADLESS" (!enableQt))
(lib.cmakeBool "USE_SYSTEM_FFMPEG" true)
(lib.cmakeBool "USE_SYSTEM_LIBZIP" true)
(lib.cmakeBool "USE_SYSTEM_SNAPPY" true)
(lib.cmakeBool "USE_WAYLAND_WSI" vulkanWayland)
(lib.cmakeBool "USING_QT_UI" enableQt)
(lib.cmakeFeature "OpenGL_GL_PREFERENCE" "GLVND")
];
desktopItems = [
@ -98,7 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
runHook preInstall
mkdir -p $out/share/{applications,ppsspp,icons}
'' + (if enableQt then ''
''
+ (if enableQt then ''
install -Dm555 PPSSPPQt $out/bin/ppsspp
wrapProgram $out/bin/ppsspp \
'' else ''
@ -106,9 +107,12 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm555 PPSSPPSDL $out/share/ppsspp/
makeWrapper $out/share/ppsspp/PPSSPPSDL $out/bin/ppsspp \
--set SDL_VIDEODRIVER ${if forceWayland then "wayland" else "x11"} \
'') + lib.optionalString enableVulkan ''
'')
+ lib.optionalString enableVulkan ''
--prefix LD_LIBRARY_PATH : ${vulkanPath} \
'' + "\n" + ''
''
+ ''
mv assets $out/share/ppsspp
mv ../icons/hicolor $out/share/icons
@ -119,8 +123,19 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://www.ppsspp.org/";
description = "A HLE Playstation Portable emulator, written in C++ ("
+ (if enableQt then "Qt" else "SDL + headless") + ")";
longDescription = ''
PPSSPP is a PSP emulator, which means that it can run games and other
software that was originally made for the Sony PSP.
The PSP had multiple types of software. The two most common are native PSP
games on UMD discs and downloadable games (that were stored in the
directory PSP/GAME on the "memory stick"). But there were also UMD Video
discs, and PS1 games that could run in a proprietary emulator. PPSSPP does
not run those.
'';
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.AndersonTorres ];
mainProgram = "ppsspp";
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,201 @@
{ lib
, buildNpmPackage
, gettext
, python3
, fetchFromGitHub
, nixosTests
}:
let
python = python3.override {
packageOverrides = final: prev: {
django-bootstrap4 = prev.django-bootstrap4.overridePythonAttrs (oldAttrs: rec {
version = "3.0.0";
src = oldAttrs.src.override {
rev = "v${version}";
hash = "sha256-a8BopUwZjmvxOzBVqs4fTo0SY8sEEloGUw90daYWfz8=";
};
propagatedBuildInputs = with final; [
beautifulsoup4
django
];
# fails with some assertions
doCheck = false;
});
};
};
version = "2023.1.3";
src = fetchFromGitHub {
owner = "pretalx";
repo = "pretalx";
rev = "v${version}";
hash = "sha256-YxmkjfftNrInIcSkK21wJXiEU6hbdDa1Od8p+HiLprs=";
};
meta = with lib; {
description = "Conference planning tool: CfP, scheduling, speaker management";
homepage = "https://github.com/pretalx/pretalx";
license = licenses.asl20;
maintainers = teams.c3d2.members;
platforms = platforms.linux;
};
frontend = buildNpmPackage {
pname = "pretalx-frontend";
inherit version src;
sourceRoot = "${src.name}/src/pretalx/frontend/schedule-editor";
npmDepsHash = "sha256-4cnBHZ8WpHgp/bbsYYbdtrhuD6ffUAZq9ZjoLpWGfRg=";
npmBuildScript = "build";
inherit meta;
};
in
python.pkgs.buildPythonApplication rec {
pname = "pretalx";
inherit version src;
pyproject = true;
outputs = [
"out"
"static"
];
postPatch = ''
substituteInPlace src/pretalx/common/management/commands/rebuild.py \
--replace 'subprocess.check_call(["npm", "run", "build"], cwd=frontend_dir, env=env)' ""
substituteInPlace src/setup.cfg \
--replace "--cov=./" ""
'';
nativeBuildInputs = [
gettext
python.pkgs.pythonRelaxDepsHook
];
pythonRelaxDeps = [
"bleach"
"cssutils"
"django-filter"
"django-formtools"
"libsass"
"markdown"
"pillow"
];
propagatedBuildInputs = with python.pkgs; [
beautifulsoup4
bleach
celery
css-inline
csscompressor
cssutils
defusedcsv
django
django-bootstrap4
django-compressor
django-context-decorator
django-countries
django-csp
django-filter
django-formset-js-improved
django-formtools
django-hierarkey
django-i18nfield
django-libsass
django-scopes
djangorestframework
libsass
markdown
pillow
publicsuffixlist
python-dateutil
qrcode
reportlab
requests
rules
urlman
vobject
whitenoise
zxcvbn
] ++ beautifulsoup4.optional-dependencies.lxml;
passthru.optional-dependencies = {
mysql = with python.pkgs; [
mysqlclient
];
postgres = with python.pkgs; [
psycopg2
];
redis = with python.pkgs; [
redis
];
};
postBuild = ''
rm -r ./src/pretalx/frontend/schedule-editor
ln -s ${frontend}/lib/node_modules/@pretalx/schedule-editor ./src/pretalx/frontend/schedule-editor
# Generate all static files, see https://docs.pretalx.org/administrator/commands.html#python-m-pretalx-rebuild
PYTHONPATH=$PYTHONPATH:./src python -m pretalx rebuild
'';
postInstall = ''
mkdir -p $out/bin
cp ./src/manage.py $out/bin/pretalx-manage
# The processed source files are in the static output, except for fonts, which are duplicated.
# See <https://github.com/pretalx/pretalx/issues/1585> for more details.
find $out/${python.sitePackages}/pretalx/static \
-mindepth 1 \
-not -path "$out/${python.sitePackages}/pretalx/static/fonts*" \
-delete
# Copy generated static files into dedicated output
mkdir -p $static
cp -r ./src/static.dist/** $static/
# Copy frontend files
ln -s ${frontend}/lib/node_modules/@pretalx/schedule-editor/dist/* $static
'';
preCheck = ''
export PRETALX_CONFIG_FILE="$src/src/tests/ci_sqlite.cfg"
cd src
'';
nativeCheckInputs = with python.pkgs; [
faker
freezegun
pytest-django
pytest-mock
pytest-xdist
pytestCheckHook
responses
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
disabledTests = [
# tries to run npm run i18n:extract
"test_common_custom_makemessages_does_not_blow_up"
# Expected to perform X queries or less but Y were done
"test_schedule_export_public"
"test_schedule_frab_json_export"
"test_schedule_frab_xml_export"
];
passthru = {
inherit python;
tests = {
inherit (nixosTests) pretalx;
};
};
inherit meta;
}

View File

@ -0,0 +1,46 @@
{ lib
, fetchFromGitHub
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "pysqlrecon";
version = "0.1.3";
pyproject = true;
src = fetchFromGitHub {
owner = "Tw1sm";
repo = "PySQLRecon";
rev = "refs/tags/v${version}";
hash = "sha256-IxIYJo2wG8xqetBqgUOePNWPSx9FaZPhqhOFy3kG6Uk=";
};
pythonRelaxDeps = [
"rich"
"typer"
];
nativeBuildInputs = with python3.pkgs; [
poetry-core
pythonRelaxDepsHook
];
propagatedBuildInputs = with python3.pkgs; [
impacket
rich
typer
];
pythonImportsCheck = [
"pysqlrecon"
];
meta = with lib; {
description = "Offensive MSSQL toolkit";
homepage = "https://github.com/Tw1sm/PySQLRecon";
changelog = "https://github.com/Tw1sm/PySQLRecon/blob/${version}/CHANGELOG.md";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
mainProgram = "pysqlrecon";
};
}

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication {
pname = "renode-dts2repl";
version = "unstable-2024-01-09";
version = "unstable-2024-01-20";
pyproject = true;
src = fetchFromGitHub {
owner = "antmicro";
repo = "dts2repl";
rev = "429ebc65e0bcbd967ccfe1f9a970abd5b5b6258f";
hash = "sha256-/62KAVIMCM6VNhW4rDqnKXOFrAO0cHpybGS3lconCqY=";
rev = "bd09db556fa762cb1a4857d874545957d91b0010";
hash = "sha256-bGDM23PuON4fx4pNCNVYw2bN0tIWjmwZqghhksAIVGA=";
};
nativeBuildInputs = [

View File

@ -9,18 +9,18 @@
buildGoModule rec {
pname = "shopware-cli";
version = "0.4.18";
version = "0.4.22";
src = fetchFromGitHub {
repo = "shopware-cli";
owner = "FriendsOfShopware";
rev = version;
hash = "sha256-LOmGxH/czICSii8AkoXi1cQPL+MErV92iUZtJc2eg64=";
hash = "sha256-P93wxAApV2iWXSQGXsCPjmvj2gGMwbKw6+yMgiainb4=";
};
nativeBuildInputs = [ installShellFiles makeWrapper ];
nativeCheckInputs = [ git dart-sass ];
vendorHash = "sha256-KMNPw2B4fLaOdSIFHBIAKXUtnu0sMwksJg3RUZKLDsE=";
vendorHash = "sha256-FalN3qhw2o9NvSIfEU4juevPAsxQoksNjL3eATf0umU=";
postInstall = ''
export HOME="$(mktemp -d)"

View File

@ -4,14 +4,14 @@
}:
stdenvNoCC.mkDerivation rec {
pname = "0xproto";
version = "1.500";
version = "1.601";
src = let
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
in
fetchzip {
url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip";
hash = "sha256-4yZtYjNLHDsF16brUADzwS4/Ha0g+g0mU+sl8Gb9Zm0=";
hash = "sha256-f/5YmyIF66+7w2Tb0V0UKRjwDYDdZ0BEqsEuyN0FaDQ=";
};
installPhase = ''

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "ibm-plex";
version = "6.2.0";
version = "6.4.0";
src = fetchzip {
url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
hash = "sha256-RvD/aeZrvltJiuAHqYMNaRsjLgTdcC1/5zqlcd4qKAA=";
hash = "sha256-/aR3bu03VxenSPed6EqrGoPjWCcKT//MVtb9OC8tSRs=";
};
installPhase = ''

View File

@ -32,13 +32,13 @@ let
in
stdenv.mkDerivation rec {
pname = "cinnamon-session";
version = "6.0.2";
version = "6.0.3";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
hash = "sha256-AO4/JUysQyGDsQDbP9X7sqmcxyRSkNGjjTEu4fFzDZA=";
hash = "sha256-dNg1e339NWRzyEsRp7I91SwK2H+lU28Ra+7MSgUDk8w=";
};
patches = [

View File

@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, dtkwidget
, qt5integration
, qt5platform-plugins
@ -21,23 +20,15 @@
stdenv.mkDerivation rec {
pname = "deepin-compressor";
version = "5.12.20";
version = "5.12.23";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
hash = "sha256-oOxto0X/GBAA9q691uwC0PtCdHDTMBqi80ov4xCXPn0=";
hash = "sha256-8qfpNM2rci4subdodxfJZLP3OvAxXl7QRl4MHGr15nA=";
};
patches = [
(fetchpatch {
name = "fix-build-failures-for-new-dtkgui.patch";
url = "https://github.com/linuxdeepin/deepin-compressor/commit/0ee07030034b06021e366d8d6109f344d47ea26c.patch";
hash = "sha256-P++SxzZCWoXJnLQhC0H/64/LjW/dqnl3hCGBWHVDn9Q=";
})
];
postPatch = ''
substituteInPlace src/source/common/pluginmanager.cpp \
--replace "/usr/lib/" "$out/lib/"

View File

@ -130,5 +130,6 @@ stdenv.mkDerivation (finalAttrs: {
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.gnome.members;
mainProgram = "nautilus";
};
})

View File

@ -0,0 +1,29 @@
From ca4c52a80532732243067eb00ec12b4ef84010a6 Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Tue, 30 Jan 2024 19:46:09 +0100
Subject: [PATCH] Nixpkgs versioned QML path
---
src/LomiriToolkit/uctheme.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/LomiriToolkit/uctheme.cpp b/src/LomiriToolkit/uctheme.cpp
index a10c89344..4b0653589 100644
--- a/src/LomiriToolkit/uctheme.cpp
+++ b/src/LomiriToolkit/uctheme.cpp
@@ -180,6 +180,12 @@ QStringList themeSearchPath()
pathList << QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
}
+ // append versioned QML import path from Nixpkgs
+ const QString nixpkgsQmlImportPath = QString::fromLocal8Bit(getenv("NIXPKGS_QT@qtVersion@_QML_IMPORT_PATH"));
+ if (!nixpkgsQmlImportPath.isEmpty()) {
+ pathList << nixpkgsQmlImportPath.split(':', QString::SkipEmptyParts);
+ }
+
// append QML import path(s); we must explicitly support env override here
const QString qml2ImportPath = QString::fromLocal8Bit(getenv("QML2_IMPORT_PATH"));
if (!qml2ImportPath.isEmpty()) {
--
2.42.0

View File

@ -3,6 +3,7 @@
, fetchFromGitLab
, fetchpatch
, gitUpdater
, substituteAll
, testers
, dbus-test-runner
, dpkg
@ -74,6 +75,11 @@ stdenv.mkDerivation (finalAttrs: {
})
./2001-Mark-problematic-tests.patch
(substituteAll {
src = ./2002-Nixpkgs-versioned-QML-path.patch.in;
name = "2002-Nixpkgs-versioned-QML-path.patch";
qtVersion = lib.versions.major qtbase.version;
})
];
postPatch = ''

View File

@ -1,15 +1,42 @@
{ stdenv, pkgsHostTarget, cmake, makeWrapper, mkDerivation, fetchFromGitHub
, alex, array, base, bytestring, cond, containers, directory, extra
, filepath, hpack, hspec, hspec-core, isocline, json, lib, mtl
, parsec, process, regex-compat, text, time }:
{ stdenv
, pkgsHostTarget
, cmake
, makeWrapper
, mkDerivation
, fetchFromGitHub
, alex
, lib
, hpack
, aeson
, array
, async
, base
, bytestring
, co-log-core
, cond
, containers
, directory
, FloatingHex
, isocline
, lens
, lsp
, mtl
, network
, network-simple
, parsec
, process
, text
, text-rope
, time
}:
let
version = "2.4.2";
version = "3.0.4";
src = fetchFromGitHub {
owner = "koka-lang";
repo = "koka";
rev = "v${version}";
sha256 = "sha256-sVjaIzOxNuBtDswpDl5gLB10Sw945TQAf2ywrKumqqk=";
sha256 = "sha256-U8BW1Aq9t3je0YDV8NkE0MzdnjwXBJQbmekh5ufOs3k=";
fetchSubmodules = true;
};
kklib = stdenv.mkDerivation {
@ -38,8 +65,28 @@ mkDerivation rec {
isExecutable = true;
libraryToolDepends = [ hpack ];
executableHaskellDepends = [
array base bytestring cond containers directory isocline mtl
parsec process text time kklib
aeson
array
async
base
bytestring
co-log-core
cond
containers
directory
FloatingHex
isocline
lens
lsp
mtl
network
network-simple
parsec
process
text
text-rope
time
kklib
];
executableToolDepends = [ alex makeWrapper ];
postInstall = ''

View File

@ -11,17 +11,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "unison-code-manager";
version = "0.5.13";
version = "0.5.14";
src = if stdenv.isDarwin then
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
hash = "sha256-/iaL3jTwUeGhfPgZ08njopkOC5t4RY3zggn0n2zLTnw=";
hash = "sha256-LLyJy0qz5qm08Xj+mb09lBN5sw3v8AnaSYv832sYefg=";
}
else
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
hash = "sha256-ZxuHpcyt0zxXMiltue99Tzrlvsrrb1cL3LNcGIo5NsI=";
hash = "sha256-sIw3mc78cGPi+E+fXEpMvt+IEfPW03lex30bs0TVevo=";
};
# The tarball is just the prebuilt binary, in the archive root.

View File

@ -345,7 +345,7 @@ self: super: ({
}) (disableCabalFlag "fixity-th" super.fourmolu);
# https://github.com/NixOS/nixpkgs/issues/149692
Agda = removeConfigureFlag "-foptimise-heavily" super.Agda;
Agda = disableCabalFlag "optimise-heavily" super.Agda;
} // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin

View File

@ -1134,10 +1134,16 @@ self: super: builtins.intersectAttrs super {
preCheck = "export CI=true";
}) super.aeson-typescript;
# Enable extra optimisations which increase build time, but also
# later compiler performance, so we should do this for user's benefit.
# Flag added in Agda 2.6.2
Agda = appendConfigureFlag "-foptimise-heavily" super.Agda;
Agda = lib.pipe super.Agda [
# Enable extra optimisations which increase build time, but also
# later compiler performance, so we should do this for user's benefit.
# Flag added in Agda 2.6.2
(enableCabalFlag "optimise-heavily")
# Enable debug printing, which worsens performance slightly but is
# very useful.
# Flag added in Agda 2.6.4.1, was always enabled before
(enableCabalFlag "debug")
];
# ats-format uses cli-setup in Setup.hs which is quite happy to write
# to arbitrary files in $HOME. This doesn't either not achieve anything

View File

@ -2,19 +2,19 @@
rustPlatform.buildRustPackage rec {
pname = "wasmtime";
version = "16.0.0";
version = "17.0.0";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = pname;
rev = "v${version}";
hash = "sha256-kySJme79RQMI8PP2Jhx1mjqJpUIf5jPn2TvbPEzw5hY=";
hash = "sha256-HGs82LMDJJZl1bPaFsVetpMR7ytBgGmOkH1tt7xmUMA=";
fetchSubmodules = true;
};
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
auditable = false;
cargoHash = "sha256-2XlnR4OBvdQyMUUOL6VvqDxf8jGYlhz2PDuPd24Ocxw=";
cargoHash = "sha256-bNGpBgAhLN4s90saQqIgFb6hXtfC9NIjOfy+hvkRJ6E=";
cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
outputs = [ "out" "dev" ];

View File

@ -11,9 +11,13 @@ mkDerivation rec {
hash = "sha256-0U6s6sXdynk2IWRBDXBJCf7Gc+gE8AhR1PXZl0DS4yU=";
};
# We don't need anything in support; avoid installing LICENSE.agda
postPatch = ''
# We don't need anything in support; avoid installing LICENSE.agda
rm -rf support
# Remove verbosity options as they make Agda take longer and use more memory.
shopt -s globstar extglob
sed -Ei '/OPTIONS/s/ -v ?[^ #]+//g' src/**/*.@(agda|lagda.md)
'';
libraryName = "1lab";

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "httplib";
version = "0.14.3";
version = "0.15.0";
src = fetchFromGitHub {
owner = "yhirose";
repo = "cpp-httplib";
rev = "v${version}";
hash = "sha256-53EBZTpz0INtjVSmjvg7XOQf0Bs2ADVe2//+nK6xRyE=";
hash = "sha256-HV2RiWu4rt3rau/flcha500R67oGwbmyEPPnklpAvgY=";
};
nativeBuildInputs = [ cmake ];

View File

@ -20,6 +20,11 @@ stdenv.mkDerivation rec
cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" ];
# error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer
env = lib.optionalAttrs (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13" && lib.versionAtLeast tbb.version "2021.8.0") {
NIX_CFLAGS_COMPILE = "-faligned-allocation";
};
postFixup = ''
substituteInPlace $dev/lib/cmake/OpenVDB/FindOpenVDB.cmake \
--replace \''${OPENVDB_LIBRARYDIR} $out/lib \

View File

@ -0,0 +1,69 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
, wrapQtAppsHook
, wayland-scanner
, qtbase
, wayland
, wayland-protocols
, wlr-protocols
, pixman
, mesa
, vulkan-loader
, libinput
, xorg
, seatd
, wlroots
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qwlroots";
version = "0.1.0";
src = fetchFromGitHub {
owner = "vioken";
repo = "qwlroots";
rev = finalAttrs.version;
hash = "sha256-ev4oCKR43XaYNTavj9XI3RAtB6RFprChpBFsrA2nVsM=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
wayland-scanner
];
buildInputs = [
qtbase
wayland
wayland-protocols
wlr-protocols
pixman
mesa
vulkan-loader
libinput
xorg.libXdmcp
xorg.xcbutilerrors
seatd
];
propagatedBuildInputs = [
wlroots
];
cmakeFlags = [
(lib.cmakeBool "PREFER_QT_5" (lib.versionOlder qtbase.version "6"))
];
meta = {
description = "Qt and QML bindings for wlroots";
homepage = "https://github.com/vioken/qwlroots";
license = with lib.licenses; [ gpl3Only lgpl3Only asl20 ];
platforms = wlroots.meta.platforms;
maintainers = with lib.maintainers; [ rewine ];
};
})

View File

@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
"-DPython3_EXECUTABLE=${pythonEnv}/bin/python"
"-DNS3_PYTHON_BINDINGS=ON"
"-DNS3_DES_METRICS=ON"
"-DNS3_BINDINGS_INSTALL_DIR=lib/${pythonEnv.libPrefix}/site-packages"
"-DNS3_BINDINGS_INSTALL_DIR=${pythonEnv.sitePackages}"
"-DNS3_LOG=ON"
"-DNS3_ASSERT=ON"
"-DNS3_GTK3=ON"

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "spglib";
version = "2.2.0"; # N.B: if you change this, please update: pythonPackages.spglib
version = "2.3.0"; # N.B: if you change this, please update: pythonPackages.spglib
src = fetchFromGitHub {
owner = "spglib";
repo = "spglib";
rev = "v${version}";
hash = "sha256-VaTW7n7DTeYBr/PrxPhfzfx/gLxzJikw5aL1tEbMtbs=";
hash = "sha256-S/i0sIg7VwgpnB2Uo0d4FdVcSIb5tcGJ+0URmkNkxe8=";
};
nativeBuildInputs = [ cmake gfortran gtest ];

View File

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "talloc";
version = "2.4.1";
version = "2.4.2";
src = fetchurl {
url = "mirror://samba/talloc/${pname}-${version}.tar.gz";
sha256 = "sha256-QQpUfwhVcAe+DogZTyGIaDWO3Aq5jJi6jBZ5MNs9M/k=";
sha256 = "sha256-hez55GXiD5j5lQpS6aQR4UMgvFVfolfYdpe356mx2KY=";
};
nativeBuildInputs = [

View File

@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
python
];
preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/lib/${python.libPrefix}/site-packages\"";
preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/${python.sitePackages}\"";
cmakeFlags = [ "-DWITH_OPENEXR=1" ]
++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux")

View File

@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
'';
homepage = "https://github.com/Cyan4973/xxHash";
license = with licenses; [ bsd2 gpl2 ];
mainProgram = "xxhsum";
maintainers = with maintainers; [ orivej ];
platforms = platforms.all;
};

View File

@ -1,28 +1,50 @@
{ lib, stdenv, fetchgit, bash-completion, cmake, pkg-config
, json_c, libdrm, libpciaccess, llvmPackages, nanomsg, ncurses, SDL2
{ lib
, stdenv
, fetchFromGitLab
, cmake
, pkg-config
, libdrm
, mesa # libgbm
, libpciaccess
, llvmPackages
, nanomsg
, ncurses
, SDL2
, bash-completion
, nix-update-script
}:
stdenv.mkDerivation rec {
pname = "umr";
version = "unstable-2022-08-23";
version = "1.0.8";
src = fetchgit {
url = "https://gitlab.freedesktop.org/tomstdenis/umr";
rev = "87f814b1ffdbac8bfddd8529d344a7901cd7e112";
hash = "sha256-U1VP1AicSGWzBwzz99i7+3awATZocw5jaqtAxuRNaBE=";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "tomstdenis";
repo = "umr";
rev = version;
hash = "sha256-ODkTYHDrKWNvjiEeIyfsCByf7hyr5Ps9ytbKb3253bU=";
};
nativeBuildInputs = [ cmake pkg-config llvmPackages.llvm.dev ];
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
bash-completion
json_c
libdrm
mesa
libpciaccess
llvmPackages.llvm
nanomsg
ncurses
SDL2
bash-completion # Tries to create bash-completions in /var/empty otherwise?
];
# Remove static libraries (there are no dynamic libraries in there)
@ -30,6 +52,8 @@ stdenv.mkDerivation rec {
rm -r $out/lib
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "A userspace debugging and diagnostic tool for AMD GPUs";
homepage = "https://gitlab.freedesktop.org/tomstdenis/umr";

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