Merge master into haskell-updates
This commit is contained in:
@@ -63,6 +63,16 @@ checkConfigOutput '^"one two"$' config.result ./shorthand-meta.nix
|
|||||||
|
|
||||||
checkConfigOutput '^true$' config.result ./test-mergeAttrDefinitionsWithPrio.nix
|
checkConfigOutput '^true$' config.result ./test-mergeAttrDefinitionsWithPrio.nix
|
||||||
|
|
||||||
|
# types.pathInStore
|
||||||
|
checkConfigOutput '".*/store/5lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix
|
||||||
|
checkConfigOutput '".*/store/xfb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15"' config.pathInStore.ok2 ./types.nix
|
||||||
|
checkConfigOutput '".*/store/xfb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15/bin/bash"' config.pathInStore.ok3 ./types.nix
|
||||||
|
checkConfigError 'A definition for option .* is not of type .path in the Nix store.. Definition values:\n\s*- In .*: ""' config.pathInStore.bad1 ./types.nix
|
||||||
|
checkConfigError 'A definition for option .* is not of type .path in the Nix store.. Definition values:\n\s*- In .*: ".*/store"' config.pathInStore.bad2 ./types.nix
|
||||||
|
checkConfigError 'A definition for option .* is not of type .path in the Nix store.. Definition values:\n\s*- In .*: ".*/store/"' config.pathInStore.bad3 ./types.nix
|
||||||
|
checkConfigError 'A definition for option .* is not of type .path in the Nix store.. Definition values:\n\s*- In .*: ".*/store/.links"' config.pathInStore.bad4 ./types.nix
|
||||||
|
checkConfigError 'A definition for option .* is not of type .path in the Nix store.. Definition values:\n\s*- In .*: "/foo/bar"' config.pathInStore.bad5 ./types.nix
|
||||||
|
|
||||||
# Check boolean option.
|
# Check boolean option.
|
||||||
checkConfigOutput '^false$' config.enable ./declare-enable.nix
|
checkConfigOutput '^false$' config.enable ./declare-enable.nix
|
||||||
checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./define-enable.nix
|
checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*: true' config.enable ./define-enable.nix
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (builtins)
|
||||||
|
storeDir;
|
||||||
|
inherit (lib)
|
||||||
|
types
|
||||||
|
mkOption
|
||||||
|
;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
pathInStore = mkOption { type = types.lazyAttrsOf types.pathInStore; };
|
||||||
|
};
|
||||||
|
config = {
|
||||||
|
pathInStore.ok1 = "${storeDir}/5lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv";
|
||||||
|
pathInStore.ok2 = "${storeDir}/xfb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15";
|
||||||
|
pathInStore.ok3 = "${storeDir}/xfb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15/bin/bash";
|
||||||
|
pathInStore.bad1 = "";
|
||||||
|
pathInStore.bad2 = "${storeDir}";
|
||||||
|
pathInStore.bad3 = "${storeDir}/";
|
||||||
|
pathInStore.bad4 = "${storeDir}/.links"; # technically true, but not reasonable
|
||||||
|
pathInStore.bad5 = "/foo/bar";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -38,9 +38,6 @@ let
|
|||||||
export PAGER=cat
|
export PAGER=cat
|
||||||
cacheDir=$TEST_ROOT/binary-cache
|
cacheDir=$TEST_ROOT/binary-cache
|
||||||
|
|
||||||
mkdir -p $NIX_CONF_DIR
|
|
||||||
echo "experimental-features = nix-command" >> $NIX_CONF_DIR/nix.conf
|
|
||||||
|
|
||||||
nix-store --init
|
nix-store --init
|
||||||
|
|
||||||
cp -r ${../.} lib
|
cp -r ${../.} lib
|
||||||
|
|||||||
@@ -461,6 +461,7 @@ rec {
|
|||||||
# - strings with context, e.g. "${pkgs.foo}" or (toString pkgs.foo)
|
# - strings with context, e.g. "${pkgs.foo}" or (toString pkgs.foo)
|
||||||
# - hardcoded store path literals (/nix/store/hash-foo) or strings without context
|
# - hardcoded store path literals (/nix/store/hash-foo) or strings without context
|
||||||
# ("/nix/store/hash-foo"). These get a context added to them using builtins.storePath.
|
# ("/nix/store/hash-foo"). These get a context added to them using builtins.storePath.
|
||||||
|
# If you don't need a *top-level* store path, consider using pathInStore instead.
|
||||||
package = mkOptionType {
|
package = mkOptionType {
|
||||||
name = "package";
|
name = "package";
|
||||||
descriptionClass = "noun";
|
descriptionClass = "noun";
|
||||||
@@ -491,6 +492,14 @@ rec {
|
|||||||
merge = mergeEqualOption;
|
merge = mergeEqualOption;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pathInStore = mkOptionType {
|
||||||
|
name = "pathInStore";
|
||||||
|
description = "path in the Nix store";
|
||||||
|
descriptionClass = "noun";
|
||||||
|
check = x: isStringLike x && builtins.match "${builtins.storeDir}/[^.].*" (toString x) != null;
|
||||||
|
merge = mergeEqualOption;
|
||||||
|
};
|
||||||
|
|
||||||
listOf = elemType: mkOptionType rec {
|
listOf = elemType: mkOptionType rec {
|
||||||
name = "listOf";
|
name = "listOf";
|
||||||
description = "list of ${optionDescriptionPhrase (class: class == "noun" || class == "composite") elemType}";
|
description = "list of ${optionDescriptionPhrase (class: class == "noun" || class == "composite") elemType}";
|
||||||
|
|||||||
@@ -1439,6 +1439,12 @@
|
|||||||
githubId = 453170;
|
githubId = 453170;
|
||||||
name = "Alastair Pharo";
|
name = "Alastair Pharo";
|
||||||
};
|
};
|
||||||
|
astavie = {
|
||||||
|
email = "astavie@pm.me";
|
||||||
|
github = "astavie";
|
||||||
|
githubId = 7745457;
|
||||||
|
name = "Astavie";
|
||||||
|
};
|
||||||
astro = {
|
astro = {
|
||||||
email = "astro@spaceboyz.net";
|
email = "astro@spaceboyz.net";
|
||||||
github = "astro";
|
github = "astro";
|
||||||
@@ -4216,6 +4222,14 @@
|
|||||||
githubId = 39825;
|
githubId = 39825;
|
||||||
name = "Dominik Honnef";
|
name = "Dominik Honnef";
|
||||||
};
|
};
|
||||||
|
donovanglover = {
|
||||||
|
github = "donovanglover";
|
||||||
|
githubId = 2374245;
|
||||||
|
name = "Donovan Glover";
|
||||||
|
keys = [{
|
||||||
|
fingerprint = "EE7D 158E F9E7 660E 0C33 86B2 8FC5 F7D9 0A5D 8F4D";
|
||||||
|
}];
|
||||||
|
};
|
||||||
doriath = {
|
doriath = {
|
||||||
email = "tomasz.zurkowski@gmail.com";
|
email = "tomasz.zurkowski@gmail.com";
|
||||||
github = "doriath";
|
github = "doriath";
|
||||||
@@ -10585,6 +10599,12 @@
|
|||||||
githubId = 1699466;
|
githubId = 1699466;
|
||||||
name = "Michael Peyton Jones";
|
name = "Michael Peyton Jones";
|
||||||
};
|
};
|
||||||
|
michaelshmitty = {
|
||||||
|
name = "Michael Smith";
|
||||||
|
email = "shmitty@protonmail.com";
|
||||||
|
github = "michaelshmitty";
|
||||||
|
githubId = 114845;
|
||||||
|
};
|
||||||
michalrus = {
|
michalrus = {
|
||||||
email = "m@michalrus.com";
|
email = "m@michalrus.com";
|
||||||
github = "michalrus";
|
github = "michalrus";
|
||||||
@@ -16689,6 +16709,12 @@
|
|||||||
githubId = 9413924;
|
githubId = 9413924;
|
||||||
name = "Thorsten Weber";
|
name = "Thorsten Weber";
|
||||||
};
|
};
|
||||||
|
twesterhout = {
|
||||||
|
name = "Tom Westerhout";
|
||||||
|
matrix = "@twesterhout:matrix.org";
|
||||||
|
github = "twesterhout";
|
||||||
|
githubId = 14264576;
|
||||||
|
};
|
||||||
twey = {
|
twey = {
|
||||||
email = "twey@twey.co.uk";
|
email = "twey@twey.co.uk";
|
||||||
github = "Twey";
|
github = "Twey";
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
{ maintainer }:
|
{ maintainer }:
|
||||||
let
|
let
|
||||||
pkgs = import ./../../default.nix { };
|
pkgs = import ./../../default.nix {
|
||||||
|
config.allowAliases = false;
|
||||||
|
};
|
||||||
|
inherit (pkgs) lib;
|
||||||
maintainer_ = pkgs.lib.maintainers.${maintainer};
|
maintainer_ = pkgs.lib.maintainers.${maintainer};
|
||||||
packagesWith = cond: return: prefix: set:
|
packagesWith = cond: return: prefix: set:
|
||||||
(pkgs.lib.flatten
|
(lib.flatten
|
||||||
(pkgs.lib.mapAttrsToList
|
(lib.mapAttrsToList
|
||||||
(name: pkg:
|
(name: pkg:
|
||||||
let
|
let
|
||||||
result = builtins.tryEval
|
result = builtins.tryEval
|
||||||
(
|
(
|
||||||
if pkgs.lib.isDerivation pkg && cond name pkg then
|
if lib.isDerivation pkg && cond name pkg then
|
||||||
# Skip packages whose closure fails on evaluation.
|
# Skip packages whose closure fails on evaluation.
|
||||||
# This happens for pkgs like `python27Packages.djangoql`
|
# This happens for pkgs like `python27Packages.djangoql`
|
||||||
# that have disabled Python pkgs as dependencies.
|
# that have disabled Python pkgs as dependencies.
|
||||||
@@ -42,7 +45,7 @@ let
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
(name: name)
|
(name: name)
|
||||||
("")
|
""
|
||||||
pkgs;
|
pkgs;
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -20,6 +20,11 @@ merging is handled.
|
|||||||
coerced to a string. Even if derivations can be considered as
|
coerced to a string. Even if derivations can be considered as
|
||||||
paths, the more specific `types.package` should be preferred.
|
paths, the more specific `types.package` should be preferred.
|
||||||
|
|
||||||
|
`types.pathInStore`
|
||||||
|
|
||||||
|
: A path that is contained in the Nix store. This can be a top-level store
|
||||||
|
path like `pkgs.hello` or a descendant like `"${pkgs.hello}/bin/hello"`.
|
||||||
|
|
||||||
`types.package`
|
`types.package`
|
||||||
|
|
||||||
: A top-level store path. This can be an attribute set pointing
|
: A top-level store path. This can be an attribute set pointing
|
||||||
|
|||||||
@@ -16,12 +16,16 @@
|
|||||||
|
|
||||||
- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
|
- [GoToSocial](https://gotosocial.org/), an ActivityPub social network server, written in Golang. Available as [services.gotosocial](#opt-services.gotosocial.enable).
|
||||||
|
|
||||||
|
- [Anuko Time Tracker](https://github.com/anuko/timetracker), a simple, easy to use, open source time tracking system. Available as [services.anuko-time-tracker](#opt-services.anuko-time-tracker.enable).
|
||||||
|
|
||||||
- [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
|
- [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
|
||||||
|
|
||||||
- [Apache Guacamole](https://guacamole.apache.org/), a cross-platform, clientless remote desktop gateway. Available as [services.guacamole-server](#opt-services.guacamole-server.enable) and [services.guacamole-client](#opt-services.guacamole-client.enable) services.
|
- [Apache Guacamole](https://guacamole.apache.org/), a cross-platform, clientless remote desktop gateway. Available as [services.guacamole-server](#opt-services.guacamole-server.enable) and [services.guacamole-client](#opt-services.guacamole-client.enable) services.
|
||||||
|
|
||||||
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
||||||
|
|
||||||
|
- `python3.pkgs.sequoia` was removed in favor of `python3.pkgs.pysequoia`. The latter package is based on upstream's dedicated repository for sequoia's Python bindings, where the Python bindings from [gitlab:sequoia-pgp/sequoia](https://gitlab.com/sequoia-pgp/sequoia) were removed long ago.
|
||||||
|
|
||||||
- `writeTextFile` now requires `executable` to be boolean, values like `null` or `""` will now fail to evaluate.
|
- `writeTextFile` now requires `executable` to be boolean, values like `null` or `""` will now fail to evaluate.
|
||||||
|
|
||||||
- The latest version of `clonehero` now stores custom content in `~/.clonehero`. See the [migration instructions](https://clonehero.net/2022/11/29/v23-to-v1-migration-instructions.html). Typically, these content files would exist along side the binary, but the previous build used a wrapper script that would store them in `~/.config/unity3d/srylain Inc_/Clone Hero`.
|
- The latest version of `clonehero` now stores custom content in `~/.clonehero`. See the [migration instructions](https://clonehero.net/2022/11/29/v23-to-v1-migration-instructions.html). Typically, these content files would exist along side the binary, but the previous build used a wrapper script that would store them in `~/.config/unity3d/srylain Inc_/Clone Hero`.
|
||||||
|
|||||||
@@ -1013,6 +1013,7 @@
|
|||||||
./services/networking/shorewall.nix
|
./services/networking/shorewall.nix
|
||||||
./services/networking/shorewall6.nix
|
./services/networking/shorewall6.nix
|
||||||
./services/networking/shout.nix
|
./services/networking/shout.nix
|
||||||
|
./services/networking/sing-box.nix
|
||||||
./services/networking/sitespeed-io.nix
|
./services/networking/sitespeed-io.nix
|
||||||
./services/networking/skydns.nix
|
./services/networking/skydns.nix
|
||||||
./services/networking/smartdns.nix
|
./services/networking/smartdns.nix
|
||||||
@@ -1168,6 +1169,7 @@
|
|||||||
./services/wayland/cage.nix
|
./services/wayland/cage.nix
|
||||||
./services/web-apps/akkoma.nix
|
./services/web-apps/akkoma.nix
|
||||||
./services/web-apps/alps.nix
|
./services/web-apps/alps.nix
|
||||||
|
./services/web-apps/anuko-time-tracker.nix
|
||||||
./services/web-apps/atlassian/confluence.nix
|
./services/web-apps/atlassian/confluence.nix
|
||||||
./services/web-apps/atlassian/crowd.nix
|
./services/web-apps/atlassian/crowd.nix
|
||||||
./services/web-apps/atlassian/jira.nix
|
./services/web-apps/atlassian/jira.nix
|
||||||
|
|||||||
@@ -1,67 +1,131 @@
|
|||||||
# Configuration for the pwdutils suite of tools: passwd, useradd, etc.
|
# Configuration for the pwdutils suite of tools: passwd, useradd, etc.
|
||||||
|
|
||||||
{ config, lib, utils, pkgs, ... }:
|
{ config, lib, utils, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
cfg = config.security.loginDefs;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = with types; {
|
||||||
|
security.loginDefs = {
|
||||||
|
package = mkPackageOptionMD pkgs "shadow" { };
|
||||||
|
|
||||||
/*
|
chfnRestrict = mkOption {
|
||||||
There are three different sources for user/group id ranges, each of which gets
|
description = mdDoc ''
|
||||||
used by different programs:
|
Use chfn SUID to allow non-root users to change their account GECOS information.
|
||||||
- The login.defs file, used by the useradd, groupadd and newusers commands
|
'';
|
||||||
- The update-users-groups.pl file, used by NixOS in the activation phase to
|
type = nullOr str;
|
||||||
decide on which ids to use for declaratively defined users without a static
|
default = null;
|
||||||
id
|
};
|
||||||
- Systemd compile time options -Dsystem-uid-max= and -Dsystem-gid-max=, used
|
|
||||||
by systemd for features like ConditionUser=@system and systemd-sysusers
|
|
||||||
*/
|
|
||||||
loginDefs =
|
|
||||||
''
|
|
||||||
DEFAULT_HOME yes
|
|
||||||
|
|
||||||
SYS_UID_MIN 400
|
settings = mkOption {
|
||||||
SYS_UID_MAX 999
|
description = mdDoc ''
|
||||||
UID_MIN 1000
|
Config options for the /etc/login.defs file, that defines
|
||||||
UID_MAX 29999
|
the site-specific configuration for the shadow password suite.
|
||||||
|
See login.defs(5) man page for available options.
|
||||||
|
'';
|
||||||
|
type = submodule {
|
||||||
|
freeformType = (pkgs.formats.keyValue { }).type;
|
||||||
|
/* There are three different sources for user/group id ranges, each of which gets
|
||||||
|
used by different programs:
|
||||||
|
- The login.defs file, used by the useradd, groupadd and newusers commands
|
||||||
|
- The update-users-groups.pl file, used by NixOS in the activation phase to
|
||||||
|
decide on which ids to use for declaratively defined users without a static
|
||||||
|
id
|
||||||
|
- Systemd compile time options -Dsystem-uid-max= and -Dsystem-gid-max=, used
|
||||||
|
by systemd for features like ConditionUser=@system and systemd-sysusers
|
||||||
|
*/
|
||||||
|
options = {
|
||||||
|
DEFAULT_HOME = mkOption {
|
||||||
|
description = mdDoc "Indicate if login is allowed if we can't cd to the home directory.";
|
||||||
|
default = "yes";
|
||||||
|
type = enum [ "yes" "no" ];
|
||||||
|
};
|
||||||
|
|
||||||
SYS_GID_MIN 400
|
ENCRYPT_METHOD = mkOption {
|
||||||
SYS_GID_MAX 999
|
description = mdDoc "This defines the system default encryption algorithm for encrypting passwords.";
|
||||||
GID_MIN 1000
|
# The default crypt() method, keep in sync with the PAM default
|
||||||
GID_MAX 29999
|
default = "YESCRYPT";
|
||||||
|
type = enum [ "YESCRYPT" "SHA512" "SHA256" "MD5" "DES"];
|
||||||
|
};
|
||||||
|
|
||||||
TTYGROUP tty
|
SYS_UID_MIN = mkOption {
|
||||||
TTYPERM 0620
|
description = mdDoc "Range of user IDs used for the creation of system users by useradd or newusers.";
|
||||||
|
default = 400;
|
||||||
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
# Ensure privacy for newly created home directories.
|
SYS_UID_MAX = mkOption {
|
||||||
UMASK 077
|
description = mdDoc "Range of user IDs used for the creation of system users by useradd or newusers.";
|
||||||
|
default = 999;
|
||||||
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
# Uncomment this and install chfn SUID to allow non-root
|
UID_MIN = mkOption {
|
||||||
# users to change their account GECOS information.
|
description = mdDoc "Range of user IDs used for the creation of regular users by useradd or newusers.";
|
||||||
# This should be made configurable.
|
default = 1000;
|
||||||
#CHFN_RESTRICT frwh
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
# The default crypt() method, keep in sync with the PAM default
|
UID_MAX = mkOption {
|
||||||
ENCRYPT_METHOD YESCRYPT
|
description = mdDoc "Range of user IDs used for the creation of regular users by useradd or newusers.";
|
||||||
'';
|
default = 29999;
|
||||||
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
mkSetuidRoot = source:
|
SYS_GID_MIN = mkOption {
|
||||||
{ setuid = true;
|
description = mdDoc "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers";
|
||||||
owner = "root";
|
default = 400;
|
||||||
group = "root";
|
type = int;
|
||||||
inherit source;
|
};
|
||||||
|
|
||||||
|
SYS_GID_MAX = mkOption {
|
||||||
|
description = mdDoc "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers";
|
||||||
|
default = 999;
|
||||||
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
|
GID_MIN = mkOption {
|
||||||
|
description = mdDoc "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.";
|
||||||
|
default = 1000;
|
||||||
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
|
GID_MAX = mkOption {
|
||||||
|
description = mdDoc "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.";
|
||||||
|
default = 29999;
|
||||||
|
type = int;
|
||||||
|
};
|
||||||
|
|
||||||
|
TTYGROUP = mkOption {
|
||||||
|
description = mdDoc ''
|
||||||
|
The terminal permissions: the login tty will be owned by the TTYGROUP group,
|
||||||
|
and the permissions will be set to TTYPERM'';
|
||||||
|
default = "tty";
|
||||||
|
type = str;
|
||||||
|
};
|
||||||
|
|
||||||
|
TTYPERM = mkOption {
|
||||||
|
description = mdDoc ''
|
||||||
|
The terminal permissions: the login tty will be owned by the TTYGROUP group,
|
||||||
|
and the permissions will be set to TTYPERM'';
|
||||||
|
default = "0620";
|
||||||
|
type = str;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Ensure privacy for newly created home directories.
|
||||||
|
UMASK = mkOption {
|
||||||
|
description = mdDoc "The file mode creation mask is initialized to this value.";
|
||||||
|
default = "077";
|
||||||
|
type = str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
users.defaultUserShell = mkOption {
|
||||||
|
description = mdDoc ''
|
||||||
{
|
|
||||||
|
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
|
||||||
|
|
||||||
users.defaultUserShell = lib.mkOption {
|
|
||||||
description = lib.mdDoc ''
|
|
||||||
This option defines the default shell assigned to user
|
This option defines the default shell assigned to user
|
||||||
accounts. This can be either a full system path or a shell package.
|
accounts. This can be either a full system path or a shell package.
|
||||||
|
|
||||||
@@ -69,63 +133,107 @@ in
|
|||||||
used outside the store (in particular in /etc/passwd).
|
used outside the store (in particular in /etc/passwd).
|
||||||
'';
|
'';
|
||||||
example = literalExpression "pkgs.zsh";
|
example = literalExpression "pkgs.zsh";
|
||||||
type = types.either types.path types.shellPackage;
|
type = either path shellPackage;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
###### implementation
|
###### implementation
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.settings.SYS_UID_MIN <= cfg.settings.SYS_UID_MAX;
|
||||||
|
message = "SYS_UID_MIN must be less than or equal to SYS_UID_MAX";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.settings.UID_MIN <= cfg.settings.UID_MAX;
|
||||||
|
message = "UID_MIN must be less than or equal to UID_MAX";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.settings.SYS_GID_MIN <= cfg.settings.SYS_GID_MAX;
|
||||||
|
message = "SYS_GID_MIN must be less than or equal to SYS_GID_MAX";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.settings.GID_MIN <= cfg.settings.GID_MAX;
|
||||||
|
message = "GID_MIN must be less than or equal to GID_MAX";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
environment.systemPackages =
|
security.loginDefs.settings.CHFN_RESTRICT =
|
||||||
lib.optional config.users.mutableUsers pkgs.shadow ++
|
mkIf (cfg.chfnRestrict != null) cfg.chfnRestrict;
|
||||||
lib.optional (types.shellPackage.check config.users.defaultUserShell)
|
|
||||||
config.users.defaultUserShell;
|
environment.systemPackages = optional config.users.mutableUsers cfg.package
|
||||||
|
++ optional (types.shellPackage.check config.users.defaultUserShell) config.users.defaultUserShell
|
||||||
|
++ optional (cfg.chfnRestrict != null) pkgs.util-linux;
|
||||||
|
|
||||||
environment.etc =
|
environment.etc =
|
||||||
{ # /etc/login.defs: global configuration for pwdutils. You
|
# Create custom toKeyValue generator
|
||||||
# cannot login without it!
|
# see https://man7.org/linux/man-pages/man5/login.defs.5.html for config specification
|
||||||
"login.defs".source = pkgs.writeText "login.defs" loginDefs;
|
let
|
||||||
|
toKeyValue = generators.toKeyValue {
|
||||||
|
mkKeyValue = generators.mkKeyValueDefault { } " ";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# /etc/login.defs: global configuration for pwdutils.
|
||||||
|
# You cannot login without it!
|
||||||
|
"login.defs".source = pkgs.writeText "login.defs" (toKeyValue cfg.settings);
|
||||||
|
|
||||||
# /etc/default/useradd: configuration for useradd.
|
# /etc/default/useradd: configuration for useradd.
|
||||||
"default/useradd".source = pkgs.writeText "useradd"
|
"default/useradd".source = pkgs.writeText "useradd" ''
|
||||||
''
|
GROUP=100
|
||||||
GROUP=100
|
HOME=/home
|
||||||
HOME=/home
|
SHELL=${utils.toShellPath config.users.defaultUserShell}
|
||||||
SHELL=${utils.toShellPath config.users.defaultUserShell}
|
'';
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
security.pam.services =
|
security.pam.services = {
|
||||||
{ chsh = { rootOK = true; };
|
chsh = { rootOK = true; };
|
||||||
chfn = { rootOK = true; };
|
chfn = { rootOK = true; };
|
||||||
su = { rootOK = true; forwardXAuth = true; logFailures = true; };
|
su = {
|
||||||
passwd = {};
|
rootOK = true;
|
||||||
# Note: useradd, groupadd etc. aren't setuid root, so it
|
forwardXAuth = true;
|
||||||
# doesn't really matter what the PAM config says as long as it
|
logFailures = true;
|
||||||
# lets root in.
|
|
||||||
useradd = { rootOK = true; };
|
|
||||||
usermod = { rootOK = true; };
|
|
||||||
userdel = { rootOK = true; };
|
|
||||||
groupadd = { rootOK = true; };
|
|
||||||
groupmod = { rootOK = true; };
|
|
||||||
groupmems = { rootOK = true; };
|
|
||||||
groupdel = { rootOK = true; };
|
|
||||||
login = { startSession = true; allowNullPassword = true; showMotd = true; updateWtmp = true; };
|
|
||||||
chpasswd = { rootOK = true; };
|
|
||||||
};
|
};
|
||||||
|
passwd = { };
|
||||||
security.wrappers = {
|
# Note: useradd, groupadd etc. aren't setuid root, so it
|
||||||
su = mkSetuidRoot "${pkgs.shadow.su}/bin/su";
|
# doesn't really matter what the PAM config says as long as it
|
||||||
sg = mkSetuidRoot "${pkgs.shadow.out}/bin/sg";
|
# lets root in.
|
||||||
newgrp = mkSetuidRoot "${pkgs.shadow.out}/bin/newgrp";
|
useradd.rootOK = true;
|
||||||
newuidmap = mkSetuidRoot "${pkgs.shadow.out}/bin/newuidmap";
|
usermod.rootOK = true;
|
||||||
newgidmap = mkSetuidRoot "${pkgs.shadow.out}/bin/newgidmap";
|
userdel.rootOK = true;
|
||||||
} // lib.optionalAttrs config.users.mutableUsers {
|
groupadd.rootOK = true;
|
||||||
chsh = mkSetuidRoot "${pkgs.shadow.out}/bin/chsh";
|
groupmod.rootOK = true;
|
||||||
passwd = mkSetuidRoot "${pkgs.shadow.out}/bin/passwd";
|
groupmems.rootOK = true;
|
||||||
|
groupdel.rootOK = true;
|
||||||
|
login = {
|
||||||
|
startSession = true;
|
||||||
|
allowNullPassword = true;
|
||||||
|
showMotd = true;
|
||||||
|
updateWtmp = true;
|
||||||
|
};
|
||||||
|
chpasswd = { rootOK = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
security.wrappers =
|
||||||
|
let
|
||||||
|
mkSetuidRoot = source: {
|
||||||
|
setuid = true;
|
||||||
|
owner = "root";
|
||||||
|
group = "root";
|
||||||
|
inherit source;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
su = mkSetuidRoot "${cfg.package.su}/bin/su";
|
||||||
|
sg = mkSetuidRoot "${cfg.package.out}/bin/sg";
|
||||||
|
newgrp = mkSetuidRoot "${cfg.package.out}/bin/newgrp";
|
||||||
|
newuidmap = mkSetuidRoot "${cfg.package.out}/bin/newuidmap";
|
||||||
|
newgidmap = mkSetuidRoot "${cfg.package.out}/bin/newgidmap";
|
||||||
|
}
|
||||||
|
// optionalAttrs config.users.mutableUsers {
|
||||||
|
chsh = mkSetuidRoot "${cfg.package.out}/bin/chsh";
|
||||||
|
passwd = mkSetuidRoot "${cfg.package.out}/bin/passwd";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ let
|
|||||||
--replace \"/sbin/blkid \"${pkgs.util-linux}/sbin/blkid \
|
--replace \"/sbin/blkid \"${pkgs.util-linux}/sbin/blkid \
|
||||||
--replace \"/bin/mount \"${pkgs.util-linux}/bin/mount \
|
--replace \"/bin/mount \"${pkgs.util-linux}/bin/mount \
|
||||||
--replace /usr/bin/readlink ${pkgs.coreutils}/bin/readlink \
|
--replace /usr/bin/readlink ${pkgs.coreutils}/bin/readlink \
|
||||||
--replace /usr/bin/basename ${pkgs.coreutils}/bin/basename
|
--replace /usr/bin/basename ${pkgs.coreutils}/bin/basename 2>/dev/null
|
||||||
${optionalString (initrdBin != null) ''
|
${optionalString (initrdBin != null) ''
|
||||||
substituteInPlace $i --replace '/run/current-system/systemd' "${removeSuffix "/bin" initrdBin}"
|
substituteInPlace $i --replace '/run/current-system/systemd' "${removeSuffix "/bin" initrdBin}"
|
||||||
''}
|
''}
|
||||||
|
|||||||
@@ -1281,6 +1281,7 @@ in {
|
|||||||
"d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
|
"d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
|
||||||
"d ${gitlabConfig.production.shared.path}/registry 0750 ${cfg.user} ${cfg.group} -"
|
"d ${gitlabConfig.production.shared.path}/registry 0750 ${cfg.user} ${cfg.group} -"
|
||||||
"d ${gitlabConfig.production.shared.path}/terraform_state 0750 ${cfg.user} ${cfg.group} -"
|
"d ${gitlabConfig.production.shared.path}/terraform_state 0750 ${cfg.user} ${cfg.group} -"
|
||||||
|
"d ${gitlabConfig.production.shared.path}/ci_secure_files 0750 ${cfg.user} ${cfg.group} -"
|
||||||
"L+ /run/gitlab/config - - - - ${cfg.statePath}/config"
|
"L+ /run/gitlab/config - - - - ${cfg.statePath}/config"
|
||||||
"L+ /run/gitlab/log - - - - ${cfg.statePath}/log"
|
"L+ /run/gitlab/log - - - - ${cfg.statePath}/log"
|
||||||
"L+ /run/gitlab/tmp - - - - ${cfg.statePath}/tmp"
|
"L+ /run/gitlab/tmp - - - - ${cfg.statePath}/tmp"
|
||||||
|
|||||||
@@ -91,18 +91,30 @@ in
|
|||||||
The package used in the service
|
The package used in the service
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "gollum";
|
||||||
|
description = lib.mdDoc "Specifies the owner of the wiki directory";
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "gollum";
|
||||||
|
description = lib.mdDoc "Specifies the owner group of the wiki directory";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
users.users.gollum = {
|
users.users.gollum = mkIf (cfg.user == "gollum") {
|
||||||
group = config.users.users.gollum.name;
|
group = cfg.group;
|
||||||
description = "Gollum user";
|
description = "Gollum user";
|
||||||
createHome = false;
|
createHome = false;
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.gollum = { };
|
users.groups."${cfg.group}" = { };
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules = [
|
||||||
"d '${cfg.stateDir}' - ${config.users.users.gollum.name} ${config.users.groups.gollum.name} - -"
|
"d '${cfg.stateDir}' - ${config.users.users.gollum.name} ${config.users.groups.gollum.name} - -"
|
||||||
@@ -120,8 +132,8 @@ in
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = config.users.users.gollum.name;
|
User = cfg.user;
|
||||||
Group = config.users.groups.gollum.name;
|
Group = cfg.group;
|
||||||
WorkingDirectory = cfg.stateDir;
|
WorkingDirectory = cfg.stateDir;
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
${cfg.package}/bin/gollum \
|
${cfg.package}/bin/gollum \
|
||||||
|
|||||||
@@ -1,28 +1,21 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.nix.optimise;
|
cfg = config.nix.optimise;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
###### interface
|
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
||||||
nix.optimise = {
|
nix.optimise = {
|
||||||
|
automatic = lib.mkOption {
|
||||||
automatic = mkOption {
|
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = lib.types.bool;
|
||||||
description = lib.mdDoc "Automatically run the nix store optimiser at a specific time.";
|
description = lib.mdDoc "Automatically run the nix store optimiser at a specific time.";
|
||||||
};
|
};
|
||||||
|
|
||||||
dates = mkOption {
|
dates = lib.mkOption {
|
||||||
default = ["03:45"];
|
default = ["03:45"];
|
||||||
type = types.listOf types.str;
|
type = with lib.types; listOf str;
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Specification (in the format described by
|
Specification (in the format described by
|
||||||
{manpage}`systemd.time(7)`) of the time at
|
{manpage}`systemd.time(7)`) of the time at
|
||||||
@@ -32,9 +25,6 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
###### implementation
|
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
@@ -43,14 +33,19 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.nix-optimise = lib.mkIf config.nix.enable
|
systemd = lib.mkIf config.nix.enable {
|
||||||
{ description = "Nix Store Optimiser";
|
services.nix-optimise = {
|
||||||
|
description = "Nix Store Optimiser";
|
||||||
# No point this if the nix daemon (and thus the nix store) is outside
|
# No point this if the nix daemon (and thus the nix store) is outside
|
||||||
unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket";
|
unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket";
|
||||||
serviceConfig.ExecStart = "${config.nix.package}/bin/nix-store --optimise";
|
serviceConfig.ExecStart = "${config.nix.package}/bin/nix-store --optimise";
|
||||||
startAt = optionals cfg.automatic cfg.dates;
|
startAt = lib.optionals cfg.automatic cfg.dates;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
timers.nix-optimise.timerConfig = {
|
||||||
|
Persistent = true;
|
||||||
|
RandomizedDelaySec = 1800;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
{ config, lib, pkgs, utils, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.services.sing-box;
|
||||||
|
settingsFormat = pkgs.formats.json { };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ nickcao ];
|
||||||
|
};
|
||||||
|
|
||||||
|
options = {
|
||||||
|
services.sing-box = {
|
||||||
|
enable = lib.mkEnableOption (lib.mdDoc "sing-box universal proxy platform");
|
||||||
|
|
||||||
|
package = lib.mkPackageOptionMD pkgs "sing-box" { };
|
||||||
|
|
||||||
|
settings = lib.mkOption {
|
||||||
|
type = lib.types.submodule {
|
||||||
|
freeformType = settingsFormat.type;
|
||||||
|
options = {
|
||||||
|
route = {
|
||||||
|
geoip.path = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
default = "${pkgs.sing-geoip}/share/sing-box/geoip.db";
|
||||||
|
defaultText = lib.literalExpression "\${pkgs.sing-geoip}/share/sing-box/geoip.db";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The path to the sing-geoip database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
geosite.path = lib.mkOption {
|
||||||
|
type = lib.types.path;
|
||||||
|
default = "${pkgs.sing-geosite}/share/sing-box/geosite.db";
|
||||||
|
defaultText = lib.literalExpression "\${pkgs.sing-geosite}/share/sing-box/geosite.db";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The path to the sing-geosite database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
default = { };
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The sing-box configuration, see https://sing-box.sagernet.org/configuration/ for documentation.
|
||||||
|
|
||||||
|
Options containing secret data should be set to an attribute set
|
||||||
|
containing the attribute `_secret` - a string pointing to a file
|
||||||
|
containing the value the option should be set to.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
systemd.packages = [ cfg.package ];
|
||||||
|
|
||||||
|
systemd.services.sing-box = {
|
||||||
|
preStart = ''
|
||||||
|
umask 0077
|
||||||
|
mkdir -p /etc/sing-box
|
||||||
|
${utils.genJqSecretsReplacementSnippet cfg.settings "/etc/sing-box/config.json"}
|
||||||
|
'';
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,354 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.anuko-time-tracker;
|
||||||
|
configFile = let
|
||||||
|
smtpPassword = if cfg.settings.email.smtpPasswordFile == null
|
||||||
|
then "''"
|
||||||
|
else "trim(file_get_contents('${cfg.settings.email.smtpPasswordFile}'))";
|
||||||
|
|
||||||
|
in pkgs.writeText "config.php" ''
|
||||||
|
<?php
|
||||||
|
// Set include path for PEAR and its modules, which we include in the distribution.
|
||||||
|
// Updated for the correct location in the nix store.
|
||||||
|
set_include_path('${cfg.package}/WEB-INF/lib/pear' . PATH_SEPARATOR . get_include_path());
|
||||||
|
define('DSN', 'mysqli://${cfg.database.user}@${cfg.database.host}/${cfg.database.name}?charset=utf8mb4');
|
||||||
|
define('MULTIORG_MODE', ${lib.boolToString cfg.settings.multiorgMode});
|
||||||
|
define('EMAIL_REQUIRED', ${lib.boolToString cfg.settings.emailRequired});
|
||||||
|
define('WEEKEND_START_DAY', ${toString cfg.settings.weekendStartDay});
|
||||||
|
define('FORUM_LINK', '${cfg.settings.forumLink}');
|
||||||
|
define('HELP_LINK', '${cfg.settings.helpLink}');
|
||||||
|
define('SENDER', '${cfg.settings.email.sender}');
|
||||||
|
define('MAIL_MODE', '${cfg.settings.email.mode}');
|
||||||
|
define('MAIL_SMTP_HOST', '${toString cfg.settings.email.smtpHost}');
|
||||||
|
define('MAIL_SMTP_PORT', '${toString cfg.settings.email.smtpPort}');
|
||||||
|
define('MAIL_SMTP_USER', '${cfg.settings.email.smtpUser}');
|
||||||
|
define('MAIL_SMTP_PASSWORD', ${smtpPassword});
|
||||||
|
define('MAIL_SMTP_AUTH', ${lib.boolToString cfg.settings.email.smtpAuth});
|
||||||
|
define('MAIL_SMTP_DEBUG', ${lib.boolToString cfg.settings.email.smtpDebug});
|
||||||
|
define('DEFAULT_CSS', 'default.css');
|
||||||
|
define('RTL_CSS', 'rtl.css'); // For right to left languages.
|
||||||
|
define('LANG_DEFAULT', '${cfg.settings.defaultLanguage}');
|
||||||
|
define('CURRENCY_DEFAULT', '${cfg.settings.defaultCurrency}');
|
||||||
|
define('EXPORT_DECIMAL_DURATION', ${lib.boolToString cfg.settings.exportDecimalDuration});
|
||||||
|
define('REPORT_FOOTER', ${lib.boolToString cfg.settings.reportFooter});
|
||||||
|
define('AUTH_MODULE', 'db');
|
||||||
|
'';
|
||||||
|
package = pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "anuko-time-tracker";
|
||||||
|
inherit (src) version;
|
||||||
|
src = cfg.package;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r * $out/
|
||||||
|
|
||||||
|
ln -s ${configFile} $out/WEB-INF/config.php
|
||||||
|
|
||||||
|
# Link writable templates_c directory
|
||||||
|
rm -rf $out/WEB-INF/templates_c
|
||||||
|
ln -s ${cfg.dataDir}/templates_c $out/WEB-INF/templates_c
|
||||||
|
|
||||||
|
# ln -fs ${cfg.dataDir}/templates_c $out/WEB-INF/templates_c
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.anuko-time-tracker = {
|
||||||
|
enable = lib.mkEnableOption (lib.mdDoc "Anuko Time Tracker");
|
||||||
|
|
||||||
|
package = lib.mkPackageOptionMD pkgs "anuko-time-tracker" {};
|
||||||
|
|
||||||
|
database = {
|
||||||
|
createLocally = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc "Create the database and database user locally.";
|
||||||
|
};
|
||||||
|
|
||||||
|
host = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Database host.";
|
||||||
|
default = "localhost";
|
||||||
|
};
|
||||||
|
|
||||||
|
name = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Database name.";
|
||||||
|
default = "anuko_time_tracker";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Database username.";
|
||||||
|
default = "anuko_time_tracker";
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordFile = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
description = lib.mdDoc "Database user password file.";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
poolConfig = lib.mkOption {
|
||||||
|
type = lib.types.attrsOf (lib.types.oneOf [ lib.types.str lib.types.int lib.types.bool ]);
|
||||||
|
default = {
|
||||||
|
"pm" = "dynamic";
|
||||||
|
"pm.max_children" = 32;
|
||||||
|
"pm.start_servers" = 2;
|
||||||
|
"pm.min_spare_servers" = 2;
|
||||||
|
"pm.max_spare_servers" = 4;
|
||||||
|
"pm.max_requests" = 500;
|
||||||
|
};
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Options for Anuko Time Tracker's PHP-FPM pool.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dataDir = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "/var/lib/anuko-time-tracker";
|
||||||
|
description = lib.mdDoc "Default data folder for Anuko Time Tracker.";
|
||||||
|
example = "/mnt/anuko-time-tracker";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
default = "anuko_time_tracker";
|
||||||
|
description = lib.mdDoc "User under which Anuko Time Tracker runs.";
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualHost = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
default = "localhost";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Name of the nginx virtualhost to use and setup. If null, do not setup
|
||||||
|
any virtualhost.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
multiorgMode = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Defines whether users see the Register option in the menu of Time Tracker that allows them
|
||||||
|
to self-register and create new organizations (top groups).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
emailRequired = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc "Defines whether an email is required for new registrations.";
|
||||||
|
};
|
||||||
|
|
||||||
|
weekendStartDay = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 6;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
This option defines which days are highlighted with weekend color.
|
||||||
|
6 means Saturday. For Saudi Arabia, etc. set it to 4 for Thursday and Friday to be
|
||||||
|
weekend days.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
forumLink = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Forum link from the main menu.";
|
||||||
|
default = "https://www.anuko.com/forum/viewforum.php?f=4";
|
||||||
|
};
|
||||||
|
|
||||||
|
helpLink = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Help link from the main menu.";
|
||||||
|
default = "https://www.anuko.com/time-tracker/user-guide/index.htm";
|
||||||
|
};
|
||||||
|
|
||||||
|
email = {
|
||||||
|
sender = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Default sender for mail.";
|
||||||
|
default = "Anuko Time Tracker <bounces@example.com>";
|
||||||
|
};
|
||||||
|
|
||||||
|
mode = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "Mail sending mode. Can be 'mail' or 'smtp'.";
|
||||||
|
default = "smtp";
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpHost = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "MTA hostname.";
|
||||||
|
default = "localhost";
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpPort = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
description = lib.mdDoc "MTA port.";
|
||||||
|
default = 25;
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpUser = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc "MTA authentication username.";
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpAuth = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc "MTA requires authentication.";
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpPasswordFile = lib.mkOption {
|
||||||
|
type = lib.types.nullOr lib.types.path;
|
||||||
|
default = null;
|
||||||
|
example = "/var/lib/anuko-time-tracker/secrets/smtp-password";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Path to file containing the MTA authentication password.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
smtpDebug = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc "Debug mail sending.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultLanguage = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Defines Anuko Time Tracker default language. It is used on Time Tracker login page.
|
||||||
|
After login, a language set for user group is used.
|
||||||
|
Empty string means the language is defined by user browser.
|
||||||
|
'';
|
||||||
|
default = "";
|
||||||
|
example = "nl";
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultCurrency = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Defines a default currency symbol for new groups.
|
||||||
|
Use €, £, a more specific dollar like US$, CAD, etc.
|
||||||
|
'';
|
||||||
|
default = "$";
|
||||||
|
example = "€";
|
||||||
|
};
|
||||||
|
|
||||||
|
exportDecimalDuration = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Defines whether time duration values are decimal in CSV and XML data
|
||||||
|
exports (1.25 vs 1:15).
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
reportFooter = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = lib.mdDoc "Defines whether to use a footer on reports.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
assertions = [
|
||||||
|
{
|
||||||
|
assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
|
||||||
|
message = ''
|
||||||
|
<option>services.anuko-time-tracker.database.passwordFile</option> cannot be specified if
|
||||||
|
<option>services.anuko-time-tracker.database.createLocally</option> is set to true.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
assertion = cfg.settings.email.smtpAuth -> (cfg.settings.email.smtpPasswordFile != null);
|
||||||
|
message = ''
|
||||||
|
<option>services.anuko-time-tracker.settings.email.smtpPasswordFile</option> needs to be set if
|
||||||
|
<option>services.anuko-time-tracker.settings.email.smtpAuth</option> is enabled.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
services.phpfpm = {
|
||||||
|
pools.anuko-time-tracker = {
|
||||||
|
inherit (cfg) user;
|
||||||
|
group = config.services.nginx.group;
|
||||||
|
settings = {
|
||||||
|
"listen.owner" = config.services.nginx.user;
|
||||||
|
"listen.group" = config.services.nginx.group;
|
||||||
|
} // cfg.poolConfig;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = lib.mkIf (cfg.virtualHost != null) {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts = {
|
||||||
|
"${cfg.virtualHost}" = {
|
||||||
|
root = lib.mkForce "${package}";
|
||||||
|
locations."/".index = "index.php";
|
||||||
|
locations."~ [^/]\\.php(/|$)" = {
|
||||||
|
extraConfig = ''
|
||||||
|
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||||
|
fastcgi_pass unix:${config.services.phpfpm.pools.anuko-time-tracker.socket};
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mysql = lib.mkIf cfg.database.createLocally {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
package = lib.mkDefault pkgs.mariadb;
|
||||||
|
ensureDatabases = [ cfg.database.name ];
|
||||||
|
ensureUsers = [{
|
||||||
|
name = cfg.database.user;
|
||||||
|
ensurePermissions = {
|
||||||
|
"${cfg.database.name}.*" = "ALL PRIVILEGES";
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
services = {
|
||||||
|
anuko-time-tracker-setup-database = lib.mkIf cfg.database.createLocally {
|
||||||
|
description = "Set up Anuko Time Tracker database";
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
RemainAfterExit = true;
|
||||||
|
};
|
||||||
|
wantedBy = [ "phpfpm-anuko-time-tracker.service" ];
|
||||||
|
after = [ "mysql.service" ];
|
||||||
|
script =
|
||||||
|
let
|
||||||
|
mysql = "${config.services.mysql.package}/bin/mysql";
|
||||||
|
in
|
||||||
|
''
|
||||||
|
if [ ! -f ${cfg.dataDir}/.dbexists ]; then
|
||||||
|
# Load database schema provided with package
|
||||||
|
${mysql} ${cfg.database.name} < ${cfg.package}/mysql.sql
|
||||||
|
|
||||||
|
touch ${cfg.dataDir}/.dbexists
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tmpfiles.rules = [
|
||||||
|
"d ${cfg.dataDir} 0750 ${cfg.user} ${config.services.nginx.group} -"
|
||||||
|
"d ${cfg.dataDir}/templates_c 0750 ${cfg.user} ${config.services.nginx.group} -"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users."${cfg.user}" = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = config.services.nginx.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ michaelshmitty ];
|
||||||
|
}
|
||||||
@@ -202,7 +202,7 @@ in
|
|||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
LEMMY_CONFIG_LOCATION = "${settingsFormat.generate "config.hjson" cfg.settings}";
|
LEMMY_CONFIG_LOCATION = "${settingsFormat.generate "config.hjson" cfg.settings}";
|
||||||
LEMMY_DATABASE_URL = mkIf (cfg.database.uri != null) cfg.database.uri;
|
LEMMY_DATABASE_URL = if cfg.database.uri != null then cfg.database.uri else (mkIf (cfg.database.createLocally) "postgres:///lemmy?host=/run/postgresql&user=lemmy");
|
||||||
};
|
};
|
||||||
|
|
||||||
documentation = [
|
documentation = [
|
||||||
|
|||||||
@@ -380,6 +380,12 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
script = ''
|
script = ''
|
||||||
|
# Before running any PHP program, cleanup the code cache.
|
||||||
|
# It's necessary if you upgrade the application otherwise you might
|
||||||
|
# try to import non-existent modules.
|
||||||
|
rm -f ${cfg.runtimeDir}/app.php
|
||||||
|
rm -rf ${cfg.runtimeDir}/cache/*
|
||||||
|
|
||||||
# Concatenate non-secret .env and secret .env
|
# Concatenate non-secret .env and secret .env
|
||||||
rm -f ${cfg.dataDir}/.env
|
rm -f ${cfg.dataDir}/.env
|
||||||
cp --no-preserve=all ${configFile} ${cfg.dataDir}/.env
|
cp --no-preserve=all ${configFile} ${cfg.dataDir}/.env
|
||||||
@@ -406,11 +412,6 @@ in {
|
|||||||
# Install Horizon
|
# Install Horizon
|
||||||
# FIXME: require write access to public/ — should be done as part of install — pixelfed-manage horizon:publish
|
# FIXME: require write access to public/ — should be done as part of install — pixelfed-manage horizon:publish
|
||||||
|
|
||||||
# Before running any PHP program, cleanup the bootstrap.
|
|
||||||
# It's necessary if you upgrade the application otherwise you might
|
|
||||||
# try to import non-existent modules.
|
|
||||||
rm -rf ${cfg.runtimeDir}/bootstrap/*
|
|
||||||
|
|
||||||
# Perform the first migration.
|
# Perform the first migration.
|
||||||
[[ ! -f ${cfg.dataDir}/.initial-migration ]] && pixelfed-manage migrate --force && touch ${cfg.dataDir}/.initial-migration
|
[[ ! -f ${cfg.dataDir}/.initial-migration ]] && pixelfed-manage migrate --force && touch ${cfg.dataDir}/.initial-migration
|
||||||
|
|
||||||
|
|||||||
@@ -260,10 +260,10 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
system.extraDependencies = mkOption {
|
system.extraDependencies = mkOption {
|
||||||
type = types.listOf types.package;
|
type = types.listOf types.pathInStore;
|
||||||
default = [];
|
default = [];
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
A list of packages that should be included in the system
|
A list of paths that should be included in the system
|
||||||
closure but generally not visible to users.
|
closure but generally not visible to users.
|
||||||
|
|
||||||
This option has also been used for build-time checks, but the
|
This option has also been used for build-time checks, but the
|
||||||
|
|||||||
@@ -3165,7 +3165,7 @@ let
|
|||||||
|
|
||||||
(mkIf cfg.enable {
|
(mkIf cfg.enable {
|
||||||
|
|
||||||
systemd.package = pkgs.systemdStage1Network;
|
systemd.package = mkDefault pkgs.systemdStage1Network;
|
||||||
|
|
||||||
# For networkctl
|
# For networkctl
|
||||||
systemd.dbus.enable = mkDefault true;
|
systemd.dbus.enable = mkDefault true;
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ in {
|
|||||||
allTerminfo = handleTest ./all-terminfo.nix {};
|
allTerminfo = handleTest ./all-terminfo.nix {};
|
||||||
alps = handleTest ./alps.nix {};
|
alps = handleTest ./alps.nix {};
|
||||||
amazon-init-shell = handleTest ./amazon-init-shell.nix {};
|
amazon-init-shell = handleTest ./amazon-init-shell.nix {};
|
||||||
|
anuko-time-tracker = handleTest ./anuko-time-tracker.nix {};
|
||||||
apcupsd = handleTest ./apcupsd.nix {};
|
apcupsd = handleTest ./apcupsd.nix {};
|
||||||
apfs = runTest ./apfs.nix;
|
apfs = runTest ./apfs.nix;
|
||||||
apparmor = handleTest ./apparmor.nix {};
|
apparmor = handleTest ./apparmor.nix {};
|
||||||
@@ -645,6 +646,7 @@ in {
|
|||||||
pulseaudio = discoverTests (import ./pulseaudio.nix);
|
pulseaudio = discoverTests (import ./pulseaudio.nix);
|
||||||
qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
|
qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
|
||||||
qemu-vm-restrictnetwork = handleTest ./qemu-vm-restrictnetwork.nix {};
|
qemu-vm-restrictnetwork = handleTest ./qemu-vm-restrictnetwork.nix {};
|
||||||
|
qemu-vm-volatile-root = runTest ./qemu-vm-volatile-root.nix;
|
||||||
quorum = handleTest ./quorum.nix {};
|
quorum = handleTest ./quorum.nix {};
|
||||||
quake3 = handleTest ./quake3.nix {};
|
quake3 = handleTest ./quake3.nix {};
|
||||||
qownnotes = handleTest ./qownnotes.nix {};
|
qownnotes = handleTest ./qownnotes.nix {};
|
||||||
@@ -686,6 +688,7 @@ in {
|
|||||||
shiori = handleTest ./shiori.nix {};
|
shiori = handleTest ./shiori.nix {};
|
||||||
signal-desktop = handleTest ./signal-desktop.nix {};
|
signal-desktop = handleTest ./signal-desktop.nix {};
|
||||||
simple = handleTest ./simple.nix {};
|
simple = handleTest ./simple.nix {};
|
||||||
|
sing-box = handleTest ./sing-box.nix {};
|
||||||
slurm = handleTest ./slurm.nix {};
|
slurm = handleTest ./slurm.nix {};
|
||||||
smokeping = handleTest ./smokeping.nix {};
|
smokeping = handleTest ./smokeping.nix {};
|
||||||
snapcast = handleTest ./snapcast.nix {};
|
snapcast = handleTest ./snapcast.nix {};
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
|
name = "anuko-time-tracker";
|
||||||
|
meta = {
|
||||||
|
maintainers = with pkgs.lib.maintainers; [ michaelshmitty ];
|
||||||
|
};
|
||||||
|
nodes = {
|
||||||
|
machine = {
|
||||||
|
services.anuko-time-tracker.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
machine.wait_for_unit("phpfpm-anuko-time-tracker")
|
||||||
|
machine.wait_for_open_port(80);
|
||||||
|
machine.wait_until_succeeds("curl -s --fail -L http://localhost/time.php | grep 'Anuko Time Tracker'")
|
||||||
|
'';
|
||||||
|
})
|
||||||
@@ -26,6 +26,8 @@ in
|
|||||||
site_name = "Lemmy FTW";
|
site_name = "Lemmy FTW";
|
||||||
admin_email = "mightyiam@example.com";
|
admin_email = "mightyiam@example.com";
|
||||||
};
|
};
|
||||||
|
# https://github.com/LemmyNet/lemmy/blob/50efb1d519c63a7007a07f11cc8a11487703c70d/crates/utils/src/settings/mod.rs#L52
|
||||||
|
database.uri = "postgres:///lemmy?host=/run/postgresql&user=lemmy";
|
||||||
};
|
};
|
||||||
caddy.enable = true;
|
caddy.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Test that the root filesystem is a volatile tmpfs.
|
||||||
|
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "qemu-vm-volatile-root";
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ nikstur ];
|
||||||
|
|
||||||
|
nodes.machine = _: {
|
||||||
|
virtualisation.diskImage = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
machine.succeed("findmnt --kernel --types tmpfs /")
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||||
|
|
||||||
|
name = "sing-box";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
maintainers = with lib.maintainers; [ nickcao ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes.machine = { pkgs, ... }: {
|
||||||
|
environment.systemPackages = [ pkgs.curl ];
|
||||||
|
services.nginx.enable = true;
|
||||||
|
services.sing-box = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
inbounds = [{
|
||||||
|
type = "mixed";
|
||||||
|
tag = "inbound";
|
||||||
|
listen = "127.0.0.1";
|
||||||
|
listen_port = 1080;
|
||||||
|
users = [{
|
||||||
|
username = "user";
|
||||||
|
password = { _secret = pkgs.writeText "password" "supersecret"; };
|
||||||
|
}];
|
||||||
|
}];
|
||||||
|
outbounds = [{
|
||||||
|
type = "direct";
|
||||||
|
tag = "outbound";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("nginx.service")
|
||||||
|
machine.wait_for_unit("sing-box.service")
|
||||||
|
|
||||||
|
machine.wait_for_open_port(80)
|
||||||
|
machine.wait_for_open_port(1080)
|
||||||
|
|
||||||
|
machine.succeed("curl --fail --max-time 10 --proxy http://user:supersecret@localhost:1080 http://localhost")
|
||||||
|
machine.fail("curl --fail --max-time 10 --proxy http://user:supervillain@localhost:1080 http://localhost")
|
||||||
|
machine.succeed("curl --fail --max-time 10 --proxy socks5://user:supersecret@localhost:1080 http://localhost")
|
||||||
|
'';
|
||||||
|
|
||||||
|
})
|
||||||
@@ -2,20 +2,18 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dcrd";
|
pname = "dcrd";
|
||||||
version = "1.5.2";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "decred";
|
owner = "decred";
|
||||||
repo = "dcrd";
|
repo = "dcrd";
|
||||||
rev = "refs/tags/release-v${version}";
|
rev = "refs/tags/release-v${version}";
|
||||||
sha256 = "14pxajc8si90hnddilfm09kmljwxq6i6p53fk0g09jp000cbklkl";
|
hash = "sha256-ZNBSIzx07zJrBxas7bHpZ8ZPDWJ4d7jumpKYj5Qmzlo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "03aw6mcvp1vr01ppxy673jf5hdryd5032cxndlkaiwg005mxp1dy";
|
vendorHash = "sha256-++IPB2IadXd1LC5r6f1a0UqsTG/McAf7KQAw8WKKoaE=";
|
||||||
|
|
||||||
doCheck = false;
|
subPackages = [ "." "cmd/promptsecret" ];
|
||||||
|
|
||||||
subPackages = [ "." "cmd/dcrctl" "cmd/promptsecret" ];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://decred.org";
|
homepage = "https://decred.org";
|
||||||
|
|||||||
@@ -2,18 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dcrwallet";
|
pname = "dcrwallet";
|
||||||
version = "1.6.0";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "decred";
|
owner = "decred";
|
||||||
repo = "dcrwallet";
|
repo = "dcrwallet";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "release-v${version}";
|
||||||
sha256 = "sha256-WUfmv+laOwR/fc4osAFzPKqHQR+wOtSdLEsysICnuvg=";
|
hash = "sha256-ffY5IvSGu4Q7EdJpfdsIKxxjkm6FD0DR9ItnaO90SBc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-9IRNlULvARIZu6dWaKrvx6fiDJ80SBLINhK/9tW9k/0=";
|
vendorHash = "sha256-dduHuMa5UPf73lfirTHSrYnOUbc2IyULpstZPGUJzuc=";
|
||||||
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
|
|||||||
substituteInPlace src/Core/Runner.cpp --replace "/bin/bash" "${runtimeShell}"
|
substituteInPlace src/Core/Runner.cpp --replace "/bin/bash" "${runtimeShell}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
env.NIX_CFLAGS_COMPILE = "-std=c++14";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "An IDE specially designed for competitive programming";
|
description = "An IDE specially designed for competitive programming";
|
||||||
homepage = "https://cpeditor.org";
|
homepage = "https://cpeditor.org";
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -403,12 +403,12 @@
|
|||||||
};
|
};
|
||||||
elm = buildGrammar {
|
elm = buildGrammar {
|
||||||
language = "elm";
|
language = "elm";
|
||||||
version = "0.0.0+rev=692c50c";
|
version = "0.0.0+rev=73edfcd";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elm-tooling";
|
owner = "elm-tooling";
|
||||||
repo = "tree-sitter-elm";
|
repo = "tree-sitter-elm";
|
||||||
rev = "692c50c0b961364c40299e73c1306aecb5d20f40";
|
rev = "73edfcdc3bb2ddfc731cd5d63e6cb287a18da90d";
|
||||||
hash = "sha256-0LpuyebOB5ew9fULBcaw8aUbF7HM5sXQpv+Jroz4tXg=";
|
hash = "sha256-0fC3NYHtZQbi9Ca5UAAD9FEXQUJ9z8caf0XQsPpU5Rs=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
|
meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm";
|
||||||
};
|
};
|
||||||
@@ -711,12 +711,12 @@
|
|||||||
};
|
};
|
||||||
hack = buildGrammar {
|
hack = buildGrammar {
|
||||||
language = "hack";
|
language = "hack";
|
||||||
version = "0.0.0+rev=b7bd692";
|
version = "0.0.0+rev=b1c41e4";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "slackhq";
|
owner = "slackhq";
|
||||||
repo = "tree-sitter-hack";
|
repo = "tree-sitter-hack";
|
||||||
rev = "b7bd6928532ada34dddb1dece4a158ab62c6e783";
|
rev = "b1c41e4b82c625cc33ddb8701f6aa5a09c72fcf5";
|
||||||
hash = "sha256-TSbi4Ik/AjswuIdTaFfJ53S0c/qfq0JYPzVv07JASmc=";
|
hash = "sha256-eEvT8pZeGwtnEanYG2qdkCWR6ifh2qm/yxGOTbuZhdE=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
|
meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
|
||||||
};
|
};
|
||||||
@@ -733,15 +733,26 @@
|
|||||||
};
|
};
|
||||||
haskell = buildGrammar {
|
haskell = buildGrammar {
|
||||||
language = "haskell";
|
language = "haskell";
|
||||||
version = "0.0.0+rev=a75238f";
|
version = "0.0.0+rev=ba0bfb0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tree-sitter";
|
owner = "tree-sitter";
|
||||||
repo = "tree-sitter-haskell";
|
repo = "tree-sitter-haskell";
|
||||||
rev = "a75238fdefc2281cdba7dc4dca13f1d68a91f177";
|
rev = "ba0bfb0e5d8e9e31c160d287878c6f26add3ec08";
|
||||||
hash = "sha256-KCP6nP2AI6ZwuADSlWTP21I+U4aUr40/sYTn1FVqVMA=";
|
hash = "sha256-ZSOF0CLOn82GwU3xgvFefmh/AD2j5zz8I0t5YPwfan0=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
|
meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell";
|
||||||
};
|
};
|
||||||
|
haskell_persistent = buildGrammar {
|
||||||
|
language = "haskell_persistent";
|
||||||
|
version = "0.0.0+rev=58a6ccf";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "MercuryTechnologies";
|
||||||
|
repo = "tree-sitter-haskell-persistent";
|
||||||
|
rev = "58a6ccfd56d9f1de8fb9f77e6c42151f8f0d0f3d";
|
||||||
|
hash = "sha256-p4Anm/xeG/d7nYBPDABcdDih/a+0rMjwtVUJru7m9QY=";
|
||||||
|
};
|
||||||
|
meta.homepage = "https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent";
|
||||||
|
};
|
||||||
hcl = buildGrammar {
|
hcl = buildGrammar {
|
||||||
language = "hcl";
|
language = "hcl";
|
||||||
version = "0.0.0+rev=becebeb";
|
version = "0.0.0+rev=becebeb";
|
||||||
@@ -799,12 +810,12 @@
|
|||||||
};
|
};
|
||||||
html = buildGrammar {
|
html = buildGrammar {
|
||||||
language = "html";
|
language = "html";
|
||||||
version = "0.0.0+rev=86c253e";
|
version = "0.0.0+rev=ff48883";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tree-sitter";
|
owner = "tree-sitter";
|
||||||
repo = "tree-sitter-html";
|
repo = "tree-sitter-html";
|
||||||
rev = "86c253e675e7fdd1c0482efe0706f24bafbc3a7d";
|
rev = "ff48883eb679bbb71b7ac08c8023c8defbf9e234";
|
||||||
hash = "sha256-mOJ1JUlsnFPH5jQcWdhWJkoZ0qOK1CTvmi/gEPzzeYk=";
|
hash = "sha256-o4yQsFosxGHj60nezRXDGVBVEPsgITHqE7Ub4rOEAAU=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
|
meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
|
||||||
};
|
};
|
||||||
@@ -1120,12 +1131,12 @@
|
|||||||
};
|
};
|
||||||
matlab = buildGrammar {
|
matlab = buildGrammar {
|
||||||
language = "matlab";
|
language = "matlab";
|
||||||
version = "0.0.0+rev=26c5255";
|
version = "0.0.0+rev=b09c27e";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "acristoffers";
|
owner = "acristoffers";
|
||||||
repo = "tree-sitter-matlab";
|
repo = "tree-sitter-matlab";
|
||||||
rev = "26c525577c7349b8d9805d244cacd8ef98807b78";
|
rev = "b09c27e42732c59321604a15163480ebb4f82f1c";
|
||||||
hash = "sha256-nvjqmyVcVfTkuMFyDWWJLZNN/SeiNwLrQU6qfvQqpmw=";
|
hash = "sha256-gIaHyExmgFSEe6Nm7G5NPNafWWhl50Fn1UQm35MrAuE=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab";
|
meta.homepage = "https://github.com/acristoffers/tree-sitter-matlab";
|
||||||
};
|
};
|
||||||
@@ -1443,12 +1454,12 @@
|
|||||||
};
|
};
|
||||||
python = buildGrammar {
|
python = buildGrammar {
|
||||||
language = "python";
|
language = "python";
|
||||||
version = "0.0.0+rev=6282715";
|
version = "0.0.0+rev=6ecc2b5";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tree-sitter";
|
owner = "tree-sitter";
|
||||||
repo = "tree-sitter-python";
|
repo = "tree-sitter-python";
|
||||||
rev = "62827156d01c74dc1538266344e788da74536b8a";
|
rev = "6ecc2b54b39ac390848d81dfcf5ee961f33a2f03";
|
||||||
hash = "sha256-hVtX4Dyqrq+cSvKTmKMxLbAplcCdR8dfFDoIZNtPFA0=";
|
hash = "sha256-gfFD1E6hXaNU0z81VHvo0oMU9iLcyRWP6sIRj6uagYU=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
|
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
|
||||||
};
|
};
|
||||||
@@ -1509,12 +1520,12 @@
|
|||||||
};
|
};
|
||||||
racket = buildGrammar {
|
racket = buildGrammar {
|
||||||
language = "racket";
|
language = "racket";
|
||||||
version = "0.0.0+rev=2804e03";
|
version = "0.0.0+rev=bbdb0bf";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "6cdh";
|
owner = "6cdh";
|
||||||
repo = "tree-sitter-racket";
|
repo = "tree-sitter-racket";
|
||||||
rev = "2804e03223953dc4709f4c041b57b722095a0397";
|
rev = "bbdb0bfbaf0dd5f6650b97a393a06a19cef50562";
|
||||||
hash = "sha256-mPG0faYCxML1Ehu6bZS86rEV9Ys+tgwsGlNKgA4U3zQ=";
|
hash = "sha256-in/VhL0PkhOXaeiMje8oqTxYJ9/VirLTfzF9QZg/Fuk=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
|
meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
|
||||||
};
|
};
|
||||||
@@ -1696,12 +1707,12 @@
|
|||||||
};
|
};
|
||||||
sql = buildGrammar {
|
sql = buildGrammar {
|
||||||
language = "sql";
|
language = "sql";
|
||||||
version = "0.0.0+rev=d38db87";
|
version = "0.0.0+rev=7bd15d1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "derekstride";
|
owner = "derekstride";
|
||||||
repo = "tree-sitter-sql";
|
repo = "tree-sitter-sql";
|
||||||
rev = "d38db87c3e979a692cd542be44524f7f5e46f965";
|
rev = "7bd15d1ca789c5aaef5d2dbfdb14565ec8223d1b";
|
||||||
hash = "sha256-PT7joV3kA8LqB6t/bhahxNsp8zfOKNWQIT8gQ4UnqY4=";
|
hash = "sha256-yX1Ttwl+GgmguThHpIsnM/x3O57WY+u4NcChSdokHo0=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
|
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
|
||||||
};
|
};
|
||||||
@@ -2022,12 +2033,12 @@
|
|||||||
};
|
};
|
||||||
vimdoc = buildGrammar {
|
vimdoc = buildGrammar {
|
||||||
language = "vimdoc";
|
language = "vimdoc";
|
||||||
version = "0.0.0+rev=e9b4d2b";
|
version = "0.0.0+rev=8c0469d";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "neovim";
|
owner = "neovim";
|
||||||
repo = "tree-sitter-vimdoc";
|
repo = "tree-sitter-vimdoc";
|
||||||
rev = "e9b4d2b3e732ed841980e7369e945e46ce715b8c";
|
rev = "8c0469d1f84f1e2733d4490dfb3cf8f8b100e2da";
|
||||||
hash = "sha256-4j8iEo1BIh4RdYjGPokXNIHhlS7G3JE4ABQ/i3yuObA=";
|
hash = "sha256-8Y2Ow9Hppo8qB8SoaxF/vnOTC8pXZg/d5HjlBxy0wwg=";
|
||||||
};
|
};
|
||||||
meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
|
meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -466,6 +466,10 @@ self: super: {
|
|||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
executor-nvim = super.executor-nvim.overrideAttrs (old: {
|
||||||
|
dependencies = with self; [ nui-nvim ];
|
||||||
|
});
|
||||||
|
|
||||||
fcitx-vim = super.fcitx-vim.overrideAttrs (old: {
|
fcitx-vim = super.fcitx-vim.overrideAttrs (old: {
|
||||||
passthru.python3Dependencies = ps: with ps; [ dbus-python ];
|
passthru.python3Dependencies = ps: with ps; [ dbus-python ];
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -257,6 +257,7 @@ https://github.com/dmix/elvish.vim/,,
|
|||||||
https://github.com/mattn/emmet-vim/,,
|
https://github.com/mattn/emmet-vim/,,
|
||||||
https://github.com/vim-scripts/emodeline/,,
|
https://github.com/vim-scripts/emodeline/,,
|
||||||
https://github.com/sainnhe/everforest/,,
|
https://github.com/sainnhe/everforest/,,
|
||||||
|
https://github.com/google/executor.nvim/,HEAD,
|
||||||
https://github.com/nvchad/extensions/,HEAD,nvchad-extensions
|
https://github.com/nvchad/extensions/,HEAD,nvchad-extensions
|
||||||
https://github.com/jinh0/eyeliner.nvim/,HEAD,
|
https://github.com/jinh0/eyeliner.nvim/,HEAD,
|
||||||
https://github.com/fenetikm/falcon/,,
|
https://github.com/fenetikm/falcon/,,
|
||||||
@@ -574,6 +575,7 @@ https://github.com/ethanholz/nvim-lastplace/,HEAD,
|
|||||||
https://github.com/kosayoda/nvim-lightbulb/,,
|
https://github.com/kosayoda/nvim-lightbulb/,,
|
||||||
https://github.com/josa42/nvim-lightline-lsp/,,
|
https://github.com/josa42/nvim-lightline-lsp/,,
|
||||||
https://github.com/mfussenegger/nvim-lint/,,
|
https://github.com/mfussenegger/nvim-lint/,,
|
||||||
|
https://github.com/mrded/nvim-lsp-notify/,HEAD,
|
||||||
https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/,,
|
https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/,,
|
||||||
https://github.com/neovim/nvim-lspconfig/,,
|
https://github.com/neovim/nvim-lspconfig/,,
|
||||||
https://github.com/RishabhRD/nvim-lsputils/,,
|
https://github.com/RishabhRD/nvim-lsputils/,,
|
||||||
|
|||||||
@@ -587,6 +587,22 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
brandonkirbyson.solarized-palenight = buildVscodeMarketplaceExtension {
|
||||||
|
mktplcRef = {
|
||||||
|
name = "solarized-palenight";
|
||||||
|
publisher = "BrandonKirbyson";
|
||||||
|
version = "1.0.1";
|
||||||
|
sha256 = "sha256-vVbaHSaBX6QzpnYMQlpPsJU1TQYJEBe8jq95muzwN0o=";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = " A solarized-palenight theme for vscode";
|
||||||
|
downloadPage = "https://marketplace.visualstudio.com/items?itemName=BrandonKirbyson.solarized-palenight";
|
||||||
|
homepage = "https://github.com/BrandonKirbyson/Solarized-Palenight";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = [ lib.maintainers.sebtm ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
brettm12345.nixfmt-vscode = buildVscodeMarketplaceExtension {
|
brettm12345.nixfmt-vscode = buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "nixfmt-vscode";
|
name = "nixfmt-vscode";
|
||||||
|
|||||||
@@ -19,13 +19,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xed-editor";
|
pname = "xed-editor";
|
||||||
version = "3.4.1";
|
version = "3.4.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = "xed";
|
repo = "xed";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-fBwxc6n4sNNRiKcax96Tl3cFD+Ryvmj+XizB3z2s4+Q=";
|
sha256 = "sha256-fTrvHf7iA3qexxdebSgzLXlngAOkdraW3KiVTVYodrY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, callPackage
|
||||||
, patchelf
|
, patchelf
|
||||||
, unzip
|
, unzip
|
||||||
, poco
|
, poco
|
||||||
@@ -59,6 +60,11 @@ stdenv.mkDerivation rec {
|
|||||||
cp -R ${craftos2-rom}/* $out/share/craftos
|
cp -R ${craftos2-rom}/* $out/share/craftos
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
eval-hello-world = callPackage ./test-eval-hello-world { };
|
||||||
|
eval-periphemu = callPackage ./test-eval-periphemu { };
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "An implementation of the CraftOS-PC API written in C++ using SDL";
|
description = "An implementation of the CraftOS-PC API written in C++ using SDL";
|
||||||
homepage = "https://www.craftos-pc.cc";
|
homepage = "https://www.craftos-pc.cc";
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{ stdenv
|
||||||
|
, craftos-pc
|
||||||
|
, grep
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "craftos-pc-test-eval-hello-world";
|
||||||
|
meta.timeout = 60;
|
||||||
|
nativeBuildInputs = [ craftos-pc grep ];
|
||||||
|
buildCommand = ''
|
||||||
|
export HOME=$(pwd)
|
||||||
|
mkdir $HOME/.local $HOME/.config
|
||||||
|
export XDG_CONFIG_DIR=$HOME/.config
|
||||||
|
export XDG_DATA_DIR=$HOME/.local
|
||||||
|
craftos --headless --script ${./init.lua} | grep "Hello Nixpkgs!" > /dev/null
|
||||||
|
touch $out
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
print("Hello Nixpkgs!")
|
||||||
|
|
||||||
|
shell.run("shutdown")
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{ stdenv
|
||||||
|
, craftos-pc
|
||||||
|
, grep
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "craftos-pc-test-eval-periphemu";
|
||||||
|
meta.timeout = 60;
|
||||||
|
nativeBuildInputs = [ craftos-pc grep ];
|
||||||
|
buildCommand = ''
|
||||||
|
export HOME=$(pwd)
|
||||||
|
mkdir $HOME/.local $HOME/.config
|
||||||
|
export XDG_CONFIG_DIR=$HOME/.config
|
||||||
|
export XDG_DATA_DIR=$HOME/.local
|
||||||
|
if craftos --headless --script ${./init.lua} | grep -q "FAIL"; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
touch $out
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
local function assert(cond1, cond2)
|
||||||
|
if not cond1 == cond2 then print("FAIL") end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function driveTests()
|
||||||
|
periphemu.create("left", "drive")
|
||||||
|
local p = peripheral.wrap("left")
|
||||||
|
|
||||||
|
assert(p.isDiskPresent(), false)
|
||||||
|
p.insertDisk(649)
|
||||||
|
assert(p.isDiskPresent(), true)
|
||||||
|
assert(p.getDiskID(), 649)
|
||||||
|
assert(p.getDiskLabel(), nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
driveTests()
|
||||||
|
|
||||||
|
shell.run("shutdown")
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "5.11.0";
|
version = "5.11.1";
|
||||||
|
|
||||||
docFiles = [
|
docFiles = [
|
||||||
(fetchurl {
|
(fetchurl {
|
||||||
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
|
|||||||
owner = "paraview";
|
owner = "paraview";
|
||||||
repo = "paraview";
|
repo = "paraview";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-WvkKGl5lG+apX6m4ULVZZVtDsSUjEVXe/seh95b+LmI=";
|
hash = "sha256-LatNHfiAqB2kqzERRnYae0WIXBb4nXQ79Be4kuh8NFQ=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
let
|
let
|
||||||
|
|
||||||
pname = "1password";
|
pname = "1password";
|
||||||
version = if channel == "stable" then "8.10.7" else "8.10.8-13.BETA";
|
version = if channel == "stable" then "8.10.7" else "8.10.8-42.BETA";
|
||||||
|
|
||||||
sources = {
|
sources = {
|
||||||
stable = {
|
stable = {
|
||||||
@@ -33,19 +33,19 @@ let
|
|||||||
beta = {
|
beta = {
|
||||||
x86_64-linux = {
|
x86_64-linux = {
|
||||||
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
|
url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
|
||||||
sha256 = "sha256-+Gg4OJXjdufEBNa3+qBXz0/NfPDXDfuiCYjMEDHnOKo=";
|
sha256 = "sha256-nPstDndWuPMSGJlbyniEfljdEy+TOB9zWMJ+db7xCx4=";
|
||||||
};
|
};
|
||||||
aarch64-linux = {
|
aarch64-linux = {
|
||||||
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
|
url = "https://downloads.1password.com/linux/tar/beta/aarch64/1password-${version}.arm64.tar.gz";
|
||||||
sha256 = "sha256-xDwwxo4UsoPzcxFblYeZ9QIDIJ6f6vGBxYySqP9o/A0=";
|
sha256 = "sha256-waJjvqF6OXGrf90srvvZ+hyxapcQApGTsxTzNMX9V3s=";
|
||||||
};
|
};
|
||||||
x86_64-darwin = {
|
x86_64-darwin = {
|
||||||
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
|
url = "https://downloads.1password.com/mac/1Password-${version}-x86_64.zip";
|
||||||
sha256 = "sha256-NphHgeMrjBqApU5crNj1JOTTXD4kXoO067feVs/YxuA=";
|
sha256 = "sha256-i9hbnjXx2/RWJ9YvrFDOGbi7dpiHtxWsN0HAZPOhK8o=";
|
||||||
};
|
};
|
||||||
aarch64-darwin = {
|
aarch64-darwin = {
|
||||||
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
|
url = "https://downloads.1password.com/mac/1Password-${version}-aarch64.zip";
|
||||||
sha256 = "sha256-M1MnSbZ6qsT7Ke5e8/4ppCxlXekulJnm9Zb5+4tt8Vg=";
|
sha256 = "sha256-tat2x2J4/yKhWp4sWCEqU+SSZaNRx8WTcCJAAbo1Kpk=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,16 +10,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "comodoro";
|
pname = "comodoro";
|
||||||
version = "0.0.8";
|
version = "0.0.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "soywod";
|
owner = "soywod";
|
||||||
repo = "comodoro";
|
repo = "comodoro";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "rGnVXyfWJkPHfpf1gRGbDJ6Y1ycKOOcCZ+Jx35fUo6M=";
|
hash = "sha256-pxe3Nv1N85uWsiv4s0wtD++zlZZgMADH51f5RMK9huA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "jpshuavywCLN03xD/gFgQeGbKtmHq5pULbxd+RUbaDk=";
|
cargoSha256 = "E5oHeMow9MrVrlDX+v0tX9Nv3gHUxDNUpRAT5jPa+DI=";
|
||||||
|
|
||||||
nativeBuildInputs = lib.optional (installManPages || installShellCompletions) installShellFiles;
|
nativeBuildInputs = lib.optional (installManPages || installShellCompletions) installShellFiles;
|
||||||
|
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.3.1";
|
version = "4.4.4";
|
||||||
|
|
||||||
libsecp256k1_name =
|
libsecp256k1_name =
|
||||||
if stdenv.isLinux then "libsecp256k1.so.0"
|
if stdenv.isLinux then "libsecp256k1.so.{v}"
|
||||||
else if stdenv.isDarwin then "libsecp256k1.0.dylib"
|
else if stdenv.isDarwin then "libsecp256k1.{v}.dylib"
|
||||||
else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}";
|
else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||||
|
|
||||||
libzbar_name =
|
libzbar_name =
|
||||||
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication {
|
|||||||
owner = "Groestlcoin";
|
owner = "Groestlcoin";
|
||||||
repo = "electrum-grs";
|
repo = "electrum-grs";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "1h9r32wdn0p7br36r719x96c8gay83dijw80y2ks951mam16mkkb";
|
sha256 = "0fl01qdvb1z6l6kwipj1lj0qmjk3mzw25wv7yh5j1hh1f5lng0s8";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
|
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
|
||||||
@@ -55,6 +55,7 @@ python3.pkgs.buildPythonApplication {
|
|||||||
tlslite-ng
|
tlslite-ng
|
||||||
# plugins
|
# plugins
|
||||||
btchip-python
|
btchip-python
|
||||||
|
ledger-bitcoin
|
||||||
ckcc-protocol
|
ckcc-protocol
|
||||||
keepkey
|
keepkey
|
||||||
trezor
|
trezor
|
||||||
@@ -66,7 +67,7 @@ python3.pkgs.buildPythonApplication {
|
|||||||
postPatch = ''
|
postPatch = ''
|
||||||
# make compatible with protobuf4 by easing dependencies ...
|
# make compatible with protobuf4 by easing dependencies ...
|
||||||
substituteInPlace ./contrib/requirements/requirements.txt \
|
substituteInPlace ./contrib/requirements/requirements.txt \
|
||||||
--replace "protobuf>=3.12,<4" "protobuf>=3.12"
|
--replace "protobuf>=3.20,<4" "protobuf>=3.20"
|
||||||
# ... and regenerating the paymentrequest_pb2.py file
|
# ... and regenerating the paymentrequest_pb2.py file
|
||||||
protoc --python_out=. electrum_grs/paymentrequest.proto
|
protoc --python_out=. electrum_grs/paymentrequest.proto
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Installer UI which writes images to disk";
|
description = "Installer UI which writes images to disk";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ qyliss ];
|
maintainers = with maintainers; [ qyliss ];
|
||||||
|
mainProgram = "gnome-image-installer";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,13 +9,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "mob";
|
pname = "mob";
|
||||||
version = "4.4.3";
|
version = "4.4.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "remotemobprogramming";
|
owner = "remotemobprogramming";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-XWXoY/e/xceO3sOGvA2hrdvbdb8nomMg7AGUW090I74=";
|
sha256 = "sha256-/Kr5K0QkjARWKR8YhDsOQ2CoUzUu5LWUq6smhB0yDCM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = null;
|
vendorHash = null;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,113 @@
|
|||||||
|
{ stdenv, lib, runCommand, fetchFromGitLab, wrapFirefox, firefox-unwrapped }:
|
||||||
|
|
||||||
|
let
|
||||||
|
pkg = fetchFromGitLab {
|
||||||
|
owner = "postmarketOS";
|
||||||
|
repo = "mobile-config-firefox";
|
||||||
|
rev = "ff2f07873f4ebc6e220da0e9b9f04c69f451edda";
|
||||||
|
sha256 = "sha256-8wRz8corz00+0qROMiOmZAddM4tjfmE91bx0+P8JNx4=";
|
||||||
|
};
|
||||||
|
userChrome = runCommand "userChrome.css" {} ''
|
||||||
|
cat ${pkg}/src/userChrome/*.css > $out
|
||||||
|
'';
|
||||||
|
userContent = runCommand "userContent.css" {} ''
|
||||||
|
cat ${pkg}/src/userContent/*.css > $out
|
||||||
|
'';
|
||||||
|
in wrapFirefox firefox-unwrapped {
|
||||||
|
# extraPolicies = (lib.importJSON "${pkg}/src/policies.json").policies;
|
||||||
|
extraPoliciesFiles = [ "${pkg}/src/policies.json" ];
|
||||||
|
extraPrefs = ''
|
||||||
|
// Copyright 2022 Arnaud Ferraris, Oliver Smith
|
||||||
|
// SPDX-License-Identifier: MPL-2.0
|
||||||
|
|
||||||
|
// This is a Firefox autoconfig file:
|
||||||
|
// https://support.mozilla.org/en-US/kb/customizing-firefox-using-autoconfig
|
||||||
|
|
||||||
|
// Import custom userChrome.css on startup or new profile creation
|
||||||
|
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
|
||||||
|
Cu.import("resource://gre/modules/Services.jsm");
|
||||||
|
Cu.import("resource://gre/modules/FileUtils.jsm");
|
||||||
|
|
||||||
|
var updated = false;
|
||||||
|
|
||||||
|
// Create <profile>/chrome/ directory if not already present
|
||||||
|
var chromeDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
|
||||||
|
chromeDir.append("chrome");
|
||||||
|
if (!chromeDir.exists()) {
|
||||||
|
chromeDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create nsIFile objects for userChrome.css in <profile>/chrome/ and in /etc/
|
||||||
|
var chromeFile = chromeDir.clone();
|
||||||
|
chromeFile.append("userChrome.css");
|
||||||
|
var defaultChrome = new FileUtils.File("${userChrome}");
|
||||||
|
|
||||||
|
// No auto-upgrade. Should this be replaced with symlinking?
|
||||||
|
// // Remove the existing userChrome.css if older than the installed one
|
||||||
|
// if (chromeFile.exists() && defaultChrome.exists() &&
|
||||||
|
// chromeFile.lastModifiedTime < defaultChrome.lastModifiedTime) {
|
||||||
|
// chromeFile.remove(false);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Copy userChrome.css to <profile>/chrome/
|
||||||
|
if (!chromeFile.exists()) {
|
||||||
|
defaultChrome.copyTo(chromeDir, "userChrome.css");
|
||||||
|
updated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create nsIFile objects for userContent.css in <profile>/chrome/ and in /etc/
|
||||||
|
var contentFile = chromeDir.clone();
|
||||||
|
contentFile.append("userContent.css");
|
||||||
|
var defaultContent = new FileUtils.File("${userContent}");
|
||||||
|
|
||||||
|
// No auto-upgrade. Should this be replaced with symlinking?
|
||||||
|
// // Remove the existing userContent.css if older than the installed one
|
||||||
|
// if (contentFile.exists() && defaultContent.exists() &&
|
||||||
|
// contentFile.lastModifiedTime < defaultContent.lastModifiedTime) {
|
||||||
|
// contentFile.remove(false);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Copy userContent.css to <profile>/chrome/
|
||||||
|
if (!contentFile.exists()) {
|
||||||
|
defaultContent.copyTo(chromeDir, "userContent.css");
|
||||||
|
updated = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restart Firefox immediately if one of the files got updated
|
||||||
|
if (updated === true) {
|
||||||
|
var appStartup = Cc["@mozilla.org/toolkit/app-startup;1"].getService(Ci.nsIAppStartup);
|
||||||
|
appStartup.quit(Ci.nsIAppStartup.eForceQuit | Ci.nsIAppStartup.eRestart);
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultPref('general.useragent.override', 'Mozilla/5.0 (Android 11; Mobile; rv:96.0) Gecko/96.0 Firefox/96.0');
|
||||||
|
defaultPref('browser.urlbar.suggest.topsites', false);
|
||||||
|
defaultPref('browser.urlbar.suggest.engines', false);
|
||||||
|
defaultPref('browser.newtabpage.enabled', true);
|
||||||
|
|
||||||
|
// Enable android-style pinch-to-zoom
|
||||||
|
pref('dom.w3c.touch_events.enabled', true);
|
||||||
|
pref('apz.allow_zooming', true);
|
||||||
|
pref('apz.allow_double_tap_zooming', true);
|
||||||
|
|
||||||
|
// Save vertical space by hiding the titlebar
|
||||||
|
pref('browser.tabs.inTitlebar', 1);
|
||||||
|
|
||||||
|
// Disable search suggestions
|
||||||
|
pref('browser.search.suggest.enabled', false);
|
||||||
|
|
||||||
|
// Empty new tab page: faster, less distractions
|
||||||
|
pref('browser.newtabpage.enabled', false);
|
||||||
|
|
||||||
|
// Allow UI customizations with userChrome.css and userContent.css
|
||||||
|
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
||||||
|
|
||||||
|
// Select the entire URL with one click
|
||||||
|
pref('browser.urlbar.clickSelectsAll', true);
|
||||||
|
|
||||||
|
// Disable cosmetic animations, save CPU
|
||||||
|
pref('toolkit.cosmeticAnimations.enabled', false);
|
||||||
|
|
||||||
|
// Disable download animations, save CPU
|
||||||
|
pref('browser.download.animateNotifications', false);
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -78,12 +78,12 @@ let
|
|||||||
++ lib.optionals mediaSupport [ ffmpeg ]
|
++ lib.optionals mediaSupport [ ffmpeg ]
|
||||||
);
|
);
|
||||||
|
|
||||||
version = "12.0.7";
|
version = "12.5";
|
||||||
|
|
||||||
sources = {
|
sources = {
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://cdn.mullvad.net/browser/${version}/mullvad-browser-linux64-${version}_ALL.tar.xz";
|
url = "https://cdn.mullvad.net/browser/${version}/mullvad-browser-linux64-${version}_ALL.tar.xz";
|
||||||
hash = "sha256-8TcC39A9VFyhFb+pfefzvwJqXq1yF7C2YDcbCyEa0yo=";
|
hash = "sha256-RTDFi+vMkzRtDFgv9sP1bfIeWzzXR307aoMhNiT6vRs=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "karmor";
|
pname = "karmor";
|
||||||
version = "0.13.3";
|
version = "0.13.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubearmor";
|
owner = "kubearmor";
|
||||||
repo = "kubearmor-client";
|
repo = "kubearmor-client";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-BhGe4CMd0YgWc4EAyig5wmLgHJxNc8ppsUMBeRaIJEE=";
|
hash = "sha256-IZUDVw41AfugqVG2hsxoKO7zl1FraVzME/GUxZwaAG4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-VT0CiaG5AODAL6nhoPmpulPApgTUiH0mXI6mS1eK14k=";
|
vendorHash = "sha256-VT0CiaG5AODAL6nhoPmpulPApgTUiH0mXI6mS1eK14k=";
|
||||||
|
|||||||
@@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kluctl";
|
pname = "kluctl";
|
||||||
version = "2.20.4";
|
version = "2.20.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kluctl";
|
owner = "kluctl";
|
||||||
repo = "kluctl";
|
repo = "kluctl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Z3tXfzbVs0FWTsi6vbM6BNQBLeCseWn4yBR5PNeRz2s=";
|
hash = "sha256-B8+HKqIuJaH+6ViBxWfiAAmXieQKcwAW565SwUpIJKI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-z0eiWU5CFMfK6fz+LUtxtSP/MAuVn7iOHB+A7Uv2OQY=";
|
vendorHash = "sha256-x5Zy8H7DzxU+uBCUL6edv8x2LwiIjXl5UrRUMDtUEk8=";
|
||||||
|
|
||||||
ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
|
ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
|
||||||
|
|
||||||
|
|||||||
@@ -12,16 +12,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kubebuilder";
|
pname = "kubebuilder";
|
||||||
version = "3.10.0";
|
version = "3.11.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes-sigs";
|
owner = "kubernetes-sigs";
|
||||||
repo = "kubebuilder";
|
repo = "kubebuilder";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-W1FjmhZWBt/ThkSHHGAR4p1Vxal4WOCutlsHIDZeRZM=";
|
hash = "sha256-R4piek1mhMy5QPB6weR3F7PiIq0LvwkRAnIndbar9tg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-/Kvn3KwSB/mxgBKM+383QHCnVTOt06ZP3gt7FGqA5aM=";
|
vendorHash = "sha256-5XUYmAfFH6UlLF09PqcSLUxkgZ5iHZGj0Vurab+Jl1g=";
|
||||||
|
|
||||||
subPackages = ["cmd"];
|
subPackages = ["cmd"];
|
||||||
|
|
||||||
|
|||||||
@@ -164,13 +164,13 @@
|
|||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"bitbucket": {
|
"bitbucket": {
|
||||||
"hash": "sha256-T9e3IQHe6uCdllRTctJg/aG1QmPFR6V4ryw79yX2k/o=",
|
"hash": "sha256-Sby7Dvu4UWzdbQWa/GLMkDzlK7foaFApy4yLNBOJgck=",
|
||||||
"homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
|
"homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
|
||||||
"owner": "DrFaust92",
|
"owner": "DrFaust92",
|
||||||
"repo": "terraform-provider-bitbucket",
|
"repo": "terraform-provider-bitbucket",
|
||||||
"rev": "v2.33.0",
|
"rev": "v2.34.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-ebkUF+Xv9diwUYXYt/WK+0tWheqL1cgA665VbGLmvvo="
|
"vendorHash": "sha256-AcUw5i3st7VfAnpy/6nTYfTv3rOAN2jm4rUmEKcSrXM="
|
||||||
},
|
},
|
||||||
"brightbox": {
|
"brightbox": {
|
||||||
"hash": "sha256-yKoYjrZs6EOX1pdDuF+LOu/jZ3fidZJBU7yhSp6qSFU=",
|
"hash": "sha256-yKoYjrZs6EOX1pdDuF+LOu/jZ3fidZJBU7yhSp6qSFU=",
|
||||||
@@ -363,11 +363,11 @@
|
|||||||
"vendorHash": "sha256-2iVEcpESaEdgTcmlQ6Wynuxv8RmPFlhF+BVDSjHmclM="
|
"vendorHash": "sha256-2iVEcpESaEdgTcmlQ6Wynuxv8RmPFlhF+BVDSjHmclM="
|
||||||
},
|
},
|
||||||
"exoscale": {
|
"exoscale": {
|
||||||
"hash": "sha256-DD6CkdZ9KCCkPCgPyWXaAvHfHyn9rYXRsXg9BVJkELM=",
|
"hash": "sha256-dLA9BWW4ghD1OSZaZtFfv8ipS+2lTeNRr1YD3E8ewpI=",
|
||||||
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
|
"homepage": "https://registry.terraform.io/providers/exoscale/exoscale",
|
||||||
"owner": "exoscale",
|
"owner": "exoscale",
|
||||||
"repo": "terraform-provider-exoscale",
|
"repo": "terraform-provider-exoscale",
|
||||||
"rev": "v0.49.0",
|
"rev": "v0.50.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
@@ -474,13 +474,13 @@
|
|||||||
"vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
|
"vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
|
||||||
},
|
},
|
||||||
"grafana": {
|
"grafana": {
|
||||||
"hash": "sha256-5V0TW80GQKa2JHrSf9SlsCrT9jTTQK+SMRa/OCIrthE=",
|
"hash": "sha256-J5Fn3JGp7jXAA04RJ3FFKqLpB4hekd0yFA8zkfPPQ+4=",
|
||||||
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
|
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
|
||||||
"owner": "grafana",
|
"owner": "grafana",
|
||||||
"repo": "terraform-provider-grafana",
|
"repo": "terraform-provider-grafana",
|
||||||
"rev": "v1.41.0",
|
"rev": "v1.42.0",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-CRqUSPXap8lXRa/yIDnG11F/D+IdylY3JzkV6bXmzwY="
|
"vendorHash": "sha256-8FgjFIgEx3pA6vKo7m9e6gASrpp5cPtN7A2US2GASy8="
|
||||||
},
|
},
|
||||||
"gridscale": {
|
"gridscale": {
|
||||||
"hash": "sha256-OzOI//WXMHzHSbsqLSAfVpt756SbF3Uv0r/7MsVMjzY=",
|
"hash": "sha256-OzOI//WXMHzHSbsqLSAfVpt756SbF3Uv0r/7MsVMjzY=",
|
||||||
@@ -1234,11 +1234,11 @@
|
|||||||
"vendorHash": null
|
"vendorHash": null
|
||||||
},
|
},
|
||||||
"vsphere": {
|
"vsphere": {
|
||||||
"hash": "sha256-XVMTKYb9RuK5sErVHsP0j5otUEioxp6C7GV7/J6OYVA=",
|
"hash": "sha256-lWMtsBRAirNI7dNXI7APzS1AbPmkz5fsbpCdd/0XBRc=",
|
||||||
"homepage": "https://registry.terraform.io/providers/hashicorp/vsphere",
|
"homepage": "https://registry.terraform.io/providers/hashicorp/vsphere",
|
||||||
"owner": "hashicorp",
|
"owner": "hashicorp",
|
||||||
"repo": "terraform-provider-vsphere",
|
"repo": "terraform-provider-vsphere",
|
||||||
"rev": "v2.4.0",
|
"rev": "v2.4.1",
|
||||||
"spdx": "MPL-2.0",
|
"spdx": "MPL-2.0",
|
||||||
"vendorHash": "sha256-wKKrBSJkbdqqnDLoS+jhvI26rOzvMWjjsN8wh67Le5U="
|
"vendorHash": "sha256-wKKrBSJkbdqqnDLoS+jhvI26rOzvMWjjsN8wh67Le5U="
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
let
|
let
|
||||||
versions = if stdenv.isLinux then {
|
versions = if stdenv.isLinux then {
|
||||||
stable = "0.0.27";
|
stable = "0.0.27";
|
||||||
ptb = "0.0.42";
|
ptb = "0.0.43";
|
||||||
canary = "0.0.161";
|
canary = "0.0.161";
|
||||||
development = "0.0.216";
|
development = "0.0.217";
|
||||||
} else {
|
} else {
|
||||||
stable = "0.0.273";
|
stable = "0.0.273";
|
||||||
ptb = "0.0.59";
|
ptb = "0.0.59";
|
||||||
@@ -20,7 +20,7 @@ let
|
|||||||
};
|
};
|
||||||
ptb = fetchurl {
|
ptb = fetchurl {
|
||||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||||
sha256 = "ZAMyAqyFEBJeTUqQzr5wK+BOFGURqhoHL8w2hJvL0vI=";
|
sha256 = "tG+QR62JcBYrvJS6KU6oAWSfQFdl68AMcU8E9Zahy2A=";
|
||||||
};
|
};
|
||||||
canary = fetchurl {
|
canary = fetchurl {
|
||||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||||
@@ -28,7 +28,7 @@ let
|
|||||||
};
|
};
|
||||||
development = fetchurl {
|
development = fetchurl {
|
||||||
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||||
sha256 = "sha256-lQnIQC7Wek7OYDzZvLIJfb8I4oATD8pSB+mjQMPyqYQ=";
|
sha256 = "sha256-fzNFKrYo5qckrWZAkkiK337czCt6nOM1O8FeG18Q8Y0=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
x86_64-darwin = {
|
x86_64-darwin = {
|
||||||
|
|||||||
@@ -15,18 +15,17 @@
|
|||||||
, enableRST ? true, docutils
|
, enableRST ? true, docutils
|
||||||
, enableSpelling ? true, gspell
|
, enableSpelling ? true, gspell
|
||||||
, enableUPnP ? true, gupnp-igd
|
, enableUPnP ? true, gupnp-igd
|
||||||
, enableOmemoPluginDependencies ? true
|
|
||||||
, enableAppIndicator ? true, libappindicator-gtk3
|
, enableAppIndicator ? true, libappindicator-gtk3
|
||||||
, extraPythonPackages ? ps: []
|
, extraPythonPackages ? ps: []
|
||||||
}:
|
}:
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "gajim";
|
pname = "gajim";
|
||||||
version = "1.7.3";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
|
url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
|
||||||
hash = "sha256-t8yzWfdsY8pXye7Dn5hME0bOHgf+MzuyVY3hweXc0xg=";
|
hash = "sha256-EgH8mt0am2l9z4csGHH6rpLqTzFiBRzOPB4NCEP8TUM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
@@ -53,9 +52,9 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools packaging gssapi
|
nbxmpp pygobject3 dbus-python pillow css-parser precis-i18n keyring setuptools packaging gssapi
|
||||||
|
omemo-dr qrcode
|
||||||
] ++ lib.optionals enableE2E [ pycrypto python-gnupg ]
|
] ++ lib.optionals enableE2E [ pycrypto python-gnupg ]
|
||||||
++ lib.optional enableRST docutils
|
++ lib.optional enableRST docutils
|
||||||
++ lib.optionals enableOmemoPluginDependencies [ python-axolotl qrcode ]
|
|
||||||
++ extraPythonPackages python3.pkgs;
|
++ extraPythonPackages python3.pkgs;
|
||||||
|
|
||||||
nativeCheckInputs = [ xvfb-run dbus ];
|
nativeCheckInputs = [ xvfb-run dbus ];
|
||||||
@@ -75,7 +74,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
${python3.interpreter} -m unittest discover -s test/common -v
|
${python3.interpreter} -m unittest discover -s test/common -v
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# test are broken in 1.7.3
|
# test are broken in 1.7.3, 1.8.0
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
# necessary for wrapGAppsHook
|
# necessary for wrapGAppsHook
|
||||||
|
|||||||
@@ -102,6 +102,10 @@ let
|
|||||||
mv share/teams $out/opt/
|
mv share/teams $out/opt/
|
||||||
mv share $out/share
|
mv share $out/share
|
||||||
|
|
||||||
|
mkdir -p $out/share/icons/hicolor/512x512/apps
|
||||||
|
mv $out/share/pixmaps/teams.png $out/share/icons/hicolor/512x512/apps
|
||||||
|
rmdir $out/share/pixmaps
|
||||||
|
|
||||||
substituteInPlace $out/share/applications/teams.desktop \
|
substituteInPlace $out/share/applications/teams.desktop \
|
||||||
--replace /usr/bin/ ""
|
--replace /usr/bin/ ""
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, gettext
|
||||||
|
, gtk3
|
||||||
|
, python3Packages
|
||||||
|
, gdk-pixbuf
|
||||||
|
, libnotify
|
||||||
|
, glib
|
||||||
|
, gobject-introspection
|
||||||
|
, wrapGAppsHook
|
||||||
|
# BTW libappindicator is also supported, but upstream recommends their
|
||||||
|
# implementation, see:
|
||||||
|
# https://github.com/AyatanaIndicators/ayatana-webmail/issues/24#issuecomment-1050352862
|
||||||
|
, libayatana-appindicator
|
||||||
|
, gsettings-desktop-schemas
|
||||||
|
, libcanberra-gtk3
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "ayatana-webmail";
|
||||||
|
version = "22.12.15";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "AyatanaIndicators";
|
||||||
|
repo = "ayatana-webmail";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-K2jqCWrY1i1wYdZVpjN/3TcVyWariOQQ4slZf6sEPRU=";
|
||||||
|
};
|
||||||
|
postConfigure = ''
|
||||||
|
# Fix fhs paths
|
||||||
|
substituteInPlace \
|
||||||
|
ayatanawebmail/accounts.py \
|
||||||
|
ayatanawebmail/actions.py \
|
||||||
|
ayatanawebmail/dialog.py \
|
||||||
|
--replace /usr/share $out/share
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
gtk3
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
libnotify
|
||||||
|
gettext
|
||||||
|
libayatana-appindicator
|
||||||
|
gsettings-desktop-schemas
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
gobject-introspection
|
||||||
|
wrapGAppsHook
|
||||||
|
glib # For compiling gsettings-schemas
|
||||||
|
];
|
||||||
|
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
urllib3
|
||||||
|
babel
|
||||||
|
psutil
|
||||||
|
secretstorage
|
||||||
|
polib
|
||||||
|
pygobject3
|
||||||
|
dbus-python
|
||||||
|
];
|
||||||
|
|
||||||
|
# No tests, and they cause a failure
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
# Fix fhs paths
|
||||||
|
mv $out/${python3Packages.python.sitePackages}/etc $out
|
||||||
|
mv $out/${python3Packages.python.sitePackages}/usr/{bin,share} $out/
|
||||||
|
rmdir $out/${python3Packages.python.sitePackages}/usr
|
||||||
|
# Compile gsettings desktop schemas
|
||||||
|
glib-compile-schemas $out/share/glib-2.0/schemas
|
||||||
|
'';
|
||||||
|
|
||||||
|
# See https://nixos.org/nixpkgs/manual/#ssec-gnome-common-issues-double-wrapped
|
||||||
|
dontWrapGApps = true;
|
||||||
|
preFixup = ''
|
||||||
|
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||||
|
makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ libcanberra-gtk3 ]})
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Webmail notifications and actions for any desktop";
|
||||||
|
homepage = "https://github.com/AyatanaIndicators/ayatana-webmail";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ doronbehar ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "electron-mail";
|
pname = "electron-mail";
|
||||||
version = "5.1.6";
|
version = "5.1.8";
|
||||||
name = "ElectronMail-${version}";
|
name = "ElectronMail-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
|
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
|
||||||
sha256 = "sha256-lsXVsx7U43czWFWxAgwTUYTnUXSL4KPFnXLzUklieAo=";
|
sha256 = "sha256-btqlxFrQUyb728i99IE65A9jwEFNvJ5b6zji0kwwATU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extract { inherit name src; };
|
appimageContents = appimageTools.extract { inherit name src; };
|
||||||
|
|||||||
@@ -26,12 +26,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gnucash";
|
pname = "gnucash";
|
||||||
version = "5.2";
|
version = "5.3";
|
||||||
|
|
||||||
# raw source code doesn't work out of box; fetchFromGitHub not usable
|
# raw source code doesn't work out of box; fetchFromGitHub not usable
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}.tar.bz2";
|
url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}.tar.bz2";
|
||||||
hash = "sha256-SCYXa35wu4ifmcIG+v+t2JJijXhSVxXp9xKOz0ixRoA=";
|
hash = "sha256-FFjLCMWF6unXJL7G8oErzAO76D7SlKRqeJeqqwGm8Vo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "PortfolioPerformance";
|
pname = "PortfolioPerformance";
|
||||||
version = "0.64.0";
|
version = "0.64.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
|
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
|
||||||
hash = "sha256-8LebPYIML3YV8DsoLPQiH4Q6ETBTgZ7IpeGJDN2R7ro=";
|
hash = "sha256-R3Cj24dZ2wD1c29zRLGnuJm3wfc9+n/sNNW316HT9N4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -77,14 +77,13 @@ stdenv.mkDerivation rec {
|
|||||||
postPatch = lib.optionalString (!stable) ''
|
postPatch = lib.optionalString (!stable) ''
|
||||||
substituteInPlace cmake/KiCadVersion.cmake \
|
substituteInPlace cmake/KiCadVersion.cmake \
|
||||||
--replace "unknown" "${builtins.substring 0 10 src.rev}"
|
--replace "unknown" "${builtins.substring 0 10 src.rev}"
|
||||||
|
|
||||||
|
substituteInPlace cmake/CreateGitVersionHeader.cmake \
|
||||||
|
--replace "0000000000000000000000000000000000000000" "${src.rev}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
|
makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
|
||||||
|
|
||||||
# some ngspice tests attempt to write to $HOME/.cache/
|
|
||||||
XDG_CACHE_HOME = "$TMP";
|
|
||||||
# failing tests still attempt to create $HOME though
|
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DKICAD_USE_EGL=ON"
|
"-DKICAD_USE_EGL=ON"
|
||||||
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
|
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
|
||||||
@@ -165,10 +164,24 @@ stdenv.mkDerivation rec {
|
|||||||
++ optional (withNgspice) libngspice
|
++ optional (withNgspice) libngspice
|
||||||
++ optional (debug) valgrind;
|
++ optional (debug) valgrind;
|
||||||
|
|
||||||
|
# some ngspice tests attempt to write to $HOME/.cache/
|
||||||
|
# this could be and was resolved with XDG_CACHE_HOME = "$TMP";
|
||||||
|
# but failing tests still attempt to create $HOME
|
||||||
|
# and the newer CLI tests seem to also use $HOME...
|
||||||
|
HOME = "$TMP";
|
||||||
|
|
||||||
# debug builds fail all but the python test
|
# debug builds fail all but the python test
|
||||||
doInstallCheck = !(debug);
|
doInstallCheck = !(debug);
|
||||||
installCheckTarget = "test";
|
installCheckTarget = "test";
|
||||||
|
|
||||||
|
pythonForTests = python.withPackages(ps: with ps; [
|
||||||
|
numpy
|
||||||
|
pytest
|
||||||
|
cairosvg
|
||||||
|
pytest-image-diff
|
||||||
|
]);
|
||||||
|
nativeInstallCheckInputs = optional (!stable) pythonForTests;
|
||||||
|
|
||||||
dontStrip = debug;
|
dontStrip = debug;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@@ -25,23 +25,23 @@
|
|||||||
};
|
};
|
||||||
"kicad-unstable" = {
|
"kicad-unstable" = {
|
||||||
kicadVersion = {
|
kicadVersion = {
|
||||||
version = "2023-04-14";
|
version = "2023-06-24";
|
||||||
src = {
|
src = {
|
||||||
rev = "4a3f77cd9dac9dc5921eb9beaa63d0d3c9c051e5";
|
rev = "1c1849ec1a6614247abe4c623c086def2b3192e0";
|
||||||
sha256 = "06dsiyvr7zn3cp13w0y63d1qmjlhzsqlvajkximg3pw5mmiljxrr";
|
sha256 = "0faf4fw7nrfwdrl4pjqdyfzqbvb9jd4nk4aq83v1w358yqyk7zg9";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
libVersion = {
|
libVersion = {
|
||||||
version = "2023-04-14";
|
version = "2023-06-24";
|
||||||
libSources = {
|
libSources = {
|
||||||
symbols.rev = "38d4e7e1ab6a9b5d9eee85f687e60467753b2135";
|
symbols.rev = "43456780d309682f6da4a6f14710355b06fc4c5d";
|
||||||
symbols.sha256 = "0df6fx9b19v6sxrfyggbisw72y66kiwqi05k8mldsgiw6q55gbkc";
|
symbols.sha256 = "1ql2w3q3dv13ascw8s0hzwda486763qma7i2m877jw3p78gjhldr";
|
||||||
templates.rev = "867eef383a0f61015cb69677d5c632d78a2ea01a";
|
templates.rev = "867eef383a0f61015cb69677d5c632d78a2ea01a";
|
||||||
templates.sha256 = "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq";
|
templates.sha256 = "1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq";
|
||||||
footprints.rev = "4da055a2d572ff87e7ecea97cf358ed8c1d46dfc";
|
footprints.rev = "6a59a2d3940dbab7b3e8254a5b9bf06cc5330301";
|
||||||
footprints.sha256 = "1xb84284dmcb7mbvzlrxb4v4km3ih7gq856h8cglf9jn8wzlnvrk";
|
footprints.sha256 = "0jlz0ln9vzj1av1fmw8ma8kfqlb8w0r9vrfng19bkc3cgh9lvh9x";
|
||||||
packages3d.rev = "0f43a0962437feb53bd2083e9f39efffb5a5dd90";
|
packages3d.rev = "8a2c5c4c85457832f3320902456d066d29561806";
|
||||||
packages3d.sha256 = "1nkk4325jh89vh52ykfnf9pz1k3jk5017gz6r2cia2v4b3jadi31";
|
packages3d.sha256 = "0dmssyhqd94d9wj8w7g7xjan560b2rwcs540sgl0rc77cw2jify8";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -45,30 +45,24 @@ let
|
|||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "klee";
|
pname = "klee";
|
||||||
version = "2.3";
|
version = "3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "klee";
|
owner = "klee";
|
||||||
repo = "klee";
|
repo = "klee";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-E1c6K6Q+LAWm342W8I00JI6+LMvqmULHZLkv9Kj5RmY=";
|
hash = "sha256-y5lWmtIcLAthQ0oHYQNd+ir75YaxHZR9Jgiz+ZUFQjY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
cryptominisat
|
cryptominisat
|
||||||
gperftools
|
gperftools
|
||||||
lit # Configure phase checking for lit
|
|
||||||
llvm
|
llvm
|
||||||
sqlite
|
sqlite
|
||||||
stp
|
stp
|
||||||
z3
|
z3
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
clang
|
|
||||||
cmake
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
gtest
|
gtest
|
||||||
|
|
||||||
@@ -83,8 +77,9 @@ in stdenv.mkDerivation rec {
|
|||||||
in [
|
in [
|
||||||
"-DCMAKE_BUILD_TYPE=${if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel"}"
|
"-DCMAKE_BUILD_TYPE=${if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel"}"
|
||||||
"-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}"
|
"-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}"
|
||||||
|
"-DLLVMCC=${clang}/bin/clang"
|
||||||
|
"-DLLVMCXX=${clang}/bin/clang++"
|
||||||
"-DKLEE_ENABLE_TIMESTAMP=${onOff false}"
|
"-DKLEE_ENABLE_TIMESTAMP=${onOff false}"
|
||||||
"-DENABLE_KLEE_UCLIBC=${onOff true}"
|
|
||||||
"-DKLEE_UCLIBC_PATH=${kleeuClibc}"
|
"-DKLEE_UCLIBC_PATH=${kleeuClibc}"
|
||||||
"-DENABLE_KLEE_ASSERTS=${onOff asserts}"
|
"-DENABLE_KLEE_ASSERTS=${onOff asserts}"
|
||||||
"-DENABLE_POSIX_RUNTIME=${onOff true}"
|
"-DENABLE_POSIX_RUNTIME=${onOff true}"
|
||||||
|
|||||||
@@ -12,13 +12,13 @@
|
|||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "git-machete";
|
pname = "git-machete";
|
||||||
version = "3.17.4";
|
version = "3.17.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "virtuslab";
|
owner = "virtuslab";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-g3SEUVcyr6+nt0zMHB1F4drCwmQvPYQErOwSl9I+1Tg=";
|
hash = "sha256-o3Z1xPu5RcspU4m3Bb6ydZkXOMgOMJPN/+TLekwe/wI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"version": "16.0.5",
|
"version": "16.1.0",
|
||||||
"repo_hash": "sha256-hUEPJMdmR+p7nHWjdS+9SXcgm0LciPC9at+GP9UcUvI=",
|
"repo_hash": "sha256-sRel6okv2NYV4As3+AudqVvJ1/eLQGJGFvs+BA14wis=",
|
||||||
"yarn_hash": "0yy04jnfvn5dgciqd105xiwg7chjwp3w6iqbjpylak9h82ci6wlh",
|
"yarn_hash": "1cqyf06810ls94nkys0l4p86ni902q32aqjp66m7j1x6ldh248al",
|
||||||
"owner": "gitlab-org",
|
"owner": "gitlab-org",
|
||||||
"repo": "gitlab",
|
"repo": "gitlab",
|
||||||
"rev": "v16.0.5-ee",
|
"rev": "v16.1.0-ee",
|
||||||
"passthru": {
|
"passthru": {
|
||||||
"GITALY_SERVER_VERSION": "16.0.5",
|
"GITALY_SERVER_VERSION": "16.1.0",
|
||||||
"GITLAB_PAGES_VERSION": "16.0.5",
|
"GITLAB_PAGES_VERSION": "16.1.0",
|
||||||
"GITLAB_SHELL_VERSION": "14.20.0",
|
"GITLAB_SHELL_VERSION": "14.23.0",
|
||||||
"GITLAB_WORKHORSE_VERSION": "16.0.5"
|
"GITLAB_WORKHORSE_VERSION": "16.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "16.0.5";
|
version = "16.1.0";
|
||||||
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}";
|
||||||
|
|
||||||
@@ -24,10 +24,10 @@ let
|
|||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitaly";
|
repo = "gitaly";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-YhqKMFDjjL2I82m51GdKNVO8vdJPppDKZDBQGskpyA4=";
|
sha256 = "sha256-+Fnj9fgQQtyGMWOL5NkNON/N9p6POjAtpF2O06iKh90=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-KBhTI70eReZGSd7RxwGXcUGa0wDo7q5tU9fUhrLeFO0=";
|
vendorSha256 = "sha256-6oOFQGPwiMRQrESXsQsGzvWz9bCb0VTYIyyG/C2b3nA=";
|
||||||
|
|
||||||
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,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-pages";
|
pname = "gitlab-pages";
|
||||||
version = "16.0.5";
|
version = "16.1.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-pages";
|
repo = "gitlab-pages";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-bZwq8nG3QmPCgfuBUQW6LQdi7F1+n2JfzfU3oP+QCJw=";
|
sha256 = "sha256-vAprB+pDwpr2Wq4aM0wnHlNzUvc1ajasdORwT0LDTTY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-s3HHoz9URACuVVhePQQFviTqlQU7vCLOjTJPBlus1Vo=";
|
vendorHash = "sha256-SN4r9hcTTQUr3miv2Cm7iBryyh7yG1xx9lCvq3vQwc0=";
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|||||||
@@ -2,19 +2,19 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "gitlab-shell";
|
pname = "gitlab-shell";
|
||||||
version = "14.20.0";
|
version = "14.23.0";
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = "gitlab-org";
|
owner = "gitlab-org";
|
||||||
repo = "gitlab-shell";
|
repo = "gitlab-shell";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-5rjrBt0AihSHMYOD6JbXGvvFaUbtYnMHX2Z4K+Svno0=";
|
sha256 = "sha256-nQJq9aPC5YtTbyiwtzKwDG95PnBr6XdNpSIJkfgvnzU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ ruby libkrb5 ];
|
buildInputs = [ ruby libkrb5 ];
|
||||||
|
|
||||||
patches = [ ./remove-hardcoded-locations.patch ];
|
patches = [ ./remove-hardcoded-locations.patch ];
|
||||||
|
|
||||||
vendorSha256 = "sha256-kKbTbOCuAGIbnFXTOZyoVRM5PIackbmND6PrryVvLTM=";
|
vendorSha256 = "sha256-JEWgOuWvtuaipF8fFTsFbB+sYfaHEYUl9Z8Q1XAuJuE=";
|
||||||
|
|
||||||
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.0.5";
|
version = "16.1.0";
|
||||||
|
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
owner = data.owner;
|
owner = data.owner;
|
||||||
@@ -16,7 +16,7 @@ buildGoModule rec {
|
|||||||
|
|
||||||
sourceRoot = "source/workhorse";
|
sourceRoot = "source/workhorse";
|
||||||
|
|
||||||
vendorSha256 = "sha256-B9YZkqAMYvTnnWx2tYEF0VZ/+9LZaWS5euQ9ZX2m49E=";
|
vendorSha256 = "sha256-lKl/V2fti0eqrEoeJNNwvJbZO7z7v+5HlES+dyxxcP4=";
|
||||||
buildInputs = [ git ];
|
buildInputs = [ git ];
|
||||||
ldflags = [ "-X main.Version=${version}" ];
|
ldflags = [ "-X main.Version=${version}" ];
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ index d096174fca3a..02d0f689c523 100644
|
|||||||
# Important: keep the satellites.path setting until GitLab 9.0 at
|
# Important: keep the satellites.path setting until GitLab 9.0 at
|
||||||
# least. This setting is fed to 'rm -rf' in
|
# least. This setting is fed to 'rm -rf' in
|
||||||
diff --git a/config/puma.rb.example b/config/puma.rb.example
|
diff --git a/config/puma.rb.example b/config/puma.rb.example
|
||||||
index 9fc354a8fe8..2352ca9b58c 100644
|
index 07a6f6a25015..14a718a43202 100644
|
||||||
--- a/config/puma.rb.example
|
--- a/config/puma.rb.example
|
||||||
+++ b/config/puma.rb.example
|
+++ b/config/puma.rb.example
|
||||||
@@ -5,12 +5,8 @@
|
@@ -5,12 +5,8 @@
|
||||||
@@ -71,7 +71,7 @@ index 9fc354a8fe8..2352ca9b58c 100644
|
|||||||
|
|
||||||
# Configure "min" to be the minimum number of threads to use to answer
|
# Configure "min" to be the minimum number of threads to use to answer
|
||||||
# requests and "max" the maximum.
|
# requests and "max" the maximum.
|
||||||
@@ -31,12 +27,12 @@ queue_requests false
|
@@ -31,11 +27,11 @@ queue_requests false
|
||||||
|
|
||||||
# Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only
|
# Bind the server to "url". "tcp://", "unix://" and "ssl://" are the only
|
||||||
# accepted protocols.
|
# accepted protocols.
|
||||||
@@ -81,14 +81,12 @@ index 9fc354a8fe8..2352ca9b58c 100644
|
|||||||
workers 3
|
workers 3
|
||||||
|
|
||||||
-require_relative "/home/git/gitlab/lib/gitlab/cluster/lifecycle_events"
|
-require_relative "/home/git/gitlab/lib/gitlab/cluster/lifecycle_events"
|
||||||
-require_relative "/home/git/gitlab/lib/gitlab/cluster/puma_worker_killer_initializer"
|
|
||||||
+require_relative ENV['GITLAB_PATH'] + "lib/gitlab/cluster/lifecycle_events"
|
+require_relative ENV['GITLAB_PATH'] + "lib/gitlab/cluster/lifecycle_events"
|
||||||
+require_relative ENV['GITLAB_PATH'] + "lib/gitlab/cluster/puma_worker_killer_initializer"
|
|
||||||
|
|
||||||
on_restart do
|
on_restart do
|
||||||
# Signal application hooks that we're about to restart
|
# Signal application hooks that we're about to restart
|
||||||
@@ -80,7 +76,7 @@ if defined?(nakayoshi_fork)
|
@@ -74,7 +70,7 @@ worker_timeout 60
|
||||||
end
|
wait_for_less_busy_worker ENV.fetch('PUMA_WAIT_FOR_LESS_BUSY_WORKER', 0.001).to_f
|
||||||
|
|
||||||
# Use json formatter
|
# Use json formatter
|
||||||
-require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter"
|
-require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ gem 'responders', '~> 3.0'
|
|||||||
|
|
||||||
gem 'sprockets', '~> 3.7.0'
|
gem 'sprockets', '~> 3.7.0'
|
||||||
|
|
||||||
gem 'view_component', '~> 2.82.0'
|
gem 'view_component', '~> 3.2.0'
|
||||||
|
|
||||||
# Supported DBs
|
# Supported DBs
|
||||||
gem 'pg', '~> 1.5.3'
|
gem 'pg', '~> 1.5.3'
|
||||||
@@ -46,9 +46,9 @@ gem 'devise', '~> 4.8.1'
|
|||||||
gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable'
|
gem 'devise-pbkdf2-encryptable', '~> 0.0.0', path: 'vendor/gems/devise-pbkdf2-encryptable'
|
||||||
gem 'bcrypt', '~> 3.1', '>= 3.1.14'
|
gem 'bcrypt', '~> 3.1', '>= 3.1.14'
|
||||||
gem 'doorkeeper', '~> 5.6', '>= 5.6.6'
|
gem 'doorkeeper', '~> 5.6', '>= 5.6.6'
|
||||||
gem 'doorkeeper-openid_connect', '~> 1.8', '>= 1.8.6'
|
gem 'doorkeeper-openid_connect', '~> 1.8', '>= 1.8.7'
|
||||||
gem 'rexml', '~> 3.2.5'
|
gem 'rexml', '~> 3.2.5'
|
||||||
gem 'ruby-saml', '~> 1.13.0'
|
gem 'ruby-saml', '~> 1.15.0'
|
||||||
gem 'omniauth', '~> 2.1.0'
|
gem 'omniauth', '~> 2.1.0'
|
||||||
gem 'omniauth-auth0', '~> 3.1'
|
gem 'omniauth-auth0', '~> 3.1'
|
||||||
gem 'omniauth-azure-activedirectory-v2', '~> 2.0'
|
gem 'omniauth-azure-activedirectory-v2', '~> 2.0'
|
||||||
@@ -61,6 +61,7 @@ gem 'omniauth-gitlab', '~> 4.0.0', path: 'vendor/gems/omniauth-gitlab' # See ven
|
|||||||
gem 'omniauth-google-oauth2', '~> 1.1'
|
gem 'omniauth-google-oauth2', '~> 1.1'
|
||||||
gem 'omniauth-oauth2-generic', '~> 0.2.2'
|
gem 'omniauth-oauth2-generic', '~> 0.2.2'
|
||||||
gem 'omniauth-saml', '~> 2.1.0'
|
gem 'omniauth-saml', '~> 2.1.0'
|
||||||
|
gem 'omniauth-shibboleth-redux', '~> 2.0'
|
||||||
gem 'omniauth-twitter', '~> 1.4'
|
gem 'omniauth-twitter', '~> 1.4'
|
||||||
gem 'omniauth_crowd', '~> 2.4.0', path: 'vendor/gems/omniauth_crowd' # See vendor/gems/omniauth_crowd/README.md
|
gem 'omniauth_crowd', '~> 2.4.0', path: 'vendor/gems/omniauth_crowd' # See vendor/gems/omniauth_crowd/README.md
|
||||||
gem 'omniauth_openid_connect', '~> 0.6.1'
|
gem 'omniauth_openid_connect', '~> 0.6.1'
|
||||||
@@ -105,13 +106,13 @@ gem 'gpgme', '~> 2.0.22'
|
|||||||
# GitLab fork with several improvements to original library. For full list of changes
|
# GitLab fork with several improvements to original library. For full list of changes
|
||||||
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
|
# see https://github.com/intridea/omniauth-ldap/compare/master...gitlabhq:master
|
||||||
gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap'
|
gem 'gitlab_omniauth-ldap', '~> 2.2.0', require: 'omniauth-ldap'
|
||||||
gem 'net-ldap', '~> 0.17.1'
|
gem 'net-ldap', '~> 0.18.0'
|
||||||
|
|
||||||
# API
|
# API
|
||||||
gem 'grape', '~> 1.5.2'
|
gem 'grape', '~> 1.7.0'
|
||||||
gem 'grape-entity', '~> 0.10.0'
|
gem 'grape-entity', '~> 0.10.0'
|
||||||
gem 'rack-cors', '~> 1.1.1', require: 'rack/cors'
|
gem 'rack-cors', '~> 1.1.1', require: 'rack/cors'
|
||||||
gem 'grape-swagger', '~>1.5.0', group: [:development, :test]
|
gem 'grape-swagger', '~> 1.6.1', group: [:development, :test]
|
||||||
gem 'grape-swagger-entity', '~> 0.5.1', group: [:development, :test]
|
gem 'grape-swagger-entity', '~> 0.5.1', group: [:development, :test]
|
||||||
|
|
||||||
# GraphQL API
|
# GraphQL API
|
||||||
@@ -172,9 +173,9 @@ gem 'seed-fu', '~> 2.3.7'
|
|||||||
gem 'elasticsearch-model', '~> 7.2'
|
gem 'elasticsearch-model', '~> 7.2'
|
||||||
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation'
|
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation'
|
||||||
gem 'elasticsearch-api', '7.13.3'
|
gem 'elasticsearch-api', '7.13.3'
|
||||||
gem 'aws-sdk-core', '~> 3.172.0'
|
gem 'aws-sdk-core', '~> 3.175.0'
|
||||||
gem 'aws-sdk-cloudformation', '~> 1'
|
gem 'aws-sdk-cloudformation', '~> 1'
|
||||||
gem 'aws-sdk-s3', '~> 1.122.0'
|
gem 'aws-sdk-s3', '~> 1.126.0'
|
||||||
gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
|
gem 'faraday_middleware-aws-sigv4', '~>0.3.0'
|
||||||
gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections
|
gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive connections
|
||||||
|
|
||||||
@@ -182,7 +183,7 @@ gem 'typhoeus', '~> 1.4.0' # Used with Elasticsearch to support http keep-alive
|
|||||||
gem 'html-pipeline', '~> 2.14.3'
|
gem 'html-pipeline', '~> 2.14.3'
|
||||||
gem 'deckar01-task_list', '2.3.2'
|
gem 'deckar01-task_list', '2.3.2'
|
||||||
gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup'
|
gem 'gitlab-markup', '~> 1.9.0', require: 'github/markup'
|
||||||
gem 'commonmarker', '~> 0.23.6'
|
gem 'commonmarker', '~> 0.23.9'
|
||||||
gem 'kramdown', '~> 2.3.1'
|
gem 'kramdown', '~> 2.3.1'
|
||||||
gem 'RedCloth', '~> 4.3.2'
|
gem 'RedCloth', '~> 4.3.2'
|
||||||
gem 'rdoc', '~> 6.3.2'
|
gem 'rdoc', '~> 6.3.2'
|
||||||
@@ -193,9 +194,9 @@ gem 'asciidoctor', '~> 2.0.18'
|
|||||||
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
|
gem 'asciidoctor-include-ext', '~> 0.4.0', require: false
|
||||||
gem 'asciidoctor-plantuml', '~> 0.0.16'
|
gem 'asciidoctor-plantuml', '~> 0.0.16'
|
||||||
gem 'asciidoctor-kroki', '~> 0.8.0', require: false
|
gem 'asciidoctor-kroki', '~> 0.8.0', require: false
|
||||||
gem 'rouge', '~> 4.1.0'
|
gem 'rouge', '~> 4.1.2'
|
||||||
gem 'truncato', '~> 0.7.12'
|
gem 'truncato', '~> 0.7.12'
|
||||||
gem 'nokogiri', '~> 1.14.3'
|
gem 'nokogiri', '~> 1.15', '>= 1.15.2'
|
||||||
|
|
||||||
# Calendar rendering
|
# Calendar rendering
|
||||||
gem 'icalendar'
|
gem 'icalendar'
|
||||||
@@ -210,8 +211,7 @@ gem 'rack', '~> 2.2.7'
|
|||||||
gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base'
|
gem 'rack-timeout', '~> 0.6.3', require: 'rack/timeout/base'
|
||||||
|
|
||||||
group :puma do
|
group :puma do
|
||||||
gem 'puma', '~> 5.6.5', require: false
|
gem 'puma', '~> 6.3', require: false
|
||||||
gem 'puma_worker_killer', '~> 0.3.1', require: false
|
|
||||||
gem 'sd_notify', '~> 0.1.0', require: false
|
gem 'sd_notify', '~> 0.1.0', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -288,10 +288,10 @@ gem 'circuitbox', '2.0.0'
|
|||||||
|
|
||||||
# Sanitize user input
|
# Sanitize user input
|
||||||
gem 'sanitize', '~> 6.0'
|
gem 'sanitize', '~> 6.0'
|
||||||
gem 'babosa', '~> 1.0.4'
|
gem 'babosa', '~> 2.0'
|
||||||
|
|
||||||
# Sanitizes SVG input
|
# Sanitizes SVG input
|
||||||
gem 'loofah', '~> 2.21.0'
|
gem 'loofah', '~> 2.21.3'
|
||||||
|
|
||||||
# Working with license
|
# Working with license
|
||||||
# Detects the open source license the repository includes
|
# Detects the open source license the repository includes
|
||||||
@@ -323,7 +323,7 @@ gem 'gon', '~> 6.4.0'
|
|||||||
gem 'request_store', '~> 1.5.1'
|
gem 'request_store', '~> 1.5.1'
|
||||||
gem 'base32', '~> 0.3.0'
|
gem 'base32', '~> 0.3.0'
|
||||||
|
|
||||||
gem 'gitlab-license', '~> 2.2.1'
|
gem 'gitlab-license', '~> 2.3'
|
||||||
|
|
||||||
# Protect against bruteforcing
|
# Protect against bruteforcing
|
||||||
gem 'rack-attack', '~> 6.6.1'
|
gem 'rack-attack', '~> 6.6.1'
|
||||||
@@ -336,11 +336,11 @@ gem 'sentry-sidekiq', '~> 5.8.0'
|
|||||||
|
|
||||||
# PostgreSQL query parsing
|
# PostgreSQL query parsing
|
||||||
#
|
#
|
||||||
gem 'pg_query', '~> 2.2', '>= 2.2.1'
|
gem 'pg_query', '~> 4.2.1'
|
||||||
|
|
||||||
gem 'premailer-rails', '~> 1.10.3'
|
gem 'premailer-rails', '~> 1.10.3'
|
||||||
|
|
||||||
gem 'gitlab-labkit', '~> 0.32.0'
|
gem 'gitlab-labkit', '~> 0.33.0'
|
||||||
gem 'thrift', '>= 0.16.0'
|
gem 'thrift', '>= 0.16.0'
|
||||||
|
|
||||||
# I18n
|
# I18n
|
||||||
@@ -363,12 +363,12 @@ gem 'snowplow-tracker', '~> 0.8.0'
|
|||||||
|
|
||||||
# Metrics
|
# Metrics
|
||||||
gem 'webrick', '~> 1.8.1', require: false
|
gem 'webrick', '~> 1.8.1', require: false
|
||||||
gem 'prometheus-client-mmap', '~> 0.23', require: 'prometheus/client'
|
gem 'prometheus-client-mmap', '~> 0.25', require: 'prometheus/client'
|
||||||
|
|
||||||
gem 'warning', '~> 1.3.0'
|
gem 'warning', '~> 1.3.0'
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem 'lefthook', '~> 1.3.13', require: false
|
gem 'lefthook', '~> 1.4.2', require: false
|
||||||
gem 'rubocop'
|
gem 'rubocop'
|
||||||
gem 'solargraph', '~> 0.47.2', require: false
|
gem 'solargraph', '~> 0.47.2', require: false
|
||||||
|
|
||||||
@@ -376,7 +376,7 @@ group :development do
|
|||||||
gem 'lookbook', '~> 2.0', '>= 2.0.1'
|
gem 'lookbook', '~> 2.0', '>= 2.0.1'
|
||||||
|
|
||||||
# Better errors handler
|
# Better errors handler
|
||||||
gem 'better_errors', '~> 2.10.0'
|
gem 'better_errors', '~> 2.10.1'
|
||||||
|
|
||||||
gem 'sprite-factory', '~> 1.7'
|
gem 'sprite-factory', '~> 1.7'
|
||||||
|
|
||||||
@@ -386,6 +386,7 @@ end
|
|||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'deprecation_toolkit', '~> 1.5.1', require: false
|
gem 'deprecation_toolkit', '~> 1.5.1', require: false
|
||||||
gem 'bullet', '~> 7.0.2'
|
gem 'bullet', '~> 7.0.2'
|
||||||
|
gem 'parser', '~> 3.2', '>= 3.2.2.3'
|
||||||
gem 'pry-byebug'
|
gem 'pry-byebug'
|
||||||
gem 'pry-rails', '~> 0.3.9'
|
gem 'pry-rails', '~> 0.3.9'
|
||||||
gem 'pry-shell', '~> 0.6.1'
|
gem 'pry-shell', '~> 0.6.1'
|
||||||
@@ -453,7 +454,7 @@ group :test do
|
|||||||
gem 'rspec-benchmark', '~> 0.6.0'
|
gem 'rspec-benchmark', '~> 0.6.0'
|
||||||
gem 'rspec-parameterized', '~> 1.0', require: false
|
gem 'rspec-parameterized', '~> 1.0', require: false
|
||||||
|
|
||||||
gem 'capybara', '~> 3.39'
|
gem 'capybara', '~> 3.39', '>= 3.39.1'
|
||||||
gem 'capybara-screenshot', '~> 1.0.26'
|
gem 'capybara-screenshot', '~> 1.0.26'
|
||||||
# 4.9.1 drops Ruby 2.7 support. We can upgrade further after we drop Ruby 2.7 support.
|
# 4.9.1 drops Ruby 2.7 support. We can upgrade further after we drop Ruby 2.7 support.
|
||||||
gem 'selenium-webdriver', '= 4.9.0'
|
gem 'selenium-webdriver', '= 4.9.0'
|
||||||
@@ -472,6 +473,8 @@ group :test do
|
|||||||
|
|
||||||
# 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
|
gem 'derailed_benchmarks', require: false
|
||||||
|
|
||||||
|
gem 'gitlab_quality-test_tooling', '~> 0.8.1', require: false
|
||||||
end
|
end
|
||||||
|
|
||||||
gem 'octokit', '~> 4.15'
|
gem 'octokit', '~> 4.15'
|
||||||
@@ -506,14 +509,14 @@ gem 'ssh_data', '~> 1.3'
|
|||||||
gem 'spamcheck', '~> 1.3.0'
|
gem 'spamcheck', '~> 1.3.0'
|
||||||
|
|
||||||
# Gitaly GRPC protocol definitions
|
# Gitaly GRPC protocol definitions
|
||||||
gem 'gitaly', '~> 15.9.0-rc3'
|
gem 'gitaly', '~> 16.1.0-rc2'
|
||||||
|
|
||||||
# KAS GRPC protocol definitions
|
# KAS GRPC protocol definitions
|
||||||
gem 'kas-grpc', '~> 0.1.0'
|
gem 'kas-grpc', '~> 0.1.0'
|
||||||
|
|
||||||
gem 'grpc', '~> 1.42.0'
|
gem 'grpc', '~> 1.42.0'
|
||||||
|
|
||||||
gem 'google-protobuf', '~> 3.22', '>= 3.22.3'
|
gem 'google-protobuf', '~> 3.23', '>= 3.23.3'
|
||||||
|
|
||||||
gem 'toml-rb', '~> 2.2.0'
|
gem 'toml-rb', '~> 2.2.0'
|
||||||
|
|
||||||
@@ -587,7 +590,7 @@ gem 'cvss-suite', '~> 3.0.1', require: 'cvss_suite'
|
|||||||
gem 'arr-pm', '~> 0.0.12'
|
gem 'arr-pm', '~> 0.0.12'
|
||||||
|
|
||||||
# Remote Development
|
# Remote Development
|
||||||
gem 'devfile', '~> 0.0.17.pre.alpha1'
|
gem 'devfile', '~> 0.0.19.pre.alpha1'
|
||||||
|
|
||||||
# Apple plist parsing
|
# Apple plist parsing
|
||||||
gem 'CFPropertyList', '~> 3.0.0'
|
gem 'CFPropertyList', '~> 3.0.0'
|
||||||
@@ -599,5 +602,8 @@ gem 'telesignenterprise', '~> 2.2'
|
|||||||
# BufferedIO patch
|
# BufferedIO patch
|
||||||
# Updating this version will require updating scripts/allowed_warnings.txt
|
# Updating this version will require updating scripts/allowed_warnings.txt
|
||||||
gem 'net-protocol', '~> 0.1.3'
|
gem 'net-protocol', '~> 0.1.3'
|
||||||
|
# Lock this until we make DNS rebinding work with the updated net-http:
|
||||||
|
# https://gitlab.com/gitlab-org/gitlab/-/issues/413528
|
||||||
|
gem 'net-http', '= 0.1.1'
|
||||||
|
|
||||||
gem 'duo_api', '~> 1.3'
|
gem 'duo_api', '~> 1.3'
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ GEM
|
|||||||
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.172.0)
|
aws-sdk-core (3.175.0)
|
||||||
aws-eventstream (~> 1, >= 1.0.2)
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
aws-partitions (~> 1, >= 1.651.0)
|
aws-partitions (~> 1, >= 1.651.0)
|
||||||
aws-sigv4 (~> 1.5)
|
aws-sigv4 (~> 1.5)
|
||||||
@@ -211,8 +211,8 @@ GEM
|
|||||||
aws-sdk-kms (1.64.0)
|
aws-sdk-kms (1.64.0)
|
||||||
aws-sdk-core (~> 3, >= 3.165.0)
|
aws-sdk-core (~> 3, >= 3.165.0)
|
||||||
aws-sigv4 (~> 1.1)
|
aws-sigv4 (~> 1.1)
|
||||||
aws-sdk-s3 (1.122.0)
|
aws-sdk-s3 (1.126.0)
|
||||||
aws-sdk-core (~> 3, >= 3.165.0)
|
aws-sdk-core (~> 3, >= 3.174.0)
|
||||||
aws-sdk-kms (~> 1)
|
aws-sdk-kms (~> 1)
|
||||||
aws-sigv4 (~> 1.4)
|
aws-sigv4 (~> 1.4)
|
||||||
aws-sigv4 (1.5.1)
|
aws-sigv4 (1.5.1)
|
||||||
@@ -236,7 +236,7 @@ GEM
|
|||||||
faraday_middleware (~> 1.0, >= 1.0.0.rc1)
|
faraday_middleware (~> 1.0, >= 1.0.0.rc1)
|
||||||
net-http-persistent (~> 4.0)
|
net-http-persistent (~> 4.0)
|
||||||
nokogiri (~> 1, >= 1.10.8)
|
nokogiri (~> 1, >= 1.10.8)
|
||||||
babosa (1.0.4)
|
babosa (2.0.0)
|
||||||
backport (1.2.0)
|
backport (1.2.0)
|
||||||
base32 (0.3.2)
|
base32 (0.3.2)
|
||||||
batch-loader (2.0.1)
|
batch-loader (2.0.1)
|
||||||
@@ -248,7 +248,7 @@ GEM
|
|||||||
memory_profiler (~> 1)
|
memory_profiler (~> 1)
|
||||||
benchmark-perf (0.6.0)
|
benchmark-perf (0.6.0)
|
||||||
benchmark-trend (0.4.0)
|
benchmark-trend (0.4.0)
|
||||||
better_errors (2.10.0)
|
better_errors (2.10.1)
|
||||||
erubi (>= 1.0.0)
|
erubi (>= 1.0.0)
|
||||||
rack (>= 0.9.0)
|
rack (>= 0.9.0)
|
||||||
rouge (>= 1.0.0)
|
rouge (>= 1.0.0)
|
||||||
@@ -266,7 +266,7 @@ GEM
|
|||||||
bundler (>= 1.2.0, < 3)
|
bundler (>= 1.2.0, < 3)
|
||||||
thor (>= 0.18, < 2)
|
thor (>= 0.18, < 2)
|
||||||
byebug (11.1.3)
|
byebug (11.1.3)
|
||||||
capybara (3.39.0)
|
capybara (3.39.1)
|
||||||
addressable
|
addressable
|
||||||
matrix
|
matrix
|
||||||
mini_mime (>= 0.1.3)
|
mini_mime (>= 0.1.3)
|
||||||
@@ -307,7 +307,7 @@ GEM
|
|||||||
coercible (1.0.0)
|
coercible (1.0.0)
|
||||||
descendants_tracker (~> 0.0.1)
|
descendants_tracker (~> 0.0.1)
|
||||||
colored2 (3.1.2)
|
colored2 (3.1.2)
|
||||||
commonmarker (0.23.6)
|
commonmarker (0.23.9)
|
||||||
concurrent-ruby (1.2.2)
|
concurrent-ruby (1.2.2)
|
||||||
connection_pool (2.3.0)
|
connection_pool (2.3.0)
|
||||||
cork (0.3.0)
|
cork (0.3.0)
|
||||||
@@ -367,7 +367,7 @@ GEM
|
|||||||
thor (>= 0.19, < 2)
|
thor (>= 0.19, < 2)
|
||||||
descendants_tracker (0.0.4)
|
descendants_tracker (0.0.4)
|
||||||
thread_safe (~> 0.3, >= 0.3.1)
|
thread_safe (~> 0.3, >= 0.3.1)
|
||||||
devfile (0.0.17.pre.alpha1)
|
devfile (0.0.19.pre.alpha1)
|
||||||
device_detector (1.0.0)
|
device_detector (1.0.0)
|
||||||
devise (4.8.1)
|
devise (4.8.1)
|
||||||
bcrypt (~> 3.0)
|
bcrypt (~> 3.0)
|
||||||
@@ -393,30 +393,24 @@ GEM
|
|||||||
unf (>= 0.0.5, < 1.0.0)
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
doorkeeper (5.6.6)
|
doorkeeper (5.6.6)
|
||||||
railties (>= 5)
|
railties (>= 5)
|
||||||
doorkeeper-openid_connect (1.8.6)
|
doorkeeper-openid_connect (1.8.7)
|
||||||
doorkeeper (>= 5.5, < 5.7)
|
doorkeeper (>= 5.5, < 5.7)
|
||||||
jwt (>= 2.5)
|
jwt (>= 2.5)
|
||||||
dotenv (2.7.6)
|
dotenv (2.7.6)
|
||||||
dry-configurable (0.12.0)
|
dry-core (1.0.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
dry-core (~> 0.5, >= 0.5.0)
|
zeitwerk (~> 2.6)
|
||||||
dry-container (0.7.2)
|
dry-inflector (1.0.0)
|
||||||
|
dry-logic (1.5.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
dry-configurable (~> 0.1, >= 0.1.3)
|
dry-core (~> 1.0, < 2)
|
||||||
dry-core (0.5.0)
|
zeitwerk (~> 2.6)
|
||||||
|
dry-types (1.7.1)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
dry-equalizer (0.3.0)
|
dry-core (~> 1.0)
|
||||||
dry-inflector (0.2.0)
|
dry-inflector (~> 1.0)
|
||||||
dry-logic (1.1.0)
|
dry-logic (~> 1.4)
|
||||||
concurrent-ruby (~> 1.0)
|
zeitwerk (~> 2.6)
|
||||||
dry-core (~> 0.5, >= 0.5)
|
|
||||||
dry-types (1.4.0)
|
|
||||||
concurrent-ruby (~> 1.0)
|
|
||||||
dry-container (~> 0.3)
|
|
||||||
dry-core (~> 0.4, >= 0.4.4)
|
|
||||||
dry-equalizer (~> 0.3)
|
|
||||||
dry-inflector (~> 0.1, >= 0.1.2)
|
|
||||||
dry-logic (~> 1.0, >= 1.0.2)
|
|
||||||
dumb_delegator (1.0.0)
|
dumb_delegator (1.0.0)
|
||||||
duo_api (1.3.0)
|
duo_api (1.3.0)
|
||||||
e2mmap (0.1.0)
|
e2mmap (0.1.0)
|
||||||
@@ -581,7 +575,7 @@ GEM
|
|||||||
rails (>= 3.2.0)
|
rails (>= 3.2.0)
|
||||||
git (1.11.0)
|
git (1.11.0)
|
||||||
rchardet (~> 1.8)
|
rchardet (~> 1.8)
|
||||||
gitaly (15.9.0.pre.rc3)
|
gitaly (16.1.0.pre.rc2)
|
||||||
grpc (~> 1.0)
|
grpc (~> 1.0)
|
||||||
gitlab (4.19.0)
|
gitlab (4.19.0)
|
||||||
httparty (~> 0.20)
|
httparty (~> 0.20)
|
||||||
@@ -602,15 +596,15 @@ GEM
|
|||||||
fog-json (~> 1.2.0)
|
fog-json (~> 1.2.0)
|
||||||
mime-types
|
mime-types
|
||||||
ms_rest_azure (~> 0.12.0)
|
ms_rest_azure (~> 0.12.0)
|
||||||
gitlab-labkit (0.32.0)
|
gitlab-labkit (0.33.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 (~> 2.1)
|
pg_query (~> 4.2.1)
|
||||||
redis (> 3.0.0, < 6.0.0)
|
redis (> 3.0.0, < 6.0.0)
|
||||||
gitlab-license (2.2.2)
|
gitlab-license (2.3.0)
|
||||||
gitlab-mail_room (0.0.23)
|
gitlab-mail_room (0.0.23)
|
||||||
jwt (>= 2.0)
|
jwt (>= 2.0)
|
||||||
net-imap (>= 0.2.1)
|
net-imap (>= 0.2.1)
|
||||||
@@ -630,6 +624,15 @@ 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 (0.8.1)
|
||||||
|
activesupport (>= 6.1, < 7.1)
|
||||||
|
gitlab (~> 4.19)
|
||||||
|
http (~> 5.0)
|
||||||
|
nokogiri (~> 1.10)
|
||||||
|
parallel (>= 1, < 2)
|
||||||
|
rainbow (>= 3, < 4)
|
||||||
|
table_print (= 1.5.7)
|
||||||
|
zeitwerk (>= 2, < 3)
|
||||||
globalid (1.1.0)
|
globalid (1.1.0)
|
||||||
activesupport (>= 5.0)
|
activesupport (>= 5.0)
|
||||||
gon (6.4.0)
|
gon (6.4.0)
|
||||||
@@ -691,7 +694,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.22.3)
|
google-protobuf (3.23.3)
|
||||||
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)
|
||||||
@@ -707,7 +710,7 @@ GEM
|
|||||||
signet (>= 0.16, < 2.a)
|
signet (>= 0.16, < 2.a)
|
||||||
gpgme (2.0.22)
|
gpgme (2.0.22)
|
||||||
mini_portile2 (~> 2.7)
|
mini_portile2 (~> 2.7)
|
||||||
grape (1.5.2)
|
grape (1.7.0)
|
||||||
activesupport
|
activesupport
|
||||||
builder
|
builder
|
||||||
dry-types (>= 1.1)
|
dry-types (>= 1.1)
|
||||||
@@ -722,7 +725,7 @@ GEM
|
|||||||
grape (~> 1.3)
|
grape (~> 1.3)
|
||||||
rake (> 12)
|
rake (> 12)
|
||||||
ruby2_keywords (~> 0.0.2)
|
ruby2_keywords (~> 0.0.2)
|
||||||
grape-swagger (1.5.0)
|
grape-swagger (1.6.1)
|
||||||
grape (~> 1.3)
|
grape (~> 1.3)
|
||||||
grape-swagger-entity (0.5.1)
|
grape-swagger-entity (0.5.1)
|
||||||
grape-entity (>= 0.6.0)
|
grape-entity (>= 0.6.0)
|
||||||
@@ -878,7 +881,7 @@ GEM
|
|||||||
rest-client (~> 2.0)
|
rest-client (~> 2.0)
|
||||||
launchy (2.5.0)
|
launchy (2.5.0)
|
||||||
addressable (~> 2.7)
|
addressable (~> 2.7)
|
||||||
lefthook (1.3.13)
|
lefthook (1.4.2)
|
||||||
letter_opener (1.7.0)
|
letter_opener (1.7.0)
|
||||||
launchy (~> 2.2)
|
launchy (~> 2.2)
|
||||||
letter_opener_web (2.0.0)
|
letter_opener_web (2.0.0)
|
||||||
@@ -913,9 +916,9 @@ GEM
|
|||||||
activesupport (>= 4)
|
activesupport (>= 4)
|
||||||
railties (>= 4)
|
railties (>= 4)
|
||||||
request_store (~> 1.0)
|
request_store (~> 1.0)
|
||||||
loofah (2.21.0)
|
loofah (2.21.3)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.12.0)
|
||||||
lookbook (2.0.1)
|
lookbook (2.0.1)
|
||||||
activemodel
|
activemodel
|
||||||
css_parser
|
css_parser
|
||||||
@@ -949,7 +952,7 @@ GEM
|
|||||||
mini_histogram (0.3.1)
|
mini_histogram (0.3.1)
|
||||||
mini_magick (4.10.1)
|
mini_magick (4.10.1)
|
||||||
mini_mime (1.1.2)
|
mini_mime (1.1.2)
|
||||||
mini_portile2 (2.8.1)
|
mini_portile2 (2.8.2)
|
||||||
minitest (5.11.3)
|
minitest (5.11.3)
|
||||||
mixlib-cli (2.1.8)
|
mixlib-cli (2.1.8)
|
||||||
mixlib-config (3.0.9)
|
mixlib-config (3.0.9)
|
||||||
@@ -971,20 +974,23 @@ GEM
|
|||||||
multi_xml (0.6.0)
|
multi_xml (0.6.0)
|
||||||
multipart-post (2.2.3)
|
multipart-post (2.2.3)
|
||||||
murmurhash3 (0.1.7)
|
murmurhash3 (0.1.7)
|
||||||
mustermann (1.1.1)
|
mustermann (3.0.0)
|
||||||
ruby2_keywords (~> 0.0.1)
|
ruby2_keywords (~> 0.0.1)
|
||||||
mustermann-grape (1.0.1)
|
mustermann-grape (1.0.2)
|
||||||
mustermann (>= 1.0.0)
|
mustermann (>= 1.0.0)
|
||||||
nap (1.1.0)
|
nap (1.1.0)
|
||||||
neighbor (0.2.3)
|
neighbor (0.2.3)
|
||||||
activerecord (>= 5.2)
|
activerecord (>= 5.2)
|
||||||
nenv (0.3.0)
|
nenv (0.3.0)
|
||||||
|
net-http (0.1.1)
|
||||||
|
net-protocol
|
||||||
|
uri
|
||||||
net-http-persistent (4.0.1)
|
net-http-persistent (4.0.1)
|
||||||
connection_pool (~> 2.2)
|
connection_pool (~> 2.2)
|
||||||
net-imap (0.3.4)
|
net-imap (0.3.4)
|
||||||
date
|
date
|
||||||
net-protocol
|
net-protocol
|
||||||
net-ldap (0.17.1)
|
net-ldap (0.18.0)
|
||||||
net-ntp (2.1.3)
|
net-ntp (2.1.3)
|
||||||
net-pop (0.1.2)
|
net-pop (0.1.2)
|
||||||
net-protocol
|
net-protocol
|
||||||
@@ -998,8 +1004,8 @@ GEM
|
|||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
nio4r (2.5.8)
|
nio4r (2.5.8)
|
||||||
no_proxy_fix (0.1.2)
|
no_proxy_fix (0.1.2)
|
||||||
nokogiri (1.14.3)
|
nokogiri (1.15.2)
|
||||||
mini_portile2 (~> 2.8.0)
|
mini_portile2 (~> 2.8.2)
|
||||||
racc (~> 1.4)
|
racc (~> 1.4)
|
||||||
notiffany (0.1.3)
|
notiffany (0.1.3)
|
||||||
nenv (~> 0.1)
|
nenv (~> 0.1)
|
||||||
@@ -1070,6 +1076,8 @@ GEM
|
|||||||
omniauth-saml (2.1.0)
|
omniauth-saml (2.1.0)
|
||||||
omniauth (~> 2.0)
|
omniauth (~> 2.0)
|
||||||
ruby-saml (~> 1.12)
|
ruby-saml (~> 1.12)
|
||||||
|
omniauth-shibboleth-redux (2.0.0)
|
||||||
|
omniauth (>= 2.0.0)
|
||||||
omniauth-twitter (1.4.0)
|
omniauth-twitter (1.4.0)
|
||||||
omniauth-oauth (~> 1.1)
|
omniauth-oauth (~> 1.1)
|
||||||
rack
|
rack
|
||||||
@@ -1120,16 +1128,17 @@ GEM
|
|||||||
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.0.0)
|
parser (3.2.2.3)
|
||||||
ast (~> 2.4.1)
|
ast (~> 2.4.1)
|
||||||
|
racc
|
||||||
parslet (1.8.2)
|
parslet (1.8.2)
|
||||||
pastel (0.8.0)
|
pastel (0.8.0)
|
||||||
tty-color (~> 0.5)
|
tty-color (~> 0.5)
|
||||||
peek (1.1.0)
|
peek (1.1.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
pg (1.5.3)
|
pg (1.5.3)
|
||||||
pg_query (2.2.1)
|
pg_query (4.2.1)
|
||||||
google-protobuf (>= 3.19.2)
|
google-protobuf (>= 3.22.3)
|
||||||
plist (3.6.0)
|
plist (3.6.0)
|
||||||
png_quantizator (0.2.1)
|
png_quantizator (0.2.1)
|
||||||
po_to_json (1.0.1)
|
po_to_json (1.0.1)
|
||||||
@@ -1145,7 +1154,7 @@ GEM
|
|||||||
coderay
|
coderay
|
||||||
parser
|
parser
|
||||||
unparser
|
unparser
|
||||||
prometheus-client-mmap (0.23.1)
|
prometheus-client-mmap (0.25.0)
|
||||||
rb_sys (~> 0.9)
|
rb_sys (~> 0.9)
|
||||||
pry (0.14.2)
|
pry (0.14.2)
|
||||||
coderay (~> 1.1)
|
coderay (~> 1.1)
|
||||||
@@ -1160,11 +1169,8 @@ GEM
|
|||||||
tty-markdown
|
tty-markdown
|
||||||
tty-prompt
|
tty-prompt
|
||||||
public_suffix (5.0.0)
|
public_suffix (5.0.0)
|
||||||
puma (5.6.5)
|
puma (6.3.0)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
puma_worker_killer (0.3.1)
|
|
||||||
get_process_mem (~> 0.2)
|
|
||||||
puma (>= 2.7)
|
|
||||||
pyu-ruby-sasl (0.0.3.3)
|
pyu-ruby-sasl (0.0.3.3)
|
||||||
raabro (1.4.0)
|
raabro (1.4.0)
|
||||||
racc (1.6.2)
|
racc (1.6.2)
|
||||||
@@ -1226,7 +1232,7 @@ 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.75)
|
rb_sys (0.9.78)
|
||||||
rbtrace (0.4.14)
|
rbtrace (0.4.14)
|
||||||
ffi (>= 1.0.6)
|
ffi (>= 1.0.6)
|
||||||
msgpack (>= 0.4.3)
|
msgpack (>= 0.4.3)
|
||||||
@@ -1273,7 +1279,7 @@ GEM
|
|||||||
rexml (3.2.5)
|
rexml (3.2.5)
|
||||||
rinku (2.0.0)
|
rinku (2.0.0)
|
||||||
rotp (6.2.0)
|
rotp (6.2.0)
|
||||||
rouge (4.1.0)
|
rouge (4.1.2)
|
||||||
rqrcode (0.7.0)
|
rqrcode (0.7.0)
|
||||||
chunky_png
|
chunky_png
|
||||||
rqrcode-rails3 (0.1.7)
|
rqrcode-rails3 (0.1.7)
|
||||||
@@ -1358,8 +1364,8 @@ GEM
|
|||||||
ruby-openai (3.7.0)
|
ruby-openai (3.7.0)
|
||||||
httparty (>= 0.18.1)
|
httparty (>= 0.18.1)
|
||||||
ruby-progressbar (1.11.0)
|
ruby-progressbar (1.11.0)
|
||||||
ruby-saml (1.13.0)
|
ruby-saml (1.15.0)
|
||||||
nokogiri (>= 1.10.5)
|
nokogiri (>= 1.13.10)
|
||||||
rexml
|
rexml
|
||||||
ruby-statistics (3.0.0)
|
ruby-statistics (3.0.0)
|
||||||
ruby2_keywords (0.0.5)
|
ruby2_keywords (0.0.5)
|
||||||
@@ -1503,6 +1509,7 @@ GEM
|
|||||||
sys-filesystem (1.4.3)
|
sys-filesystem (1.4.3)
|
||||||
ffi (~> 1.1)
|
ffi (~> 1.1)
|
||||||
sysexits (1.2.0)
|
sysexits (1.2.0)
|
||||||
|
table_print (1.5.7)
|
||||||
tanuki_emoji (0.6.0)
|
tanuki_emoji (0.6.0)
|
||||||
telesign (2.2.4)
|
telesign (2.2.4)
|
||||||
net-http-persistent (>= 3.0.0, < 5.0)
|
net-http-persistent (>= 3.0.0, < 5.0)
|
||||||
@@ -1585,6 +1592,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.1)
|
||||||
uri_template (0.7.0)
|
uri_template (0.7.0)
|
||||||
valid_email (0.1.3)
|
valid_email (0.1.3)
|
||||||
activemodel
|
activemodel
|
||||||
@@ -1600,7 +1608,7 @@ GEM
|
|||||||
activesupport (>= 3.0)
|
activesupport (>= 3.0)
|
||||||
version_gem (1.1.0)
|
version_gem (1.1.0)
|
||||||
version_sorter (2.3.0)
|
version_sorter (2.3.0)
|
||||||
view_component (2.82.0)
|
view_component (3.2.0)
|
||||||
activesupport (>= 5.2.0, < 8.0)
|
activesupport (>= 5.2.0, < 8.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
method_source (~> 1.0)
|
method_source (~> 1.0)
|
||||||
@@ -1672,28 +1680,28 @@ 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.172.0)
|
aws-sdk-core (~> 3.175.0)
|
||||||
aws-sdk-s3 (~> 1.122.0)
|
aws-sdk-s3 (~> 1.126.0)
|
||||||
axe-core-rspec
|
axe-core-rspec
|
||||||
babosa (~> 1.0.4)
|
babosa (~> 2.0)
|
||||||
base32 (~> 0.3.0)
|
base32 (~> 0.3.0)
|
||||||
batch-loader (~> 2.0.1)
|
batch-loader (~> 2.0.1)
|
||||||
bcrypt (~> 3.1, >= 3.1.14)
|
bcrypt (~> 3.1, >= 3.1.14)
|
||||||
benchmark-ips (~> 2.11.0)
|
benchmark-ips (~> 2.11.0)
|
||||||
benchmark-memory (~> 0.1)
|
benchmark-memory (~> 0.1)
|
||||||
better_errors (~> 2.10.0)
|
better_errors (~> 2.10.1)
|
||||||
bootsnap (~> 1.16.0)
|
bootsnap (~> 1.16.0)
|
||||||
browser (~> 5.3.1)
|
browser (~> 5.3.1)
|
||||||
bullet (~> 7.0.2)
|
bullet (~> 7.0.2)
|
||||||
bundler-audit (~> 0.7.0.1)
|
bundler-audit (~> 0.7.0.1)
|
||||||
bundler-checksum (~> 0.1.0)!
|
bundler-checksum (~> 0.1.0)!
|
||||||
capybara (~> 3.39)
|
capybara (~> 3.39, >= 3.39.1)
|
||||||
capybara-screenshot (~> 1.0.26)
|
capybara-screenshot (~> 1.0.26)
|
||||||
carrierwave (~> 1.3)
|
carrierwave (~> 1.3)
|
||||||
charlock_holmes (~> 0.7.7)
|
charlock_holmes (~> 0.7.7)
|
||||||
circuitbox (= 2.0.0)
|
circuitbox (= 2.0.0)
|
||||||
cloud_profiler_agent (~> 0.0.0)!
|
cloud_profiler_agent (~> 0.0.0)!
|
||||||
commonmarker (~> 0.23.6)
|
commonmarker (~> 0.23.9)
|
||||||
concurrent-ruby (~> 1.1)
|
concurrent-ruby (~> 1.1)
|
||||||
connection_pool (~> 2.0)
|
connection_pool (~> 2.0)
|
||||||
countries (~> 4.0.0)
|
countries (~> 4.0.0)
|
||||||
@@ -1705,7 +1713,7 @@ DEPENDENCIES
|
|||||||
declarative_policy (~> 1.1.0)
|
declarative_policy (~> 1.1.0)
|
||||||
deprecation_toolkit (~> 1.5.1)
|
deprecation_toolkit (~> 1.5.1)
|
||||||
derailed_benchmarks
|
derailed_benchmarks
|
||||||
devfile (~> 0.0.17.pre.alpha1)
|
devfile (~> 0.0.19.pre.alpha1)
|
||||||
device_detector
|
device_detector
|
||||||
devise (~> 4.8.1)
|
devise (~> 4.8.1)
|
||||||
devise-pbkdf2-encryptable (~> 0.0.0)!
|
devise-pbkdf2-encryptable (~> 0.0.0)!
|
||||||
@@ -1714,7 +1722,7 @@ DEPENDENCIES
|
|||||||
diffy (~> 3.4)
|
diffy (~> 3.4)
|
||||||
discordrb-webhooks (~> 3.4)
|
discordrb-webhooks (~> 3.4)
|
||||||
doorkeeper (~> 5.6, >= 5.6.6)
|
doorkeeper (~> 5.6, >= 5.6.6)
|
||||||
doorkeeper-openid_connect (~> 1.8, >= 1.8.6)
|
doorkeeper-openid_connect (~> 1.8, >= 1.8.7)
|
||||||
duo_api (~> 1.3)
|
duo_api (~> 1.3)
|
||||||
ed25519 (~> 1.3.0)
|
ed25519 (~> 1.3.0)
|
||||||
elasticsearch-api (= 7.13.3)
|
elasticsearch-api (= 7.13.3)
|
||||||
@@ -1741,13 +1749,13 @@ DEPENDENCIES
|
|||||||
gettext (~> 3.3)
|
gettext (~> 3.3)
|
||||||
gettext_i18n_rails (~> 1.8.0)
|
gettext_i18n_rails (~> 1.8.0)
|
||||||
gettext_i18n_rails_js (~> 1.3)
|
gettext_i18n_rails_js (~> 1.3)
|
||||||
gitaly (~> 15.9.0.pre.rc3)
|
gitaly (~> 16.1.0.pre.rc2)
|
||||||
gitlab-chronic (~> 0.10.5)
|
gitlab-chronic (~> 0.10.5)
|
||||||
gitlab-dangerfiles (~> 3.10.0)
|
gitlab-dangerfiles (~> 3.10.0)
|
||||||
gitlab-experiment (~> 0.7.1)
|
gitlab-experiment (~> 0.7.1)
|
||||||
gitlab-fog-azure-rm (~> 1.7.0)
|
gitlab-fog-azure-rm (~> 1.7.0)
|
||||||
gitlab-labkit (~> 0.32.0)
|
gitlab-labkit (~> 0.33.0)
|
||||||
gitlab-license (~> 2.2.1)
|
gitlab-license (~> 2.3)
|
||||||
gitlab-mail_room (~> 0.0.23)
|
gitlab-mail_room (~> 0.0.23)
|
||||||
gitlab-markup (~> 1.9.0)
|
gitlab-markup (~> 1.9.0)
|
||||||
gitlab-net-dns (~> 0.9.2)
|
gitlab-net-dns (~> 0.9.2)
|
||||||
@@ -1755,6 +1763,7 @@ DEPENDENCIES
|
|||||||
gitlab-styles (~> 10.0.0)
|
gitlab-styles (~> 10.0.0)
|
||||||
gitlab_chronic_duration (~> 0.10.6.2)
|
gitlab_chronic_duration (~> 0.10.6.2)
|
||||||
gitlab_omniauth-ldap (~> 2.2.0)
|
gitlab_omniauth-ldap (~> 2.2.0)
|
||||||
|
gitlab_quality-test_tooling (~> 0.8.1)
|
||||||
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)
|
||||||
@@ -1767,12 +1776,12 @@ DEPENDENCIES
|
|||||||
google-apis-serviceusage_v1 (~> 0.28.0)
|
google-apis-serviceusage_v1 (~> 0.28.0)
|
||||||
google-apis-sqladmin_v1beta4 (~> 0.41.0)
|
google-apis-sqladmin_v1beta4 (~> 0.41.0)
|
||||||
google-cloud-storage (~> 1.44.0)
|
google-cloud-storage (~> 1.44.0)
|
||||||
google-protobuf (~> 3.22, >= 3.22.3)
|
google-protobuf (~> 3.23, >= 3.23.3)
|
||||||
gpgme (~> 2.0.22)
|
gpgme (~> 2.0.22)
|
||||||
grape (~> 1.5.2)
|
grape (~> 1.7.0)
|
||||||
grape-entity (~> 0.10.0)
|
grape-entity (~> 0.10.0)
|
||||||
grape-path-helpers (~> 1.7.1)
|
grape-path-helpers (~> 1.7.1)
|
||||||
grape-swagger (~> 1.5.0)
|
grape-swagger (~> 1.6.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)
|
graphiql-rails (~> 1.8)
|
||||||
@@ -1806,14 +1815,14 @@ DEPENDENCIES
|
|||||||
knapsack (~> 1.21.1)
|
knapsack (~> 1.21.1)
|
||||||
kramdown (~> 2.3.1)
|
kramdown (~> 2.3.1)
|
||||||
kubeclient (~> 4.11.0)
|
kubeclient (~> 4.11.0)
|
||||||
lefthook (~> 1.3.13)
|
lefthook (~> 1.4.2)
|
||||||
letter_opener_web (~> 2.0.0)
|
letter_opener_web (~> 2.0.0)
|
||||||
license_finder (~> 7.0)
|
license_finder (~> 7.0)
|
||||||
licensee (~> 9.15)
|
licensee (~> 9.15)
|
||||||
listen (~> 3.7)
|
listen (~> 3.7)
|
||||||
lockbox (~> 1.1.1)
|
lockbox (~> 1.1.1)
|
||||||
lograge (~> 0.5)
|
lograge (~> 0.5)
|
||||||
loofah (~> 2.21.0)
|
loofah (~> 2.21.3)
|
||||||
lookbook (~> 2.0, >= 2.0.1)
|
lookbook (~> 2.0, >= 2.0.1)
|
||||||
lru_redux
|
lru_redux
|
||||||
mail (= 2.8.1)
|
mail (= 2.8.1)
|
||||||
@@ -1825,10 +1834,11 @@ DEPENDENCIES
|
|||||||
minitest (~> 5.11.0)
|
minitest (~> 5.11.0)
|
||||||
multi_json (~> 1.14.1)
|
multi_json (~> 1.14.1)
|
||||||
neighbor (~> 0.2.3)
|
neighbor (~> 0.2.3)
|
||||||
net-ldap (~> 0.17.1)
|
net-http (= 0.1.1)
|
||||||
|
net-ldap (~> 0.18.0)
|
||||||
net-ntp
|
net-ntp
|
||||||
net-protocol (~> 0.1.3)
|
net-protocol (~> 0.1.3)
|
||||||
nokogiri (~> 1.14.3)
|
nokogiri (~> 1.15, >= 1.15.2)
|
||||||
oauth2 (~> 2.0)
|
oauth2 (~> 2.0)
|
||||||
octokit (~> 4.15)
|
octokit (~> 4.15)
|
||||||
ohai (~> 17.9)
|
ohai (~> 17.9)
|
||||||
@@ -1848,6 +1858,7 @@ DEPENDENCIES
|
|||||||
omniauth-oauth2-generic (~> 0.2.2)
|
omniauth-oauth2-generic (~> 0.2.2)
|
||||||
omniauth-salesforce (~> 1.0.5)!
|
omniauth-salesforce (~> 1.0.5)!
|
||||||
omniauth-saml (~> 2.1.0)
|
omniauth-saml (~> 2.1.0)
|
||||||
|
omniauth-shibboleth-redux (~> 2.0)
|
||||||
omniauth-twitter (~> 1.4)
|
omniauth-twitter (~> 1.4)
|
||||||
omniauth_crowd (~> 2.4.0)!
|
omniauth_crowd (~> 2.4.0)!
|
||||||
omniauth_openid_connect (~> 0.6.1)
|
omniauth_openid_connect (~> 0.6.1)
|
||||||
@@ -1856,18 +1867,18 @@ DEPENDENCIES
|
|||||||
org-ruby (~> 0.9.12)
|
org-ruby (~> 0.9.12)
|
||||||
pact (~> 1.63)
|
pact (~> 1.63)
|
||||||
parallel (~> 1.19)
|
parallel (~> 1.19)
|
||||||
|
parser (~> 3.2, >= 3.2.2.3)
|
||||||
parslet (~> 1.8)
|
parslet (~> 1.8)
|
||||||
peek (~> 1.1)
|
peek (~> 1.1)
|
||||||
pg (~> 1.5.3)
|
pg (~> 1.5.3)
|
||||||
pg_query (~> 2.2, >= 2.2.1)
|
pg_query (~> 4.2.1)
|
||||||
png_quantizator (~> 0.2.1)
|
png_quantizator (~> 0.2.1)
|
||||||
premailer-rails (~> 1.10.3)
|
premailer-rails (~> 1.10.3)
|
||||||
prometheus-client-mmap (~> 0.23)
|
prometheus-client-mmap (~> 0.25)
|
||||||
pry-byebug
|
pry-byebug
|
||||||
pry-rails (~> 0.3.9)
|
pry-rails (~> 0.3.9)
|
||||||
pry-shell (~> 0.6.1)
|
pry-shell (~> 0.6.1)
|
||||||
puma (~> 5.6.5)
|
puma (~> 6.3)
|
||||||
puma_worker_killer (~> 0.3.1)
|
|
||||||
rack (~> 2.2.7)
|
rack (~> 2.2.7)
|
||||||
rack-attack (~> 6.6.1)
|
rack-attack (~> 6.6.1)
|
||||||
rack-cors (~> 1.1.1)
|
rack-cors (~> 1.1.1)
|
||||||
@@ -1889,7 +1900,7 @@ DEPENDENCIES
|
|||||||
responders (~> 3.0)
|
responders (~> 3.0)
|
||||||
retriable (~> 3.1.2)
|
retriable (~> 3.1.2)
|
||||||
rexml (~> 3.2.5)
|
rexml (~> 3.2.5)
|
||||||
rouge (~> 4.1.0)
|
rouge (~> 4.1.2)
|
||||||
rqrcode-rails3 (~> 0.1.7)
|
rqrcode-rails3 (~> 0.1.7)
|
||||||
rspec-benchmark (~> 0.6.0)
|
rspec-benchmark (~> 0.6.0)
|
||||||
rspec-parameterized (~> 1.0)
|
rspec-parameterized (~> 1.0)
|
||||||
@@ -1902,7 +1913,7 @@ DEPENDENCIES
|
|||||||
ruby-magic (~> 0.6)
|
ruby-magic (~> 0.6)
|
||||||
ruby-openai (~> 3.7)
|
ruby-openai (~> 3.7)
|
||||||
ruby-progressbar (~> 1.10)
|
ruby-progressbar (~> 1.10)
|
||||||
ruby-saml (~> 1.13.0)
|
ruby-saml (~> 1.15.0)
|
||||||
ruby_parser (~> 3.20)
|
ruby_parser (~> 3.20)
|
||||||
rubyzip (~> 2.3.2)
|
rubyzip (~> 2.3.2)
|
||||||
rugged (~> 1.5)
|
rugged (~> 1.5)
|
||||||
@@ -1952,7 +1963,7 @@ DEPENDENCIES
|
|||||||
valid_email (~> 0.1)
|
valid_email (~> 0.1)
|
||||||
validates_hostname (~> 1.0.11)
|
validates_hostname (~> 1.0.11)
|
||||||
version_sorter (~> 2.3)
|
version_sorter (~> 2.3)
|
||||||
view_component (~> 2.82.0)
|
view_component (~> 3.2.0)
|
||||||
vmstat (~> 2.3.0)
|
vmstat (~> 2.3.0)
|
||||||
warning (~> 1.3.0)
|
warning (~> 1.3.0)
|
||||||
webauthn (~> 3.0)
|
webauthn (~> 3.0)
|
||||||
@@ -1962,4 +1973,4 @@ DEPENDENCIES
|
|||||||
yajl-ruby (~> 1.4.3)
|
yajl-ruby (~> 1.4.3)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.4.13
|
2.4.14
|
||||||
|
|||||||
@@ -401,10 +401,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06scfn1qjfqvgr05ddrcbihlnfi7bffk8r0m5z536w4mm1s3gh6x";
|
sha256 = "1fbbzcszpdjy2yzxfvl5fzgn0jgznkwxvqpb46nxv69gqhv3dpsg";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.172.0";
|
version = "3.175.0";
|
||||||
};
|
};
|
||||||
aws-sdk-kms = {
|
aws-sdk-kms = {
|
||||||
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
dependencies = ["aws-sdk-core" "aws-sigv4"];
|
||||||
@@ -423,10 +423,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "01cryf8kfkmlsxb327szcwcagsp7lss5gmk6zxlgap65lv8bc7rx";
|
sha256 = "17ya49rwjzimqhzsj6vlc4xfvj2sixy04kr4b6ddg3r6y0jrsixi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.122.0";
|
version = "1.126.0";
|
||||||
};
|
};
|
||||||
aws-sigv4 = {
|
aws-sigv4 = {
|
||||||
dependencies = ["aws-eventstream"];
|
dependencies = ["aws-eventstream"];
|
||||||
@@ -499,10 +499,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "16dwqn33kmxkqkv51cwiikdkbrdjfsymlnc0rgbjwilmym8a9phq";
|
sha256 = "19mqrnyizr1ipdp26vhrg0hwb851bwyvrs6xc29dk3ywljw8s8d6";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.4";
|
version = "2.0.0";
|
||||||
};
|
};
|
||||||
backport = {
|
backport = {
|
||||||
groups = ["default" "development"];
|
groups = ["default" "development"];
|
||||||
@@ -611,10 +611,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fhi891k7c4l967bacahq2jhnxswfmbpmbsg1yapczwpm1ynmaz3";
|
sha256 = "0wqazisnn6hn1wsza412xribpw5wzx6b5z5p4mcpfgizr6xg367p";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.10.0";
|
version = "2.10.1";
|
||||||
};
|
};
|
||||||
bindata = {
|
bindata = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -720,10 +720,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "06b4nlhirsq8ny17s8zgz7qyvl9v41rixj1xkviiiwxlnjz982d3";
|
sha256 = "1qhg45jxxy5h90frmajrrh5sirmj29sbfhbf7q0qhjymc0w1p0r5";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.39.0";
|
version = "3.39.1";
|
||||||
};
|
};
|
||||||
capybara-screenshot = {
|
capybara-screenshot = {
|
||||||
dependencies = ["capybara" "launchy"];
|
dependencies = ["capybara" "launchy"];
|
||||||
@@ -911,10 +911,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0f3v6ffikj694h925zvfzgx995q6l1ixnqpph3qpnjdsyjpsmbn8";
|
sha256 = "074162raa8pc92q6833hgqdlfr3z5jgid9avdz5k25cnls2rqwrf";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.23.6";
|
version = "0.23.9";
|
||||||
};
|
};
|
||||||
concurrent-ruby = {
|
concurrent-ruby = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
@@ -1163,10 +1163,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0v34ivsfpc4d291j89jyg2jz970h94jbz01hdm2jwcmq798yfm98";
|
sha256 = "1n4yxjijplg0klcnjdhk7kxmvlb0szchk1ad8flg5hb2j59c8a6r";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.0.17.pre.alpha1";
|
version = "0.0.19.pre.alpha1";
|
||||||
};
|
};
|
||||||
device_detector = {
|
device_detector = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -1300,10 +1300,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "00z0n4ix21nvqk74hhz5ab811366pdjx99cn2i26yiwpwr1nbi4d";
|
sha256 = "11p7p3b0yb12xfdhxxsifc2mz0rj1hlgi8sbcwjzxvld24rszvbi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.8.6";
|
version = "1.8.7";
|
||||||
};
|
};
|
||||||
dotenv = {
|
dotenv = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -1315,80 +1315,48 @@ src:
|
|||||||
};
|
};
|
||||||
version = "2.7.6";
|
version = "2.7.6";
|
||||||
};
|
};
|
||||||
dry-configurable = {
|
|
||||||
dependencies = ["concurrent-ruby" "dry-core"];
|
|
||||||
groups = ["default"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "0rvwvxrvcygvgfc3xjrihvdvnr0dh2144s8x80zfgfnz0jd5gac7";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "0.12.0";
|
|
||||||
};
|
|
||||||
dry-container = {
|
|
||||||
dependencies = ["concurrent-ruby" "dry-configurable"];
|
|
||||||
groups = ["default"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "1npnhs3x2xcwwijpys5c8rpcvymrlab0y8806nr4h425ld5q4wd0";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "0.7.2";
|
|
||||||
};
|
|
||||||
dry-core = {
|
dry-core = {
|
||||||
dependencies = ["concurrent-ruby"];
|
dependencies = ["concurrent-ruby" "zeitwerk"];
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "14s45hxcqpp2mbvwlwzn018i8qhcjzgkirigdrv31jd741rpgy9s";
|
sha256 = "01gks2hrp7nl3pzb487azvd25dlbrc40d5cpk4n0szwnf2c0k4ks";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.5.0";
|
version = "1.0.0";
|
||||||
};
|
|
||||||
dry-equalizer = {
|
|
||||||
groups = ["default"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "0rsqpk0gjja6j6pjm0whx2px06cxr3h197vrwxp6k042p52r4v46";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "0.3.0";
|
|
||||||
};
|
};
|
||||||
dry-inflector = {
|
dry-inflector = {
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "17mkdwglqsd9fg272y3zms7rixjgkb1km1xcb88ir5lxvk1jkky7";
|
sha256 = "09hnvna3lg2x36li63988kv664d0zvy7y0z33803yvrdr9hj7lka";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.2.0";
|
version = "1.0.0";
|
||||||
};
|
};
|
||||||
dry-logic = {
|
dry-logic = {
|
||||||
dependencies = ["concurrent-ruby" "dry-core"];
|
dependencies = ["concurrent-ruby" "dry-core" "zeitwerk"];
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "17dnc3g9y2nj42rdx2bdvsvvms10vgw4qzjb2iw2gln9hj8b797c";
|
sha256 = "05nldkc154r0qzlhss7n5klfiyyz05x2fkq08y13s34py6023vcr";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.5.0";
|
||||||
};
|
};
|
||||||
dry-types = {
|
dry-types = {
|
||||||
dependencies = ["concurrent-ruby" "dry-container" "dry-core" "dry-equalizer" "dry-inflector" "dry-logic"];
|
dependencies = ["concurrent-ruby" "dry-core" "dry-inflector" "dry-logic" "zeitwerk"];
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1px1r5khlf4lw32gsrnnnsx7dvl2d94axx3h0b6zwxrhvfq3n038";
|
sha256 = "1f6dz0hm67rhybh6xq2s3vvr700cp43kf50z2lids62s2i0mh5hj";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.4.0";
|
version = "1.7.1";
|
||||||
};
|
};
|
||||||
dumb_delegator = {
|
dumb_delegator = {
|
||||||
groups = ["default" "test"];
|
groups = ["default" "test"];
|
||||||
@@ -2134,10 +2102,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1gja1b2zirv1clavlg6c0c3xc0z2si2xvxcp9cd165q4lwh47ika";
|
sha256 = "1bz3i05lr1nzm35xg11blaq78v96sg49aw1yh4hj7wfk3cbdn1q0";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "15.9.0.pre.rc3";
|
version = "16.1.0.pre.rc2";
|
||||||
};
|
};
|
||||||
gitlab = {
|
gitlab = {
|
||||||
dependencies = ["httparty" "terminal-table"];
|
dependencies = ["httparty" "terminal-table"];
|
||||||
@@ -2200,20 +2168,20 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0vl64blqz850d5vahwpwyrsvw4iarn578p8bzmcw11imqpnk62pk";
|
sha256 = "0nz0g5s65wkicsn9ianqxi7ys2w666n226gfblzllcfy1z9siyyi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.32.0";
|
version = "0.33.0";
|
||||||
};
|
};
|
||||||
gitlab-license = {
|
gitlab-license = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "07pdi9zcifiw8vjv5zz5jdv2gmaq3rkyxfdkn0j3a0cdh9iwgjrc";
|
sha256 = "0ms1kf5nmclsnmd2xa9k273asmb73ivaykwrb3g7sq263j3y7jk0";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.2.2";
|
version = "2.3.0";
|
||||||
};
|
};
|
||||||
gitlab-mail_room = {
|
gitlab-mail_room = {
|
||||||
dependencies = ["jwt" "net-imap" "oauth2"];
|
dependencies = ["jwt" "net-imap" "oauth2"];
|
||||||
@@ -2289,6 +2257,17 @@ src:
|
|||||||
};
|
};
|
||||||
version = "2.2.0";
|
version = "2.2.0";
|
||||||
};
|
};
|
||||||
|
gitlab_quality-test_tooling = {
|
||||||
|
dependencies = ["activesupport" "gitlab" "http" "nokogiri" "parallel" "rainbow" "table_print" "zeitwerk"];
|
||||||
|
groups = ["test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "02xwchhhfv8jkypap5pn1wjkdx92jxk4wsp71i2s0ymnqw98y401";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.8.1";
|
||||||
|
};
|
||||||
globalid = {
|
globalid = {
|
||||||
dependencies = ["activesupport"];
|
dependencies = ["activesupport"];
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
@@ -2535,10 +2514,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1xcg53yz44cqhcpb85w3ay80kvnniy0v441c9p08wb6zzia2mnq9";
|
sha256 = "1aczvz5jdslr1bfx08xrycp6ggdpaifdlh5hrdyd774mvcl0mg2d";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.22.3";
|
version = "3.23.3";
|
||||||
};
|
};
|
||||||
googleapis-common-protos = {
|
googleapis-common-protos = {
|
||||||
dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
|
dependencies = ["google-protobuf" "googleapis-common-protos-types" "grpc"];
|
||||||
@@ -2586,14 +2565,14 @@ src:
|
|||||||
};
|
};
|
||||||
grape = {
|
grape = {
|
||||||
dependencies = ["activesupport" "builder" "dry-types" "mustermann-grape" "rack" "rack-accept"];
|
dependencies = ["activesupport" "builder" "dry-types" "mustermann-grape" "rack" "rack-accept"];
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0adf01kihxbmh8q84r6zyfgdmpbyb0lwcar3fi8j6bl6qcsbgwqx";
|
sha256 = "0lbgysx2d64hsck11jajc4gwikj5nd82809bz0jibrnp4yb1lcw8";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.5.2";
|
version = "1.7.0";
|
||||||
};
|
};
|
||||||
grape-entity = {
|
grape-entity = {
|
||||||
dependencies = ["activesupport" "multi_json"];
|
dependencies = ["activesupport" "multi_json"];
|
||||||
@@ -2623,10 +2602,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1zy84lxrnnslray9rmfgb7ri295wda3cxx3xryz4lr5hd8r5p24w";
|
sha256 = "17y6smk7shplblgic4jvi5njhd0x91n1xrvds3l6cjsjfs2d7lhg";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.5.0";
|
version = "1.6.1";
|
||||||
};
|
};
|
||||||
grape-swagger-entity = {
|
grape-swagger-entity = {
|
||||||
dependencies = ["grape-entity" "grape-swagger"];
|
dependencies = ["grape-entity" "grape-swagger"];
|
||||||
@@ -3292,10 +3271,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0wnz60wh2yb7s5g7an64cw2brl9vvw960xnq4gs3q6drlgmbjl8g";
|
sha256 = "0hqffqr2krk6gcjapriwwmdrjz56dczshxafnwrkipyxi51vwgvh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.3.13";
|
version = "1.4.2";
|
||||||
};
|
};
|
||||||
letter_opener = {
|
letter_opener = {
|
||||||
dependencies = ["launchy"];
|
dependencies = ["launchy"];
|
||||||
@@ -3410,10 +3389,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0nq23yca06rq8qxxymh4nfbx484k2yll54y780b4ilyvmcipyh7c";
|
sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.21.0";
|
version = "2.21.3";
|
||||||
};
|
};
|
||||||
lookbook = {
|
lookbook = {
|
||||||
dependencies = ["activemodel" "css_parser" "htmlbeautifier" "htmlentities" "marcel" "railties" "redcarpet" "rouge" "view_component" "yard" "zeitwerk"];
|
dependencies = ["activemodel" "css_parser" "htmlbeautifier" "htmlentities" "marcel" "railties" "redcarpet" "rouge" "view_component" "yard" "zeitwerk"];
|
||||||
@@ -3598,10 +3577,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp";
|
sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.8.1";
|
version = "2.8.2";
|
||||||
};
|
};
|
||||||
minitest = {
|
minitest = {
|
||||||
groups = ["development" "test"];
|
groups = ["development" "test"];
|
||||||
@@ -3729,25 +3708,25 @@ src:
|
|||||||
};
|
};
|
||||||
mustermann = {
|
mustermann = {
|
||||||
dependencies = ["ruby2_keywords"];
|
dependencies = ["ruby2_keywords"];
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
|
sha256 = "0rwbq20s2gdh8dljjsgj5s6wqqfmnbclhvv2c2608brv7jm6jdbd";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.1";
|
version = "3.0.0";
|
||||||
};
|
};
|
||||||
mustermann-grape = {
|
mustermann-grape = {
|
||||||
dependencies = ["mustermann"];
|
dependencies = ["mustermann"];
|
||||||
groups = ["default"];
|
groups = ["default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0djlbi7nh161a5mwjdm1ya4hc6lyzc493ah48gn37gk6vyri5kh0";
|
sha256 = "1zpmc099rcpxmlfxb71zd6l7f9fcsg1fhi6627r03y1qlgb0jlvg";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
};
|
};
|
||||||
nap = {
|
nap = {
|
||||||
groups = ["default" "development"];
|
groups = ["default" "development"];
|
||||||
@@ -3780,6 +3759,17 @@ src:
|
|||||||
};
|
};
|
||||||
version = "0.3.0";
|
version = "0.3.0";
|
||||||
};
|
};
|
||||||
|
net-http = {
|
||||||
|
dependencies = ["net-protocol" "uri"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "11mymfxpsgpwr1qbv8vwj8av9kksqj0632p9s3x35bzrnq4y393m";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.1.1";
|
||||||
|
};
|
||||||
net-http-persistent = {
|
net-http-persistent = {
|
||||||
dependencies = ["connection_pool"];
|
dependencies = ["connection_pool"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -3807,10 +3797,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1ycw0qsw3hap8svakl0i30jkj0ffd4lpyrn17a1j0w8mz5ainmsj";
|
sha256 = "0xqcffn3c1564c4fizp10dzw2v5g2pabdzrcn25hq05bqhsckbar";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.17.1";
|
version = "0.18.0";
|
||||||
};
|
};
|
||||||
net-ntp = {
|
net-ntp = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -3912,10 +3902,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0fnw0z8zl8b5k35g9m5hhc1g4s6ajzjinhyxnqjrx7l7p07fw71v";
|
sha256 = "1mr2ibfk874ncv0qbdkynay738w2mfinlkhnbd5lyk5yiw5q1p10";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.14.3";
|
version = "1.15.2";
|
||||||
};
|
};
|
||||||
notiffany = {
|
notiffany = {
|
||||||
dependencies = ["nenv" "shellany"];
|
dependencies = ["nenv" "shellany"];
|
||||||
@@ -4175,6 +4165,17 @@ src:
|
|||||||
};
|
};
|
||||||
version = "2.1.0";
|
version = "2.1.0";
|
||||||
};
|
};
|
||||||
|
omniauth-shibboleth-redux = {
|
||||||
|
dependencies = ["omniauth"];
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1qgzp0xaka6vqpx69mw6nbqaqmyqrawi11cyak4gq19l23ym7cz9";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "2.0.0";
|
||||||
|
};
|
||||||
omniauth-twitter = {
|
omniauth-twitter = {
|
||||||
dependencies = ["omniauth-oauth" "rack"];
|
dependencies = ["omniauth-oauth" "rack"];
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -4344,15 +4345,15 @@ src:
|
|||||||
version = "1.22.1";
|
version = "1.22.1";
|
||||||
};
|
};
|
||||||
parser = {
|
parser = {
|
||||||
dependencies = ["ast"];
|
dependencies = ["ast" "racc"];
|
||||||
groups = ["coverage" "default" "development" "test"];
|
groups = ["coverage" "default" "development" "test"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0zk8mdyr0322r11d63rcp5jhz4lakxilhvyvdv0ql5dw4lb83623";
|
sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.0.0";
|
version = "3.2.2.3";
|
||||||
};
|
};
|
||||||
parslet = {
|
parslet = {
|
||||||
groups = ["default" "development" "test"];
|
groups = ["default" "development" "test"];
|
||||||
@@ -4402,10 +4403,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1slcbzzqdv6104l5h8ql6kj43zmnm16g2dav8bc8dasfpwmrg1k0";
|
sha256 = "0cs8c0f903phs3yjjbrhlyaipvmvm95xids06a761hf0s6lj0j5h";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.2.1";
|
version = "4.2.1";
|
||||||
};
|
};
|
||||||
plist = {
|
plist = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -4477,10 +4478,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0h4w0947zwwg6kbdnvg4vbmrsc8yf5ijb37sg758apks44imym28";
|
sha256 = "14m09ysq0l6kih9pdy1mmdabdyjk09hvx4rzqh6phgb34s1w4pfp";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.23.1";
|
version = "0.25.0";
|
||||||
};
|
};
|
||||||
pry = {
|
pry = {
|
||||||
dependencies = ["coderay" "method_source"];
|
dependencies = ["coderay" "method_source"];
|
||||||
@@ -4542,21 +4543,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0qzq0c791kacv68hgk9zqsd1p7zx1y1rr9j10rn9yphibb8jj436";
|
sha256 = "1v7fmv0n4bhdcwh60dgza44iqai5pg34f5pzm4vh4i5fwx7mpqxh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "5.6.5";
|
version = "6.3.0";
|
||||||
};
|
|
||||||
puma_worker_killer = {
|
|
||||||
dependencies = ["get_process_mem" "puma"];
|
|
||||||
groups = ["puma"];
|
|
||||||
platforms = [];
|
|
||||||
source = {
|
|
||||||
remotes = ["https://rubygems.org"];
|
|
||||||
sha256 = "0jk1bhmx5px8y1ip4ky80cq5cwdaybdg4y55shd2vsdmjv938mcw";
|
|
||||||
type = "gem";
|
|
||||||
};
|
|
||||||
version = "0.3.1";
|
|
||||||
};
|
};
|
||||||
pyu-ruby-sasl = {
|
pyu-ruby-sasl = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
@@ -4797,10 +4787,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1zx8v677r2gs050z4cdiflp14kp6nx5z285ynj2ach0w0z7jfm23";
|
sha256 = "09kszvsa9av8yb8pm9nz6p5jgshin3cqvknlvd1m927qfvdpalk3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.9.75";
|
version = "0.9.78";
|
||||||
};
|
};
|
||||||
rbtrace = {
|
rbtrace = {
|
||||||
dependencies = ["ffi" "msgpack" "optimist"];
|
dependencies = ["ffi" "msgpack" "optimist"];
|
||||||
@@ -5068,10 +5058,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "046xwhfhi2krmbaqmg9vshf01vzld8smczx6dwppinv61ndc2vqg";
|
sha256 = "0pym2zjwl6dwdfvbn7rbvmds32r70jx9qddhvvi6pqy6987ack1v";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.1.0";
|
version = "4.1.2";
|
||||||
};
|
};
|
||||||
rqrcode = {
|
rqrcode = {
|
||||||
dependencies = ["chunky_png"];
|
dependencies = ["chunky_png"];
|
||||||
@@ -5363,10 +5353,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1706dyk5jdma75bnl9rhmx8vgzjw12ixnj3y32inmpcgzgsvs76k";
|
sha256 = "18vnbzin5ypxrgcs9lllg7x311b69dyrdw2w1pwz84438hmxm79s";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.13.0";
|
version = "1.15.0";
|
||||||
};
|
};
|
||||||
ruby-statistics = {
|
ruby-statistics = {
|
||||||
groups = ["default" "test"];
|
groups = ["default" "test"];
|
||||||
@@ -6022,6 +6012,16 @@ src:
|
|||||||
};
|
};
|
||||||
version = "1.2.0";
|
version = "1.2.0";
|
||||||
};
|
};
|
||||||
|
table_print = {
|
||||||
|
groups = ["default" "test"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1jxmd1yg3h0g27wzfpvq1jnkkf7frwb5wy9m4f47nf4k3wl68rj3";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "1.5.7";
|
||||||
|
};
|
||||||
tanuki_emoji = {
|
tanuki_emoji = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
@@ -6463,6 +6463,16 @@ src:
|
|||||||
};
|
};
|
||||||
version = "0.6.7";
|
version = "0.6.7";
|
||||||
};
|
};
|
||||||
|
uri = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1vigw7nfszfqgikr6n574k9bfh0rvs74z8xq46rz2zsm8249l8cc";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.12.1";
|
||||||
|
};
|
||||||
uri_template = {
|
uri_template = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
platforms = [];
|
platforms = [];
|
||||||
@@ -6543,10 +6553,10 @@ src:
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "1bwvpkv1iqa8g5cmmllx8fx0nprapzrzfvf1m15rr3wxw5hrbdn8";
|
sha256 = "08jc9k4qqazbf5frhdril5084adm90rs1lqbnqq3yfdm2dgaiyhx";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.82.0";
|
version = "3.2.0";
|
||||||
};
|
};
|
||||||
virtus = {
|
virtus = {
|
||||||
dependencies = ["axiom-types" "coercible" "descendants_tracker"];
|
dependencies = ["axiom-types" "coercible" "descendants_tracker"];
|
||||||
|
|||||||
@@ -11,16 +11,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "gql";
|
pname = "gql";
|
||||||
version = "0.1.0";
|
version = "0.2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AmrDeveloper";
|
owner = "AmrDeveloper";
|
||||||
repo = "GQL";
|
repo = "GQL";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-UEfluWgoSuPnHGsoPcVLuAqmJsqCJL2B29UsQeZctuE=";
|
hash = "sha256-3x4ExSEs22wFP4Z5cY9+F8yyVc5voHAT1odnyzkSlhc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-y49pnx1OkUu7yKnwTGpPGv3ULUPpj/Z4bOPVIO3nS0E=";
|
cargoHash = "sha256-Xmf64yRyWrqYO/ydxEblChVPKnR47Uc55FVAY3DU7no=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|||||||
@@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "flowblade";
|
pname = "flowblade";
|
||||||
version = "2.8.0.3";
|
version = "2.10.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jliljebl";
|
owner = "jliljebl";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-/EkI3qiceB5eKTVQnpG+z4e6yaE9hDtn6I+iN/J+h/g=";
|
sha256 = "sha256-lXMVtWsTyMaGIpEglHvnUgDSaFlnWtB3lSyg6ljNIdQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
makeWrapper $out/flowblade/flowblade $out/bin/flowblade \
|
makeWrapper $out/flowblade/flowblade $out/bin/flowblade \
|
||||||
--set FREI0R_PATH ${frei0r}/lib/frei0r-1 \
|
--set FREI0R_PATH ${frei0r}/lib/frei0r-1 \
|
||||||
--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa \
|
--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa \
|
||||||
|
--prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \
|
||||||
''${gappsWrapperArgs[@]}
|
''${gappsWrapperArgs[@]}
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
buildKodiAddon rec {
|
buildKodiAddon rec {
|
||||||
pname = "inputstreamhelper";
|
pname = "inputstreamhelper";
|
||||||
namespace = "script.module.inputstreamhelper";
|
namespace = "script.module.inputstreamhelper";
|
||||||
version = "0.5.10+matrix.1";
|
version = "0.6.1+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "sha256-FcOktwtOT7kDM+3y9qPDk3xU1qVeCduyAdUzebtJzv4=";
|
sha256 = "sha256-v5fRikswmP+KVbxYibD0NbCK8leUnFbya5EtF1FmS0I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, twenty-fortyeight }:
|
||||||
|
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = "libretro-2048";
|
||||||
|
namespace = "game.libretro.2048";
|
||||||
|
version = "1.0.0.136";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-game";
|
||||||
|
repo = "game.libretro.2048";
|
||||||
|
rev = "${version}-Nexus";
|
||||||
|
hash = "sha256-cIo56ZGansBlAj6CFw51UOYJUivN9n1qhVTWAX9c5Tc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraCMakeFlags = [
|
||||||
|
"-D2048_LIB=${twenty-fortyeight}/lib/retroarch/cores/2048_libretro.so"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraBuildInputs = [ twenty-fortyeight ];
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
libretro
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/kodi-game/game.libretro.2048";
|
||||||
|
description = "2048 GameClient for Kodi";
|
||||||
|
platforms = platforms.all;
|
||||||
|
license = licenses.publicDomain;
|
||||||
|
maintainers = with maintainers; teams.kodi.members ++ [ kazenyuk ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, fuse }:
|
||||||
|
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = "libretro-fuse";
|
||||||
|
namespace = "game.libretro.fuse";
|
||||||
|
version = "1.6.0.34";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-game";
|
||||||
|
repo = "game.libretro.fuse";
|
||||||
|
rev = "${version}-Nexus";
|
||||||
|
hash = "sha256-MimwEV7YD6pMshxqbKTVbLDsPmMbqSy4HPnxwmKswpc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraCMakeFlags = [
|
||||||
|
"-DFUSE_LIB=${fuse}/lib/retroarch/cores/fuse_libretro.so"
|
||||||
|
];
|
||||||
|
|
||||||
|
extraBuildInputs = [ fuse ];
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
libretro
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/kodi-game/game.libretro.fuse";
|
||||||
|
description = "Sinclair - ZX Spectrum (Fuse) GameClient for Kodi";
|
||||||
|
platforms = platforms.all;
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; teams.kodi.members ++ [ kazenyuk ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
|
namespace = "vfs.rar";
|
||||||
|
version = "20.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "sha256-8IEYA2gNchCa7O9kzrCbO5DxYWJqPzQN3SJIr9zCWc8=";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ tinyxml ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "RAR archive Virtual Filesystem add-on for Kodi";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = teams.kodi.members;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -56,6 +56,15 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "t+kfFS5c8w+c9wxNh59nceFesfdMy8qvHlUqDbZAxkk=";
|
sha256 = "t+kfFS5c8w+c9wxNh59nceFesfdMy8qvHlUqDbZAxkk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Fix compatiblity with fmt 10.0. Remove with the next release
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://gitlab.com/mbunkus/mkvtoolnix/-/commit/24716ce95bf5b10d685611de23489045cf2ca5cc.patch";
|
||||||
|
hash = "sha256-vOm3FmXL3mHzs3RHCJ9gbTLSe3xhSXo8IfgA+s0cFjY=";
|
||||||
|
includes = [ "src/common/codec.h" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
docbook_xsl
|
docbook_xsl
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
# Arguments that this derivation gets when it is created with `callPackage`
|
# Arguments that this derivation gets when it is created with `callPackage`
|
||||||
{ stdenv
|
{ stdenv
|
||||||
|
, buildEnv
|
||||||
, lib
|
, lib
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
, mpvScripts
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
|
, writeTextDir
|
||||||
, yt-dlp
|
, yt-dlp
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -71,6 +74,20 @@ let
|
|||||||
|
|
||||||
passthru.unwrapped = mpv;
|
passthru.unwrapped = mpv;
|
||||||
|
|
||||||
|
passthru.tests.mpv-scripts-should-not-collide = buildEnv {
|
||||||
|
name = "mpv-scripts-env";
|
||||||
|
paths = lib.pipe mpvScripts [
|
||||||
|
# filters "override" "overrideDerivation" "recurseForDerivations"
|
||||||
|
(lib.filterAttrs (key: script: lib.isDerivation script))
|
||||||
|
# replaces unfree and meta.broken scripts with decent placeholders
|
||||||
|
(lib.mapAttrsToList (key: script:
|
||||||
|
if (builtins.tryEval script.outPath).success
|
||||||
|
then script
|
||||||
|
else writeTextDir "share/mpv/scripts/${script.scriptName}" "placeholder of ${script.name}"
|
||||||
|
))
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
# wrapProgram can't operate on symlinks
|
# wrapProgram can't operate on symlinks
|
||||||
rm "$out/bin/mpv"
|
rm "$out/bin/mpv"
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
// This has to match the logic in pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js
|
||||||
|
// so that fixup_yarn_lock produces the same paths
|
||||||
|
const urlToName = url => {
|
||||||
|
const isCodeloadGitTarballUrl = url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')
|
||||||
|
|
||||||
|
if (url.startsWith('git+') || isCodeloadGitTarballUrl) {
|
||||||
|
return path.basename(url)
|
||||||
|
} else {
|
||||||
|
return url
|
||||||
|
.replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
|
||||||
|
.replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { urlToName };
|
||||||
@@ -21,8 +21,8 @@ in {
|
|||||||
mkdir libexec
|
mkdir libexec
|
||||||
tar --strip-components=1 -xf ${yarnpkg-lockfile-tar} package/index.js
|
tar --strip-components=1 -xf ${yarnpkg-lockfile-tar} package/index.js
|
||||||
mv index.js libexec/yarnpkg-lockfile.js
|
mv index.js libexec/yarnpkg-lockfile.js
|
||||||
cp ${./index.js} libexec/index.js
|
cp ${./.}/*.js libexec/
|
||||||
patchShebangs libexec/index.js
|
patchShebangs libexec
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
@@ -34,6 +34,7 @@ in {
|
|||||||
cp -r libexec $out
|
cp -r libexec $out
|
||||||
makeWrapper $out/libexec/index.js $out/bin/prefetch-yarn-deps \
|
makeWrapper $out/libexec/index.js $out/bin/prefetch-yarn-deps \
|
||||||
--prefix PATH : ${lib.makeBinPath [ coreutils nix-prefetch-git nix ]}
|
--prefix PATH : ${lib.makeBinPath [ coreutils nix-prefetch-git nix ]}
|
||||||
|
makeWrapper $out/libexec/fixup.js $out/bin/fixup-yarn-lock
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|||||||
+74
@@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
const fs = require('fs')
|
||||||
|
const process = require('process')
|
||||||
|
const lockfile = require('./yarnpkg-lockfile.js')
|
||||||
|
const { urlToName } = require('./common.js')
|
||||||
|
|
||||||
|
const fixupYarnLock = async (lockContents, verbose) => {
|
||||||
|
const lockData = lockfile.parse(lockContents)
|
||||||
|
|
||||||
|
const fixedData = Object.fromEntries(
|
||||||
|
Object.entries(lockData.object)
|
||||||
|
.map(([dep, pkg]) => {
|
||||||
|
const [ url, hash ] = pkg.resolved.split("#", 2)
|
||||||
|
|
||||||
|
if (hash || url.startsWith("https://codeload.github.com")) {
|
||||||
|
if (verbose) console.log(`Removing integrity for git dependency ${dep}`)
|
||||||
|
delete pkg.integrity
|
||||||
|
}
|
||||||
|
|
||||||
|
if (verbose) console.log(`Rewriting URL ${url} for dependency ${dep}`)
|
||||||
|
pkg.resolved = urlToName(url)
|
||||||
|
|
||||||
|
return [dep, pkg]
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
if (verbose) console.log('Done')
|
||||||
|
|
||||||
|
return fixedData
|
||||||
|
}
|
||||||
|
|
||||||
|
const showUsage = async () => {
|
||||||
|
process.stderr.write(`
|
||||||
|
syntax: fixup-yarn-lock [path to yarn.lock] [options]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h --help Show this help
|
||||||
|
-v --verbose Verbose output
|
||||||
|
`)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
const main = async () => {
|
||||||
|
const args = process.argv.slice(2)
|
||||||
|
let next, lockFile, verbose
|
||||||
|
while (next = args.shift()) {
|
||||||
|
if (next == '--verbose' || next == '-v') {
|
||||||
|
verbose = true
|
||||||
|
} else if (next == '--help' || next == '-h') {
|
||||||
|
showUsage()
|
||||||
|
} else if (!lockFile) {
|
||||||
|
lockFile = next
|
||||||
|
} else {
|
||||||
|
showUsage()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let lockContents
|
||||||
|
try {
|
||||||
|
lockContents = await fs.promises.readFile(lockFile || 'yarn.lock', 'utf-8')
|
||||||
|
} catch {
|
||||||
|
showUsage()
|
||||||
|
}
|
||||||
|
|
||||||
|
const fixedData = await fixupYarnLock(lockContents, verbose)
|
||||||
|
await fs.promises.writeFile(lockFile || 'yarn.lock', lockfile.stringify(fixedData))
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
.catch(e => {
|
||||||
|
console.error(e)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
@@ -10,6 +10,7 @@ const path = require('path')
|
|||||||
const lockfile = require('./yarnpkg-lockfile.js')
|
const lockfile = require('./yarnpkg-lockfile.js')
|
||||||
const { promisify } = require('util')
|
const { promisify } = require('util')
|
||||||
const url = require('url')
|
const url = require('url')
|
||||||
|
const { urlToName } = require('./common.js')
|
||||||
|
|
||||||
const execFile = promisify(child_process.execFile)
|
const execFile = promisify(child_process.execFile)
|
||||||
|
|
||||||
@@ -19,20 +20,6 @@ const exec = async (...args) => {
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
// This has to match the logic in pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js
|
|
||||||
// so that fixup_yarn_lock produces the same paths
|
|
||||||
const urlToName = url => {
|
|
||||||
const isCodeloadGitTarballUrl = url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')
|
|
||||||
|
|
||||||
if (url.startsWith('git+') || isCodeloadGitTarballUrl) {
|
|
||||||
return path.basename(url)
|
|
||||||
} else {
|
|
||||||
return url
|
|
||||||
.replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
|
|
||||||
.replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const downloadFileHttps = (fileName, url, expectedHash, hashType = 'sha1') => {
|
const downloadFileHttps = (fileName, url, expectedHash, hashType = 'sha1') => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
https.get(url, (res) => {
|
https.get(url, (res) => {
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "spdx-license-list-data";
|
pname = "spdx-license-list-data";
|
||||||
version = "3.20";
|
version = "3.21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "spdx";
|
owner = "spdx";
|
||||||
repo = "license-list-data";
|
repo = "license-list-data";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-qMVUP1EpeeO+i5RfnAt/Idz+pR9dVyCT4Ss9lEJgj6k=";
|
hash = "sha256-dv8aC4giD0JqaYN19eCHzEbmwXhqX+ZrKrwit9tzf5Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# List of file formats to package.
|
# List of file formats to package.
|
||||||
|
|||||||
@@ -72,13 +72,13 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "cinnamon-common";
|
pname = "cinnamon-common";
|
||||||
version = "5.8.2";
|
version = "5.8.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = "cinnamon";
|
repo = "cinnamon";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-KY5ctByMYKxigiZ0X/blaHJuyiAUNB6B2gpGtC/k100=";
|
hash = "sha256-PvU5lcoIDguWiLdI+uIiJHqS1ae436Xc7TfRVytR02k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|||||||
@@ -7,14 +7,14 @@
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "folder-color-switcher";
|
pname = "folder-color-switcher";
|
||||||
version = "1.5.7";
|
version = "1.5.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
# They don't really do tags, this is just a named commit.
|
# They don't really do tags, this is just a named commit.
|
||||||
rev = "03311d62a62e2cd7d0592b241c287091161ec6b6";
|
rev = "f167627cffaf8b34e27b0515153b669b980fd62e";
|
||||||
sha256 = "sha256-HQv9vSpRSBjqbncGFv+O5XQtRJ+4Cq0aWZHoj5BhKYE=";
|
sha256 = "sha256-u8Lv0OTxKgjIp1q5WR0NXULhnwFfEDYGRlBpFMVHCBY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "mint-themes";
|
pname = "mint-themes";
|
||||||
version = "2.1.2";
|
version = "2.1.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-Y+KmSKuREn2E3FySsScjL+oSpSFnyEqhoXQfU++86JY=";
|
hash = "sha256-ouqhksy3999pi8v4f64W4X/h655ZVi8dR22g4LlYwMI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -23,13 +23,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nemo";
|
pname = "nemo";
|
||||||
version = "5.8.2";
|
version = "5.8.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxmint";
|
owner = "linuxmint";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Be67TOA1gLwSYx8y2iyfvY0QCpWOFutpXMDaPiTRQGg=";
|
sha256 = "sha256-/GwtTklOkhCkbBMQLl4dKUnlZwN6FX2kqxN7cJVaVwE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
, pkg-config
|
, pkg-config
|
||||||
, vala
|
, vala
|
||||||
, libgee
|
, libgee
|
||||||
|
, libhandy
|
||||||
, granite
|
, granite
|
||||||
, gtk3
|
, gtk3
|
||||||
, switchboard
|
, switchboard
|
||||||
@@ -15,13 +16,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "switchboard-plug-applications";
|
pname = "switchboard-plug-applications";
|
||||||
version = "6.0.1";
|
version = "7.0.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elementary";
|
owner = "elementary";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "18izmzhqp6x5ivha9yl8gyz9adyrsylw7w5p0cwm1bndgqbi7yh5";
|
sha256 = "sha256-M9JMrxhMiDC/qrrnPaBm6Kf3CAkxrhGWwJF8jVm2G5c=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@@ -36,6 +37,7 @@ stdenv.mkDerivation rec {
|
|||||||
granite
|
granite
|
||||||
gtk3
|
gtk3
|
||||||
libgee
|
libgee
|
||||||
|
libhandy
|
||||||
switchboard
|
switchboard
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -21,17 +21,18 @@
|
|||||||
, gnome-settings-daemon
|
, gnome-settings-daemon
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, gexiv2
|
, gexiv2
|
||||||
|
, systemd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gala";
|
pname = "gala";
|
||||||
version = "7.0.3";
|
version = "7.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elementary";
|
owner = "elementary";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-RLKPYDWVqT2WfjLPXRFPCNNvcW+fJ0OUKjSLLgPBqdw=";
|
sha256 = "sha256-x0EIah/iTluJk7P3k0g23cQldx++W58FbjnHNlF31AQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
@@ -63,12 +64,7 @@ stdenv.mkDerivation rec {
|
|||||||
libgee
|
libgee
|
||||||
mesa # for libEGL
|
mesa # for libEGL
|
||||||
mutter
|
mutter
|
||||||
];
|
systemd
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
# TODO: enable this and remove --builtin flag from session-settings
|
|
||||||
# https://github.com/NixOS/nixpkgs/pull/140429
|
|
||||||
"-Dsystemd=false"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|||||||
@@ -16,13 +16,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "xdg-desktop-portal-pantheon";
|
pname = "xdg-desktop-portal-pantheon";
|
||||||
version = "7.0.0";
|
version = "7.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "elementary";
|
owner = "elementary";
|
||||||
repo = "portals";
|
repo = "portals";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Rfo9Z5rCJgk36Db3ce8dYBJswy8owjvRMrJVB/RfwyI=";
|
sha256 = "sha256-uy/etQiJuaROw8bWg2PUdptNr4I8uqqUZ8BWK6D2bog=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ in llvmPackages_15.stdenv.mkDerivation {
|
|||||||
sbcl
|
sbcl
|
||||||
git
|
git
|
||||||
pkg-config
|
pkg-config
|
||||||
fmt
|
fmt_9
|
||||||
gmpxx
|
gmpxx
|
||||||
libelf
|
libelf
|
||||||
boost
|
boost
|
||||||
|
|||||||
@@ -3,9 +3,11 @@
|
|||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
|
, libffi
|
||||||
, libpng
|
, libpng
|
||||||
, libjpeg
|
, libjpeg
|
||||||
, mesa
|
, mesa
|
||||||
|
, libGL
|
||||||
, eigen
|
, eigen
|
||||||
, openblas
|
, openblas
|
||||||
, blas
|
, blas
|
||||||
@@ -43,11 +45,14 @@ stdenv.mkDerivation rec {
|
|||||||
llvmPackages.lld
|
llvmPackages.lld
|
||||||
llvmPackages.openmp
|
llvmPackages.openmp
|
||||||
llvmPackages.libclang
|
llvmPackages.libclang
|
||||||
|
libffi
|
||||||
libpng
|
libpng
|
||||||
libjpeg
|
libjpeg
|
||||||
mesa
|
|
||||||
eigen
|
eigen
|
||||||
openblas
|
openblas
|
||||||
|
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||||
|
mesa
|
||||||
|
libGL
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
@@ -57,6 +62,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = "https://halide-lang.org";
|
homepage = "https://halide-lang.org";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = with maintainers; [ ck3d atila ];
|
maintainers = with maintainers; [ ck3d atila twesterhout ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
||||||
, cmake, which, m4, python3, bison, flex, llvmPackages, ncurses
|
, cmake, which, m4, python3, bison, flex, llvmPackages, ncurses, xcode
|
||||||
|
|
||||||
# the default test target is sse4, but that is not supported by all Hydra agents
|
# the default test target is sse4, but that is not supported by all Hydra agents
|
||||||
, testedTargets ? if stdenv.isAarch64 || stdenv.isAarch32 then [ "neon-i32x4" ] else [ "sse2-i32x4" ]
|
, testedTargets ? if stdenv.isAarch64 || stdenv.isAarch32 then [ "neon-i32x4" ] else [ "sse2-i32x4" ]
|
||||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-WBAVgjQjW4x9JGx6xotPoTVOePsPjBJEyBYA7TCTBvc=";
|
sha256 = "sha256-WBAVgjQjW4x9JGx6xotPoTVOePsPjBJEyBYA7TCTBvc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake which m4 bison flex python3 llvmPackages.libllvm.dev ];
|
nativeBuildInputs = [ cmake which m4 bison flex python3 llvmPackages.libllvm.dev ] ++ lib.lists.optionals stdenv.isDarwin [ xcode ];
|
||||||
buildInputs = with llvmPackages; [
|
buildInputs = with llvmPackages; [
|
||||||
libllvm libclang openmp ncurses
|
libllvm libclang openmp ncurses
|
||||||
];
|
];
|
||||||
@@ -30,8 +30,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
inherit testedTargets;
|
inherit testedTargets;
|
||||||
|
|
||||||
# needs 'transcendentals' executable, which is only on linux
|
doCheck = true;
|
||||||
doCheck = stdenv.isLinux;
|
|
||||||
|
|
||||||
# the compiler enforces -Werror, and -fno-strict-overflow makes it mad.
|
# the compiler enforces -Werror, and -fno-strict-overflow makes it mad.
|
||||||
# hilariously this is something of a double negative: 'disable' the
|
# hilariously this is something of a double negative: 'disable' the
|
||||||
@@ -60,6 +59,8 @@ stdenv.mkDerivation rec {
|
|||||||
"-DISPC_INCLUDE_UTILS=OFF"
|
"-DISPC_INCLUDE_UTILS=OFF"
|
||||||
("-DARM_ENABLED=" + (if stdenv.isAarch64 || stdenv.isAarch32 then "TRUE" else "FALSE"))
|
("-DARM_ENABLED=" + (if stdenv.isAarch64 || stdenv.isAarch32 then "TRUE" else "FALSE"))
|
||||||
("-DX86_ENABLED=" + (if stdenv.isx86_64 || stdenv.isx86_32 then "TRUE" else "FALSE"))
|
("-DX86_ENABLED=" + (if stdenv.isx86_64 || stdenv.isx86_32 then "TRUE" else "FALSE"))
|
||||||
|
] ++ lib.lists.optionals stdenv.isDarwin [
|
||||||
|
"-DISPC_MACOS_SDK_PATH=${xcode}/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|||||||
@@ -1,31 +1,43 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, llvmPackages
|
, llvmPackages_13
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, libiconv
|
, libiconv
|
||||||
|
, MacOSX-SDK
|
||||||
|
, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
llvmPackages = llvmPackages_13;
|
||||||
inherit (llvmPackages) stdenv;
|
inherit (llvmPackages) stdenv;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "odin";
|
pname = "odin";
|
||||||
version = "0.13.0";
|
version = "dev-2023-05";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "odin-lang";
|
owner = "odin-lang";
|
||||||
repo = "Odin";
|
repo = "Odin";
|
||||||
rev = "v${version}";
|
rev = version;
|
||||||
sha256 = "ke2HPxVtF/Lh74Tv6XbpM9iLBuXLdH1+IE78MAacfYY=";
|
sha256 = "sha256-qEewo2h4dpivJ7D4RxxBZbtrsiMJ7AgqJcucmanbgxY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeWrapper
|
makeWrapper which
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||||
|
|
||||||
postPatch = ''
|
LLVM_CONFIG = "${llvmPackages.llvm.dev}/bin/llvm-config";
|
||||||
sed -i 's/^GIT_SHA=.*$/GIT_SHA=/' Makefile
|
|
||||||
|
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||||
|
sed -i src/main.cpp \
|
||||||
|
-e 's|-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk|-syslibroot ${MacOSX-SDK}|'
|
||||||
|
'' + ''
|
||||||
|
sed -i build_odin.sh \
|
||||||
|
-e 's/^GIT_SHA=.*$/GIT_SHA=/' \
|
||||||
|
-e 's/LLVM-C/LLVM/' \
|
||||||
|
-e 's/framework System/lSystem/'
|
||||||
|
patchShebangs build_odin.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
@@ -37,21 +49,26 @@ in stdenv.mkDerivation rec {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp odin $out/bin/odin
|
cp odin $out/bin/odin
|
||||||
cp -r core $out/bin/core
|
|
||||||
|
|
||||||
wrapProgram $out/bin/odin --prefix PATH : ${lib.makeBinPath (with llvmPackages; [
|
mkdir -p $out/share
|
||||||
bintools
|
cp -r core $out/share/core
|
||||||
llvm
|
cp -r vendor $out/share/vendor
|
||||||
clang
|
|
||||||
lld
|
wrapProgram $out/bin/odin \
|
||||||
])}
|
--prefix PATH : ${lib.makeBinPath (with llvmPackages; [
|
||||||
|
bintools
|
||||||
|
llvm
|
||||||
|
clang
|
||||||
|
lld
|
||||||
|
])} \
|
||||||
|
--set-default ODIN_ROOT $out/share
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A fast, concise, readable, pragmatic and open sourced programming language";
|
description = "A fast, concise, readable, pragmatic and open sourced programming language";
|
||||||
homepage = "https://odin-lang.org/";
|
homepage = "https://odin-lang.org/";
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd3;
|
||||||
maintainers = with maintainers; [ luc65r ];
|
maintainers = with maintainers; [ luc65r astavie ];
|
||||||
platforms = platforms.x86_64;
|
platforms = platforms.x86_64 ++ [ "aarch64-darwin" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1696,6 +1696,8 @@ self: super: {
|
|||||||
sha256 = "sha256-J8N4+HUQ6vlJBCwCyxv8Fv5HSbtiim64Qh1n9CaRe1o=";
|
sha256 = "sha256-J8N4+HUQ6vlJBCwCyxv8Fv5HSbtiim64Qh1n9CaRe1o=";
|
||||||
stripLen = 1;
|
stripLen = 1;
|
||||||
})
|
})
|
||||||
|
# https://github.com/hercules-ci/hercules-ci-agent/pull/526
|
||||||
|
./patches/hercules-ci-agent-cachix-1.6.patch
|
||||||
])
|
])
|
||||||
(self.generateOptparseApplicativeCompletions [ "hercules-ci-agent" ])
|
(self.generateOptparseApplicativeCompletions [ "hercules-ci-agent" ])
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1047,29 +1047,29 @@ self: super: builtins.intersectAttrs super {
|
|||||||
domaindriven-core = dontCheck super.domaindriven-core;
|
domaindriven-core = dontCheck super.domaindriven-core;
|
||||||
|
|
||||||
cachix-api = overrideCabal (drv: {
|
cachix-api = overrideCabal (drv: {
|
||||||
version = "1.5";
|
version = "1.6";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "cachix";
|
owner = "cachix";
|
||||||
repo = "cachix";
|
repo = "cachix";
|
||||||
rev = "v1.5";
|
rev = "v1.6";
|
||||||
sha256 = "sha256-bt8FFtDSJpBckx3dIjW5Xdvj8aVCm78R3VTpjK5F3Ac=";
|
sha256 = "sha256-54ujAZYNigAn1oJAfupUtZHa0WRQbCQGLEfLmkw8iFc=";
|
||||||
};
|
};
|
||||||
postUnpack = "sourceRoot=$sourceRoot/cachix-api";
|
postUnpack = "sourceRoot=$sourceRoot/cachix-api";
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i 's/1.4.2/1.5/' cachix-api.cabal
|
sed -i 's/1.5/1.6/' cachix-api.cabal
|
||||||
'';
|
'';
|
||||||
}) super.cachix-api;
|
}) super.cachix-api;
|
||||||
cachix = overrideCabal (drv: {
|
cachix = overrideCabal (drv: {
|
||||||
version = "1.5";
|
version = "1.6";
|
||||||
src = pkgs.fetchFromGitHub {
|
src = pkgs.fetchFromGitHub {
|
||||||
owner = "cachix";
|
owner = "cachix";
|
||||||
repo = "cachix";
|
repo = "cachix";
|
||||||
rev = "v1.5";
|
rev = "v1.6";
|
||||||
sha256 = "sha256-bt8FFtDSJpBckx3dIjW5Xdvj8aVCm78R3VTpjK5F3Ac=";
|
sha256 = "sha256-54ujAZYNigAn1oJAfupUtZHa0WRQbCQGLEfLmkw8iFc=";
|
||||||
};
|
};
|
||||||
postUnpack = "sourceRoot=$sourceRoot/cachix";
|
postUnpack = "sourceRoot=$sourceRoot/cachix";
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i 's/1.4.2/1.5/' cachix.cabal
|
sed -i 's/1.5/1.6/' cachix.cabal
|
||||||
'';
|
'';
|
||||||
}) (lib.pipe
|
}) (lib.pipe
|
||||||
(super.cachix.override {
|
(super.cachix.override {
|
||||||
@@ -1080,8 +1080,7 @@ self: super: builtins.intersectAttrs super {
|
|||||||
[
|
[
|
||||||
(addBuildTool self.hercules-ci-cnix-store.nixPackage)
|
(addBuildTool self.hercules-ci-cnix-store.nixPackage)
|
||||||
(addBuildTool pkgs.pkg-config)
|
(addBuildTool pkgs.pkg-config)
|
||||||
(addBuildDepend self.inline-c-cpp)
|
(addBuildDepend self.ascii-progress)
|
||||||
(addBuildDepend self.hercules-ci-cnix-store)
|
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
diff --git a/hercules-ci-agent/hercules-ci-agent/Hercules/Agent/Cachix.hs b/hercules-ci-agent/hercules-ci-agent/Hercules/Agent/Cachix.hs
|
||||||
|
index 849d9bc..972bc90 100644
|
||||||
|
--- hercules-ci-agent/hercules-ci-agent/Hercules/Agent/Cachix.hs
|
||||||
|
+++ hercules-ci-agent/hercules-ci-agent/Hercules/Agent/Cachix.hs
|
||||||
|
@@ -17,6 +17,7 @@ import Hercules.Agent.Log
|
||||||
|
import Hercules.CNix.Store (StorePath)
|
||||||
|
import Hercules.Error
|
||||||
|
import qualified Hercules.Formats.CachixCache as CachixCache
|
||||||
|
+import qualified Data.Conduit as Conduit
|
||||||
|
import Protolude
|
||||||
|
|
||||||
|
push :: Text -> [StorePath] -> Int -> App ()
|
||||||
|
@@ -36,6 +37,9 @@ push cache paths workers = withNamedContext "cache" cache $ do
|
||||||
|
Cachix.Push.PushParams
|
||||||
|
{ pushParamsName = Agent.Cachix.pushCacheName pushCache,
|
||||||
|
pushParamsSecret = Agent.Cachix.pushCacheSecret pushCache,
|
||||||
|
+#if MIN_VERSION_cachix(1,6,0)
|
||||||
|
+ pushOnClosureAttempt = \_ missing -> return missing,
|
||||||
|
+#endif
|
||||||
|
pushParamsStore = nixStore,
|
||||||
|
pushParamsClientEnv = clientEnv,
|
||||||
|
pushParamsStrategy = \storePath ->
|
||||||
|
@@ -59,6 +63,9 @@ push cache paths workers = withNamedContext "cache" cache $ do
|
||||||
|
compressionLevel = 2,
|
||||||
|
#else
|
||||||
|
withXzipCompressor = Cachix.Push.defaultWithXzipCompressor,
|
||||||
|
+#endif
|
||||||
|
+#if MIN_VERSION_cachix(1,6,0)
|
||||||
|
+ onUncompressedNARStream = \_ _ -> Conduit.awaitForever Conduit.yield,
|
||||||
|
#endif
|
||||||
|
omitDeriver = False
|
||||||
|
}
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
, libGL
|
, libGL
|
||||||
, libGLU
|
, libGLU
|
||||||
, libjpeg
|
, libjpeg
|
||||||
, xorg
|
|
||||||
, ncurses
|
, ncurses
|
||||||
, libpng, libtool, mpfr, openssl, pango, poppler
|
, libpng, libtool, mpfr, openssl, pango, poppler
|
||||||
, readline, sqlite
|
, readline, sqlite
|
||||||
@@ -25,7 +24,7 @@ let
|
|||||||
fontDirectories = [ freefont_ttf ];
|
fontDirectories = [ freefont_ttf ];
|
||||||
};
|
};
|
||||||
|
|
||||||
libPath = lib.makeLibraryPath [
|
libPath = lib.makeLibraryPath ([
|
||||||
cairo
|
cairo
|
||||||
fontconfig
|
fontconfig
|
||||||
glib
|
glib
|
||||||
@@ -33,8 +32,6 @@ let
|
|||||||
gtk3
|
gtk3
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
libedit
|
libedit
|
||||||
libGL
|
|
||||||
libGLU
|
|
||||||
libjpeg
|
libjpeg
|
||||||
libpng
|
libpng
|
||||||
mpfr
|
mpfr
|
||||||
@@ -44,7 +41,10 @@ let
|
|||||||
poppler
|
poppler
|
||||||
readline
|
readline
|
||||||
sqlite
|
sqlite
|
||||||
];
|
] ++ lib.optionals (!stdenv.isDarwin) [
|
||||||
|
libGL
|
||||||
|
libGLU
|
||||||
|
]);
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user