Merge master into haskell-updates
This commit is contained in:
commit
05ce1c8cd3
|
@ -1,3 +1,3 @@
|
||||||
# Python {#setup-hook-python}
|
# 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.
|
||||||
|
|
|
@ -1229,10 +1229,12 @@ in
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
haskell = lib.recursiveUpdate prev.haskell {
|
haskell = prev.haskell // {
|
||||||
compiler.${ghcName} = prev.haskell.compiler.${ghcName}.override {
|
compiler = prev.haskell.compiler // {
|
||||||
# Unfortunately, the GHC setting is named differently for historical reasons
|
${ghcName} = prev.haskell.compiler.${ghcName}.override {
|
||||||
enableProfiledLibs = enableProfiling;
|
# Unfortunately, the GHC setting is named differently for historical reasons
|
||||||
|
enableProfiledLibs = enableProfiling;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
@ -1244,31 +1246,33 @@ in
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
haskell = lib.recursiveUpdate prev.haskell {
|
haskell = prev.haskell // {
|
||||||
packages.${ghcName} = prev.haskell.packages.${ghcName}.override {
|
packages = prev.haskell.packages // {
|
||||||
overrides = hfinal: hprev: {
|
${ghcName} = prev.haskell.packages.${ghcName}.override {
|
||||||
mkDerivation = args: hprev.mkDerivation (args // {
|
overrides = hfinal: hprev: {
|
||||||
# Since we are forcing our ideas upon mkDerivation, this change will
|
mkDerivation = args: hprev.mkDerivation (args // {
|
||||||
# affect every package in the package set.
|
# Since we are forcing our ideas upon mkDerivation, this change will
|
||||||
enableLibraryProfiling = enableProfiling;
|
# affect every package in the package set.
|
||||||
|
enableLibraryProfiling = enableProfiling;
|
||||||
|
|
||||||
# To actually use profiling on an executable, executable profiling
|
# To actually use profiling on an executable, executable profiling
|
||||||
# needs to be enabled for the executable you want to profile. You
|
# needs to be enabled for the executable you want to profile. You
|
||||||
# can either do this globally or…
|
# can either do this globally or…
|
||||||
enableExecutableProfiling = enableProfiling;
|
enableExecutableProfiling = enableProfiling;
|
||||||
});
|
});
|
||||||
|
|
||||||
# …only for the package that contains an executable you want to profile.
|
# …only for the package that contains an executable you want to profile.
|
||||||
# That saves on unnecessary rebuilds for packages that you only depend
|
# That saves on unnecessary rebuilds for packages that you only depend
|
||||||
# on for their library, but also contain executables (e.g. pandoc).
|
# on for their library, but also contain executables (e.g. pandoc).
|
||||||
my-executable = haskellLib.enableExecutableProfiling hprev.my-executable;
|
my-executable = haskellLib.enableExecutableProfiling hprev.my-executable;
|
||||||
|
|
||||||
# If you are disabling profiling to save on build time, but want to
|
# If you are disabling profiling to save on build time, but want to
|
||||||
# retain the ability to substitute from the binary cache. Drop the
|
# retain the ability to substitute from the binary cache. Drop the
|
||||||
# override for mkDerivation above and instead have an override like
|
# override for mkDerivation above and instead have an override like
|
||||||
# this for the specific packages you are building locally and want
|
# this for the specific packages you are building locally and want
|
||||||
# to make cheaper to build.
|
# to make cheaper to build.
|
||||||
my-library = haskellLib.disableLibraryProfiling hprev.my-library;
|
my-library = haskellLib.disableLibraryProfiling hprev.my-library;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -10107,6 +10107,12 @@
|
||||||
githubId = 264372;
|
githubId = 264372;
|
||||||
name = "Jan van den Berg";
|
name = "Jan van den Berg";
|
||||||
};
|
};
|
||||||
|
koppor = {
|
||||||
|
email = "kopp.dev@gmail.com";
|
||||||
|
github = "koppor";
|
||||||
|
githubId = 1366654;
|
||||||
|
name = "Oliver Kopp";
|
||||||
|
};
|
||||||
koral = {
|
koral = {
|
||||||
email = "koral@mailoo.org";
|
email = "koral@mailoo.org";
|
||||||
github = "k0ral";
|
github = "k0ral";
|
||||||
|
|
|
@ -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).
|
- [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.
|
- [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.
|
- [ollama](https://ollama.ai), server for running large language models locally.
|
||||||
|
|
|
@ -1343,6 +1343,7 @@
|
||||||
./services/web-apps/plantuml-server.nix
|
./services/web-apps/plantuml-server.nix
|
||||||
./services/web-apps/plausible.nix
|
./services/web-apps/plausible.nix
|
||||||
./services/web-apps/powerdns-admin.nix
|
./services/web-apps/powerdns-admin.nix
|
||||||
|
./services/web-apps/pretalx.nix
|
||||||
./services/web-apps/prosody-filer.nix
|
./services/web-apps/prosody-filer.nix
|
||||||
./services/web-apps/restya-board.nix
|
./services/web-apps/restya-board.nix
|
||||||
./services/web-apps/rimgo.nix
|
./services/web-apps/rimgo.nix
|
||||||
|
|
|
@ -135,7 +135,6 @@ in
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
PrivateNetwork = true;
|
|
||||||
ExecStart = escapeShellArgs
|
ExecStart = escapeShellArgs
|
||||||
([ "${pkgs.acpid}/bin/acpid"
|
([ "${pkgs.acpid}/bin/acpid"
|
||||||
"--foreground"
|
"--foreground"
|
||||||
|
|
|
@ -60,7 +60,6 @@ let
|
||||||
"node"
|
"node"
|
||||||
"nut"
|
"nut"
|
||||||
"openldap"
|
"openldap"
|
||||||
"openvpn"
|
|
||||||
"pgbouncer"
|
"pgbouncer"
|
||||||
"php-fpm"
|
"php-fpm"
|
||||||
"pihole"
|
"pihole"
|
||||||
|
|
|
@ -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}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -3,6 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
logPrefix = "services.prometheus.exporters.snmp";
|
||||||
cfg = config.services.prometheus.exporters.snmp;
|
cfg = config.services.prometheus.exporters.snmp;
|
||||||
|
|
||||||
# This ensures that we can deal with string paths, path types and
|
# This ensures that we can deal with string paths, path types and
|
||||||
|
|
|
@ -32,7 +32,8 @@ let
|
||||||
dataDir = "${seafRoot}/data";
|
dataDir = "${seafRoot}/data";
|
||||||
seahubDir = "${seafRoot}/seahub";
|
seahubDir = "${seafRoot}/seahub";
|
||||||
|
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
|
|
||||||
###### Interface
|
###### Interface
|
||||||
|
|
||||||
|
@ -147,146 +148,151 @@ in {
|
||||||
description = "Seafile components";
|
description = "Seafile components";
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services = let
|
systemd.services =
|
||||||
securityOptions = {
|
let
|
||||||
ProtectHome = true;
|
securityOptions = {
|
||||||
PrivateUsers = true;
|
ProtectHome = true;
|
||||||
PrivateDevices = true;
|
PrivateUsers = true;
|
||||||
ProtectClock = true;
|
PrivateDevices = true;
|
||||||
ProtectHostname = true;
|
ProtectClock = true;
|
||||||
ProtectProc = "invisible";
|
ProtectHostname = true;
|
||||||
ProtectKernelModules = true;
|
ProtectProc = "invisible";
|
||||||
ProtectKernelTunables = true;
|
ProtectKernelModules = true;
|
||||||
ProtectKernelLogs = true;
|
ProtectKernelTunables = true;
|
||||||
ProtectControlGroups = true;
|
ProtectKernelLogs = true;
|
||||||
RestrictNamespaces = true;
|
ProtectControlGroups = true;
|
||||||
LockPersonality = true;
|
RestrictNamespaces = true;
|
||||||
RestrictRealtime = true;
|
LockPersonality = true;
|
||||||
RestrictSUIDSGID = true;
|
RestrictRealtime = true;
|
||||||
MemoryDenyWriteExecute = true;
|
RestrictSUIDSGID = true;
|
||||||
SystemCallArchitectures = "native";
|
MemoryDenyWriteExecute = true;
|
||||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
|
SystemCallArchitectures = "native";
|
||||||
};
|
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ];
|
||||||
in {
|
};
|
||||||
seaf-server = {
|
in
|
||||||
description = "Seafile server";
|
{
|
||||||
partOf = [ "seafile.target" ];
|
seaf-server = {
|
||||||
after = [ "network.target" ];
|
description = "Seafile server";
|
||||||
wantedBy = [ "seafile.target" ];
|
partOf = [ "seafile.target" ];
|
||||||
restartTriggers = [ ccnetConf seafileConf ];
|
after = [ "network.target" ];
|
||||||
path = [ pkgs.sqlite ];
|
wantedBy = [ "seafile.target" ];
|
||||||
serviceConfig = securityOptions // {
|
restartTriggers = [ ccnetConf seafileConf ];
|
||||||
User = "seafile";
|
path = [ pkgs.sqlite ];
|
||||||
Group = "seafile";
|
serviceConfig = securityOptions // {
|
||||||
DynamicUser = true;
|
User = "seafile";
|
||||||
StateDirectory = "seafile";
|
Group = "seafile";
|
||||||
RuntimeDirectory = "seafile";
|
DynamicUser = true;
|
||||||
LogsDirectory = "seafile";
|
StateDirectory = "seafile";
|
||||||
ConfigurationDirectory = "seafile";
|
RuntimeDirectory = "seafile";
|
||||||
ExecStart = ''
|
LogsDirectory = "seafile";
|
||||||
${cfg.seafilePackage}/bin/seaf-server \
|
ConfigurationDirectory = "seafile";
|
||||||
--foreground \
|
ExecStart = ''
|
||||||
-F /etc/seafile \
|
${cfg.seafilePackage}/bin/seaf-server \
|
||||||
-c ${ccnetDir} \
|
--foreground \
|
||||||
-d ${dataDir} \
|
-F /etc/seafile \
|
||||||
-l /var/log/seafile/server.log \
|
-c ${ccnetDir} \
|
||||||
-P /run/seafile/server.pid \
|
-d ${dataDir} \
|
||||||
-p /run/seafile
|
-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
|
seahub = {
|
||||||
:
|
description = "Seafile Server Web Frontend";
|
||||||
elif [[ $installedMajor == 8 && $installedMinor == 0 && $pkgMajor == 9 && $pkgMinor == 0 ]]; then
|
wantedBy = [ "seafile.target" ];
|
||||||
# Upgrade from 8.0 to 9.0
|
partOf = [ "seafile.target" ];
|
||||||
sqlite3 ${dataDir}/seafile.db ".read ${pkgs.seahub}/scripts/upgrade/sql/9.0.0/sqlite3/seafile.sql"
|
after = [ "network.target" "seaf-server.service" ];
|
||||||
echo "${cfg.seafilePackage.version}-sqlite" > "${seafRoot}"/server-setup
|
requires = [ "seaf-server.service" ];
|
||||||
else
|
restartTriggers = [ seahubSettings ];
|
||||||
echo "Unsupported upgrade" >&2
|
environment = {
|
||||||
exit 1
|
PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
|
||||||
fi
|
DJANGO_SETTINGS_MODULE = "seahub.settings";
|
||||||
'';
|
CCNET_CONF_DIR = ccnetDir;
|
||||||
};
|
SEAFILE_CONF_DIR = dataDir;
|
||||||
|
SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
|
||||||
seahub = {
|
SEAFILE_RPC_PIPE_PATH = "/run/seafile";
|
||||||
description = "Seafile Server Web Frontend";
|
SEAHUB_LOG_DIR = "/var/log/seafile";
|
||||||
wantedBy = [ "seafile.target" ];
|
};
|
||||||
partOf = [ "seafile.target" ];
|
serviceConfig = securityOptions // {
|
||||||
after = [ "network.target" "seaf-server.service" ];
|
User = "seafile";
|
||||||
requires = [ "seaf-server.service" ];
|
Group = "seafile";
|
||||||
restartTriggers = [ seahubSettings ];
|
DynamicUser = true;
|
||||||
environment = {
|
RuntimeDirectory = "seahub";
|
||||||
PYTHONPATH = "${pkgs.seahub.pythonPath}:${pkgs.seahub}/thirdpart:${pkgs.seahub}";
|
StateDirectory = "seafile";
|
||||||
DJANGO_SETTINGS_MODULE = "seahub.settings";
|
LogsDirectory = "seafile";
|
||||||
CCNET_CONF_DIR = ccnetDir;
|
ConfigurationDirectory = "seafile";
|
||||||
SEAFILE_CONF_DIR = dataDir;
|
ExecStart = ''
|
||||||
SEAFILE_CENTRAL_CONF_DIR = "/etc/seafile";
|
${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
|
||||||
SEAFILE_RPC_PIPE_PATH = "/run/seafile";
|
--name seahub \
|
||||||
SEAHUB_LOG_DIR = "/var/log/seafile";
|
--workers ${toString cfg.workers} \
|
||||||
};
|
--log-level=info \
|
||||||
serviceConfig = securityOptions // {
|
--preload \
|
||||||
User = "seafile";
|
--timeout=1200 \
|
||||||
Group = "seafile";
|
--limit-request-line=8190 \
|
||||||
DynamicUser = true;
|
--bind unix:/run/seahub/gunicorn.sock
|
||||||
RuntimeDirectory = "seahub";
|
'';
|
||||||
StateDirectory = "seafile";
|
};
|
||||||
LogsDirectory = "seafile";
|
preStart = ''
|
||||||
ConfigurationDirectory = "seafile";
|
mkdir -p ${seahubDir}/media
|
||||||
ExecStart = ''
|
# Link all media except avatars
|
||||||
${pkgs.seahub.python.pkgs.gunicorn}/bin/gunicorn seahub.wsgi:application \
|
for m in `find ${pkgs.seahub}/media/ -maxdepth 1 -not -name "avatars"`; do
|
||||||
--name seahub \
|
ln -sf $m ${seahubDir}/media/
|
||||||
--workers ${toString cfg.workers} \
|
done
|
||||||
--log-level=info \
|
if [ ! -e "${seafRoot}/.seahubSecret" ]; then
|
||||||
--preload \
|
${pkgs.seahub.python}/bin/python ${pkgs.seahub}/tools/secret_key_generator.py > ${seafRoot}/.seahubSecret
|
||||||
--timeout=1200 \
|
chmod 400 ${seafRoot}/.seahubSecret
|
||||||
--limit-request-line=8190 \
|
fi
|
||||||
--bind unix:/run/seahub/gunicorn.sock
|
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
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,9 @@ let
|
||||||
in
|
in
|
||||||
pkgs.writeShellScript "manage" ''
|
pkgs.writeShellScript "manage" ''
|
||||||
${setupEnv}
|
${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 "$@"
|
exec ${cfg.package}/bin/photoprism "$@"
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
|
|
415
nixos/modules/services/web-apps/pretalx.nix
Normal file
415
nixos/modules/services/web-apps/pretalx.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -18,7 +18,7 @@ from dataclasses import dataclass
|
||||||
# These values will be replaced with actual values during the package build
|
# These values will be replaced with actual values during the package build
|
||||||
EFI_SYS_MOUNT_POINT = "@efiSysMountPoint@"
|
EFI_SYS_MOUNT_POINT = "@efiSysMountPoint@"
|
||||||
TIMEOUT = "@timeout@"
|
TIMEOUT = "@timeout@"
|
||||||
EDITOR = bool("@editor@")
|
EDITOR = "@editor@" == "1"
|
||||||
CONSOLE_MODE = "@consoleMode@"
|
CONSOLE_MODE = "@consoleMode@"
|
||||||
BOOTSPEC_TOOLS = "@bootspecTools@"
|
BOOTSPEC_TOOLS = "@bootspecTools@"
|
||||||
DISTRO_NAME = "@distroName@"
|
DISTRO_NAME = "@distroName@"
|
||||||
|
|
|
@ -22,11 +22,9 @@ let
|
||||||
|
|
||||||
timeout = optionalString (config.boot.loader.timeout != null) config.boot.loader.timeout;
|
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;
|
configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
|
||||||
|
|
||||||
inherit (cfg) consoleMode graceful;
|
inherit (cfg) consoleMode graceful editor;
|
||||||
|
|
||||||
inherit (efi) efiSysMountPoint canTouchEfiVariables;
|
inherit (efi) efiSysMountPoint canTouchEfiVariables;
|
||||||
|
|
||||||
|
|
|
@ -713,6 +713,7 @@ in {
|
||||||
power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
|
power-profiles-daemon = handleTest ./power-profiles-daemon.nix {};
|
||||||
pppd = handleTest ./pppd.nix {};
|
pppd = handleTest ./pppd.nix {};
|
||||||
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
|
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
|
||||||
|
pretalx = runTest ./web-apps/pretalx.nix;
|
||||||
printing-socket = handleTest ./printing.nix { socket = true; };
|
printing-socket = handleTest ./printing.nix { socket = true; };
|
||||||
printing-service = handleTest ./printing.nix { socket = false; };
|
printing-service = handleTest ./printing.nix { socket = false; };
|
||||||
privoxy = handleTest ./privoxy.nix {};
|
privoxy = handleTest ./privoxy.nix {};
|
||||||
|
|
|
@ -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 = {
|
pgbouncer = {
|
||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
31
nixos/tests/web-apps/pretalx.nix
Normal file
31
nixos/tests/web-apps/pretalx.nix
Normal 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/")
|
||||||
|
'';
|
||||||
|
}
|
|
@ -5,12 +5,12 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonPackage rec {
|
python3.pkgs.buildPythonPackage rec {
|
||||||
pname = "ledfx";
|
pname = "ledfx";
|
||||||
version = "2.0.89";
|
version = "2.0.90";
|
||||||
pyproject= true;
|
pyproject= true;
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-PBOj6u0TukT6wRKMQML4+XNQQZvsGyRzXBk9YsISst4=";
|
hash = "sha256-ZlZtC0bi9ZUf/1D9hUxxhdix6F8l7Lg5IUOOg+JHGYU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = true;
|
pythonRelaxDeps = true;
|
||||||
|
|
|
@ -16,13 +16,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "mympd";
|
pname = "mympd";
|
||||||
version = "13.0.6";
|
version = "14.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jcorporation";
|
owner = "jcorporation";
|
||||||
repo = "myMPD";
|
repo = "myMPD";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
sha256 = "sha256-7yqpm2qMDHWVM5m5FueYlkEFY+VIW8Cx+aRa1iY2vZ4=";
|
sha256 = "sha256-srwLnoQSPex7/PtgF6RWpJM39fpOqN3wze5ABSRTIRA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -29,5 +29,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
description = "netease cloud music terminal client by rust";
|
description = "netease cloud music terminal client by rust";
|
||||||
maintainers = with maintainers; [ vonfry ];
|
maintainers = with maintainers; [ vonfry ];
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
|
mainProgram = "ncmt";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,13 @@ mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
install -d $out/bin
|
install -d $out/bin
|
||||||
install -m755 bin/polyphone $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 = [
|
qmakeFlags = [
|
||||||
|
|
|
@ -985,8 +985,8 @@ let
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "vscode-eslint";
|
name = "vscode-eslint";
|
||||||
publisher = "dbaeumer";
|
publisher = "dbaeumer";
|
||||||
version = "2.4.2";
|
version = "2.4.4";
|
||||||
sha256 = "sha256-eIjaiVQ7PNJUtOiZlM+lw6VmW07FbMWPtY7UoedWtbw=";
|
sha256 = "sha256-NJGsMme/+4bvED/93SGojYTH03EZbtKe5LyvocywILA=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
|
changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
|
||||||
|
@ -3235,11 +3235,12 @@ let
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "crates";
|
name = "crates";
|
||||||
publisher = "serayuzgur";
|
publisher = "serayuzgur";
|
||||||
version = "0.6.5";
|
version = "0.6.6";
|
||||||
sha256 = "sha256-HgqM4PKGk3R5MLY4cVjKxv79p5KlOkVDeDbv7/6FmpM=";
|
sha256 = "sha256-HXoH1IgMLniq0kxHs2snym4rerScu9qCqUaqwEC+O/E=";
|
||||||
};
|
};
|
||||||
meta = {
|
meta = {
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
|
maintainers = [ lib.maintainers.wackbyte ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ stdenv, fetchFromGitHub, unstableGitUpdater }:
|
{ stdenv, fetchFromGitHub, unstableGitUpdater }:
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "yuzu-compatibility-list";
|
pname = "yuzu-compatibility-list";
|
||||||
version = "unstable-2024-01-27";
|
version = "unstable-2024-01-30";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "flathub";
|
owner = "flathub";
|
||||||
repo = "org.yuzu_emu.yuzu";
|
repo = "org.yuzu_emu.yuzu";
|
||||||
rev = "c01bdbbfda3e2558930fcced63b6d02b646f881b";
|
rev = "82194fa23ec35545ade47cc3dc2035b2b07badcb";
|
||||||
hash = "sha256-TDmzBxeJq4gJvU88hJaXN7U3PYOqI1OrkenlH1GJo8g=";
|
hash = "sha256-LsQZml8I43fZDFACtVZpc76/62Pv11Z6bm8w/9hTHdI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
|
|
|
@ -77,14 +77,14 @@ let
|
||||||
urllib3
|
urllib3
|
||||||
];
|
];
|
||||||
in mkDerivation rec {
|
in mkDerivation rec {
|
||||||
version = "3.34.2";
|
version = "3.34.3";
|
||||||
pname = "qgis-unwrapped";
|
pname = "qgis-unwrapped";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qgis";
|
owner = "qgis";
|
||||||
repo = "QGIS";
|
repo = "QGIS";
|
||||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||||
hash = "sha256-RKxIJpp0lmRqyMYJuX2U4/GJh0FTnklFOcUft6LsuHc=";
|
hash = "sha256-uf4qUalY6LxPykgUt/atHBTu+A6ITrcnfez/jwVMLvA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "diffuse";
|
pname = "diffuse";
|
||||||
version = "0.8.2";
|
version = "0.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "MightyCreak";
|
owner = "MightyCreak";
|
||||||
repo = "diffuse";
|
repo = "diffuse";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "aGg5uh9KitVP2bBUizgGIZWvzTxfJGid0WUGVNyHdlk=";
|
sha256 = "6GdUtdVhhIQL1cD9/e7Byv37PVKXmzVWhJC6GROK7OA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
|
@ -1,18 +1,48 @@
|
||||||
{ lib, fetchFromGitHub, gtk3, pythonPackages, intltool, gexiv2,
|
{ lib
|
||||||
pango, gobject-introspection, wrapGAppsHook, gettext,
|
, fetchpatch
|
||||||
# Optional packages:
|
, fetchFromGitHub
|
||||||
enableOSM ? true, osm-gps-map, glib-networking,
|
, gtk3
|
||||||
enableGraphviz ? true, graphviz,
|
, pythonPackages
|
||||||
enableGhostscript ? true, ghostscript
|
, glibcLocales
|
||||||
}:
|
, intltool
|
||||||
|
, gexiv2
|
||||||
|
, pango
|
||||||
|
, gobject-introspection
|
||||||
|
, wrapGAppsHook
|
||||||
|
, gettext
|
||||||
|
, # Optional packages:
|
||||||
|
enableOSM ? true
|
||||||
|
, osm-gps-map
|
||||||
|
, glib-networking
|
||||||
|
, enableGraphviz ? true
|
||||||
|
, graphviz
|
||||||
|
, enableGhostscript ? true
|
||||||
|
, ghostscript
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (pythonPackages) python buildPythonApplication;
|
inherit (pythonPackages) python buildPythonApplication;
|
||||||
in buildPythonApplication rec {
|
in
|
||||||
version = "5.1.4";
|
buildPythonApplication rec {
|
||||||
|
version = "5.1.6";
|
||||||
pname = "gramps";
|
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 ]
|
buildInputs = [ gtk3 pango gexiv2 ]
|
||||||
# Map support
|
# Map support
|
||||||
++ lib.optionals enableOSM [ osm-gps-map glib-networking ]
|
++ lib.optionals enableOSM [ osm-gps-map glib-networking ]
|
||||||
|
@ -26,35 +56,53 @@ in buildPythonApplication rec {
|
||||||
owner = "gramps-project";
|
owner = "gramps-project";
|
||||||
repo = "gramps";
|
repo = "gramps";
|
||||||
rev = "v${version}";
|
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
|
# Same installPhase as in buildPythonApplication but without --old-and-unmanageble
|
||||||
# install flag.
|
# install flag.
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
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 \
|
${python}/bin/${python.executable} setup.py install \
|
||||||
--install-lib=$out/lib/${python.libPrefix}/site-packages \
|
--install-lib=$out/${python.sitePackages} \
|
||||||
--prefix="$out"
|
--prefix="$out"
|
||||||
|
|
||||||
eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
|
eapth="$out/${python.sitePackages}/easy-install.pth"
|
||||||
if [ -e "$eapth" ]; then
|
if [ -e "$eapth" ]; then
|
||||||
# move colliding easy_install.pth to specifically named one
|
# move colliding easy_install.pth to specifically named one
|
||||||
mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth
|
mv "$eapth" $(dirname "$eapth")/${pname}-${version}.pth
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py*
|
rm -f "$out/${python.sitePackages}"/site.py*
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export HOME=$TMPDIR
|
||||||
|
'';
|
||||||
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/149812
|
# https://github.com/NixOS/nixpkgs/issues/149812
|
||||||
# https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
|
# https://nixos.org/manual/nixpkgs/stable/#ssec-gnome-hooks-gobject-introspection
|
||||||
strictDeps = false;
|
strictDeps = false;
|
||||||
|
@ -62,6 +110,15 @@ in buildPythonApplication rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Genealogy software";
|
description = "Genealogy software";
|
||||||
homepage = "https://gramps-project.org";
|
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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication {
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=$out/bin/loxodo
|
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
|
Name=Loxodo
|
||||||
GenericName=Password Vault
|
GenericName=Password Vault
|
||||||
Categories=Application;Other;
|
Categories=Application;Other;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
, cereal
|
, cereal
|
||||||
, cgal
|
, cgal
|
||||||
, curl
|
, curl
|
||||||
|
, darwin
|
||||||
, dbus
|
, dbus
|
||||||
, eigen
|
, eigen
|
||||||
, expat
|
, expat
|
||||||
|
@ -111,6 +112,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
catch2
|
catch2
|
||||||
] ++ lib.optionals withSystemd [
|
] ++ lib.optionals withSystemd [
|
||||||
systemd
|
systemd
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
darwin.apple_sdk_11_0.frameworks.CoreWLAN
|
||||||
];
|
];
|
||||||
|
|
||||||
separateDebugInfo = true;
|
separateDebugInfo = true;
|
||||||
|
@ -190,6 +193,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
homepage = "https://github.com/prusa3d/PrusaSlicer";
|
homepage = "https://github.com/prusa3d/PrusaSlicer";
|
||||||
license = licenses.agpl3;
|
license = licenses.agpl3;
|
||||||
maintainers = with maintainers; [ moredread tweber tmarkus ];
|
maintainers = with maintainers; [ moredread tweber tmarkus ];
|
||||||
|
platforms = platforms.unix;
|
||||||
} // lib.optionalAttrs (stdenv.isDarwin) {
|
} // lib.optionalAttrs (stdenv.isDarwin) {
|
||||||
mainProgram = "PrusaSlicer";
|
mainProgram = "PrusaSlicer";
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wmenu";
|
pname = "wmenu";
|
||||||
version = "0.1.4";
|
version = "0.1.6";
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "~adnano";
|
owner = "~adnano";
|
||||||
repo = "wmenu";
|
repo = "wmenu";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-aB23wi8kLBKAvQv2UPsfqVMCjakdsM6AzH8LgGv3HPs=";
|
hash = "sha256-Xsnf7T39up6E5kzV37sM9j3PpA2eqxItbGt+tOfjsjE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config meson ninja ];
|
nativeBuildInputs = [ pkg-config meson ninja ];
|
||||||
|
|
|
@ -292,6 +292,9 @@ buildStdenv.mkDerivation {
|
||||||
# Runs autoconf through ./mach configure in configurePhase
|
# Runs autoconf through ./mach configure in configurePhase
|
||||||
configureScript="$(realpath ./mach) configure"
|
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
|
# Set predictable directories for build and state
|
||||||
export MOZ_OBJDIR=$(pwd)/mozobj
|
export MOZ_OBJDIR=$(pwd)/mozobj
|
||||||
export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
|
export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
|
||||||
|
|
|
@ -1,20 +1,20 @@
|
||||||
{
|
{
|
||||||
stable = import ./browser.nix {
|
stable = import ./browser.nix {
|
||||||
channel = "stable";
|
channel = "stable";
|
||||||
version = "120.0.2210.144";
|
version = "121.0.2277.83";
|
||||||
revision = "1";
|
revision = "1";
|
||||||
hash = "sha256-O/7LdopcMfSYx8cg9BNDU6KxbPfnF9rYXD7Q6jugBLU=";
|
hash = "sha256-WuDu44elNlkYZEtol+TZNpcRAkAq8HHATYCc9Or/bvU=";
|
||||||
};
|
};
|
||||||
beta = import ./browser.nix {
|
beta = import ./browser.nix {
|
||||||
channel = "beta";
|
channel = "beta";
|
||||||
version = "121.0.2277.71";
|
version = "121.0.2277.83";
|
||||||
revision = "1";
|
revision = "1";
|
||||||
hash = "sha256-PsfUZJ5ftHxSFGaXjzFMEff7Czfq88yL31mqNkFilNM=";
|
hash = "sha256-eW8Bpcjw1aY5lMqsGCJ3hORVLhzW8Fmaio+kpSOzPeU=";
|
||||||
};
|
};
|
||||||
dev = import ./browser.nix {
|
dev = import ./browser.nix {
|
||||||
channel = "dev";
|
channel = "dev";
|
||||||
version = "122.0.2348.0";
|
version = "122.0.2353.0";
|
||||||
revision = "1";
|
revision = "1";
|
||||||
hash = "sha256-Vsnrc43d70fLDncMeQeYhZJhnYex2LsIV1U2KPlkP9U=";
|
hash = "sha256-llLaq13SU4ZpqhOYK0hy6ZD6amAqijStk8TIHX3gydQ=";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kubecm";
|
pname = "kubecm";
|
||||||
version = "0.27.1";
|
version = "0.28.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sunny0826";
|
owner = "sunny0826";
|
||||||
repo = "kubecm";
|
repo = "kubecm";
|
||||||
rev = "v${version}";
|
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}"];
|
ldflags = [ "-s" "-w" "-X github.com/sunny0826/kubecm/version.Version=${version}"];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
|
@ -167,9 +167,9 @@ rec {
|
||||||
mkTerraform = attrs: pluggable (generic attrs);
|
mkTerraform = attrs: pluggable (generic attrs);
|
||||||
|
|
||||||
terraform_1 = mkTerraform {
|
terraform_1 = mkTerraform {
|
||||||
version = "1.7.1";
|
version = "1.7.2";
|
||||||
hash = "sha256-e+YXOqXgiUXtm6P8PulZowRK0OLA8ekmS+MZRQP/srg=";
|
hash = "sha256-jTzZWmYeKF87Er2i7XHquM8oQyF4q/qoBf4DdMqv7L8=";
|
||||||
vendorHash = "sha256-77W0x6DENB+U3yB4LI3PwJU9bTuH7Eqz2a9FNoERuJg=";
|
vendorHash = "sha256-DI4YTjdFFvfby8ExEY3KoK4J9YKK5LPpMbelzFMDVVs=";
|
||||||
patches = [ ./provider-path-0_15.patch ];
|
patches = [ ./provider-path-0_15.patch ];
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit plugins;
|
inherit plugins;
|
||||||
|
|
|
@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation rec {
|
||||||
|
|
||||||
yarnOfflineCache = fetchYarnDeps {
|
yarnOfflineCache = fetchYarnDeps {
|
||||||
yarnLock = "${src}/web/yarn.lock";
|
yarnLock = "${src}/web/yarn.lock";
|
||||||
hash = "sha256-UTxglGn3eIgahZg4kxolg2f2MTReCL4r/GyWNg4105E=";
|
hash = "sha256-0JpoAQKRmU7P1bzYNR/vqtPjOOSw8wSlNjXl2f6uBrw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
|
|
|
@ -5,13 +5,13 @@ let args = rec {
|
||||||
/* Do not use "dev" as a version. If you do, Tilt will consider itself
|
/* 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
|
running in development environment and try to serve assets from the
|
||||||
source tree, which is not there once build completes. */
|
source tree, which is not there once build completes. */
|
||||||
version = "0.33.6";
|
version = "0.33.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tilt-dev";
|
owner = "tilt-dev";
|
||||||
repo = "tilt";
|
repo = "tilt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-WtE8ExUKFRtdYeg0+My/DB+L/qT+J1EaKHKChNjC5oI=";
|
hash = "sha256-LPb2tC3xIGhjiLYkTU+NBIUoqiicO2ORM6Nt1eTnwQs=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "deck";
|
pname = "deck";
|
||||||
version = "1.32.0";
|
version = "1.32.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Kong";
|
owner = "Kong";
|
||||||
repo = "deck";
|
repo = "deck";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-h0dZXIrQm8RlfNnIHU4P0iFelWmkXVqkBmyyrA3/EgY=";
|
hash = "sha256-7lE/Wnrlv3L6V1ex+357q6XXpdx0810m1rKkqITowXY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
@ -21,7 +21,7 @@ buildGoModule rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
proxyVendor = true; # darwin/linux hash mismatch
|
proxyVendor = true; # darwin/linux hash mismatch
|
||||||
vendorHash = "sha256-0KEQ03lls8ZEbhMEcKiZ1jFIbBtXnlCE/mkYHrZdWv8=";
|
vendorHash = "sha256-D260T3E0aufOAqlN918SChv3aNDCFHfe2e0It1pcPiU=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
installShellCompletion --cmd deck \
|
installShellCompletion --cmd deck \
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
pname = "beeper";
|
pname = "beeper";
|
||||||
version = "3.92.23";
|
version = "3.93.36";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.92.23-build-240111az2vz7kii-x86_64.AppImage";
|
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.93.36-build-2401269p8vcb695-x86_64.AppImage";
|
||||||
hash = "sha256-M+3mJ+X/yr6yONOpdnCRECbswYlSuhlqqbg2d6Px/7s=";
|
hash = "sha256-3pOOAI4/BWdbWfPweRx5I2KRi9VOgJ5vcQ89FTJhPak=";
|
||||||
};
|
};
|
||||||
appimage = appimageTools.wrapType2 {
|
appimage = appimageTools.wrapType2 {
|
||||||
inherit version pname src;
|
inherit version pname src;
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "rambox";
|
pname = "rambox";
|
||||||
version = "2.2.3";
|
version = "2.3.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
|
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 {
|
desktopItem = (makeDesktopItem {
|
||||||
|
|
|
@ -70,11 +70,11 @@ python3Packages.buildPythonApplication {
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = ''
|
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/'
|
--replace '/usr/share/mkchromecast/nodejs/' '${placeholder "out"}/share/mkchromecast/nodejs/'
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
install -Dm 755 -t $out/bin bin/audiodevice
|
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'
|
--replace './bin/audiodevice' '${placeholder "out"}/bin/audiodevice'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ let
|
||||||
install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop
|
install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop
|
||||||
'' else ''
|
'' else ''
|
||||||
rm -r $out/bin/deluge-gtk
|
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}
|
rm -r $out/share/{icons,man/man1/deluge-gtk*,pixmaps}
|
||||||
'');
|
'');
|
||||||
|
|
||||||
|
|
|
@ -6,29 +6,22 @@
|
||||||
, nixosTests
|
, nixosTests
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
# Seahub 8.x.x does not support django-webpack-loader >=1.x.x
|
|
||||||
python = python3.override {
|
python = python3.override {
|
||||||
packageOverrides = self: super: {
|
packageOverrides = self: super: {
|
||||||
django-webpack-loader = super.django-webpack-loader.overridePythonAttrs (old: rec {
|
django = super.django_3;
|
||||||
version = "0.7.0";
|
|
||||||
src = old.src.override {
|
|
||||||
inherit version;
|
|
||||||
hash = "sha256-ejyIIBqlRIH5OZRlYVy+e5rs6AgUlqbQKHt8uOIy9Ec=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
python.pkgs.buildPythonApplication rec {
|
python.pkgs.buildPythonApplication rec {
|
||||||
pname = "seahub";
|
pname = "seahub";
|
||||||
version = "9.0.10";
|
version = "10.0.1";
|
||||||
pyproject = false;
|
pyproject = false;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "haiwen";
|
owner = "haiwen";
|
||||||
repo = "seahub";
|
repo = "seahub";
|
||||||
rev = "5971bf25fe67d94ec4d9f53b785c15a098113620"; # using a fixed revision because upstream may re-tag releases :/
|
rev = "e8c02236c0eaca6dde009872745f089da4b77e6e"; # using a fixed revision because upstream may re-tag releases :/
|
||||||
sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk=";
|
sha256 = "sha256-7JXWKEFqCsC+ZByhvyP8AmDpajT3hpgyYDNUqc3wXyg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -75,6 +75,7 @@ stdenvNoCC.mkDerivation {
|
||||||
homepage = "https://libreoffice.org/";
|
homepage = "https://libreoffice.org/";
|
||||||
license = licenses.lgpl3;
|
license = licenses.lgpl3;
|
||||||
maintainers = with maintainers; [ tricktron ];
|
maintainers = with maintainers; [ tricktron ];
|
||||||
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||||
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
|
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
# fixes [WARNING] [openpaperwork_core.resources.setuptools] Failed to find
|
# fixes [WARNING] [openpaperwork_core.resources.setuptools] Failed to find
|
||||||
# resource file paperwork_gtk.icon.out/paperwork_128.png, tried at path
|
# 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.
|
# /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
|
for i in $site/data/paperwork_*.png; do
|
||||||
ln -s $i $site/icon/out;
|
ln -s $i $site/icon/out;
|
||||||
done
|
done
|
||||||
|
|
|
@ -19,14 +19,14 @@
|
||||||
let
|
let
|
||||||
pname = "qownnotes";
|
pname = "qownnotes";
|
||||||
appname = "QOwnNotes";
|
appname = "QOwnNotes";
|
||||||
version = "24.1.4";
|
version = "24.1.5";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||||
hash = "sha256-RWAg89rbmoOSzOu9YjAkDluyPiYjT6f8gmri5AAHyww=";
|
hash = "sha256-iw3MdsS1i7B8RXZk2GXwiOReSUC1IX5z0MTEk9B4nMM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -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.py
|
||||||
rm gr-fec/python/fec/qa_polar_encoder_systematic.py
|
rm gr-fec/python/fec/qa_polar_encoder_systematic.py
|
||||||
rm gr-filter/python/filter/qa_freq_xlating_fft_filter.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 = [
|
patches = [
|
||||||
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
|
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
|
, fetchpatch
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
# Remove gcc and python references
|
# Remove gcc and python references
|
||||||
|
@ -277,6 +278,11 @@ stdenv.mkDerivation (finalAttrs: (shared // {
|
||||||
patches = [
|
patches = [
|
||||||
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
|
# Not accepted upstream, see https://github.com/gnuradio/gnuradio/pull/5227
|
||||||
./modtool-newmod-permissions.3_9.patch
|
./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 // {
|
passthru = shared.passthru // {
|
||||||
# Deps that are potentially overridden and are used inside GR plugins - the same version must
|
# Deps that are potentially overridden and are used inside GR plugins - the same version must
|
||||||
|
|
|
@ -17,8 +17,8 @@ python3Packages.buildPythonApplication rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/lib/${python3.libPrefix}/site-packages";
|
substituteInPlace src/CMakeLists.txt --replace \$'{PYTHONLIB}' "$out/${python3.sitePackages}";
|
||||||
export NIX_CFLAGS_COMPILE="-L $out/lib/${python3.libPrefix}/site-packages $NIX_CFLAGS_COMPILE"
|
export NIX_CFLAGS_COMPILE="-L $out/${python3.sitePackages} $NIX_CFLAGS_COMPILE"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
, lib
|
, lib
|
||||||
, callPackage
|
, callPackage
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, fetchpatch
|
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, cmake
|
, cmake
|
||||||
, coreutils
|
, coreutils
|
||||||
|
@ -58,7 +57,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "root";
|
pname = "root";
|
||||||
version = "6.30.02";
|
version = "6.30.04";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
tests = import ./tests { inherit callPackage; };
|
tests = import ./tests { inherit callPackage; };
|
||||||
|
@ -66,7 +65,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
|
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 ];
|
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
|
||||||
|
@ -110,13 +109,6 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./sw_vers.patch
|
./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 = ''
|
preConfigure = ''
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{
|
{
|
||||||
"version": "16.7.4",
|
"version": "16.8.1",
|
||||||
"repo_hash": "sha256-rUEr9G/5T4yWnNY69I+IpjsVOSmfdL0j0u6et4jkIt8=",
|
"repo_hash": "sha256-95YdEAUYoFDFX4COI6NnI6tDB+NLnihlJdUDM8NixXA=",
|
||||||
"yarn_hash": "1qxz2p969qg7kzyvhwxws5zwdw986gdq9gxllzi58c5c56jz49zf",
|
"yarn_hash": "1yhl4l2dln9ck4nbjjrlyjx17nxk4h12gb5hqjh4dq3rz3az3jvx",
|
||||||
"owner": "gitlab-org",
|
"owner": "gitlab-org",
|
||||||
"repo": "gitlab",
|
"repo": "gitlab",
|
||||||
"rev": "v16.7.4-ee",
|
"rev": "v16.8.1-ee",
|
||||||
"passthru": {
|
"passthru": {
|
||||||
"GITALY_SERVER_VERSION": "16.7.4",
|
"GITALY_SERVER_VERSION": "16.8.1",
|
||||||
"GITLAB_PAGES_VERSION": "16.7.4",
|
"GITLAB_PAGES_VERSION": "16.8.1",
|
||||||
"GITLAB_SHELL_VERSION": "14.32.0",
|
"GITLAB_SHELL_VERSION": "14.33.0",
|
||||||
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.5.0",
|
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.6.0",
|
||||||
"GITLAB_WORKHORSE_VERSION": "16.7.4"
|
"GITLAB_WORKHORSE_VERSION": "16.8.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
|
{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
|
||||||
, ruby_3_1, tzdata, git, nettools, nixosTests, nodejs, openssl
|
, ruby_3_1, tzdata, git, nettools, nixosTests, nodejs, openssl
|
||||||
|
, defaultGemConfig, buildRubyGem
|
||||||
, gitlabEnterprise ? false, callPackage, yarn
|
, gitlabEnterprise ? false, callPackage, yarn
|
||||||
, prefetch-yarn-deps, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config
|
, prefetch-yarn-deps, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config
|
||||||
|
, cargo, rustc, rustPlatform
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -19,20 +21,54 @@ let
|
||||||
name = "gitlab-env-${version}";
|
name = "gitlab-env-${version}";
|
||||||
ruby = ruby_3_1;
|
ruby = ruby_3_1;
|
||||||
gemdir = ./rubyEnv;
|
gemdir = ./rubyEnv;
|
||||||
gemset =
|
gemset = import (gemdir + "/gemset.nix") src;
|
||||||
let x = import (gemdir + "/gemset.nix") src;
|
gemConfig = defaultGemConfig // {
|
||||||
in x // {
|
gpgme = attrs: {
|
||||||
gpgme = x.gpgme // {
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
};
|
};
|
||||||
# the openssl needs the openssl include files
|
# the openssl needs the openssl include files
|
||||||
openssl = x.openssl // {
|
openssl = attrs: {
|
||||||
buildInputs = [ openssl ];
|
buildInputs = [ openssl ];
|
||||||
};
|
};
|
||||||
ruby-magic = x.ruby-magic // {
|
ruby-magic = attrs: {
|
||||||
buildInputs = [ file ];
|
buildInputs = [ file ];
|
||||||
buildFlags = [ "--enable-system-libraries" ];
|
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 = [
|
groups = [
|
||||||
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
|
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "16.7.4";
|
version = "16.8.1";
|
||||||
package_version = "v${lib.versions.major version}";
|
package_version = "v${lib.versions.major version}";
|
||||||
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
|
||||||
|
|
||||||
|
@ -18,10 +18,10 @@ let
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitaly";
|
repo = "gitaly";
|
||||||
rev = "v${version}";
|
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}" ];
|
ldflags = [ "-X ${gitaly_package}/internal/version.version=${version}" "-X ${gitaly_package}/internal/version.moduleVersion=${version}" ];
|
||||||
|
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-elasticsearch-indexer";
|
pname = "gitlab-elasticsearch-indexer";
|
||||||
version = "4.5.0";
|
version = "4.6.0";
|
||||||
|
|
||||||
# nixpkgs-update: no auto update
|
# nixpkgs-update: no auto update
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-elasticsearch-indexer";
|
repo = "gitlab-elasticsearch-indexer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-6Y2ARnFjbz6nFhWGRhzgAY8s0aX24oLMY1016oRD9oo=";
|
sha256 = "sha256-HlT3Uj/DWbyK4xGq7SjKjZ90sww6oMiMDo05mtv6rTA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-jpjfQl2z5yPnlGEYW6KKBfd4quchT+bU/RU6vwaB4gQ=";
|
vendorHash = "sha256-YUH/agSy/shHmHRXlfDtgumbka6BjX5NTxgvlNJS4hQ=";
|
||||||
|
|
||||||
buildInputs = [ icu ];
|
buildInputs = [ icu ];
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -2,17 +2,17 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-pages";
|
pname = "gitlab-pages";
|
||||||
version = "16.7.4";
|
version = "16.8.1";
|
||||||
|
|
||||||
# nixpkgs-update: no auto update
|
# nixpkgs-update: no auto update
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-pages";
|
repo = "gitlab-pages";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-6OPpfn+nylTUp7rNI8NqipbHmLmaV0ezE1qrQqHcuqw=";
|
hash = "sha256-Wj15GHm+5Xd5wq4C3dH+i94jh7pecHM6KCDugLm5YAA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-NMky8v0YmN2pSeKJ7G0+DWAZvUx2JlwFbqPHvciYroM=";
|
vendorHash = "sha256-9yogTSdEij/YwWGm3gz7jMn2AZcI+o7aEnjBvJ8E3vA=";
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-shell";
|
pname = "gitlab-shell";
|
||||||
version = "14.32.0";
|
version = "14.33.0";
|
||||||
|
|
||||||
# nixpkgs-update: no auto update
|
# nixpkgs-update: no auto update
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-shell";
|
repo = "gitlab-shell";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-fZttdcIdPeiy2ncDyseR1BnR6GBoSRsFkn7Mxc+mTA8=";
|
sha256 = "sha256-0C3ODs2NElJQ+A6x9lZxSParTZc3q4YqWsw7DxwhODo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ruby libkrb5 ];
|
buildInputs = [ ruby libkrb5 ];
|
||||||
|
|
||||||
patches = [ ./remove-hardcoded-locations.patch ];
|
patches = [ ./remove-hardcoded-locations.patch ];
|
||||||
|
|
||||||
vendorHash = "sha256-tdYBEV/dKnIJ+OWTF3/5bIbWVdE/ulMrMD/LMzj1QZE=";
|
vendorHash = "sha256-sTAd/AbPx5WzBCzTDLvo/bDZcmz/xVhIhz9nFGBEYx4=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
|
cp -r "$NIX_BUILD_TOP/source"/bin/* $out/bin
|
||||||
|
|
|
@ -5,7 +5,7 @@ in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-workhorse";
|
pname = "gitlab-workhorse";
|
||||||
|
|
||||||
version = "16.7.4";
|
version = "16.8.1";
|
||||||
|
|
||||||
# nixpkgs-update: no auto update
|
# nixpkgs-update: no auto update
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
|
@ -17,7 +17,7 @@ buildGoModule rec {
|
||||||
|
|
||||||
sourceRoot = "${src.name}/workhorse";
|
sourceRoot = "${src.name}/workhorse";
|
||||||
|
|
||||||
vendorHash = "sha256-1oeToeqGXSj5CdL5dgWsnN/VpwALlus93P0Ed7G8TIw=";
|
vendorHash = "sha256-OcdfanSlH1ZUmKlhzMOD3oNySx1o92Is7EDf1Z3953A=";
|
||||||
buildInputs = [ git ];
|
buildInputs = [ git ];
|
||||||
ldflags = [ "-X main.Version=${version}" ];
|
ldflags = [ "-X main.Version=${version}" ];
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
|
@ -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 '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 'openssl', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'ipaddr', '~> 1.2.5' # 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
|
gem 'net-ldap', '~> 0.17.1' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# API
|
# 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-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-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
|
gem 'rack-cors', '~> 2.0.1', require: 'rack/cors' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# GraphQL API
|
# 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-model', '~> 7.2' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation' # 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 '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-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 '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
|
gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# Markdown and HTML processing
|
# Markdown and HTML processing
|
||||||
gem 'html-pipeline', '~> 2.14.3' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'html-pipeline', '~> 2.14.3', feature_category: :team_planning
|
||||||
gem 'deckar01-task_list', '2.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
|
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 '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 'kramdown', '~> 2.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'RedCloth', '~> 4.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'RedCloth', '~> 4.3.3' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'org-ruby', '~> 0.9.12' # 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 'asciidoctor-kroki', '~> 0.8.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'rouge', '~> 4.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'rouge', '~> 4.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'truncato', '~> 0.7.12' # 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
|
# Calendar rendering
|
||||||
gem 'icalendar' # rubocop:todo Gemfile/MissingFeatureCategory
|
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
|
gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
group :puma do
|
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
|
gem 'sd_notify', '~> 0.1.0', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
end
|
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
|
gem 'acts-as-taggable-on', '~> 10.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# Background jobs
|
# 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 '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
|
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
|
gem 'ruby-progressbar', '~> 1.10' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# Linear-time regex library for untrusted regular expressions
|
# 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
|
# Misc
|
||||||
|
|
||||||
|
@ -288,7 +289,7 @@ gem 'redis-namespace', '~> 1.10.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'connection_pool', '~> 2.4' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# Redis session store
|
# 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
|
# Discord integration
|
||||||
gem 'discordrb-webhooks', '~> 3.4', require: false, feature_category: :integrations
|
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 '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
|
gem 'thrift', '>= 0.16.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# I18n
|
# I18n
|
||||||
|
@ -387,7 +388,7 @@ gem 'snowplow-tracker', '~> 0.8.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# Metrics
|
# Metrics
|
||||||
gem 'webrick', '~> 1.8.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
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
|
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 '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
|
gem 'ruby-lsp-rails', "~> 0.2.8", feature_category: :tooling
|
||||||
|
|
||||||
|
@ -416,7 +417,7 @@ end
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'deprecation_toolkit', '~> 1.5.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'bullet', '~> 7.1.2' # 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-byebug' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'pry-rails', '~> 0.3.9' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'pry-shell', '~> 0.6.4' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem '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 'awesome_print', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
gem 'database_cleaner-active_record', '~> 2.1.0', feature_category: :database
|
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
|
gem 'rspec-rails', '~> 6.1.0', feature_category: :shared
|
||||||
|
|
||||||
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
|
# 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 '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
|
gem 'bundler-audit', '~> 0.9.1', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
# Benchmarking & profiling
|
# Benchmarking & profiling
|
||||||
|
@ -457,7 +458,7 @@ group :development, :test do
|
||||||
|
|
||||||
gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup' # rubocop:todo Gemfile/MissingFeatureCategory
|
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
|
# For now we only use vite in development / test, and not for production builds
|
||||||
# See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
|
# See: https://gitlab.com/gitlab-org/frontend/rfcs/-/issues/106
|
||||||
|
@ -472,7 +473,7 @@ group :development, :test, :danger do
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development, :test, :coverage do
|
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-lcov', '~> 0.8.0', require: false, feature_category: :tooling
|
||||||
gem 'simplecov-cobertura', '~> 2.1.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
|
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 'test-prof', '~> 1.3.1' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
|
gem 'rspec_junit_formatter' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
gem 'guard-rspec' # 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
|
# Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
|
||||||
gem 'derailed_benchmarks', require: false # rubocop:todo Gemfile/MissingFeatureCategory
|
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
|
end
|
||||||
|
|
||||||
gem 'octokit', '~> 6.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
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 '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
|
gem 'toml-rb', '~> 2.2.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ PATH
|
||||||
remote: gems/gitlab-housekeeper
|
remote: gems/gitlab-housekeeper
|
||||||
specs:
|
specs:
|
||||||
gitlab-housekeeper (0.1.0)
|
gitlab-housekeeper (0.1.0)
|
||||||
|
activesupport
|
||||||
httparty
|
httparty
|
||||||
rubocop
|
rubocop
|
||||||
|
|
||||||
|
@ -44,7 +45,6 @@ PATH
|
||||||
concurrent-ruby (~> 1.2)
|
concurrent-ruby (~> 1.2)
|
||||||
httparty (~> 0.21.0)
|
httparty (~> 0.21.0)
|
||||||
ipaddress (~> 0.8.3)
|
ipaddress (~> 0.8.3)
|
||||||
nokogiri (~> 1.15.4)
|
|
||||||
railties (~> 7)
|
railties (~> 7)
|
||||||
|
|
||||||
PATH
|
PATH
|
||||||
|
@ -66,6 +66,7 @@ PATH
|
||||||
remote: gems/gitlab-safe_request_store
|
remote: gems/gitlab-safe_request_store
|
||||||
specs:
|
specs:
|
||||||
gitlab-safe_request_store (0.1.0)
|
gitlab-safe_request_store (0.1.0)
|
||||||
|
rack (~> 2.2.8)
|
||||||
request_store
|
request_store
|
||||||
|
|
||||||
PATH
|
PATH
|
||||||
|
@ -79,6 +80,7 @@ PATH
|
||||||
remote: gems/gitlab-secret_detection
|
remote: gems/gitlab-secret_detection
|
||||||
specs:
|
specs:
|
||||||
gitlab-secret_detection (0.1.0)
|
gitlab-secret_detection (0.1.0)
|
||||||
|
parallel (~> 1.22)
|
||||||
re2 (~> 2.4)
|
re2 (~> 2.4)
|
||||||
toml-rb (~> 2.2)
|
toml-rb (~> 2.2)
|
||||||
|
|
||||||
|
@ -89,7 +91,6 @@ PATH
|
||||||
actionview (>= 6.1.7.2)
|
actionview (>= 6.1.7.2)
|
||||||
activesupport (>= 6.1.7.2)
|
activesupport (>= 6.1.7.2)
|
||||||
addressable (~> 2.8)
|
addressable (~> 2.8)
|
||||||
nokogiri (~> 1.15.2)
|
|
||||||
rake (~> 13.0)
|
rake (~> 13.0)
|
||||||
|
|
||||||
PATH
|
PATH
|
||||||
|
@ -179,9 +180,9 @@ PATH
|
||||||
PATH
|
PATH
|
||||||
remote: vendor/gems/sidekiq-reliable-fetch
|
remote: vendor/gems/sidekiq-reliable-fetch
|
||||||
specs:
|
specs:
|
||||||
gitlab-sidekiq-fetcher (0.10.0)
|
gitlab-sidekiq-fetcher (0.11.0)
|
||||||
json (>= 2.5)
|
json (>= 2.5)
|
||||||
sidekiq (~> 6.1)
|
sidekiq (~> 7.0)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
|
@ -296,28 +297,28 @@ GEM
|
||||||
awesome_print (1.9.2)
|
awesome_print (1.9.2)
|
||||||
awrence (1.2.1)
|
awrence (1.2.1)
|
||||||
aws-eventstream (1.3.0)
|
aws-eventstream (1.3.0)
|
||||||
aws-partitions (1.761.0)
|
aws-partitions (1.877.0)
|
||||||
aws-sdk-cloudformation (1.41.0)
|
aws-sdk-cloudformation (1.41.0)
|
||||||
aws-sdk-core (~> 3, >= 3.99.0)
|
aws-sdk-core (~> 3, >= 3.99.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-core (3.190.0)
|
aws-sdk-core (3.190.2)
|
||||||
aws-eventstream (~> 1, >= 1.3.0)
|
aws-eventstream (~> 1, >= 1.3.0)
|
||||||
aws-partitions (~> 1, >= 1.651.0)
|
aws-partitions (~> 1, >= 1.651.0)
|
||||||
aws-sigv4 (~> 1.8)
|
aws-sigv4 (~> 1.8)
|
||||||
jmespath (~> 1, >= 1.6.1)
|
jmespath (~> 1, >= 1.6.1)
|
||||||
aws-sdk-kms (1.64.0)
|
aws-sdk-kms (1.76.0)
|
||||||
aws-sdk-core (~> 3, >= 3.165.0)
|
aws-sdk-core (~> 3, >= 3.188.0)
|
||||||
aws-sigv4 (~> 1.1)
|
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-core (~> 3, >= 3.189.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.8)
|
aws-sigv4 (~> 1.8)
|
||||||
aws-sigv4 (1.8.0)
|
aws-sigv4 (1.8.0)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
axe-core-api (4.6.0)
|
axe-core-api (4.8.0)
|
||||||
dumb_delegator
|
dumb_delegator
|
||||||
virtus
|
virtus
|
||||||
axe-core-rspec (4.6.0)
|
axe-core-rspec (4.8.0)
|
||||||
axe-core-api
|
axe-core-api
|
||||||
dumb_delegator
|
dumb_delegator
|
||||||
virtus
|
virtus
|
||||||
|
@ -352,7 +353,7 @@ GEM
|
||||||
bindata (2.4.11)
|
bindata (2.4.11)
|
||||||
binding_of_caller (1.0.0)
|
binding_of_caller (1.0.0)
|
||||||
debug_inspector (>= 0.0.1)
|
debug_inspector (>= 0.0.1)
|
||||||
bootsnap (1.17.0)
|
bootsnap (1.17.1)
|
||||||
msgpack (~> 1.2)
|
msgpack (~> 1.2)
|
||||||
browser (5.3.1)
|
browser (5.3.1)
|
||||||
builder (3.2.4)
|
builder (3.2.4)
|
||||||
|
@ -500,7 +501,7 @@ GEM
|
||||||
jwt (>= 2.5)
|
jwt (>= 2.5)
|
||||||
dotenv (2.7.6)
|
dotenv (2.7.6)
|
||||||
dry-cli (1.0.0)
|
dry-cli (1.0.0)
|
||||||
dry-core (1.0.0)
|
dry-core (1.0.1)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
zeitwerk (~> 2.6)
|
zeitwerk (~> 2.6)
|
||||||
dry-inflector (1.0.0)
|
dry-inflector (1.0.0)
|
||||||
|
@ -552,10 +553,10 @@ GEM
|
||||||
expression_parser (0.9.0)
|
expression_parser (0.9.0)
|
||||||
extended-markdown-filter (0.7.0)
|
extended-markdown-filter (0.7.0)
|
||||||
html-pipeline (~> 2.9)
|
html-pipeline (~> 2.9)
|
||||||
factory_bot (6.2.0)
|
factory_bot (6.4.5)
|
||||||
activesupport (>= 5.0.0)
|
activesupport (>= 5.0.0)
|
||||||
factory_bot_rails (6.2.0)
|
factory_bot_rails (6.4.3)
|
||||||
factory_bot (~> 6.2.0)
|
factory_bot (~> 6.4)
|
||||||
railties (>= 5.0.0)
|
railties (>= 5.0.0)
|
||||||
faraday (1.10.0)
|
faraday (1.10.0)
|
||||||
faraday-em_http (~> 1.0)
|
faraday-em_http (~> 1.0)
|
||||||
|
@ -596,7 +597,6 @@ GEM
|
||||||
rake
|
rake
|
||||||
ffi-yajl (2.6.0)
|
ffi-yajl (2.6.0)
|
||||||
libyajl2 (>= 1.2)
|
libyajl2 (>= 1.2)
|
||||||
filelock (1.1.1)
|
|
||||||
find_a_port (1.0.1)
|
find_a_port (1.0.1)
|
||||||
flipper (0.26.2)
|
flipper (0.26.2)
|
||||||
concurrent-ruby (< 2)
|
concurrent-ruby (< 2)
|
||||||
|
@ -693,13 +693,15 @@ GEM
|
||||||
fog-core (= 2.1.0)
|
fog-core (= 2.1.0)
|
||||||
fog-json (~> 1.2.0)
|
fog-json (~> 1.2.0)
|
||||||
mime-types
|
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)
|
actionpack (>= 5.0.0, < 8.0.0)
|
||||||
activesupport (>= 5.0.0, < 8.0.0)
|
activesupport (>= 5.0.0, < 8.0.0)
|
||||||
grpc (>= 1.37)
|
grpc (>= 1.37)
|
||||||
jaeger-client (~> 1.1.0)
|
jaeger-client (~> 1.1.0)
|
||||||
opentracing (~> 0.4)
|
opentracing (~> 0.4)
|
||||||
pg_query (~> 4.2.3)
|
pg_query (>= 4.2.3, < 6.0)
|
||||||
redis (> 3.0.0, < 6.0.0)
|
redis (> 3.0.0, < 6.0.0)
|
||||||
gitlab-license (2.3.0)
|
gitlab-license (2.3.0)
|
||||||
gitlab-mail_room (0.0.24)
|
gitlab-mail_room (0.0.24)
|
||||||
|
@ -727,7 +729,7 @@ GEM
|
||||||
omniauth (>= 1.3, < 3)
|
omniauth (>= 1.3, < 3)
|
||||||
pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
|
pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
|
||||||
rubyntlm (~> 0.5)
|
rubyntlm (~> 0.5)
|
||||||
gitlab_quality-test_tooling (1.9.0)
|
gitlab_quality-test_tooling (1.11.0)
|
||||||
activesupport (>= 6.1, < 7.2)
|
activesupport (>= 6.1, < 7.2)
|
||||||
amatch (~> 0.4.1)
|
amatch (~> 0.4.1)
|
||||||
gitlab (~> 4.19)
|
gitlab (~> 4.19)
|
||||||
|
@ -798,7 +800,7 @@ GEM
|
||||||
google-cloud-core (~> 1.6)
|
google-cloud-core (~> 1.6)
|
||||||
googleauth (>= 0.16.2, < 2.a)
|
googleauth (>= 0.16.2, < 2.a)
|
||||||
mini_mime (~> 1.0)
|
mini_mime (~> 1.0)
|
||||||
google-protobuf (3.25.1)
|
google-protobuf (3.25.2)
|
||||||
googleapis-common-protos (1.4.0)
|
googleapis-common-protos (1.4.0)
|
||||||
google-protobuf (~> 3.14)
|
google-protobuf (~> 3.14)
|
||||||
googleapis-common-protos-types (~> 1.2)
|
googleapis-common-protos-types (~> 1.2)
|
||||||
|
@ -814,23 +816,24 @@ GEM
|
||||||
signet (>= 0.16, < 2.a)
|
signet (>= 0.16, < 2.a)
|
||||||
gpgme (2.0.23)
|
gpgme (2.0.23)
|
||||||
mini_portile2 (~> 2.7)
|
mini_portile2 (~> 2.7)
|
||||||
grape (1.7.1)
|
grape (2.0.0)
|
||||||
activesupport
|
activesupport (>= 5)
|
||||||
builder
|
builder
|
||||||
dry-types (>= 1.1)
|
dry-types (>= 1.1)
|
||||||
mustermann-grape (~> 1.0.0)
|
mustermann-grape (~> 1.0.0)
|
||||||
rack (>= 1.3.0, < 3)
|
rack (>= 1.3.0)
|
||||||
rack-accept
|
rack-accept
|
||||||
grape-entity (0.10.0)
|
grape-entity (0.10.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
multi_json (>= 1.3.2)
|
multi_json (>= 1.3.2)
|
||||||
grape-path-helpers (1.7.1)
|
grape-path-helpers (2.0.1)
|
||||||
activesupport
|
activesupport
|
||||||
grape (~> 1.3)
|
grape (~> 2.0)
|
||||||
rake (> 12)
|
rake (> 12)
|
||||||
ruby2_keywords (~> 0.0.2)
|
ruby2_keywords (~> 0.0.2)
|
||||||
grape-swagger (1.6.1)
|
grape-swagger (2.0.1)
|
||||||
grape (~> 1.3)
|
grape (>= 1.7, < 3.0)
|
||||||
|
rack-test (~> 2)
|
||||||
grape-swagger-entity (0.5.1)
|
grape-swagger-entity (0.5.1)
|
||||||
grape-entity (>= 0.6.0)
|
grape-entity (>= 0.6.0)
|
||||||
grape-swagger (>= 1.2.0)
|
grape-swagger (>= 1.2.0)
|
||||||
|
@ -879,8 +882,8 @@ GEM
|
||||||
haml (5.2.2)
|
haml (5.2.2)
|
||||||
temple (>= 0.8.0)
|
temple (>= 0.8.0)
|
||||||
tilt
|
tilt
|
||||||
haml_lint (0.52.0)
|
haml_lint (0.53.0)
|
||||||
haml (>= 4.0)
|
haml (>= 5.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
rainbow
|
rainbow
|
||||||
rubocop (>= 1.0)
|
rubocop (>= 1.0)
|
||||||
|
@ -1104,9 +1107,9 @@ GEM
|
||||||
net-protocol
|
net-protocol
|
||||||
net-ssh (7.2.0)
|
net-ssh (7.2.0)
|
||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
nio4r (2.5.8)
|
nio4r (2.7.0)
|
||||||
no_proxy_fix (0.1.2)
|
no_proxy_fix (0.1.2)
|
||||||
nokogiri (1.15.5)
|
nokogiri (1.16.0)
|
||||||
mini_portile2 (~> 2.8.2)
|
mini_portile2 (~> 2.8.2)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
notiffany (0.1.3)
|
notiffany (0.1.3)
|
||||||
|
@ -1206,31 +1209,29 @@ GEM
|
||||||
rubypants (~> 0.2)
|
rubypants (~> 0.2)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
os (1.1.4)
|
os (1.1.4)
|
||||||
pact (1.63.0)
|
pact (1.64.0)
|
||||||
pact-mock_service (~> 3.0, >= 3.3.1)
|
pact-mock_service (~> 3.0, >= 3.3.1)
|
||||||
pact-support (~> 1.16, >= 1.16.9)
|
pact-support (~> 1.16, >= 1.16.9)
|
||||||
rack-test (>= 0.6.3, < 3.0.0)
|
rack-test (>= 0.6.3, < 3.0.0)
|
||||||
rspec (~> 3.0)
|
rspec (~> 3.0)
|
||||||
term-ansicolor (~> 1.0)
|
term-ansicolor (~> 1.7)
|
||||||
thor (>= 0.20, < 2.0)
|
thor (>= 0.20, < 2.0)
|
||||||
webrick (~> 1.3)
|
webrick (~> 1.8)
|
||||||
pact-mock_service (3.10.0)
|
pact-mock_service (3.11.2)
|
||||||
filelock (~> 1.1)
|
|
||||||
find_a_port (~> 1.0.1)
|
find_a_port (~> 1.0.1)
|
||||||
json
|
json
|
||||||
pact-support (~> 1.16, >= 1.16.4)
|
pact-support (~> 1.16, >= 1.16.4)
|
||||||
rack (~> 2.0)
|
rack (~> 2.0)
|
||||||
rspec (>= 2.14)
|
rspec (>= 2.14)
|
||||||
term-ansicolor (~> 1.0)
|
|
||||||
thor (>= 0.19, < 2.0)
|
thor (>= 0.19, < 2.0)
|
||||||
webrick (~> 1.3)
|
webrick (~> 1.8)
|
||||||
pact-support (1.18.1)
|
pact-support (1.20.0)
|
||||||
awesome_print (~> 1.9)
|
awesome_print (~> 1.9)
|
||||||
diff-lcs (~> 1.4)
|
diff-lcs (~> 1.5)
|
||||||
expgen (~> 0.1)
|
expgen (~> 0.1)
|
||||||
rainbow (~> 3.1.1)
|
rainbow (~> 3.1.1)
|
||||||
parallel (1.22.1)
|
parallel (1.22.1)
|
||||||
parser (3.2.2.4)
|
parser (3.3.0.2)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
racc
|
racc
|
||||||
parslet (1.8.2)
|
parslet (1.8.2)
|
||||||
|
@ -1253,13 +1254,13 @@ GEM
|
||||||
prime (0.1.2)
|
prime (0.1.2)
|
||||||
forwardable
|
forwardable
|
||||||
singleton
|
singleton
|
||||||
prism (0.18.0)
|
prism (0.19.0)
|
||||||
proc_to_ast (0.1.0)
|
proc_to_ast (0.1.0)
|
||||||
coderay
|
coderay
|
||||||
parser
|
parser
|
||||||
unparser
|
unparser
|
||||||
prometheus-client-mmap (1.0.2)
|
prometheus-client-mmap (1.1.0)
|
||||||
rb_sys (~> 0.9)
|
rb_sys (~> 0.9.86)
|
||||||
protocol (2.0.0)
|
protocol (2.0.0)
|
||||||
ruby_parser (~> 3.0)
|
ruby_parser (~> 3.0)
|
||||||
pry (0.14.2)
|
pry (0.14.2)
|
||||||
|
@ -1297,6 +1298,8 @@ GEM
|
||||||
rack
|
rack
|
||||||
rack-proxy (0.7.7)
|
rack-proxy (0.7.7)
|
||||||
rack
|
rack
|
||||||
|
rack-session (1.0.2)
|
||||||
|
rack (< 3)
|
||||||
rack-test (2.1.0)
|
rack-test (2.1.0)
|
||||||
rack (>= 1.3)
|
rack (>= 1.3)
|
||||||
rack-timeout (0.6.3)
|
rack-timeout (0.6.3)
|
||||||
|
@ -1321,8 +1324,9 @@ GEM
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.0.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
rails-html-sanitizer (1.5.0)
|
rails-html-sanitizer (1.6.0)
|
||||||
loofah (~> 2.19, >= 2.19.1)
|
loofah (~> 2.21)
|
||||||
|
nokogiri (~> 1.14)
|
||||||
rails-i18n (7.0.3)
|
rails-i18n (7.0.3)
|
||||||
i18n (>= 0.7, < 2)
|
i18n (>= 0.7, < 2)
|
||||||
railties (>= 6.0.0, < 8)
|
railties (>= 6.0.0, < 8)
|
||||||
|
@ -1338,31 +1342,33 @@ GEM
|
||||||
rb-fsevent (0.11.2)
|
rb-fsevent (0.11.2)
|
||||||
rb-inotify (0.10.1)
|
rb-inotify (0.10.1)
|
||||||
ffi (~> 1.0)
|
ffi (~> 1.0)
|
||||||
rb_sys (0.9.83)
|
rb_sys (0.9.86)
|
||||||
rbtrace (0.4.14)
|
rbtrace (0.4.14)
|
||||||
ffi (>= 1.0.6)
|
ffi (>= 1.0.6)
|
||||||
msgpack (>= 0.4.3)
|
msgpack (>= 0.4.3)
|
||||||
optimist (>= 3.0.0)
|
optimist (>= 3.0.0)
|
||||||
rbtree (0.4.6)
|
rbtree (0.4.6)
|
||||||
rchardet (1.8.0)
|
rchardet (1.8.0)
|
||||||
re2 (2.5.0)
|
re2 (2.6.0)
|
||||||
mini_portile2 (~> 2.8.5)
|
mini_portile2 (~> 2.8.5)
|
||||||
recaptcha (5.12.3)
|
recaptcha (5.12.3)
|
||||||
json
|
json
|
||||||
recursive-open-struct (1.1.3)
|
recursive-open-struct (1.1.3)
|
||||||
redcarpet (3.6.0)
|
redcarpet (3.6.0)
|
||||||
redis (4.8.0)
|
redis (4.8.0)
|
||||||
redis-actionpack (5.3.0)
|
redis-actionpack (5.4.0)
|
||||||
actionpack (>= 5, < 8)
|
actionpack (>= 5, < 8)
|
||||||
redis-rack (>= 2.1.0, < 3)
|
redis-rack (>= 2.1.0, < 4)
|
||||||
redis-store (>= 1.1.0, < 2)
|
redis-store (>= 1.1.0, < 2)
|
||||||
|
redis-client (0.19.0)
|
||||||
|
connection_pool
|
||||||
redis-namespace (1.10.0)
|
redis-namespace (1.10.0)
|
||||||
redis (>= 4)
|
redis (>= 4)
|
||||||
redis-rack (2.1.4)
|
redis-rack (3.0.0)
|
||||||
rack (>= 2.0.8, < 3)
|
rack-session (>= 0.2.0)
|
||||||
redis-store (>= 1.2, < 2)
|
redis-store (>= 1.2, < 2)
|
||||||
redis-store (1.9.1)
|
redis-store (1.10.0)
|
||||||
redis (>= 4, < 5)
|
redis (>= 4, < 6)
|
||||||
regexp_parser (2.6.0)
|
regexp_parser (2.6.0)
|
||||||
regexp_property_values (1.0.0)
|
regexp_property_values (1.0.0)
|
||||||
representable (3.2.0)
|
representable (3.2.0)
|
||||||
|
@ -1469,9 +1475,9 @@ GEM
|
||||||
ruby-fogbugz (0.3.0)
|
ruby-fogbugz (0.3.0)
|
||||||
crack (~> 0.4)
|
crack (~> 0.4)
|
||||||
multipart-post (~> 2.0)
|
multipart-post (~> 2.0)
|
||||||
ruby-lsp (0.13.1)
|
ruby-lsp (0.13.2)
|
||||||
language_server-protocol (~> 3.17.0)
|
language_server-protocol (~> 3.17.0)
|
||||||
prism (>= 0.18.0, < 0.19)
|
prism (>= 0.19.0, < 0.20)
|
||||||
sorbet-runtime (>= 0.5.5685)
|
sorbet-runtime (>= 0.5.5685)
|
||||||
ruby-lsp-rails (0.2.8)
|
ruby-lsp-rails (0.2.8)
|
||||||
actionpack (>= 6.0)
|
actionpack (>= 6.0)
|
||||||
|
@ -1542,10 +1548,11 @@ GEM
|
||||||
shellany (0.0.1)
|
shellany (0.0.1)
|
||||||
shoulda-matchers (5.1.0)
|
shoulda-matchers (5.1.0)
|
||||||
activesupport (>= 5.2.0)
|
activesupport (>= 5.2.0)
|
||||||
sidekiq (6.5.12)
|
sidekiq (7.1.6)
|
||||||
connection_pool (>= 2.2.5, < 3)
|
concurrent-ruby (< 2)
|
||||||
rack (~> 2.0)
|
connection_pool (>= 2.3.0)
|
||||||
redis (>= 4.5.0, < 5)
|
rack (>= 2.2.4)
|
||||||
|
redis-client (>= 0.14.0)
|
||||||
sidekiq-cron (1.12.0)
|
sidekiq-cron (1.12.0)
|
||||||
fugit (~> 1.8)
|
fugit (~> 1.8)
|
||||||
globalid (>= 1.0.1)
|
globalid (>= 1.0.1)
|
||||||
|
@ -1713,7 +1720,7 @@ GEM
|
||||||
unparser (0.6.7)
|
unparser (0.6.7)
|
||||||
diff-lcs (~> 1.3)
|
diff-lcs (~> 1.3)
|
||||||
parser (>= 3.2.0)
|
parser (>= 3.2.0)
|
||||||
uri (0.12.2)
|
uri (0.13.0)
|
||||||
uri_template (0.7.0)
|
uri_template (0.7.0)
|
||||||
valid_email (0.1.3)
|
valid_email (0.1.3)
|
||||||
activemodel
|
activemodel
|
||||||
|
@ -1808,9 +1815,9 @@ DEPENDENCIES
|
||||||
autoprefixer-rails (= 10.2.5.1)
|
autoprefixer-rails (= 10.2.5.1)
|
||||||
awesome_print
|
awesome_print
|
||||||
aws-sdk-cloudformation (~> 1)
|
aws-sdk-cloudformation (~> 1)
|
||||||
aws-sdk-core (~> 3.190.0)
|
aws-sdk-core (~> 3.190.2)
|
||||||
aws-sdk-s3 (~> 1.141.0)
|
aws-sdk-s3 (~> 1.142.0)
|
||||||
axe-core-rspec
|
axe-core-rspec (~> 4.8.0)
|
||||||
babosa (~> 2.0)
|
babosa (~> 2.0)
|
||||||
base32 (~> 0.3.0)
|
base32 (~> 0.3.0)
|
||||||
batch-loader (~> 2.0.1)
|
batch-loader (~> 2.0.1)
|
||||||
|
@ -1818,7 +1825,7 @@ DEPENDENCIES
|
||||||
benchmark-ips (~> 2.11.0)
|
benchmark-ips (~> 2.11.0)
|
||||||
benchmark-memory (~> 0.1)
|
benchmark-memory (~> 0.1)
|
||||||
better_errors (~> 2.10.1)
|
better_errors (~> 2.10.1)
|
||||||
bootsnap (~> 1.17.0)
|
bootsnap (~> 1.17.1)
|
||||||
browser (~> 5.3.1)
|
browser (~> 5.3.1)
|
||||||
bullet (~> 7.1.2)
|
bullet (~> 7.1.2)
|
||||||
bundler-audit (~> 0.9.1)
|
bundler-audit (~> 0.9.1)
|
||||||
|
@ -1861,7 +1868,7 @@ DEPENDENCIES
|
||||||
email_reply_trimmer (~> 0.1)
|
email_reply_trimmer (~> 0.1)
|
||||||
email_spec (~> 2.2.0)
|
email_spec (~> 2.2.0)
|
||||||
error_tracking_open_api!
|
error_tracking_open_api!
|
||||||
factory_bot_rails (~> 6.2.0)
|
factory_bot_rails (~> 6.4.3)
|
||||||
faraday (~> 1.0)
|
faraday (~> 1.0)
|
||||||
faraday_middleware-aws-sigv4 (~> 0.3.0)
|
faraday_middleware-aws-sigv4 (~> 0.3.0)
|
||||||
fast_blank (~> 1.0.1)
|
fast_blank (~> 1.0.1)
|
||||||
|
@ -1884,9 +1891,10 @@ DEPENDENCIES
|
||||||
gitlab-dangerfiles (~> 4.6.0)
|
gitlab-dangerfiles (~> 4.6.0)
|
||||||
gitlab-experiment (~> 0.9.1)
|
gitlab-experiment (~> 0.9.1)
|
||||||
gitlab-fog-azure-rm (~> 1.8.0)
|
gitlab-fog-azure-rm (~> 1.8.0)
|
||||||
|
gitlab-glfm-markdown (~> 0.0.11)
|
||||||
gitlab-housekeeper!
|
gitlab-housekeeper!
|
||||||
gitlab-http!
|
gitlab-http!
|
||||||
gitlab-labkit (~> 0.34.0)
|
gitlab-labkit (~> 0.35.0)
|
||||||
gitlab-license (~> 2.3)
|
gitlab-license (~> 2.3)
|
||||||
gitlab-mail_room (~> 0.0.24)
|
gitlab-mail_room (~> 0.0.24)
|
||||||
gitlab-markup (~> 1.9.0)
|
gitlab-markup (~> 1.9.0)
|
||||||
|
@ -1902,7 +1910,7 @@ DEPENDENCIES
|
||||||
gitlab-utils!
|
gitlab-utils!
|
||||||
gitlab_chronic_duration (~> 0.12)
|
gitlab_chronic_duration (~> 0.12)
|
||||||
gitlab_omniauth-ldap (~> 2.2.0)
|
gitlab_omniauth-ldap (~> 2.2.0)
|
||||||
gitlab_quality-test_tooling (~> 1.9.0)
|
gitlab_quality-test_tooling (~> 1.11.0)
|
||||||
gon (~> 6.4.0)
|
gon (~> 6.4.0)
|
||||||
google-apis-androidpublisher_v3 (~> 0.34.0)
|
google-apis-androidpublisher_v3 (~> 0.34.0)
|
||||||
google-apis-cloudbilling_v1 (~> 0.21.0)
|
google-apis-cloudbilling_v1 (~> 0.21.0)
|
||||||
|
@ -1916,12 +1924,12 @@ DEPENDENCIES
|
||||||
google-apis-sqladmin_v1beta4 (~> 0.41.0)
|
google-apis-sqladmin_v1beta4 (~> 0.41.0)
|
||||||
google-apis-storage_v1 (~> 0.29)
|
google-apis-storage_v1 (~> 0.29)
|
||||||
google-cloud-storage (~> 1.45.0)
|
google-cloud-storage (~> 1.45.0)
|
||||||
google-protobuf (~> 3.25, >= 3.25.1)
|
google-protobuf (~> 3.25, >= 3.25.2)
|
||||||
gpgme (~> 2.0.23)
|
gpgme (~> 2.0.23)
|
||||||
grape (~> 1.7.1)
|
grape (~> 2.0.0)
|
||||||
grape-entity (~> 0.10.0)
|
grape-entity (~> 0.10.0)
|
||||||
grape-path-helpers (~> 1.7.1)
|
grape-path-helpers (~> 2.0.0)
|
||||||
grape-swagger (~> 1.6.1)
|
grape-swagger (~> 2.0.1)
|
||||||
grape-swagger-entity (~> 0.5.1)
|
grape-swagger-entity (~> 0.5.1)
|
||||||
grape_logging (~> 1.8)
|
grape_logging (~> 1.8)
|
||||||
graphiql-rails (~> 1.8.0)
|
graphiql-rails (~> 1.8.0)
|
||||||
|
@ -1932,7 +1940,7 @@ DEPENDENCIES
|
||||||
grpc (~> 1.58.0)
|
grpc (~> 1.58.0)
|
||||||
gssapi (~> 1.3.1)
|
gssapi (~> 1.3.1)
|
||||||
guard-rspec
|
guard-rspec
|
||||||
haml_lint (~> 0.52)
|
haml_lint (~> 0.53)
|
||||||
hamlit (~> 2.15.0)
|
hamlit (~> 2.15.0)
|
||||||
hashie (~> 5.0.0)
|
hashie (~> 5.0.0)
|
||||||
health_check (~> 3.0)
|
health_check (~> 3.0)
|
||||||
|
@ -1979,7 +1987,7 @@ DEPENDENCIES
|
||||||
net-ldap (~> 0.17.1)
|
net-ldap (~> 0.17.1)
|
||||||
net-ntp
|
net-ntp
|
||||||
net-protocol (~> 0.1.3)
|
net-protocol (~> 0.1.3)
|
||||||
nokogiri (~> 1.15, >= 1.15.5)
|
nokogiri (~> 1.16)
|
||||||
oauth2 (~> 2.0)
|
oauth2 (~> 2.0)
|
||||||
octokit (~> 6.0)
|
octokit (~> 6.0)
|
||||||
ohai (~> 18.1)
|
ohai (~> 18.1)
|
||||||
|
@ -2007,20 +2015,20 @@ DEPENDENCIES
|
||||||
openssl (~> 3.0)
|
openssl (~> 3.0)
|
||||||
org-ruby (~> 0.9.12)
|
org-ruby (~> 0.9.12)
|
||||||
os (~> 1.1)
|
os (~> 1.1)
|
||||||
pact (~> 1.63)
|
pact (~> 1.64)
|
||||||
parallel (~> 1.19)
|
parallel (~> 1.19)
|
||||||
parser (~> 3.2, >= 3.2.2.4)
|
parser (~> 3.3, >= 3.3.0.2)
|
||||||
parslet (~> 1.8)
|
parslet (~> 1.8)
|
||||||
peek (~> 1.1)
|
peek (~> 1.1)
|
||||||
pg (~> 1.5.4)
|
pg (~> 1.5.4)
|
||||||
pg_query (~> 4.2.3)
|
pg_query (~> 4.2.3)
|
||||||
png_quantizator (~> 0.2.1)
|
png_quantizator (~> 0.2.1)
|
||||||
premailer-rails (~> 1.10.3)
|
premailer-rails (~> 1.10.3)
|
||||||
prometheus-client-mmap (~> 1.0, >= 1.0.2)
|
prometheus-client-mmap (~> 1.1)
|
||||||
pry-byebug
|
pry-byebug
|
||||||
pry-rails (~> 0.3.9)
|
pry-rails (~> 0.3.9)
|
||||||
pry-shell (~> 0.6.4)
|
pry-shell (~> 0.6.4)
|
||||||
puma (~> 6.4)
|
puma (= 6.4.0)
|
||||||
rack (~> 2.2.8)
|
rack (~> 2.2.8)
|
||||||
rack-attack (~> 6.7.0)
|
rack-attack (~> 6.7.0)
|
||||||
rack-cors (~> 2.0.1)
|
rack-cors (~> 2.0.1)
|
||||||
|
@ -2032,10 +2040,10 @@ DEPENDENCIES
|
||||||
rails-i18n (~> 7.0)
|
rails-i18n (~> 7.0)
|
||||||
rainbow (~> 3.0)
|
rainbow (~> 3.0)
|
||||||
rbtrace (~> 0.4)
|
rbtrace (~> 0.4)
|
||||||
re2 (= 2.5.0)
|
re2 (= 2.6.0)
|
||||||
recaptcha (~> 5.12)
|
recaptcha (~> 5.12)
|
||||||
redis (~> 4.8.0)
|
redis (~> 4.8.0)
|
||||||
redis-actionpack (~> 5.3.0)
|
redis-actionpack (~> 5.4.0)
|
||||||
redis-namespace (~> 1.10.0)
|
redis-namespace (~> 1.10.0)
|
||||||
request_store (~> 1.5.1)
|
request_store (~> 1.5.1)
|
||||||
responders (~> 3.0)
|
responders (~> 3.0)
|
||||||
|
@ -2051,7 +2059,7 @@ DEPENDENCIES
|
||||||
rspec_profiling (~> 0.0.6)
|
rspec_profiling (~> 0.0.6)
|
||||||
rubocop
|
rubocop
|
||||||
ruby-fogbugz (~> 0.3.0)
|
ruby-fogbugz (~> 0.3.0)
|
||||||
ruby-lsp (~> 0.13.1)
|
ruby-lsp (~> 0.13.2)
|
||||||
ruby-lsp-rails (~> 0.2.8)
|
ruby-lsp-rails (~> 0.2.8)
|
||||||
ruby-lsp-rspec (~> 0.1.8)
|
ruby-lsp-rspec (~> 0.1.8)
|
||||||
ruby-magic (~> 0.6)
|
ruby-magic (~> 0.6)
|
||||||
|
@ -2071,11 +2079,11 @@ DEPENDENCIES
|
||||||
sentry-ruby (~> 5.10.0)
|
sentry-ruby (~> 5.10.0)
|
||||||
sentry-sidekiq (~> 5.10.0)
|
sentry-sidekiq (~> 5.10.0)
|
||||||
shoulda-matchers (~> 5.1.0)
|
shoulda-matchers (~> 5.1.0)
|
||||||
sidekiq (~> 6.5.10)
|
sidekiq (~> 7.1.6)
|
||||||
sidekiq-cron (~> 1.12.0)
|
sidekiq-cron (~> 1.12.0)
|
||||||
sigdump (~> 0.2.4)
|
sigdump (~> 0.2.4)
|
||||||
simple_po_parser (~> 1.1.6)
|
simple_po_parser (~> 1.1.6)
|
||||||
simplecov (~> 0.21)
|
simplecov (~> 0.22)
|
||||||
simplecov-cobertura (~> 2.1.0)
|
simplecov-cobertura (~> 2.1.0)
|
||||||
simplecov-lcov (~> 0.8.0)
|
simplecov-lcov (~> 0.8.0)
|
||||||
slack-messenger (~> 2.3.4)
|
slack-messenger (~> 2.3.4)
|
||||||
|
@ -2117,4 +2125,4 @@ DEPENDENCIES
|
||||||
yajl-ruby (~> 1.4.3)
|
yajl-ruby (~> 1.4.3)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.4.22
|
2.5.4
|
||||||
|
|
|
@ -389,10 +389,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1whf6ppvdibfpsr660ajncig3hyc6q9dvnx645ajrjfz3r7487i9";
|
sha256 = "1zcwrlg4in3gzvsiynpzp9fzlr5grrhc2881xcgfs01ppmxysllm";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.761.0";
|
version = "1.877.0";
|
||||||
};
|
};
|
||||||
aws-sdk-cloudformation = {
|
aws-sdk-cloudformation = {
|
||||||
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
||||||
|
@ -411,10 +411,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "19nglxz49nlzgsvnivb3bdm17vxjn1ng2br8659xv48nzjrmyid3";
|
sha256 = "0z9f8ypvpwj3sfqh3nlnhrq7ryhrv7isqzg370fba27zpy7bv5sx";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.190.0";
|
version = "3.190.2";
|
||||||
};
|
};
|
||||||
aws-sdk-kms = {
|
aws-sdk-kms = {
|
||||||
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
||||||
|
@ -422,10 +422,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1bcm0c9f7xy5qj5f0z3gddqslhb2vzrj9smc39pgqyq4jmn5kpj0";
|
sha256 = "0jfgw9a9c8xyjhkmgpd9rpi95h9i0rhbqszn8iqkbfm9rc9m1xz7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.64.0";
|
version = "1.76.0";
|
||||||
};
|
};
|
||||||
aws-sdk-s3 = {
|
aws-sdk-s3 = {
|
||||||
dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
|
dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
|
||||||
|
@ -433,10 +433,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0bnhpmi0iiaj88rqc5lhhnp2gyrk4fs8xz51lj36wwzng94qinya";
|
sha256 = "1sfpipfdmixpc0madfx1yvpwpv52fdhxfx4bmvrjxzb6ra78ikbr";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.141.0";
|
version = "1.142.0";
|
||||||
};
|
};
|
||||||
aws-sigv4 = {
|
aws-sigv4 = {
|
||||||
dependencies = ["aws-eventstream"];
|
dependencies = ["aws-eventstream"];
|
||||||
|
@ -455,10 +455,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0qkcia7yg50j0ycmzqnl2dzzz9a35wlg5fk30g0qs41z6p1xw38v";
|
sha256 = "0bx67lskxslfd2mpim3kqrxa4sx4qhvnpjpr57j1ll2xppyl9kw8";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.6.0";
|
version = "4.8.0";
|
||||||
};
|
};
|
||||||
axe-core-rspec = {
|
axe-core-rspec = {
|
||||||
dependencies = ["axe-core-api" "dumb_delegator" "virtus"];
|
dependencies = ["axe-core-api" "dumb_delegator" "virtus"];
|
||||||
|
@ -466,10 +466,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0zvlrnxcyam2574gzn44r0ibz4h0s9j3vrp5lixi731qvp4mphhi";
|
sha256 = "07niarqd2lrbgnw00biyigc48lbdv4vy68p57myliz7k82nizidj";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.6.0";
|
version = "4.8.0";
|
||||||
};
|
};
|
||||||
axiom-types = {
|
axiom-types = {
|
||||||
dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
|
dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
|
||||||
|
@ -653,10 +653,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0iqkzby0fdgi786m873nm0ckmc847wy9a4ydinb29m7hd3fs83kb";
|
sha256 = "028qif22isxa5sg5gf1322d0qjhir5rr0jpkaiwcic4lspacdcnv";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.17.0";
|
version = "1.17.1";
|
||||||
};
|
};
|
||||||
browser = {
|
browser = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -1391,10 +1391,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01gks2hrp7nl3pzb487azvd25dlbrc40d5cpk4n0szwnf2c0k4ks";
|
sha256 = "03a5qn74c4lk2rpy6wlhv66synjlyzc4wn086xzphkpmw12l4bzk";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.0";
|
version = "1.0.1";
|
||||||
};
|
};
|
||||||
dry-inflector = {
|
dry-inflector = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
|
@ -1674,10 +1674,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi";
|
sha256 = "1glq677vmd3xrdilcx6ar8sdaysm9ldrppg34yzw43jzr6dx47fp";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "6.2.0";
|
version = "6.4.5";
|
||||||
};
|
};
|
||||||
factory_bot_rails = {
|
factory_bot_rails = {
|
||||||
dependencies = ["factory_bot" "railties"];
|
dependencies = ["factory_bot" "railties"];
|
||||||
|
@ -1685,10 +1685,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "18fhcihkc074gk62iwqgbdgc3ymim4fm0b4p3ipffy5hcsb9d2r7";
|
sha256 = "1j6w4rr2cb5wng9yrn2ya9k40q52m0pbz47kzw8xrwqg3jncwwza";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "6.2.0";
|
version = "6.4.3";
|
||||||
};
|
};
|
||||||
faraday = {
|
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"];
|
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";
|
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 = {
|
find_a_port = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
|
@ -2220,8 +2210,19 @@ src:
|
||||||
};
|
};
|
||||||
version = "1.8.0";
|
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 = {
|
gitlab-housekeeper = {
|
||||||
dependencies = ["httparty" "rubocop"];
|
dependencies = ["activesupport" "httparty" "rubocop"];
|
||||||
groups = ["development" "test"];
|
groups = ["development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
|
@ -2231,7 +2232,7 @@ src:
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
};
|
};
|
||||||
gitlab-http = {
|
gitlab-http = {
|
||||||
dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "nokogiri" "railties"];
|
dependencies = ["activesupport" "concurrent-ruby" "httparty" "ipaddress" "railties"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
|
@ -2246,10 +2247,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1k9yd8b1xbq3l6l1n4pb0mh2wklz0ninr7h2l5xx031r05150p6a";
|
sha256 = "0ya6r3ij0fzz6p50h157bn224n7405nwak6lx80ppvil9sm0dzr6";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.34.0";
|
version = "0.35.0";
|
||||||
};
|
};
|
||||||
gitlab-license = {
|
gitlab-license = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -2313,7 +2314,7 @@ src:
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
};
|
};
|
||||||
gitlab-safe_request_store = {
|
gitlab-safe_request_store = {
|
||||||
dependencies = ["request_store"];
|
dependencies = ["rack" "request_store"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
|
@ -2344,7 +2345,7 @@ src:
|
||||||
version = "0.2.3";
|
version = "0.2.3";
|
||||||
};
|
};
|
||||||
gitlab-secret_detection = {
|
gitlab-secret_detection = {
|
||||||
dependencies = ["re2" "toml-rb"];
|
dependencies = ["parallel" "re2" "toml-rb"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
|
@ -2361,7 +2362,7 @@ src:
|
||||||
path = "${src}/vendor/gems/sidekiq-reliable-fetch";
|
path = "${src}/vendor/gems/sidekiq-reliable-fetch";
|
||||||
type = "path";
|
type = "path";
|
||||||
};
|
};
|
||||||
version = "0.10.0";
|
version = "0.11.0";
|
||||||
};
|
};
|
||||||
gitlab-styles = {
|
gitlab-styles = {
|
||||||
dependencies = ["rubocop" "rubocop-graphql" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
|
dependencies = ["rubocop" "rubocop-graphql" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
|
||||||
|
@ -2375,7 +2376,7 @@ src:
|
||||||
version = "11.0.0";
|
version = "11.0.0";
|
||||||
};
|
};
|
||||||
gitlab-utils = {
|
gitlab-utils = {
|
||||||
dependencies = ["actionview" "activesupport" "addressable" "nokogiri" "rake"];
|
dependencies = ["actionview" "activesupport" "addressable" "rake"];
|
||||||
groups = ["monorepo"];
|
groups = ["monorepo"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
|
@ -2412,10 +2413,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "18m35p6kizkaw829lwvh6mc7r8q94gmyhkq9qggx7r78h8iafiqd";
|
sha256 = "0anhwfn9dnd8zkjwkq3qycjswfxqksfnwvl7dr6azz2zvjnxnii1";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.9.0";
|
version = "1.11.0";
|
||||||
};
|
};
|
||||||
globalid = {
|
globalid = {
|
||||||
dependencies = ["activesupport"];
|
dependencies = ["activesupport"];
|
||||||
|
@ -2663,10 +2664,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "18yiqq657lbqbrbdfbxfspdrkiynd0wf49l3cgdw939z36cy0h77";
|
sha256 = "02sh4rp14wmpfv9r7xrap6xgcakg0lk6zjvq1gsi5y38swhn2blw";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.25.1";
|
version = "3.25.2";
|
||||||
};
|
};
|
||||||
googleapis-common-protos = {
|
googleapis-common-protos = {
|
||||||
dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
|
dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
|
||||||
|
@ -2718,10 +2719,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1dnbb3gxwbmvhzvzb22prwaim9wmvilm0nm91ndw2ggf324rsrvb";
|
sha256 = "0jj98w80ry1ir8lc3347130s0z8yd7gk727r9ynwwk782x6gkvrs";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.7.1";
|
version = "2.0.0";
|
||||||
};
|
};
|
||||||
grape-entity = {
|
grape-entity = {
|
||||||
dependencies = ["activesupport" "multi_json"];
|
dependencies = ["activesupport" "multi_json"];
|
||||||
|
@ -2740,21 +2741,21 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1ql1acy68n9xkvjzda1vpscf20zqqwjm959b7cx3w1yl40d2f9rf";
|
sha256 = "1mq2cwy0jvprq3wdilds1n865jdl58sqg00im4w6fybf5kjiclmd";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.7.1";
|
version = "2.0.1";
|
||||||
};
|
};
|
||||||
grape-swagger = {
|
grape-swagger = {
|
||||||
dependencies = ["grape"];
|
dependencies = ["grape" "rack-test"];
|
||||||
groups = ["development" "test"];
|
groups = ["development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "17y6smk7shplblgic4jvi5njhd0x91n1xrvds3l6cjsjfs2d7lhg";
|
sha256 = "1467ni6f0yy4z3qldjs8x0h50n9ym6zyjbx5gqqzbq6zhvgbx40g";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.6.1";
|
version = "2.0.1";
|
||||||
};
|
};
|
||||||
grape-swagger-entity = {
|
grape-swagger-entity = {
|
||||||
dependencies = ["grape-entity" "grape-swagger"];
|
dependencies = ["grape-entity" "grape-swagger"];
|
||||||
|
@ -2913,10 +2914,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1shlh68vjqyj092ig2b571anbr5npg8kp66a7cq5h9a1387nnckn";
|
sha256 = "060vz5dx0ag3ggpwhwfcadfim0g8aabl0b1dvnzagizymfsw2g92";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.52.0";
|
version = "0.53.0";
|
||||||
};
|
};
|
||||||
hamlit = {
|
hamlit = {
|
||||||
dependencies = ["temple" "thor" "tilt"];
|
dependencies = ["temple" "thor" "tilt"];
|
||||||
|
@ -4040,10 +4041,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
|
sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.5.8";
|
version = "2.7.0";
|
||||||
};
|
};
|
||||||
no_proxy_fix = {
|
no_proxy_fix = {
|
||||||
groups = ["default" "development"];
|
groups = ["default" "development"];
|
||||||
|
@ -4061,10 +4062,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
|
sha256 = "1l8b0i24h4irivyhwy9xmkjbggw86cxkzkiqdqg0jpcp9qc8h4rl";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.15.5";
|
version = "1.16.0";
|
||||||
};
|
};
|
||||||
notiffany = {
|
notiffany = {
|
||||||
dependencies = ["nenv" "shellany"];
|
dependencies = ["nenv" "shellany"];
|
||||||
|
@ -4466,21 +4467,21 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ldi3j95dh3c29w4bliykfdd08r95d4zvbdblk385w9b4knr2afc";
|
sha256 = "1a3fbwzzzdsbzipv63mcq1q761mqc6w8k1vxkbrbf3aqi2489p8b";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.63.0";
|
version = "1.64.0";
|
||||||
};
|
};
|
||||||
pact-mock_service = {
|
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"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "09syv4y0g0pvjshxj8i0yg7mrvszgp503is1b78k86bgv6wc73l9";
|
sha256 = "0lds3xpkrx91lm74pa3n5167c8mkmqyki9axj7bjj0m18r2ybna2";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.10.0";
|
version = "3.11.2";
|
||||||
};
|
};
|
||||||
pact-support = {
|
pact-support = {
|
||||||
dependencies = ["awesome_print" "diff-lcs" "expgen" "rainbow"];
|
dependencies = ["awesome_print" "diff-lcs" "expgen" "rainbow"];
|
||||||
|
@ -4488,10 +4489,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0xh4idg0m1mr0pkywj5f79nlr4g6n4waism86gj34h8wicf9c9aa";
|
sha256 = "0waq8ywxhljm5sjk7m3q7f6s2pvcfshg3ncs9dl7kcsg2ail7hs1";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.18.1";
|
version = "1.20.0";
|
||||||
};
|
};
|
||||||
parallel = {
|
parallel = {
|
||||||
groups = ["development" "test"];
|
groups = ["development" "test"];
|
||||||
|
@ -4509,10 +4510,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
|
sha256 = "181faqz59p2mbfab5q4l1r298pq0nxl0k85rjcb58g0lardmv321";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.2.4";
|
version = "3.3.0.2";
|
||||||
};
|
};
|
||||||
parslet = {
|
parslet = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
|
@ -4625,10 +4626,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "172qxf1zyrhxzwbn4c7gz12zdyb1jkdqrqvb2c7863lmxp53rrxs";
|
sha256 = "0qiv9irrca2la1awqgvzsg7a17z2nydqyq43w4fhapdkq2l7xwa7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.18.0";
|
version = "0.19.0";
|
||||||
};
|
};
|
||||||
proc_to_ast = {
|
proc_to_ast = {
|
||||||
dependencies = ["coderay" "parser" "unparser"];
|
dependencies = ["coderay" "parser" "unparser"];
|
||||||
|
@ -4647,10 +4648,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1xfy4g3bwgqb1hn948aw3zfwxvak3886gxdyf0cnajzjfp9z33pq";
|
sha256 = "19mi424kwalrzdm7cvzjx2w0rw778mxqb75y9wn20nc277nxglvb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.2";
|
version = "1.1.0";
|
||||||
};
|
};
|
||||||
protocol = {
|
protocol = {
|
||||||
dependencies = ["ruby_parser"];
|
dependencies = ["ruby_parser"];
|
||||||
|
@ -4834,6 +4835,17 @@ src:
|
||||||
};
|
};
|
||||||
version = "0.7.7";
|
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 = {
|
rack-test = {
|
||||||
dependencies = ["rack"];
|
dependencies = ["rack"];
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
|
@ -4889,15 +4901,15 @@ src:
|
||||||
version = "2.0.3";
|
version = "2.0.3";
|
||||||
};
|
};
|
||||||
rails-html-sanitizer = {
|
rails-html-sanitizer = {
|
||||||
dependencies = ["loofah"];
|
dependencies = ["loofah" "nokogiri"];
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "monorepo" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz";
|
sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.5.0";
|
version = "1.6.0";
|
||||||
};
|
};
|
||||||
rails-i18n = {
|
rails-i18n = {
|
||||||
dependencies = ["i18n" "railties"];
|
dependencies = ["i18n" "railties"];
|
||||||
|
@ -4967,10 +4979,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0pj5qq4phswviw9vybvz4ql5921ddxkkmn9iywm992x0kbvhvn0f";
|
sha256 = "131sa2jvc7b1yld3nzc0xq7lvwvql7b8c09i0xv2brzjybammlv5";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.9.83";
|
version = "0.9.86";
|
||||||
};
|
};
|
||||||
rbtrace = {
|
rbtrace = {
|
||||||
dependencies = ["ffi" "msgpack" "optimist"];
|
dependencies = ["ffi" "msgpack" "optimist"];
|
||||||
|
@ -5009,10 +5021,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ih6igmfcb4b9a8hd46ggn85zfyclz9h828d0xafy2pq5qlz9fs2";
|
sha256 = "0sj80r3gy4sb27mrgc6pwcf2lra669p8p81axdv2p5pfm6k3mqbq";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.5.0";
|
version = "2.6.0";
|
||||||
};
|
};
|
||||||
recaptcha = {
|
recaptcha = {
|
||||||
dependencies = ["json"];
|
dependencies = ["json"];
|
||||||
|
@ -5071,10 +5083,21 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0h4iq67p5jjkg9kny7ki6yzkivyakmhbp6ckkhl6mlnriw5avc9z";
|
sha256 = "0h1mx8shrzpcj27k9kw77f4cq7i217vxfd1ksqb4g485md4zc37i";
|
||||||
type = "gem";
|
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 = {
|
redis-namespace = {
|
||||||
dependencies = ["redis"];
|
dependencies = ["redis"];
|
||||||
|
@ -5088,15 +5111,15 @@ src:
|
||||||
version = "1.10.0";
|
version = "1.10.0";
|
||||||
};
|
};
|
||||||
redis-rack = {
|
redis-rack = {
|
||||||
dependencies = ["rack" "redis-store"];
|
dependencies = ["rack-session" "redis-store"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0k3pn706wnf7lb24l6hwsi00c8rx693hvgfnccw3qj1y635ywwh8";
|
sha256 = "10438w0y1jbgr205zndvmz6md0mrqazh2j9fr88lvb8hms10pddb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.4";
|
version = "3.0.0";
|
||||||
};
|
};
|
||||||
redis-store = {
|
redis-store = {
|
||||||
dependencies = ["redis"];
|
dependencies = ["redis"];
|
||||||
|
@ -5104,10 +5127,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0787fwmlvpx5k360dxlcs8r7vijgl2iyvh3zyvl7qyvgshw78k3v";
|
sha256 = "17mhr1g3lmacrgjndbmrklngy32g55165n53111q70kykx7qjn7j";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.9.1";
|
version = "1.10.0";
|
||||||
};
|
};
|
||||||
regexp_parser = {
|
regexp_parser = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
|
@ -5502,10 +5525,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1zsd9ax4xzk8y1hflzbmfq1l0fpflwqhrggd8x2f4j9ap6z464lg";
|
sha256 = "1g1vdas991rv6lrjppjxjbfyzif4jxbncrcg9shgzrmibzilbnwr";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.13.1";
|
version = "0.13.2";
|
||||||
};
|
};
|
||||||
ruby-lsp-rails = {
|
ruby-lsp-rails = {
|
||||||
dependencies = ["actionpack" "activerecord" "railties" "ruby-lsp" "sorbet-runtime"];
|
dependencies = ["actionpack" "activerecord" "railties" "ruby-lsp" "sorbet-runtime"];
|
||||||
|
@ -5837,15 +5860,15 @@ src:
|
||||||
version = "5.1.0";
|
version = "5.1.0";
|
||||||
};
|
};
|
||||||
sidekiq = {
|
sidekiq = {
|
||||||
dependencies = ["connection_pool" "rack" "redis"];
|
dependencies = ["concurrent-ruby" "connection_pool" "rack" "redis-client"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0zqr9is8y7mg5dfs1q8w5jl9spwvqkhbi9r6np8208n40hi3pydl";
|
sha256 = "18j3g31ps6ga9nzza0z0d00qjrn810fhkhx2pqi3rvxwsmkdlnbq";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "6.5.12";
|
version = "7.1.6";
|
||||||
};
|
};
|
||||||
sidekiq-cron = {
|
sidekiq-cron = {
|
||||||
dependencies = ["fugit" "globalid" "sidekiq"];
|
dependencies = ["fugit" "globalid" "sidekiq"];
|
||||||
|
@ -6670,10 +6693,10 @@ src:
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy";
|
sha256 = "094gk72ckazf495qc76gk09b5i318d5l9m7bicg2wxlrjcm3qm96";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.12.2";
|
version = "0.13.0";
|
||||||
};
|
};
|
||||||
uri_template = {
|
uri_template = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
|
|
@ -62,7 +62,7 @@ let
|
||||||
cp contrib/hgk $out/bin
|
cp contrib/hgk $out/bin
|
||||||
cat >> $out/etc/mercurial/hgrc << EOF
|
cat >> $out/etc/mercurial/hgrc << EOF
|
||||||
[extensions]
|
[extensions]
|
||||||
hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py
|
hgk=$out/${python.sitePackages}/hgext/hgk.py
|
||||||
EOF
|
EOF
|
||||||
# setting HG so that hgk can be run itself as well (not only hg view)
|
# setting HG so that hgk can be run itself as well (not only hg view)
|
||||||
WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
|
WRAP_TK=" --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}
|
||||||
|
|
|
@ -106,6 +106,17 @@ rec {
|
||||||
url = "https://github.com/moby/moby/pull/43136.patch";
|
url = "https://github.com/moby/moby/pull/43136.patch";
|
||||||
hash = "sha256-1WZfpVnnqFwLMYqaHLploOodls0gHF8OCp7MrM26iX8=";
|
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 = ''
|
postPatch = ''
|
||||||
|
|
|
@ -34,7 +34,7 @@ runCommand testName {
|
||||||
for moduleName in $moduleNames; do
|
for moduleName in $moduleNames; do
|
||||||
echo "checking pkg-config module $moduleName in $buildInputs"
|
echo "checking pkg-config module $moduleName in $buildInputs"
|
||||||
set +e
|
set +e
|
||||||
version="$(pkg-config --modversion $moduleName)"
|
version="$($PKG_CONFIG --modversion $moduleName)"
|
||||||
r=$?
|
r=$?
|
||||||
set -e
|
set -e
|
||||||
if [[ $r = 0 ]]; then
|
if [[ $r = 0 ]]; then
|
||||||
|
@ -42,7 +42,7 @@ runCommand testName {
|
||||||
printf '%s\t%s\n' "$moduleName" "$version" >> "$out"
|
printf '%s\t%s\n' "$moduleName" "$version" >> "$out"
|
||||||
else
|
else
|
||||||
echo "These modules were available in the input propagation closure:"
|
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"
|
echo "❌ pkg-config module $moduleName was not found"
|
||||||
false
|
false
|
||||||
fi
|
fi
|
||||||
|
|
52
pkgs/by-name/al/alsa-lib-with-plugins/package.nix
Normal file
52
pkgs/by-name/al/alsa-lib-with-plugins/package.nix
Normal 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"
|
||||||
|
''
|
||||||
|
)
|
|
@ -2,17 +2,15 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "anytype";
|
pname = "anytype";
|
||||||
version = "0.37.3";
|
version = "0.38.0";
|
||||||
name = "Anytype-${version}";
|
name = "Anytype-${version}";
|
||||||
nameExecutable = pname;
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
|
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
|
||||||
name = "Anytype-${version}.AppImage";
|
name = "Anytype-${version}.AppImage";
|
||||||
sha256 = "sha256-W3p67L07XOEtXYluI+TvggXBdaNRadypZc9MO6QTh4M=";
|
hash = "sha256-tcAOj7omrhyyG8elnAvbj/FtYaYOBeBkclpPHhSoass=";
|
||||||
};
|
};
|
||||||
appimageContents = appimageTools.extractType2 { inherit name src; };
|
appimageContents = appimageTools.extractType2 { inherit name src; };
|
||||||
in
|
in appimageTools.wrapType2 {
|
||||||
appimageTools.wrapType2 {
|
|
||||||
inherit name src;
|
inherit name src;
|
||||||
|
|
||||||
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
|
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs)
|
||||||
|
|
18
pkgs/by-name/au/authentik/ldap.nix
Normal file
18
pkgs/by-name/au/authentik/ldap.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
5
pkgs/by-name/au/authentik/outposts.nix
Normal file
5
pkgs/by-name/au/authentik/outposts.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{ callPackage }:
|
||||||
|
|
||||||
|
{
|
||||||
|
ldap = callPackage ./ldap.nix { };
|
||||||
|
}
|
254
pkgs/by-name/au/authentik/package.nix
Normal file
254
pkgs/by-name/au/authentik/package.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,10 +13,10 @@ let
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
|
|
||||||
hash = {
|
hash = {
|
||||||
x86_64-linux = "sha256-6ki5sIzypyBhCFhUDXlD3mT13o9A4OQ4cFFfCWTFPaA=";
|
x86_64-linux = "sha256-vS3rHYxsRTWejp2SAQk7gI/C6ElOYOjPA5cHxy7ef3U=";
|
||||||
aarch64-linux = "sha256-LoFDQDsQDRZZiyEpWmGTfEWE/kJDk4GNKA8AsoqxXmY=";
|
aarch64-linux = "sha256-FxbJL5qzkVBPL6o52/gNJ8dC7Sgm/v5KFi8DL+SxiTc=";
|
||||||
x86_64-darwin = "sha256-o13H5phQ0aWCchizRpIWuy1nO/19qoRRZNq52QHbINY=";
|
x86_64-darwin = "sha256-zPas9sZzl9FqcsoqMxIjvW75JhexW/cuWvku8fPUS1Q=";
|
||||||
aarch64-darwin = "sha256-N7N1y3/C5Q4NT0fISjjUuU3a9IV1Ur5VEa/Z4wVoApU=";
|
aarch64-darwin = "sha256-EZC9EEzilsm7H+oEr1Le5tNevWu1ldLB2UH0fS1RlLk=";
|
||||||
}.${system} or throwSystem;
|
}.${system} or throwSystem;
|
||||||
|
|
||||||
bin = "$out/bin/codeium_language_server";
|
bin = "$out/bin/codeium_language_server";
|
||||||
|
@ -24,7 +24,7 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "codeium";
|
pname = "codeium";
|
||||||
version = "1.6.26";
|
version = "1.6.28";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
|
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
|
||||||
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";
|
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "flarectl";
|
pname = "flarectl";
|
||||||
version = "0.86.0";
|
version = "0.87.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cloudflare";
|
owner = "cloudflare";
|
||||||
repo = "cloudflare-go";
|
repo = "cloudflare-go";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-BGjay9DTlIU563bCSjprq5YwF47Xqj+ZulCda5t2t5I=";
|
hash = "sha256-M3Qc9PAcYASOQyEjWdGrLKx9h6uQGPftMJnD0Uc2buc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-Bn2SDvFWmmMYDpOe+KBuzyTZLpdDtYDPc8HixgEgX+M=";
|
vendorHash = "sha256-Bn2SDvFWmmMYDpOe+KBuzyTZLpdDtYDPc8HixgEgX+M=";
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "littlefs-fuse";
|
pname = "littlefs-fuse";
|
||||||
version = "2.7.4";
|
version = "2.7.5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "littlefs-project";
|
owner = "littlefs-project";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-S4yLe6xugr/cQOmf4vS09ebCqFuDPCXySJKACr0AUDU=";
|
hash = "sha256-sSnk1iQV5aHcOPqVKbigWqojrZKlJK5CcrVlwilT2mE=";
|
||||||
};
|
};
|
||||||
buildInputs = [ fuse ];
|
buildInputs = [ fuse ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
2024-01-15
|
2024-01-31
|
||||||
|
|
|
@ -8,8 +8,8 @@ mkDerivation {
|
||||||
pname = "nixfmt";
|
pname = "nixfmt";
|
||||||
version = "0.5.0";
|
version = "0.5.0";
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/piegamesde/nixfmt/archive/1eff7a84ac82fbebb5f586244f1c80e1fcc4f494.tar.gz";
|
url = "https://github.com/piegamesde/nixfmt/archive/d6930fd0c62c4d7ec9e4a814adc3d2f590d96271.tar.gz";
|
||||||
sha256 = "1pg876sr58h7v087kbjsnfr4pzvqpwzibl06w2468qs1sywmd283";
|
sha256 = "1ijrdzdwricv4asmy296j7gzvhambv96nlxi3qrxb4lj1by6a34m";
|
||||||
};
|
};
|
||||||
isLibrary = true;
|
isLibrary = true;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
, timg
|
, timg
|
||||||
, xdg-utils
|
, xdg-utils
|
||||||
, xsel
|
, xsel
|
||||||
,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -31,10 +30,10 @@ let
|
||||||
xsel
|
xsel
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
python3Packages.buildPythonPackage rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "offpunk";
|
pname = "offpunk";
|
||||||
version = "2.1";
|
version = "2.1";
|
||||||
format = "pyproject";
|
pyproject = true;
|
||||||
|
|
||||||
disabled = python3Packages.pythonOlder "3.7";
|
disabled = python3Packages.pythonOlder "3.7";
|
||||||
|
|
||||||
|
@ -55,7 +54,7 @@ python3Packages.buildPythonPackage rec {
|
||||||
passthru.tests.version = testers.testVersion { package = offpunk; };
|
passthru.tests.version = testers.testVersion { package = offpunk; };
|
||||||
|
|
||||||
meta = with lib; {
|
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;
|
homepage = src.meta.homepage;
|
||||||
maintainers = with maintainers; [ DamienCassou ];
|
maintainers = with maintainers; [ DamienCassou ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
@ -74,7 +74,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \
|
makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \
|
||||||
--prefix PATH : ${lib.makeBinPath [ onedrive ]} \
|
--prefix PATH : ${lib.makeBinPath [ onedrive ]} \
|
||||||
--prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \
|
--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; {
|
meta = with lib; {
|
||||||
|
|
|
@ -34,14 +34,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
+ lib.optionalString enableQt "-qt"
|
+ lib.optionalString enableQt "-qt"
|
||||||
+ lib.optionalString (!enableQt) "-sdl"
|
+ lib.optionalString (!enableQt) "-sdl"
|
||||||
+ lib.optionalString forceWayland "-wayland";
|
+ lib.optionalString forceWayland "-wayland";
|
||||||
version = "1.16.6";
|
version = "1.17";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hrydgard";
|
owner = "hrydgard";
|
||||||
repo = "ppsspp";
|
repo = "ppsspp";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
hash = "sha256-FCdYvYKcV+0TpQUSWiooNlTXKYtqbfnAWwjk7M8iF1Q=";
|
hash = "sha256-BJWcaxUUxNDiSX3YnhwXhgbp3iymcrR493BKrtivn3U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
makeWrapper
|
makeWrapper
|
||||||
pkg-config
|
pkg-config
|
||||||
python3
|
python3
|
||||||
] ++ lib.optional enableQt wrapQtAppsHook;
|
] ++ lib.optionals enableQt [ wrapQtAppsHook ];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
SDL2
|
SDL2
|
||||||
|
@ -67,17 +67,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
] ++ lib.optionals enableQt [
|
] ++ lib.optionals enableQt [
|
||||||
qtbase
|
qtbase
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
] ++ lib.optional enableVulkan vulkan-loader
|
] ++ lib.optionals enableVulkan [ vulkan-loader ]
|
||||||
++ lib.optionals vulkanWayland [ wayland libffi ];
|
++ lib.optionals vulkanWayland [ wayland libffi ];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DHEADLESS=${if enableQt then "OFF" else "ON"}"
|
(lib.cmakeBool "HEADLESS" (!enableQt))
|
||||||
"-DOpenGL_GL_PREFERENCE=GLVND"
|
(lib.cmakeBool "USE_SYSTEM_FFMPEG" true)
|
||||||
"-DUSE_SYSTEM_FFMPEG=ON"
|
(lib.cmakeBool "USE_SYSTEM_LIBZIP" true)
|
||||||
"-DUSE_SYSTEM_LIBZIP=ON"
|
(lib.cmakeBool "USE_SYSTEM_SNAPPY" true)
|
||||||
"-DUSE_SYSTEM_SNAPPY=ON"
|
(lib.cmakeBool "USE_WAYLAND_WSI" vulkanWayland)
|
||||||
"-DUSE_WAYLAND_WSI=${if vulkanWayland then "ON" else "OFF"}"
|
(lib.cmakeBool "USING_QT_UI" enableQt)
|
||||||
"-DUSING_QT_UI=${if enableQt then "ON" else "OFF"}"
|
(lib.cmakeFeature "OpenGL_GL_PREFERENCE" "GLVND")
|
||||||
];
|
];
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
|
@ -98,7 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
mkdir -p $out/share/{applications,ppsspp,icons}
|
mkdir -p $out/share/{applications,ppsspp,icons}
|
||||||
'' + (if enableQt then ''
|
''
|
||||||
|
+ (if enableQt then ''
|
||||||
install -Dm555 PPSSPPQt $out/bin/ppsspp
|
install -Dm555 PPSSPPQt $out/bin/ppsspp
|
||||||
wrapProgram $out/bin/ppsspp \
|
wrapProgram $out/bin/ppsspp \
|
||||||
'' else ''
|
'' else ''
|
||||||
|
@ -106,9 +107,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
install -Dm555 PPSSPPSDL $out/share/ppsspp/
|
install -Dm555 PPSSPPSDL $out/share/ppsspp/
|
||||||
makeWrapper $out/share/ppsspp/PPSSPPSDL $out/bin/ppsspp \
|
makeWrapper $out/share/ppsspp/PPSSPPSDL $out/bin/ppsspp \
|
||||||
--set SDL_VIDEODRIVER ${if forceWayland then "wayland" else "x11"} \
|
--set SDL_VIDEODRIVER ${if forceWayland then "wayland" else "x11"} \
|
||||||
'') + lib.optionalString enableVulkan ''
|
'')
|
||||||
|
+ lib.optionalString enableVulkan ''
|
||||||
--prefix LD_LIBRARY_PATH : ${vulkanPath} \
|
--prefix LD_LIBRARY_PATH : ${vulkanPath} \
|
||||||
'' + "\n" + ''
|
''
|
||||||
|
+ ''
|
||||||
|
|
||||||
mv assets $out/share/ppsspp
|
mv assets $out/share/ppsspp
|
||||||
mv ../icons/hicolor $out/share/icons
|
mv ../icons/hicolor $out/share/icons
|
||||||
|
|
||||||
|
@ -119,8 +123,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
homepage = "https://www.ppsspp.org/";
|
homepage = "https://www.ppsspp.org/";
|
||||||
description = "A HLE Playstation Portable emulator, written in C++ ("
|
description = "A HLE Playstation Portable emulator, written in C++ ("
|
||||||
+ (if enableQt then "Qt" else "SDL + headless") + ")";
|
+ (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;
|
license = lib.licenses.gpl2Plus;
|
||||||
maintainers = [ lib.maintainers.AndersonTorres ];
|
maintainers = [ lib.maintainers.AndersonTorres ];
|
||||||
|
mainProgram = "ppsspp";
|
||||||
platforms = lib.platforms.linux;
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
201
pkgs/by-name/pr/pretalx/package.nix
Normal file
201
pkgs/by-name/pr/pretalx/package.nix
Normal 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;
|
||||||
|
}
|
46
pkgs/by-name/py/pysqlrecon/package.nix
Normal file
46
pkgs/by-name/py/pysqlrecon/package.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,14 +6,14 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication {
|
python3.pkgs.buildPythonApplication {
|
||||||
pname = "renode-dts2repl";
|
pname = "renode-dts2repl";
|
||||||
version = "unstable-2024-01-09";
|
version = "unstable-2024-01-20";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "antmicro";
|
owner = "antmicro";
|
||||||
repo = "dts2repl";
|
repo = "dts2repl";
|
||||||
rev = "429ebc65e0bcbd967ccfe1f9a970abd5b5b6258f";
|
rev = "bd09db556fa762cb1a4857d874545957d91b0010";
|
||||||
hash = "sha256-/62KAVIMCM6VNhW4rDqnKXOFrAO0cHpybGS3lconCqY=";
|
hash = "sha256-bGDM23PuON4fx4pNCNVYw2bN0tIWjmwZqghhksAIVGA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -9,18 +9,18 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "shopware-cli";
|
pname = "shopware-cli";
|
||||||
version = "0.4.18";
|
version = "0.4.22";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "shopware-cli";
|
repo = "shopware-cli";
|
||||||
owner = "FriendsOfShopware";
|
owner = "FriendsOfShopware";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-LOmGxH/czICSii8AkoXi1cQPL+MErV92iUZtJc2eg64=";
|
hash = "sha256-P93wxAApV2iWXSQGXsCPjmvj2gGMwbKw6+yMgiainb4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||||
nativeCheckInputs = [ git dart-sass ];
|
nativeCheckInputs = [ git dart-sass ];
|
||||||
|
|
||||||
vendorHash = "sha256-KMNPw2B4fLaOdSIFHBIAKXUtnu0sMwksJg3RUZKLDsE=";
|
vendorHash = "sha256-FalN3qhw2o9NvSIfEU4juevPAsxQoksNjL3eATf0umU=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
export HOME="$(mktemp -d)"
|
export HOME="$(mktemp -d)"
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "0xproto";
|
pname = "0xproto";
|
||||||
version = "1.500";
|
version = "1.601";
|
||||||
|
|
||||||
src = let
|
src = let
|
||||||
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
|
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
|
||||||
in
|
in
|
||||||
fetchzip {
|
fetchzip {
|
||||||
url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip";
|
url = "https://github.com/0xType/0xProto/releases/download/${version}/0xProto_${underscoreVersion}.zip";
|
||||||
hash = "sha256-4yZtYjNLHDsF16brUADzwS4/Ha0g+g0mU+sl8Gb9Zm0=";
|
hash = "sha256-f/5YmyIF66+7w2Tb0V0UKRjwDYDdZ0BEqsEuyN0FaDQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "ibm-plex";
|
pname = "ibm-plex";
|
||||||
version = "6.2.0";
|
version = "6.4.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
|
url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
|
||||||
hash = "sha256-RvD/aeZrvltJiuAHqYMNaRsjLgTdcC1/5zqlcd4qKAA=";
|
hash = "sha256-/aR3bu03VxenSPed6EqrGoPjWCcKT//MVtb9OC8tSRs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -32,13 +32,13 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cinnamon-session";
|
pname = "cinnamon-session";
|
||||||
version = "6.0.2";
|
version = "6.0.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-AO4/JUysQyGDsQDbP9X7sqmcxyRSkNGjjTEu4fFzDZA=";
|
hash = "sha256-dNg1e339NWRzyEsRp7I91SwK2H+lU28Ra+7MSgUDk8w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, dtkwidget
|
, dtkwidget
|
||||||
, qt5integration
|
, qt5integration
|
||||||
, qt5platform-plugins
|
, qt5platform-plugins
|
||||||
|
@ -21,23 +20,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "deepin-compressor";
|
pname = "deepin-compressor";
|
||||||
version = "5.12.20";
|
version = "5.12.23";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxdeepin";
|
owner = "linuxdeepin";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
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 = ''
|
postPatch = ''
|
||||||
substituteInPlace src/source/common/pluginmanager.cpp \
|
substituteInPlace src/source/common/pluginmanager.cpp \
|
||||||
--replace "/usr/lib/" "$out/lib/"
|
--replace "/usr/lib/" "$out/lib/"
|
||||||
|
|
|
@ -130,5 +130,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = teams.gnome.members;
|
maintainers = teams.gnome.members;
|
||||||
|
mainProgram = "nautilus";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
, fetchFromGitLab
|
, fetchFromGitLab
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, gitUpdater
|
, gitUpdater
|
||||||
|
, substituteAll
|
||||||
, testers
|
, testers
|
||||||
, dbus-test-runner
|
, dbus-test-runner
|
||||||
, dpkg
|
, dpkg
|
||||||
|
@ -74,6 +75,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
})
|
})
|
||||||
|
|
||||||
./2001-Mark-problematic-tests.patch
|
./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 = ''
|
postPatch = ''
|
||||||
|
|
|
@ -1,15 +1,42 @@
|
||||||
{ stdenv, pkgsHostTarget, cmake, makeWrapper, mkDerivation, fetchFromGitHub
|
{ stdenv
|
||||||
, alex, array, base, bytestring, cond, containers, directory, extra
|
, pkgsHostTarget
|
||||||
, filepath, hpack, hspec, hspec-core, isocline, json, lib, mtl
|
, cmake
|
||||||
, parsec, process, regex-compat, text, time }:
|
, 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
|
let
|
||||||
version = "2.4.2";
|
version = "3.0.4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "koka-lang";
|
owner = "koka-lang";
|
||||||
repo = "koka";
|
repo = "koka";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-sVjaIzOxNuBtDswpDl5gLB10Sw945TQAf2ywrKumqqk=";
|
sha256 = "sha256-U8BW1Aq9t3je0YDV8NkE0MzdnjwXBJQbmekh5ufOs3k=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
kklib = stdenv.mkDerivation {
|
kklib = stdenv.mkDerivation {
|
||||||
|
@ -38,8 +65,28 @@ mkDerivation rec {
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
libraryToolDepends = [ hpack ];
|
libraryToolDepends = [ hpack ];
|
||||||
executableHaskellDepends = [
|
executableHaskellDepends = [
|
||||||
array base bytestring cond containers directory isocline mtl
|
aeson
|
||||||
parsec process text time kklib
|
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 ];
|
executableToolDepends = [ alex makeWrapper ];
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
|
|
@ -11,17 +11,17 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "unison-code-manager";
|
pname = "unison-code-manager";
|
||||||
version = "0.5.13";
|
version = "0.5.14";
|
||||||
|
|
||||||
src = if stdenv.isDarwin then
|
src = if stdenv.isDarwin then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
|
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
|
||||||
hash = "sha256-/iaL3jTwUeGhfPgZ08njopkOC5t4RY3zggn0n2zLTnw=";
|
hash = "sha256-LLyJy0qz5qm08Xj+mb09lBN5sw3v8AnaSYv832sYefg=";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
|
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.
|
# The tarball is just the prebuilt binary, in the archive root.
|
||||||
|
|
|
@ -345,7 +345,7 @@ self: super: ({
|
||||||
}) (disableCabalFlag "fixity-th" super.fourmolu);
|
}) (disableCabalFlag "fixity-th" super.fourmolu);
|
||||||
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/149692
|
# 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
|
} // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin
|
||||||
|
|
||||||
|
|
|
@ -1134,10 +1134,16 @@ self: super: builtins.intersectAttrs super {
|
||||||
preCheck = "export CI=true";
|
preCheck = "export CI=true";
|
||||||
}) super.aeson-typescript;
|
}) super.aeson-typescript;
|
||||||
|
|
||||||
# Enable extra optimisations which increase build time, but also
|
Agda = lib.pipe super.Agda [
|
||||||
# later compiler performance, so we should do this for user's benefit.
|
# Enable extra optimisations which increase build time, but also
|
||||||
# Flag added in Agda 2.6.2
|
# later compiler performance, so we should do this for user's benefit.
|
||||||
Agda = appendConfigureFlag "-foptimise-heavily" super.Agda;
|
# 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
|
# 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
|
# to arbitrary files in $HOME. This doesn't either not achieve anything
|
||||||
|
|
|
@ -2,19 +2,19 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "wasmtime";
|
pname = "wasmtime";
|
||||||
version = "16.0.0";
|
version = "17.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bytecodealliance";
|
owner = "bytecodealliance";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-kySJme79RQMI8PP2Jhx1mjqJpUIf5jPn2TvbPEzw5hY=";
|
hash = "sha256-HGs82LMDJJZl1bPaFsVetpMR7ytBgGmOkH1tt7xmUMA=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
|
# Disable cargo-auditable until https://github.com/rust-secure-code/cargo-auditable/issues/124 is solved.
|
||||||
auditable = false;
|
auditable = false;
|
||||||
cargoHash = "sha256-2XlnR4OBvdQyMUUOL6VvqDxf8jGYlhz2PDuPd24Ocxw=";
|
cargoHash = "sha256-bNGpBgAhLN4s90saQqIgFb6hXtfC9NIjOfy+hvkRJ6E=";
|
||||||
cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
|
cargoBuildFlags = [ "--package" "wasmtime-cli" "--package" "wasmtime-c-api" ];
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
|
@ -11,9 +11,13 @@ mkDerivation rec {
|
||||||
hash = "sha256-0U6s6sXdynk2IWRBDXBJCf7Gc+gE8AhR1PXZl0DS4yU=";
|
hash = "sha256-0U6s6sXdynk2IWRBDXBJCf7Gc+gE8AhR1PXZl0DS4yU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# We don't need anything in support; avoid installing LICENSE.agda
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
# We don't need anything in support; avoid installing LICENSE.agda
|
||||||
rm -rf support
|
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";
|
libraryName = "1lab";
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "httplib";
|
pname = "httplib";
|
||||||
version = "0.14.3";
|
version = "0.15.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yhirose";
|
owner = "yhirose";
|
||||||
repo = "cpp-httplib";
|
repo = "cpp-httplib";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-53EBZTpz0INtjVSmjvg7XOQf0Bs2ADVe2//+nK6xRyE=";
|
hash = "sha256-HV2RiWu4rt3rau/flcha500R67oGwbmyEPPnklpAvgY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -20,6 +20,11 @@ stdenv.mkDerivation rec
|
||||||
|
|
||||||
cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" ];
|
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 = ''
|
postFixup = ''
|
||||||
substituteInPlace $dev/lib/cmake/OpenVDB/FindOpenVDB.cmake \
|
substituteInPlace $dev/lib/cmake/OpenVDB/FindOpenVDB.cmake \
|
||||||
--replace \''${OPENVDB_LIBRARYDIR} $out/lib \
|
--replace \''${OPENVDB_LIBRARYDIR} $out/lib \
|
||||||
|
|
69
pkgs/development/libraries/qwlroots/default.nix
Normal file
69
pkgs/development/libraries/qwlroots/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
|
@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
|
||||||
"-DPython3_EXECUTABLE=${pythonEnv}/bin/python"
|
"-DPython3_EXECUTABLE=${pythonEnv}/bin/python"
|
||||||
"-DNS3_PYTHON_BINDINGS=ON"
|
"-DNS3_PYTHON_BINDINGS=ON"
|
||||||
"-DNS3_DES_METRICS=ON"
|
"-DNS3_DES_METRICS=ON"
|
||||||
"-DNS3_BINDINGS_INSTALL_DIR=lib/${pythonEnv.libPrefix}/site-packages"
|
"-DNS3_BINDINGS_INSTALL_DIR=${pythonEnv.sitePackages}"
|
||||||
"-DNS3_LOG=ON"
|
"-DNS3_LOG=ON"
|
||||||
"-DNS3_ASSERT=ON"
|
"-DNS3_ASSERT=ON"
|
||||||
"-DNS3_GTK3=ON"
|
"-DNS3_GTK3=ON"
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "spglib";
|
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 {
|
src = fetchFromGitHub {
|
||||||
owner = "spglib";
|
owner = "spglib";
|
||||||
repo = "spglib";
|
repo = "spglib";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-VaTW7n7DTeYBr/PrxPhfzfx/gLxzJikw5aL1tEbMtbs=";
|
hash = "sha256-S/i0sIg7VwgpnB2Uo0d4FdVcSIb5tcGJ+0URmkNkxe8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake gfortran gtest ];
|
nativeBuildInputs = [ cmake gfortran gtest ];
|
||||||
|
|
|
@ -13,11 +13,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "talloc";
|
pname = "talloc";
|
||||||
version = "2.4.1";
|
version = "2.4.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://samba/talloc/${pname}-${version}.tar.gz";
|
url = "mirror://samba/talloc/${pname}-${version}.tar.gz";
|
||||||
sha256 = "sha256-QQpUfwhVcAe+DogZTyGIaDWO3Aq5jJi6jBZ5MNs9M/k=";
|
sha256 = "sha256-hez55GXiD5j5lQpS6aQR4UMgvFVfolfYdpe356mx2KY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||||
python
|
python
|
||||||
];
|
];
|
||||||
|
|
||||||
preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/lib/${python.libPrefix}/site-packages\"";
|
preConfigure = "cmakeFlags+=\" -DVIGRANUMPY_INSTALL_DIR=$out/${python.sitePackages}\"";
|
||||||
|
|
||||||
cmakeFlags = [ "-DWITH_OPENEXR=1" ]
|
cmakeFlags = [ "-DWITH_OPENEXR=1" ]
|
||||||
++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux")
|
++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux")
|
||||||
|
|
|
@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
homepage = "https://github.com/Cyan4973/xxHash";
|
homepage = "https://github.com/Cyan4973/xxHash";
|
||||||
license = with licenses; [ bsd2 gpl2 ];
|
license = with licenses; [ bsd2 gpl2 ];
|
||||||
|
mainProgram = "xxhsum";
|
||||||
maintainers = with maintainers; [ orivej ];
|
maintainers = with maintainers; [ orivej ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,28 +1,50 @@
|
||||||
{ lib, stdenv, fetchgit, bash-completion, cmake, pkg-config
|
{ lib
|
||||||
, json_c, libdrm, libpciaccess, llvmPackages, nanomsg, ncurses, SDL2
|
, stdenv
|
||||||
|
|
||||||
|
, fetchFromGitLab
|
||||||
|
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
|
||||||
|
, libdrm
|
||||||
|
, mesa # libgbm
|
||||||
|
, libpciaccess
|
||||||
|
, llvmPackages
|
||||||
|
, nanomsg
|
||||||
|
, ncurses
|
||||||
|
, SDL2
|
||||||
|
, bash-completion
|
||||||
|
|
||||||
|
, nix-update-script
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "umr";
|
pname = "umr";
|
||||||
version = "unstable-2022-08-23";
|
version = "1.0.8";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchFromGitLab {
|
||||||
url = "https://gitlab.freedesktop.org/tomstdenis/umr";
|
domain = "gitlab.freedesktop.org";
|
||||||
rev = "87f814b1ffdbac8bfddd8529d344a7901cd7e112";
|
owner = "tomstdenis";
|
||||||
hash = "sha256-U1VP1AicSGWzBwzz99i7+3awATZocw5jaqtAxuRNaBE=";
|
repo = "umr";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-ODkTYHDrKWNvjiEeIyfsCByf7hyr5Ps9ytbKb3253bU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config llvmPackages.llvm.dev ];
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
bash-completion
|
|
||||||
json_c
|
|
||||||
libdrm
|
libdrm
|
||||||
|
mesa
|
||||||
libpciaccess
|
libpciaccess
|
||||||
llvmPackages.llvm
|
llvmPackages.llvm
|
||||||
nanomsg
|
nanomsg
|
||||||
ncurses
|
ncurses
|
||||||
SDL2
|
SDL2
|
||||||
|
|
||||||
|
bash-completion # Tries to create bash-completions in /var/empty otherwise?
|
||||||
];
|
];
|
||||||
|
|
||||||
# Remove static libraries (there are no dynamic libraries in there)
|
# Remove static libraries (there are no dynamic libraries in there)
|
||||||
|
@ -30,6 +52,8 @@ stdenv.mkDerivation rec {
|
||||||
rm -r $out/lib
|
rm -r $out/lib
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A userspace debugging and diagnostic tool for AMD GPUs";
|
description = "A userspace debugging and diagnostic tool for AMD GPUs";
|
||||||
homepage = "https://gitlab.freedesktop.org/tomstdenis/umr";
|
homepage = "https://gitlab.freedesktop.org/tomstdenis/umr";
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user