Project import generated by Copybara.

GitOrigin-RevId: 945ec499041db73043f745fad3b2a3a01e826081
This commit is contained in:
Default email 2022-01-25 20:04:25 -08:00
parent 0eeabdeb66
commit 68d7e71424
506 changed files with 7971 additions and 3167 deletions

View file

@ -40,6 +40,24 @@ Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this c
Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout. Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout.
If only parts of the repository are needed, `sparseCheckout` can be used. This will prevent git from fetching unnecessary blobs from server, see [git sparse-checkout](https://git-scm.com/docs/git-sparse-checkout) and [git clone --filter](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---filterltfilter-specgt) for more infomation:
```nix
{ stdenv, fetchgit }:
stdenv.mkDerivation {
name = "hello";
src = fetchgit {
url = "https://...";
sparseCheckout = ''
path/to/be/included
another/path
'';
sha256 = "0000000000000000000000000000000000000000000000000000";
};
}
```
## `fetchfossil` {#fetchfossil} ## `fetchfossil` {#fetchfossil}
Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`. Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`.

View file

@ -122,8 +122,9 @@ let
mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule mkRenamedOptionModule mkMergedOptionModule mkChangedOptionModule
mkAliasOptionModule mkDerivedConfig doRename; mkAliasOptionModule mkDerivedConfig doRename;
inherit (self.options) isOption mkEnableOption mkSinkUndeclaredOptions inherit (self.options) isOption mkEnableOption mkSinkUndeclaredOptions
mergeDefaultOption mergeOneOption mergeEqualOption getValues mergeDefaultOption mergeOneOption mergeEqualOption mergeUniqueOption
getFiles optionAttrSetToDocList optionAttrSetToDocList' getValues getFiles
optionAttrSetToDocList optionAttrSetToDocList'
scrubOptionValue literalExpression literalExample literalDocBook scrubOptionValue literalExpression literalExample literalDocBook
showOption showFiles unknownModule mkOption; showOption showFiles unknownModule mkOption;
inherit (self.types) isType setType defaultTypeMerge defaultFunctor inherit (self.types) isType setType defaultTypeMerge defaultFunctor

View file

@ -172,11 +172,13 @@ rec {
else if all isInt list && all (x: x == head list) list then head list else if all isInt list && all (x: x == head list) list then head list
else throw "Cannot merge definitions of `${showOption loc}'. Definition values:${showDefs defs}"; else throw "Cannot merge definitions of `${showOption loc}'. Definition values:${showDefs defs}";
mergeOneOption = loc: defs: mergeOneOption = mergeUniqueOption { message = ""; };
if defs == [] then abort "This case should never happen."
else if length defs != 1 then mergeUniqueOption = { message }: loc: defs:
throw "The unique option `${showOption loc}' is defined multiple times. Definition values:${showDefs defs}" if length defs == 1
else (head defs).value; then (head defs).value
else assert length defs > 1;
throw "The option `${showOption loc}' is defined multiple times.\n${message}\nDefinition values:${showDefs defs}";
/* "Merge" option definitions by checking that they all have the same value. */ /* "Merge" option definitions by checking that they all have the same value. */
mergeEqualOption = loc: defs: mergeEqualOption = loc: defs:

View file

@ -32,7 +32,6 @@ let
last last
length length
tail tail
unique
; ;
inherit (lib.attrsets) inherit (lib.attrsets)
attrNames attrNames
@ -48,6 +47,7 @@ let
mergeDefaultOption mergeDefaultOption
mergeEqualOption mergeEqualOption
mergeOneOption mergeOneOption
mergeUniqueOption
showFiles showFiles
showOption showOption
; ;
@ -470,6 +470,18 @@ rec {
nestedTypes.elemType = elemType; nestedTypes.elemType = elemType;
}; };
unique = { message }: type: mkOptionType rec {
name = "unique";
inherit (type) description check;
merge = mergeUniqueOption { inherit message; };
emptyValue = type.emptyValue;
getSubOptions = type.getSubOptions;
getSubModules = type.getSubModules;
substSubModules = m: uniq (type.substSubModules m);
functor = (defaultFunctor name) // { wrapped = type; };
nestedTypes.elemType = type;
};
# Null or value of ... # Null or value of ...
nullOr = elemType: mkOptionType rec { nullOr = elemType: mkOptionType rec {
name = "nullOr"; name = "nullOr";
@ -599,6 +611,7 @@ rec {
# A value from a set of allowed ones. # A value from a set of allowed ones.
enum = values: enum = values:
let let
inherit (lib.lists) unique;
show = v: show = v:
if builtins.isString v then ''"${v}"'' if builtins.isString v then ''"${v}"''
else if builtins.isInt v then builtins.toString v else if builtins.isInt v then builtins.toString v

View file

@ -515,6 +515,8 @@
}; };
algorith = { algorith = {
email = "dries_van_daele@telenet.be"; email = "dries_van_daele@telenet.be";
github = "DriesVanDaele";
githubId = 1141488;
name = "Dries Van Daele"; name = "Dries Van Daele";
}; };
alibabzo = { alibabzo = {
@ -3543,7 +3545,7 @@
name = "Leo Maroni"; name = "Leo Maroni";
}; };
emmanuelrosa = { emmanuelrosa = {
email = "emmanuel_rosa@aol.com"; email = "emmanuelrosa@protonmail.com";
matrix = "@emmanuelrosa:matrix.org"; matrix = "@emmanuelrosa:matrix.org";
github = "emmanuelrosa"; github = "emmanuelrosa";
githubId = 13485450; githubId = 13485450;
@ -5982,6 +5984,13 @@
githubId = 107689; githubId = 107689;
name = "Josh Holland"; name = "Josh Holland";
}; };
jsierles = {
email = "joshua@hey.com";
matrix = "@jsierles:matrix.org";
name = "Joshua Sierles";
github = "jsierles";
githubId = 82;
};
jtcoolen = { jtcoolen = {
email = "jtcoolen@pm.me"; email = "jtcoolen@pm.me";
name = "Julien Coolen"; name = "Julien Coolen";
@ -7024,7 +7033,7 @@
email = "nullarequest@vivlaid.net"; email = "nullarequest@vivlaid.net";
github = "Lunarequest"; github = "Lunarequest";
githubId = 30698906; githubId = 30698906;
name = "Advaith Madhukar"; # this is my legal name, I prefer Luna; please keep that in mind! name = "Luna D Dragon";
}; };
lionello = { lionello = {
email = "lio@lunesu.com"; email = "lio@lunesu.com";
@ -8586,6 +8595,12 @@
githubId = 7845120; githubId = 7845120;
name = "Alex Martens"; name = "Alex Martens";
}; };
nialov = {
email = "nikolasovaskainen@gmail.com";
github = "nialov";
githubId = 47318483;
name = "Nikolas Ovaskainen";
};
nikitavoloboev = { nikitavoloboev = {
email = "nikita.voloboev@gmail.com"; email = "nikita.voloboev@gmail.com";
github = "nikitavoloboev"; github = "nikitavoloboev";
@ -12041,7 +12056,7 @@
name = "Tiago Castro"; name = "Tiago Castro";
}; };
tilcreator = { tilcreator = {
name = "Tilman Jackel"; name = "TilCreator";
email = "contact.nixos@tc-j.de"; email = "contact.nixos@tc-j.de";
matrix = "@tilcreator:matrix.org"; matrix = "@tilcreator:matrix.org";
github = "TilCreator"; github = "TilCreator";

View file

@ -250,6 +250,12 @@ Composed types are types that take a type as parameter. `listOf
: Ensures that type *`t`* cannot be merged. It is used to ensure option : Ensures that type *`t`* cannot be merged. It is used to ensure option
definitions are declared only once. definitions are declared only once.
`types.unique` `{ message = m }` *`t`*
: Ensures that type *`t`* cannot be merged. Prints the message *`m`*, after
the line `The option <option path> is defined multiple times.` and before
a list of definition locations.
`types.either` *`t1 t2`* `types.either` *`t1 t2`*
: Type *`t1`* or type *`t2`*, e.g. `with types; either int str`. : Type *`t1`* or type *`t2`*, e.g. `with types; either int str`.

View file

@ -496,6 +496,22 @@
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>
<literal>types.unique</literal>
<literal>{ message = m }</literal>
<emphasis><literal>t</literal></emphasis>
</term>
<listitem>
<para>
Ensures that type <emphasis><literal>t</literal></emphasis>
cannot be merged. Prints the message
<emphasis><literal>m</literal></emphasis>, after the line
<literal>The option &lt;option path&gt; is defined multiple times.</literal>
and before a list of definition locations.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term> <term>
<literal>types.either</literal> <literal>types.either</literal>

View file

@ -356,6 +356,19 @@
loaded. loaded.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The iputils package, which is installed by default, no longer
provides the legacy tools <literal>tftpd</literal> and
<literal>traceroute6</literal>. More tools
(<literal>ninfod</literal>, <literal>rarpd</literal>, and
<literal>rdisc</literal>) are going to be removed in the next
release. See
<link xlink:href="https://github.com/iputils/iputils/releases/tag/20211215">upstreams
release notes</link> for more details and available
replacements.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<literal>services.thelounge.private</literal> was removed in <literal>services.thelounge.private</literal> was removed in

View file

@ -116,6 +116,12 @@ In addition to numerous new and upgraded packages, this release has the followin
- `idris2` now requires `--package` when using packages `contrib` and `network`, while previously these idris2 packages were automatically loaded. - `idris2` now requires `--package` when using packages `contrib` and `network`, while previously these idris2 packages were automatically loaded.
- The iputils package, which is installed by default, no longer provides the
legacy tools `tftpd` and `traceroute6`. More tools (`ninfod`, `rarpd`, and
`rdisc`) are going to be removed in the next release. See
[upstream's release notes](https://github.com/iputils/iputils/releases/tag/20211215)
for more details and available replacements.
- `services.thelounge.private` was removed in favor of `services.thelounge.public`, to follow with upstream changes. - `services.thelounge.private` was removed in favor of `services.thelounge.public`, to follow with upstream changes.
- `pkgs.docbookrx` was removed since it's unmaintained - `pkgs.docbookrx` was removed since it's unmaintained

View file

@ -1035,7 +1035,7 @@ in
setuid = true; setuid = true;
owner = "root"; owner = "root";
group = "root"; group = "root";
source = "${pkgs.pam}/sbin/unix_chkpwd.orig"; source = "${pkgs.pam}/bin/unix_chkpwd";
}; };
}; };

View file

@ -70,7 +70,7 @@ in
type = types.listOf (types.submodule bindingCfg); type = types.listOf (types.submodule bindingCfg);
default = []; default = [];
example = lib.literalExpression '' example = lib.literalExpression ''
[ { keys = ["PLAYPAUSE"]; cmd = "''${pkgs.mpc_cli}/bin/mpc -q toggle"; } ] [ { keys = ["PLAYPAUSE"]; cmd = "''${pkgs.mpc-cli}/bin/mpc -q toggle"; } ]
''; '';
description = '' description = ''
Key bindings for <command>triggerhappy</command>. Key bindings for <command>triggerhappy</command>.

View file

@ -1099,7 +1099,9 @@ in {
"d ${gitlabConfig.production.shared.path} 0750 ${cfg.user} ${cfg.group} -" "d ${gitlabConfig.production.shared.path} 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -" "d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -" "d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/packages 0750 ${cfg.user} ${cfg.group} -"
"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}/terraform_state 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"

View file

@ -278,6 +278,11 @@ in {
"bluetooth_tracker" "bluetooth_tracker"
"bluetooth_le_tracker" "bluetooth_le_tracker"
]; ];
componentsUsingPing = [
# Components that require the capset syscall for the ping wrapper
"ping"
"wake_on_lan"
];
componentsUsingSerialDevices = [ componentsUsingSerialDevices = [
# Components that require access to serial devices (/dev/tty*) # Components that require access to serial devices (/dev/tty*)
# List generated from home-assistant documentation: # List generated from home-assistant documentation:
@ -382,6 +387,8 @@ in {
SystemCallFilter = [ SystemCallFilter = [
"@system-service" "@system-service"
"~@privileged" "~@privileged"
] ++ optionals (any useComponent componentsUsingPing) [
"capset"
]; ];
UMask = "0077"; UMask = "0077";
}; };

View file

@ -119,6 +119,30 @@ ${cfg.extraConfig}
hasLocalPostgresDB = let args = cfg.database_args; in hasLocalPostgresDB = let args = cfg.database_args; in
usePostgresql && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ])); usePostgresql && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ]));
registerNewMatrixUser =
let
isIpv6 = x: lib.length (lib.splitString ":" x) > 1;
listener =
lib.findFirst (
listener: lib.any (
resource: lib.any (
name: name == "client"
) resource.names
) listener.resources
) (lib.last cfg.listeners) cfg.listeners;
in
pkgs.writeShellScriptBin "matrix-synapse-register_new_matrix_user" ''
exec ${cfg.package}/bin/register_new_matrix_user \
$@ \
${lib.concatMapStringsSep " " (x: "-c ${x}") ([ configFile ] ++ cfg.extraConfigFiles)} \
"${listener.type}://${
if (isIpv6 listener.bind_address) then
"[${listener.bind_address}]"
else
"${listener.bind_address}"
}:${builtins.toString listener.port}/"
'';
in { in {
options = { options = {
services.matrix-synapse = { services.matrix-synapse = {
@ -294,7 +318,7 @@ in {
description = '' description = ''
List of resources to host on this listener. List of resources to host on this listener.
''; '';
example = ["client" "webclient" "federation"]; example = ["client" "federation"];
}; };
compress = mkOption { compress = mkOption {
type = types.bool; type = types.bool;
@ -319,7 +343,7 @@ in {
tls = true; tls = true;
x_forwarded = false; x_forwarded = false;
resources = [ resources = [
{ names = ["client" "webclient"]; compress = true; } { names = ["client"]; compress = true; }
{ names = ["federation"]; compress = false; } { names = ["federation"]; compress = false; }
]; ];
}]; }];
@ -792,6 +816,8 @@ in {
UMask = "0077"; UMask = "0077";
}; };
}; };
environment.systemPackages = [ registerNewMatrixUser ];
}; };
imports = [ imports = [

View file

@ -31,7 +31,23 @@ let
default = true; default = true;
description = '' description = ''
Whether the config should be checked at build time. Whether the config should be checked at build time.
Disabling this might become necessary if the config includes files not present during build time. When the config can't be checked during build time, for example when it includes
other files, either disable this option or use <code>preCheckConfig</code> to create
the included files before checking.
'';
};
preCheckConfig = mkOption {
type = types.lines;
default = "";
example = ''
echo "cost 100;" > include.conf
'';
description = ''
Commands to execute before the config file check. The file to be checked will be
available as <code>${variant}.conf</code> in the current directory.
Files created with this option will not be available at service runtime, only during
build time checking.
''; '';
}; };
}; };
@ -45,7 +61,9 @@ let
name = "${variant}.conf"; name = "${variant}.conf";
text = cfg.config; text = cfg.config;
checkPhase = optionalString cfg.checkConfig '' checkPhase = optionalString cfg.checkConfig ''
${pkg}/bin/${birdBin} -d -p -c $out ln -s $out ${variant}.conf
${cfg.preCheckConfig}
${pkg}/bin/${birdBin} -d -p -c ${variant}.conf
''; '';
}; };

View file

@ -794,6 +794,11 @@ in
}; };
})); }));
}; };
options.ShutdownWaitLength = mkOption {
type = types.int;
default = 30;
description = descriptionGeneric "ShutdownWaitLength";
};
options.SocksPolicy = optionStrings "SocksPolicy" // { options.SocksPolicy = optionStrings "SocksPolicy" // {
example = ["accept *:*"]; example = ["accept *:*"];
}; };
@ -977,7 +982,7 @@ in
ExecStart = "${cfg.package}/bin/tor -f ${torrc}"; ExecStart = "${cfg.package}/bin/tor -f ${torrc}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
KillSignal = "SIGINT"; KillSignal = "SIGINT";
TimeoutSec = 30; TimeoutSec = cfg.settings.ShutdownWaitLength + 30; # Wait a bit longer than ShutdownWaitLength before actually timing out
Restart = "on-failure"; Restart = "on-failure";
LimitNOFILE = 32768; LimitNOFILE = 32768;
RuntimeDirectory = [ RuntimeDirectory = [

View file

@ -55,8 +55,8 @@ let
substituteInPlace $out/dry-activate --subst-var out substituteInPlace $out/dry-activate --subst-var out
chmod u+x $out/activate $out/dry-activate chmod u+x $out/activate $out/dry-activate
unset activationScript dryActivationScript unset activationScript dryActivationScript
${pkgs.stdenv.shell} -n $out/activate ${pkgs.stdenv.shellDryRun} $out/activate
${pkgs.stdenv.shell} -n $out/dry-activate ${pkgs.stdenv.shellDryRun} $out/dry-activate
cp ${config.system.build.bootStage2} $out/init cp ${config.system.build.bootStage2} $out/init
substituteInPlace $out/init --subst-var-by systemConfig $out substituteInPlace $out/init --subst-var-by systemConfig $out
@ -109,9 +109,7 @@ let
utillinux = pkgs.util-linux; utillinux = pkgs.util-linux;
kernelParams = config.boot.kernelParams; kernelParams = config.boot.kernelParams;
installBootLoader = installBootLoader = config.system.build.installBootLoader;
config.system.build.installBootLoader
or "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
activationScript = config.system.activationScripts.script; activationScript = config.system.activationScripts.script;
dryActivationScript = config.system.dryActivationScript; dryActivationScript = config.system.dryActivationScript;
nixosLabel = config.system.nixos.label; nixosLabel = config.system.nixos.label;
@ -135,25 +133,27 @@ let
pkgs.replaceDependency { inherit oldDependency newDependency drv; } pkgs.replaceDependency { inherit oldDependency newDependency drv; }
) baseSystemAssertWarn config.system.replaceRuntimeDependencies; ) baseSystemAssertWarn config.system.replaceRuntimeDependencies;
/* Workaround until https://github.com/NixOS/nixpkgs/pull/156533
Call can be replaced by argument when that's merged.
*/
tmpFixupSubmoduleBoundary = subopts:
lib.mkOption {
type = lib.types.submoduleWith {
modules = [ { options = subopts; } ];
};
};
in in
{ {
imports = [ imports = [
../build.nix
(mkRemovedOptionModule [ "nesting" "clone" ] "Use `specialisation.«name» = { inheritParentConfig = true; configuration = { ... }; }` instead.") (mkRemovedOptionModule [ "nesting" "clone" ] "Use `specialisation.«name» = { inheritParentConfig = true; configuration = { ... }; }` instead.")
(mkRemovedOptionModule [ "nesting" "children" ] "Use `specialisation.«name».configuration = { ... }` instead.") (mkRemovedOptionModule [ "nesting" "children" ] "Use `specialisation.«name».configuration = { ... }` instead.")
]; ];
options = { options = {
system.build = mkOption {
internal = true;
default = {};
type = with types; lazyAttrsOf (uniq unspecified);
description = ''
Attribute set of derivations used to setup the system.
'';
};
specialisation = mkOption { specialisation = mkOption {
default = {}; default = {};
example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.buildCores = 0; nix.maxJobs = 1; }; }"; example = lib.literalExpression "{ fewJobsManyCores.configuration = { nix.buildCores = 0; nix.maxJobs = 1; }; }";
@ -224,6 +224,39 @@ in
''; '';
}; };
system.build = tmpFixupSubmoduleBoundary {
installBootLoader = mkOption {
internal = true;
# "; true" => make the `$out` argument from switch-to-configuration.pl
# go to `true` instead of `echo`, hiding the useless path
# from the log.
default = "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
description = ''
A program that writes a bootloader installation script to the path passed in the first command line argument.
See <literal>nixos/modules/system/activation/switch-to-configuration.pl</literal>.
'';
type = types.unique {
message = ''
Only one bootloader can be enabled at a time. This requirement has not
been checked until NixOS 22.05. Earlier versions defaulted to the last
definition. Change your configuration to enable only one bootloader.
'';
} (types.either types.str types.package);
};
toplevel = mkOption {
type = types.package;
readOnly = true;
description = ''
This option contains the store path that typically represents a NixOS system.
You can read this path in a custom deployment tool for example.
'';
};
};
system.copySystemConfiguration = mkOption { system.copySystemConfiguration = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;

View file

@ -210,20 +210,14 @@ let
makeJobScript = name: text: makeJobScript = name: text:
let let
scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name); scriptName = replaceChars [ "\\" "@" ] [ "-" "_" ] (shellEscape name);
out = pkgs.writeTextFile { out = (pkgs.writeShellScriptBin scriptName ''
set -e
${text}
'').overrideAttrs (_: {
# The derivation name is different from the script file name # The derivation name is different from the script file name
# to keep the script file name short to avoid cluttering logs. # to keep the script file name short to avoid cluttering logs.
name = "unit-script-${scriptName}"; name = "unit-script-${scriptName}";
executable = true; });
destination = "/bin/${scriptName}";
text = ''
#!${pkgs.runtimeShell} -e
${text}
'';
checkPhase = ''
${pkgs.stdenv.shell} -n "$out/bin/${scriptName}"
'';
};
in "${out}/bin/${scriptName}"; in "${out}/bin/${scriptName}";
unitConfig = { config, options, ... }: { unitConfig = { config, options, ... }: {

View file

@ -0,0 +1,21 @@
{ lib, ... }:
let
inherit (lib) mkOption types;
in
{
options = {
system.build = mkOption {
default = {};
description = ''
Attribute set of derivations used to set up the system.
'';
type = types.submoduleWith {
modules = [{
freeformType = with types; lazyAttrsOf (uniq unspecified);
}];
};
};
};
}

View file

@ -46,6 +46,7 @@ in
beanstalkd = handleTest ./beanstalkd.nix {}; beanstalkd = handleTest ./beanstalkd.nix {};
bees = handleTest ./bees.nix {}; bees = handleTest ./bees.nix {};
bind = handleTest ./bind.nix {}; bind = handleTest ./bind.nix {};
bird = handleTest ./bird.nix {};
bitcoind = handleTest ./bitcoind.nix {}; bitcoind = handleTest ./bitcoind.nix {};
bittorrent = handleTest ./bittorrent.nix {}; bittorrent = handleTest ./bittorrent.nix {};
blockbook-frontend = handleTest ./blockbook-frontend.nix {}; blockbook-frontend = handleTest ./blockbook-frontend.nix {};

View file

@ -18,13 +18,13 @@ import ./make-test-python.nix ({ pkgs, ... }: {
"mkdir /tmp/mnt", "mkdir /tmp/mnt",
"udevadm settle", "udevadm settle",
"parted --script /dev/vdb mklabel msdos", "parted --script /dev/vdb mklabel msdos",
"parted --script /dev/vdb -- mkpart primary 1024M -1s", "parted --script /dev/vdb -- mkpart primary 1024M 50% mkpart primary 50% -1s",
"udevadm settle", "udevadm settle",
# Due to #32279, we cannot use encryption for this test yet # Due to #32279, we cannot use encryption for this test yet
# "echo password | bcachefs format --encrypted /dev/vdb1", # "echo password | bcachefs format --encrypted --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2",
# "echo password | bcachefs unlock /dev/vdb1", # "echo password | bcachefs unlock /dev/vdb1",
"bcachefs format /dev/vdb1", "bcachefs format --metadata_replicas 2 --label vtest /dev/vdb1 /dev/vdb2",
"mount -t bcachefs /dev/vdb1 /tmp/mnt", "mount -t bcachefs /dev/vdb1:/dev/vdb2 /tmp/mnt",
"udevadm settle", "udevadm settle",
"bcachefs fs usage /tmp/mnt", "bcachefs fs usage /tmp/mnt",
"umount /tmp/mnt", "umount /tmp/mnt",

205
third_party/nixpkgs/nixos/tests/bird.nix vendored Normal file
View file

@ -0,0 +1,205 @@
# This test does a basic functionality check for all bird variants and demonstrates a use
# of the preCheckConfig option.
{ system ? builtins.currentSystem
, pkgs ? import ../.. { inherit system; config = { }; }
}:
let
inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
inherit (pkgs.lib) optionalString;
hostShared = hostId: { pkgs, ... }: {
virtualisation.vlans = [ 1 ];
environment.systemPackages = with pkgs; [ jq ];
networking = {
useNetworkd = true;
useDHCP = false;
firewall.enable = false;
};
systemd.network.networks."01-eth1" = {
name = "eth1";
networkConfig.Address = "10.0.0.${hostId}/24";
};
};
birdTest = v4:
let variant = "bird${optionalString (!v4) "6"}"; in
makeTest {
name = variant;
nodes.host1 = makeBirdHost variant "1";
nodes.host2 = makeBirdHost variant "2";
testScript = makeTestScript variant v4 (!v4);
};
bird2Test = makeTest {
name = "bird2";
nodes.host1 = makeBird2Host "1";
nodes.host2 = makeBird2Host "2";
testScript = makeTestScript "bird2" true true;
};
makeTestScript = variant: v4: v6: ''
start_all()
host1.wait_for_unit("${variant}.service")
host2.wait_for_unit("${variant}.service")
${optionalString v4 ''
with subtest("Waiting for advertised IPv4 routes"):
host1.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.2\")) | any'")
host2.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.1\")) | any'")
''}
${optionalString v6 ''
with subtest("Waiting for advertised IPv6 routes"):
host1.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::2\")) | any'")
host2.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::1\")) | any'")
''}
with subtest("Check fake routes in preCheckConfig do not exists"):
${optionalString v4 ''host1.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'")''}
${optionalString v4 ''host2.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'")''}
${optionalString v6 ''host1.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'")''}
${optionalString v6 ''host2.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'")''}
'';
makeBirdHost = variant: hostId: { pkgs, ... }: {
imports = [ (hostShared hostId) ];
services.${variant} = {
enable = true;
config = ''
log syslog all;
debug protocols all;
router id 10.0.0.${hostId};
protocol device {
}
protocol kernel {
import none;
export all;
}
protocol static {
include "static.conf";
}
protocol ospf {
export all;
area 0 {
interface "eth1" {
hello 5;
wait 5;
};
};
}
'';
preCheckConfig =
let
route = { bird = "1.2.3.4/32"; bird6 = "fd00::/128"; }.${variant};
in
''echo "route ${route} blackhole;" > static.conf'';
};
systemd.tmpfiles.rules =
let
route = { bird = "10.10.0.${hostId}/32"; bird6 = "fdff::${hostId}/128"; }.${variant};
in
[ "f /etc/bird/static.conf - - - - route ${route} blackhole;" ];
};
makeBird2Host = hostId: { pkgs, ... }: {
imports = [ (hostShared hostId) ];
services.bird2 = {
enable = true;
config = ''
log syslog all;
debug protocols all;
router id 10.0.0.${hostId};
protocol device {
}
protocol kernel kernel4 {
ipv4 {
import none;
export all;
};
}
protocol static static4 {
ipv4;
include "static4.conf";
}
protocol ospf v2 ospf4 {
ipv4 {
export all;
};
area 0 {
interface "eth1" {
hello 5;
wait 5;
};
};
}
protocol kernel kernel6 {
ipv6 {
import none;
export all;
};
}
protocol static static6 {
ipv6;
include "static6.conf";
}
protocol ospf v3 ospf6 {
ipv6 {
export all;
};
area 0 {
interface "eth1" {
hello 5;
wait 5;
};
};
}
'';
preCheckConfig = ''
echo "route 1.2.3.4/32 blackhole;" > static4.conf
echo "route fd00::/128 blackhole;" > static6.conf
'';
};
systemd.tmpfiles.rules = [
"f /etc/bird/static4.conf - - - - route 10.10.0.${hostId}/32 blackhole;"
"f /etc/bird/static6.conf - - - - route fdff::${hostId}/128 blackhole;"
];
};
in
{
bird = birdTest true;
bird6 = birdTest false;
bird2 = bird2Test;
}

View file

@ -49,6 +49,12 @@ in {
payload_on = "let_there_be_light"; payload_on = "let_there_be_light";
payload_off = "off"; payload_off = "off";
}]; }];
wake_on_lan = {};
switch = [{
platform = "wake_on_lan";
mac = "00:11:22:33:44:55";
host = "127.0.0.1";
}];
# tests component-based capability assignment (CAP_NET_BIND_SERVICE) # tests component-based capability assignment (CAP_NET_BIND_SERVICE)
emulated_hue = { emulated_hue = {
host_ip = "127.0.0.1"; host_ip = "127.0.0.1";
@ -99,6 +105,10 @@ in {
print("\n### home-assistant.log ###\n") print("\n### home-assistant.log ###\n")
print(output_log + "\n") print(output_log + "\n")
# wait for home-assistant to fully boot
hass.sleep(30)
hass.wait_for_unit("home-assistant.service")
with subtest("Check that no errors were logged"): with subtest("Check that no errors were logged"):
assert "ERROR" not in output_log assert "ERROR" not in output_log

View file

@ -96,7 +96,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
}; };
testScript = '' testScript = ''
mpc = "${pkgs.mpc_cli}/bin/mpc --wait" mpc = "${pkgs.mpc-cli}/bin/mpc --wait"
# Connects to the given server and attempts to play a tune. # Connects to the given server and attempts to play a tune.
def play_some_music(server): def play_some_music(server):

View file

@ -3,7 +3,7 @@
, fetchFromGitHub , fetchFromGitHub
, makeWrapper , makeWrapper
, rofi , rofi
, mpc_cli , mpc-cli
, perl , perl
, util-linux , util-linux
, python3Packages , python3Packages
@ -28,10 +28,23 @@ stdenv.mkDerivation {
strictDeps = true; strictDeps = true;
installPhase = '' installPhase =
let
binPath = lib.makeBinPath [
libnotify
mpc-cli
perl
rofi
util-linux
];
in
''
runHook preInstall
DESTDIR=$out PREFIX=/ make install DESTDIR=$out PREFIX=/ make install
wrapProgram $out/bin/clerk \ wrapProgram $out/bin/clerk --prefix PATH : "${binPath}"
--prefix PATH : "${lib.makeBinPath [ rofi mpc_cli perl util-linux libnotify ]}"
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl, withRodio ? true { lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, withRodio ? true
, withALSA ? true, alsa-lib ? null, withPulseAudio ? false, libpulseaudio ? null , withALSA ? true, alsa-lib ? null, withPulseAudio ? false, libpulseaudio ? null
, withPortAudio ? false, portaudio ? null }: , withPortAudio ? false, portaudio ? null }:
@ -35,5 +35,6 @@ rustPlatform.buildRustPackage rec {
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ bennofs ]; maintainers = with maintainers; [ bennofs ];
platforms = platforms.unix; platforms = platforms.unix;
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/librespot.x86_64-darwin
}; };
} }

View file

@ -1,12 +1,14 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, installShellFiles
, libiconv
, libmpdclient
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
, libmpdclient
, sphinx , sphinx
, libiconv
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,20 +17,46 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MusicPlayerDaemon"; owner = "MusicPlayerDaemon";
repo = "mpc"; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw="; hash = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw=";
}; };
buildInputs = [ libmpdclient ] ++ lib.optionals stdenv.isDarwin [ libiconv ]; patches = [
# fix the build with meson 0.60 (https://github.com/MusicPlayerDaemon/mpc/pull/76)
(fetchpatch {
url = "https://github.com/MusicPlayerDaemon/mpc/commit/b656ca4b6c2a0d5b6cebd7f7daa679352f664e0e.patch";
sha256 = "sha256-fjjSlCKxgkz7Em08CaK7+JAzl8YTzLcpGGMz2HJlsVw=";
})
];
nativeBuildInputs = [ meson ninja pkg-config sphinx ]; buildInputs = [
libmpdclient
]
++ lib.optionals stdenv.isDarwin [ libiconv ];
nativeBuildInputs = [
installShellFiles
meson
ninja
pkg-config
sphinx
];
postInstall = ''
installShellCompletion --cmd mpc --bash $out/share/doc/mpc/contrib/mpc-completion.bash
'';
postFixup = ''
rm $out/share/doc/mpc/contrib/mpc-completion.bash
'';
meta = with lib; { meta = with lib; {
description = "A minimalist command line interface to MPD";
homepage = "https://www.musicpd.org/clients/mpc/"; homepage = "https://www.musicpd.org/clients/mpc/";
license = licenses.gpl2; description = "A minimalist command line interface to MPD";
maintainers = with maintainers; [ algorith ]; changelog = "https://raw.githubusercontent.com/MusicPlayerDaemon/mpc/v${version}/NEWS";
platforms = with platforms; linux ++ darwin; license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
}; };
} }

View file

@ -40,8 +40,6 @@ stdenv.mkDerivation rec {
hicolor-icon-theme hicolor-icon-theme
]; ];
mesonFlags = [ "-Dlibreoffice=false" ];
postPatch = '' postPatch = ''
chmod +x data/meson_post_install.py chmod +x data/meson_post_install.py
patchShebangs data/meson_post_install.py patchShebangs data/meson_post_install.py

View file

@ -80,6 +80,7 @@ stdenv.mkDerivation rec {
desktop. It is the successor to the older Gradio application. desktop. It is the successor to the older Gradio application.
''; '';
maintainers = with maintainers; [ lasandell ]; maintainers = with maintainers; [ lasandell ];
broken = true; # incompatible with latest libadwaita
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
buildInputs = [ flac libao libvorbis ncurses opusfile ]; buildInputs = [ flac libao libvorbis ncurses opusfile ];
NIX_CFLAGS_COMPILE = "-DNCURSES_INTERNALS";
patches = [ ./gnu-screen.patch ]; patches = [ ./gnu-screen.patch ];
postInstall = '' postInstall = ''

View file

@ -13,7 +13,6 @@
, curl , curl
, dconf , dconf
, libepoxy , libepoxy
, ffmpeg
, fftw , fftw
, fftwFloat , fftwFloat
, flex , flex
@ -95,7 +94,6 @@ stdenv.mkDerivation rec {
curl curl
dconf dconf
libepoxy libepoxy
ffmpeg
fftw fftw
fftwFloat fftwFloat
flex flex
@ -133,10 +131,9 @@ stdenv.mkDerivation rec {
]; ];
mesonFlags = [ mesonFlags = [
"-Denable_ffmpeg=true" "-Drtmidi=enabled"
"-Denable_rtmidi=true" "-Drtaudio=enabled"
"-Denable_rtaudio=true" "-Dsdl=enabled"
"-Denable_sdl=true"
"-Dcarla=enabled" "-Dcarla=enabled"
"-Dmanpage=true" "-Dmanpage=true"
# "-Duser_manual=true" # needs sphinx-intl # "-Duser_manual=true" # needs sphinx-intl

View file

@ -5,6 +5,7 @@
, appstream-glib , appstream-glib
, desktop-file-utils , desktop-file-utils
, fetchurl , fetchurl
, fetchpatch
, flatpak , flatpak
, gnome , gnome
, libgit2-glib , libgit2-glib
@ -18,7 +19,7 @@
, jsonrpc-glib , jsonrpc-glib
, libdazzle , libdazzle
, libpeas , libpeas
, libportal , libportal-gtk3
, libxml2 , libxml2
, meson , meson
, ninja , ninja
@ -48,6 +49,15 @@ stdenv.mkDerivation rec {
sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE="; sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
}; };
patches = [
# Fix build with latest libportal
# https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
appstream-glib appstream-glib
desktop-file-utils desktop-file-utils
@ -69,7 +79,7 @@ stdenv.mkDerivation rec {
glade glade
libgit2-glib libgit2-glib
libpeas libpeas
libportal libportal-gtk3
vte vte
gspell gspell
gtk3 gtk3

View file

@ -113,8 +113,10 @@ in
substituteInPlace src/nvim/CMakeLists.txt --replace " util" "" substituteInPlace src/nvim/CMakeLists.txt --replace " util" ""
''; '';
# For treesitter plugins, libstdc++.so.6 will be needed # For treesitter plugins, libstdc++.so.6, or equivalent will be needed
NIX_LDFLAGS = [ "-lstdc++"]; NIX_LDFLAGS =
lib.optionals stdenv.cc.isGNU [ "-lstdc++"]
++ lib.optionals stdenv.cc.isClang [ "-lc++" ];
# export PATH=$PWD/build/bin:${PATH} # export PATH=$PWD/build/bin:${PATH}
shellHook='' shellHook=''

View file

@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }: { lib, fetchFromGitHub }:
rec { rec {
version = "8.2.3877"; version = "8.2.4186";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vim"; owner = "vim";
repo = "vim"; repo = "vim";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-NqTO2TdhOs63eP7CdWY9U9nbR7No3hqPV5rGhYF9arA="; sha256 = "0g276mbmq69z7c4kgj59r0azxmx9ih2sd8v83dx2gfph6wgw65ph";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View file

@ -6,7 +6,7 @@
, pkg-config , pkg-config
, libxml2 , libxml2
, gtk3 , gtk3
, libportal , libportal-gtk3
, wrapGAppsHook , wrapGAppsHook
}: }:
@ -33,12 +33,16 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
gtk3 gtk3
libportal libportal-gtk3
]; ];
postPatch = '' postPatch = ''
chmod +x meson_install.sh # patchShebangs requires executable file chmod +x meson_install.sh # patchShebangs requires executable file
patchShebangs meson_install.sh patchShebangs meson_install.sh
# https://gitlab.gnome.org/World/gcolor3/merge_requests/151
substituteInPlace meson.build --replace "dependency(${"\n"} 'libportal'" "dependency(${"\n"} 'libportal-gtk3'"
substituteInPlace src/gcolor3-color-selection.c --replace "libportal/portal-gtk3.h" "libportal-gtk3/portal-gtk3.h"
''; '';
meta = with lib; { meta = with lib; {

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "graphicsmagick"; pname = "graphicsmagick";
version = "1.3.36"; version = "1.3.37";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
sha256 = "0ilg6fkppb4avzais1dvi3qf6ln7v3mzj7gjm83w7pwwfpg3ynsx"; sha256 = "sha256-kNwi8ae9JA5MkGWpQJYr8T2kPJm8w2yxEcw8Gg10d9Q=";
}; };
patches = [ patches = [

View file

@ -34,7 +34,7 @@ mkDerivation {
]; ];
qtWrapperArgs = [ qtWrapperArgs = [
"--prefix GST_PLUGIN_PATH : ${lib.makeSearchPath "lib/gstreamer-1.0" gst}" "--prefix GST_PLUGIN_PATH : ${lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gst}"
]; ];
meta = { meta = {

View file

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
--replace "install_dir: rulesdir" "install_dir: datadir" \ --replace "install_dir: rulesdir" "install_dir: datadir" \
''; '';
mesonFlags = [ mesonFlags = [
"-Dsystemd=true" "-Dservice_manager=systemd"
"-Dsample_config=false" "-Dsample_config=false"
"-Ddebug_tool=false" "-Ddebug_tool=false"
]; ];

View file

@ -9,7 +9,7 @@
, itstool , itstool
, libadwaita , libadwaita
, librsvg , librsvg
, meson_0_60 , meson
, ninja , ninja
, pkg-config , pkg-config
, poppler_gi , poppler_gi
@ -18,7 +18,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "metadata-cleaner"; pname = "metadata-cleaner";
version = "2.1.3"; version = "2.1.4";
format = "other"; format = "other";
@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "rmnvgr"; owner = "rmnvgr";
repo = "metadata-cleaner"; repo = "metadata-cleaner";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-9sLjgqqQBXcudlBRmqAwWcWMUXoIUyAK272zaNKbJNY="; hash = "sha256-46J0iLXzZX5tww4CK8WhrADql023rauO0fpW7Asn5ZY=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec {
glib glib
gtk4 gtk4
itstool itstool
meson_0_60 meson
ninja ninja
pkg-config pkg-config
wrapGAppsHook wrapGAppsHook

View file

@ -9,13 +9,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "mob"; pname = "mob";
version = "2.2.0"; version = "2.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "remotemobprogramming"; owner = "remotemobprogramming";
repo = pname; repo = pname;
sha256 = "sha256-nf0FSaUi8qX1f4Luo0cP4ZLoOKbyvgmpilMOWXbzzIM="; sha256 = "sha256-1yE3KFGY51m6OL4LYrz+BSCHQSnbQRSpB3EUqAzSr+M=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -17,21 +17,27 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "notejot"; pname = "notejot";
version = "3.2.0"; version = "3.3.3"; # make sure to recheck src.rev
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; # Note from Fedora spec file:
hash = "sha256-WyW1tGhO3+OykNa8BRavi93cBMOSBJw0M+0bwQHJOjU="; # https://src.fedoraproject.org/rpms/notejot/blob/bbe621cef4d5a2c27eed029063b8e8cfd7c8d400/f/notejot.spec
# Upstream confusingly made several bugfix post-releases of version 3.3.3,
# tagged as 3.4.x, but with prominent notices like "This is still 3.3.3". We
# respect upstreams wishes (and the version numbers inside the source tarball)
# by packaging these releases as 3.3.3 with appropriate snapshot info.
# https://github.com/lainsce/notejot/releases/tag/3.4.9
#
# Note that sometimes upstream don't update their version in meson.build
# (https://github.com/lainsce/notejot/issues/236), always follow the version
# from Fedora Rawhide.
# https://github.com/lainsce/notejot/blob/3.4.9/meson.build#L1
rev = "3.4.9";
hash = "sha256-42k9CAnXAb7Ic580SIa95MDCkCWtso1F+0eD69HX8WI=";
}; };
patches = [
# build: use gtk4-update-icon-cache
# https://github.com/lainsce/notejot/pull/307
./use-gtk4-update-icon-cache.patch
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja

View file

@ -1,20 +0,0 @@
diff --git a/build-aux/post_install.py b/build-aux/post_install.py
index 1278304..fface6d 100644
--- a/build-aux/post_install.py
+++ b/build-aux/post_install.py
@@ -2,11 +2,13 @@
import os
import subprocess
-schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas')
+install_prefix = os.environ['MESON_INSTALL_PREFIX']
+icondir = os.path.join(install_prefix, 'share', 'icons', 'hicolor')
+schemadir = os.path.join(install_prefix, 'share', 'glib-2.0', 'schemas')
if not os.environ.get('DESTDIR'):
print('Compiling gsettings schemas…')
subprocess.call(['glib-compile-schemas', schemadir], shell=False)
print('Rebuilding desktop icons cache...')
- subprocess.call(['gtk-update-icon-cache', '/usr/share/icons/hicolor/'], shell=False)
+ subprocess.call(['gtk4-update-icon-cache', '-qtf', icondir], shell=False)

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "nwg-wrapper"; pname = "nwg-wrapper";
version = "0.1.0"; version = "0.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nwg-piotr"; owner = "nwg-piotr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0xkxyfbj8zljx7k5wbniz3x9jg0l4jnbbjv8hy5y5p4l10m0vpjs"; sha256 = "114y55mv2rgnp75a3c7rk46v5v84d1zqb6wkha7x16ab6xa9phzl";
}; };
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ]; nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];

View file

@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia }: { stdenv, lib, fetchFromGitHub, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia }:
let let
gstreamerPath = with gst_all_1; lib.makeSearchPath "lib/gstreamer-1.0" [ gstreamerPath = with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [
gstreamer gstreamer
gst-plugins-base gst-plugins-base
gst-plugins-good gst-plugins-good

View file

@ -0,0 +1,30 @@
{ buildGoModule
, fetchFromGitHub
, lib
}:
buildGoModule rec {
pname = "blocky";
version = "0.17";
src = fetchFromGitHub {
owner = "0xERR0R";
repo = pname;
rev = "v${version}";
sha256 = "sha256-vG6QAI8gBI2nLRQ0nOFWQHihyzgmJu69rgkWlg3iW3E=";
};
# needs network connection and fails at
# https://github.com/0xERR0R/blocky/blob/development/resolver/upstream_resolver_test.go
doCheck = false;
vendorSha256 = "sha256-+mpNPDejK9Trhw41SUXJPL/OX5wQR0QfA2+BXSlE0Jk=";
meta = with lib; {
description = "Fast and lightweight DNS proxy as ad-blocker for local network with many features.";
homepage = "https://0xerr0r.github.io/blocky";
changelog = "https://github.com/0xERR0R/blocky/releases";
license = licenses.asl20;
maintainers = with maintainers; [ ratsclub ];
};
}

View file

@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
xclip notify-osd enchant xclip notify-osd enchant
] ++ gstBuildInputs; ] ++ gstBuildInputs;
GST_PLUGIN_SYSTEM_PATH_1_0 = lib.concatMapStringsSep ":" (p: "${p}/lib/gstreamer-1.0") gstBuildInputs; GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" gstBuildInputs;
dontWrapGApps = true; dontWrapGApps = true;
installPhase = '' installPhase = ''

View file

@ -2,15 +2,15 @@
buildGoModule rec { buildGoModule rec {
pname = "istioctl"; pname = "istioctl";
version = "1.12.1"; version = "1.12.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "istio"; owner = "istio";
repo = "istio"; repo = "istio";
rev = version; rev = version;
sha256 = "sha256-oMf60mxreBSlgxVInTFM8kozYVZz5RdgzV3rYUnadnA="; sha256 = "sha256-6eVFyGVvOUr5RA5jeavKcLJedv4jOGXAg3aa4N3cNx8=";
}; };
vendorSha256 = "sha256-e8qh8J745TXUo6c1uMS8GyawEG9YFlMYl/nHpWIFK1Q="; vendorSha256 = "sha256-ie7XRu+2+NmhMNtJEL2OgZH6wuTPJX9O2+cZBnI04JA=";
doCheck = false; doCheck = false;

View file

@ -1,4 +1,4 @@
{ lib, fetchurl, appimageTools }: { lib, fetchurl, appimageTools, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
let let
pname = "lens"; pname = "lens";
@ -19,6 +19,10 @@ let
in appimageTools.wrapType2 { in appimageTools.wrapType2 {
inherit name src; inherit name src;
profile = ''
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
extraInstallCommands = extraInstallCommands =
'' ''
mv $out/bin/${name} $out/bin/${pname} mv $out/bin/${name} $out/bin/${pname}

View file

@ -11,9 +11,9 @@
buildGoModule rec { buildGoModule rec {
pname = "minikube"; pname = "minikube";
version = "1.24.0"; version = "1.25.1";
vendorSha256 = "sha256-jFE4aHHgVmVcQu8eH97h9P3zchtmKv/KUIfv7f2ws3I="; vendorSha256 = "sha256-MnyXePsnhb1Tl76uAtVW/DLacE0etXREGsapgNiZbMo=";
doCheck = false; doCheck = false;
@ -21,7 +21,7 @@ buildGoModule rec {
owner = "kubernetes"; owner = "kubernetes";
repo = "minikube"; repo = "minikube";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-WW5VVjm7cq/3/RGiIE2nn8O+VK0RHCtKkrlboIzhqC4="; sha256 = "sha256-pRNOVN9u27im9fkUawJYjuGHTW0N7L5oJa3fQ6DUO+4=";
}; };
nativeBuildInputs = [ installShellFiles pkg-config which ]; nativeBuildInputs = [ installShellFiles pkg-config which ];

View file

@ -14,13 +14,13 @@
mkDerivation rec { mkDerivation rec {
pname = "kdeltachat"; pname = "kdeltachat";
version = "unstable-2021-12-26"; version = "unstable-2022-01-02";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~link2xt"; owner = "~link2xt";
repo = "kdeltachat"; repo = "kdeltachat";
rev = "aabe9421cb26f8e2537d49df5392e428bca8d72d"; rev = "ec545c8208c870c44312558f91c79e6ffce4444e";
hash = "sha256-5ql4KGMie9EbhHbPSNHIUQrvNpO//WgpTDIK6ETwdkg="; hash = "sha256-s/dJ2ahdUK7ODKsna+tl81e+VQLkCAELb/iEXf9WlIM=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
done done
''; '';
mesonFlags = [ "-Dwith-lua=lua" "-Dwith-text=true" ]; mesonFlags = [ "-Dwith-lua=lua" "-Dtext-frontend=true" ];
postInstall = '' postInstall = ''
wrapProgram $out/bin/hexchat --prefix PYTHONPATH : "$PYTHONPATH" wrapProgram $out/bin/hexchat --prefix PYTHONPATH : "$PYTHONPATH"

View file

@ -1,8 +1,8 @@
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -6029,53 +6029,8 @@ @@ -6143,53 +6143,8 @@ rm -f confcache
#AC_CHECK_HEADERS(openssl/ssl.h openssl/crypto.h)
#AC_CHECK_HEADERS(zlib.h) #AC_CHECK_HEADERS(zlib.h)
#EGG_CHECK_ZLIB
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for path to OpenSSL" >&5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for path to OpenSSL" >&5
-$as_echo_n "checking for path to OpenSSL... " >&6; } -$as_echo_n "checking for path to OpenSSL... " >&6; }

View file

@ -2,10 +2,10 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wraith"; pname = "wraith";
version = "1.4.7"; version = "1.4.10";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz"; url = "mirror://sourceforge/wraithbotpack/wraith-v${version}.tar.gz";
sha256 = "0h6liac5y7im0jfm2sj18mibvib7d1l727fjs82irsjj1v9kif3j"; sha256 = "1h8159g6wh1hi69cnhqkgwwwa95fa6z1zrzjl219mynbf6vjjzkw";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
buildInputs = [ openssl ]; buildInputs = [ openssl ];

View file

@ -1,15 +1,15 @@
diff --git a/src/libcrypto.cc b/src/libcrypto.cc diff --git a/src/libcrypto.cc b/src/libcrypto.cc
index 0339258..68746c8 100644 index 5139f66..517103f 100644
--- a/src/libcrypto.cc --- a/src/libcrypto.cc
+++ b/src/libcrypto.cc +++ b/src/libcrypto.cc
@@ -95,17 +95,9 @@ int load_libcrypto() { @@ -100,17 +100,9 @@ int load_libcrypto() {
} }
sdprintf("Loading libcrypto"); sdprintf("Loading libcrypto");
+ dlerror(); // Clear Errors + dlerror(); // Clear Errors
+ libcrypto_handle = dlopen("@openssl@/lib/libcrypto.so", RTLD_LAZY|RTLD_GLOBAL); + libcrypto_handle = dlopen("@openssl@/lib/libcrypto.so", RTLD_LAZY|RTLD_GLOBAL);
- bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.0.9.8 libcrypto.so.7 libcrypto.so.6").split(' ')); - bd::Array<bd::String> libs_list(bd::String("libcrypto.so." SHLIB_VERSION_NUMBER " libcrypto.so libcrypto.so.1.1 libcrypto.so.1.0.0 libcrypto.so.0.9.8 libcrypto.so.10 libcrypto.so.9 libcrypto.so.8 libcrypto.so.7 libcrypto.so.6").split(' '));
- -
- for (size_t i = 0; i < libs_list.length(); ++i) { - for (size_t i = 0; i < libs_list.length(); ++i) {
- dlerror(); // Clear Errors - dlerror(); // Clear Errors
@ -23,17 +23,17 @@ index 0339258..68746c8 100644
fprintf(stderr, STR("Unable to find libcrypto\n")); fprintf(stderr, STR("Unable to find libcrypto\n"));
return(1); return(1);
diff --git a/src/libssl.cc b/src/libssl.cc diff --git a/src/libssl.cc b/src/libssl.cc
index b432c7b..8940998 100644 index 6010abc..86e29fc 100644
--- a/src/libssl.cc --- a/src/libssl.cc
+++ b/src/libssl.cc +++ b/src/libssl.cc
@@ -68,17 +68,9 @@ int load_libssl() { @@ -78,17 +78,9 @@ int load_libssl() {
} }
sdprintf("Loading libssl"); sdprintf("Loading libssl");
+ dlerror(); // Clear Errors + dlerror(); // Clear Errors
+ libssl_handle = dlopen("@openssl@/lib/libssl.so", RTLD_LAZY); + libssl_handle = dlopen("@openssl@/lib/libssl.so", RTLD_LAZY);
- bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.0.9.8 libssl.so.7 libssl.so.6").split(' ')); - bd::Array<bd::String> libs_list(bd::String("libssl.so." SHLIB_VERSION_NUMBER " libssl.so libssl.so.1.1 libssl.so.1.0.0 libssl.so.0.9.8 libssl.so.10 libssl.so.9 libssl.so.8 libssl.so.7 libssl.so.6").split(' '));
- -
- for (size_t i = 0; i < libs_list.length(); ++i) { - for (size_t i = 0; i < libs_list.length(); ++i) {
- dlerror(); // Clear Errors - dlerror(); // Clear Errors

View file

@ -1,16 +1,29 @@
{ lib, python3, fetchFromGitHub, file, gnupg, gawk, notmuch, procps, withManpage ? false { lib
, python3
, fetchFromGitHub
, file
, gnupg
, gawk
, notmuch
, procps
, withManpage ? false
}: }:
with python3.pkgs; with python3.pkgs;
let let
notmuch2 = callPackage ./notmuch.nix { notmuch2 = callPackage ./notmuch.nix {
inherit notmuch; inherit notmuch;
}; };
in buildPythonApplication rec { in
buildPythonApplication rec {
pname = "alot"; pname = "alot";
version = "0.10"; version = "0.10";
outputs = [ "out" ] ++ lib.optional withManpage "man";
outputs = [
"out"
] ++ lib.optional withManpage [
"man"
];
disabled = !isPy3k; disabled = !isPy3k;
@ -22,35 +35,50 @@ in buildPythonApplication rec {
}; };
postPatch = '' postPatch = ''
substituteInPlace alot/settings/manager.py --replace /usr/share "$out/share" substituteInPlace alot/settings/manager.py \
--replace /usr/share "$out/share"
''; '';
nativeBuildInputs = lib.optional withManpage sphinx; nativeBuildInputs = lib.optional withManpage sphinx;
propagatedBuildInputs = [ propagatedBuildInputs = [
notmuch2
urwid
urwidtrees
twisted
python_magic
configobj configobj
service-identity
file file
gpgme gpgme
notmuch2
python_magic
service-identity
twisted
urwid
urwidtrees
]; ];
postBuild = lib.optionalString withManpage "make -C docs man"; checkInputs = [
future
gawk
gnupg
mock
procps
pytestCheckHook
];
postBuild = lib.optionalString withManpage [
"make -C docs man"
];
checkInputs = [ gawk future mock gnupg procps pytestCheckHook ];
# some twisted tests need internet access
disabledTests = [ disabledTests = [
# Some twisted tests need internet access
"test_env_set" "test_env_set"
"test_no_spawn_no_stdin_attached" "test_no_spawn_no_stdin_attached"
# DatabaseLockedError
"test_save_named_query"
]; ];
postInstall = let postInstall =
let
completionPython = python.withPackages (ps: [ ps.configobj ]); completionPython = python.withPackages (ps: [ ps.configobj ]);
in lib.optionalString withManpage '' in
lib.optionalString withManpage ''
mkdir -p $out/man mkdir -p $out/man
cp -r docs/build/man $out/man cp -r docs/build/man $out/man
'' ''

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vnstat"; pname = "vnstat";
version = "2.8"; version = "2.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vergoh"; owner = "vergoh";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-r+dmsL3bPgCDdBje7uzg+ArhMkqj+R/hepNLMDqe350="; sha256 = "sha256-AEpq3Pn/WUiPDxYk6WKb1Uur5tD+OBfFAzLUDWnZH/0=";
}; };
postPatch = '' postPatch = ''

View file

@ -1,5 +1,6 @@
{ lib { lib
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, meson , meson
, python3Packages , python3Packages
, ninja , ninja
@ -25,6 +26,13 @@ python3Packages.buildPythonApplication rec {
sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403"; sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403";
}; };
patches = [
# fix build with meson 0.60 (https://github.com/getting-things-gnome/gtg/pull/729)
(fetchpatch {
url = "https://github.com/getting-things-gnome/gtg/commit/1809d10663ae3d8f69c04138b66f9b4e66ee14f6.patch";
sha256 = "sha256-bYr5PAsuvcSqTf0vaJj2APtuBrwHdhXJxtXoAb7CfGk=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson

View file

@ -46,7 +46,7 @@ let
"8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk"; "8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
"8.14.0".sha256 = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17"; "8.14.0".sha256 = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
"8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl"; "8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
"8.15+rc1".sha256 = "sha256:0v9vnx5z2mbsmhdx08rpg0n8jn0d82mimpghn55vkwsscxmcrgnm"; "8.15.0".sha256 = "sha256:1ma76wfrpfsl72yh10w1ys2a0vi0mdc2jc79kdc8nrmxkhpw1nxx";
}; };
releaseRev = v: "V${v}"; releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix fetched = import ../../../../build-support/coq/meta-fetch/default.nix

View file

@ -79,6 +79,8 @@ mkDerivation (common "tamarin-prover" src // {
# so that the package can be used as a vim plugin to install syntax coloration # so that the package can be used as a vim plugin to install syntax coloration
install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim
install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim
# Emacs SPTHY major mode
install -Dt $out/share/emacs/site-lisp etc/spthy-mode.el
''; '';
checkPhase = "./dist/build/tamarin-prover/tamarin-prover test"; checkPhase = "./dist/build/tamarin-prover/tamarin-prover test";

View file

@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "cwltool"; pname = "cwltool";
version = "3.1.20220119140128"; version = "3.1.20220124184855";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "common-workflow-language"; owner = "common-workflow-language";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1jmrm0qrqgka79avc1kq63fgh20gx6g07fc8p3iih4k85vhdyl3f"; sha256 = "0b0mxminfijbi3d9sslhwhs8awnagdsx8d2wh9x9ipdpwipihpmb";
}; };
postPatch = '' postPatch = ''

View file

@ -2,6 +2,7 @@
, libX11, libXt, libXft, libXrender , libX11, libXt, libXft, libXrender
, ncurses, fontconfig, freetype , ncurses, fontconfig, freetype
, pkg-config, gdk-pixbuf, perl , pkg-config, gdk-pixbuf, perl
, libptytty
, perlSupport ? true , perlSupport ? true
, gdkPixbufSupport ? true , gdkPixbufSupport ? true
, unicode3Support ? true , unicode3Support ? true
@ -9,7 +10,7 @@
let let
pname = "rxvt-unicode"; pname = "rxvt-unicode";
version = "9.26"; version = "9.30";
description = "A clone of the well-known terminal emulator rxvt"; description = "A clone of the well-known terminal emulator rxvt";
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -31,12 +32,13 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2"; url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
sha256 = "12y9p32q0v7n7rhjla0j2g9d5rj2dmwk20c9yhlssaaxlawiccb4"; sha256 = "0badnkjsn3zps24r5iggj8k5v4f00npc77wqg92pcn1q5z8r677y";
}; };
buildInputs = buildInputs =
[ libX11 libXt libXft ncurses # required to build the terminfo file [ libX11 libXt libXft ncurses # required to build the terminfo file
fontconfig freetype pkg-config libXrender fontconfig freetype pkg-config libXrender
libptytty
] ++ optional perlSupport perl ] ++ optional perlSupport perl
++ optional gdkPixbufSupport gdk-pixbuf; ++ optional gdkPixbufSupport gdk-pixbuf;

View file

@ -0,0 +1,49 @@
{ buildPythonApplication
, lib
, fetchFromGitHub
, poetry
, termcolor
, questionary
, colorama
, decli
, tomlkit
, jinja2
, pyyaml
, argcomplete
, typing-extensions
}:
buildPythonApplication rec {
pname = "commitizen";
version = "2.20.3";
src = fetchFromGitHub {
owner = "commitizen-tools";
repo = pname;
rev = "v${version}";
sha256 = "sha256-rAm2GTRxZIHQmn/FM0IwwH/2h+oOvzGmeVr5xkvD/zA=";
};
format = "pyproject";
nativeBuildInputs = [ poetry ];
propagatedBuildInputs = [
termcolor
questionary
colorama
decli
tomlkit
jinja2
pyyaml
argcomplete
typing-extensions
];
meta = with lib; {
description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs";
homepage = "https://github.com/commitizen-tools/commitizen";
license = licenses.mit;
maintainers = with maintainers; [ lovesegfault ];
};
}

View file

@ -19,6 +19,12 @@ buildGoPackage rec {
subPackages = [ "." ]; subPackages = [ "." ];
preBuild = ''
pushd go/src/github.com/git-lfs/git-lfs
go generate ./commands
popd
'';
postBuild = '' postBuild = ''
make -C go/src/${goPackagePath} man make -C go/src/${goPackagePath} man
''; '';

View file

@ -1,14 +1,14 @@
{ {
"version": "14.6.3", "version": "14.7.0",
"repo_hash": "sha256-M8A6ZF1t+N48OTBhVwvOweITmavrl9+Z1Yqw4lxLk38=", "repo_hash": "0jam4krhwkbri99642vz4gjlnr7zfgd6mq7pgjyf00f6pggvhq79",
"yarn_hash": "1kcjbf8xn3bwac2s9i2i7dpgbkwcjh09wvgbgysm5yffpdswg6nl", "yarn_hash": "1cv3lxfw4i9snlw5x6bcip1n97wg72v5zpz9mjxdpzd2i1bwp6da",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab", "repo": "gitlab",
"rev": "v14.6.3-ee", "rev": "v14.7.0-ee",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "14.6.3", "GITALY_SERVER_VERSION": "14.7.0",
"GITLAB_PAGES_VERSION": "1.49.0", "GITLAB_PAGES_VERSION": "1.51.0",
"GITLAB_SHELL_VERSION": "13.22.1", "GITLAB_SHELL_VERSION": "13.22.2",
"GITLAB_WORKHORSE_VERSION": "14.6.3" "GITLAB_WORKHORSE_VERSION": "14.7.0"
} }
} }

View file

@ -22,12 +22,6 @@ let
gemset = gemset =
let x = import (gemdir + "/gemset.nix"); let x = import (gemdir + "/gemset.nix");
in x // { in x // {
# grpc expects the AR environment variable to contain `ar rpc`. See the
# discussion in nixpkgs #63056.
grpc = x.grpc // {
patches = [ ./fix-grpc-ar.patch ];
dontBuild = false;
};
# the openssl needs the openssl include files # the openssl needs the openssl include files
openssl = x.openssl // { openssl = x.openssl // {
buildInputs = [ openssl ]; buildInputs = [ openssl ];

View file

@ -1,10 +0,0 @@
--- a/src/ruby/ext/grpc/extconf.rb
+++ b/src/ruby/ext/grpc/extconf.rb
@@ -27,6 +27,7 @@ ENV['MACOSX_DEPLOYMENT_TARGET'] = '10.7'
if ENV['AR'].nil? || ENV['AR'].size == 0
ENV['AR'] = RbConfig::CONFIG['AR'] + ' rcs'
end
+ENV['AR'] = ENV['AR'] + ' rcs'
if ENV['CC'].nil? || ENV['CC'].size == 0
ENV['CC'] = RbConfig::CONFIG['CC']
end

View file

@ -3,11 +3,11 @@ source 'https://rubygems.org'
gem 'rugged', '~> 1.2' gem 'rugged', '~> 1.2'
gem 'github-linguist', '~> 7.12', require: 'linguist' gem 'github-linguist', '~> 7.12', require: 'linguist'
gem 'gitlab-markup', '~> 1.7.1' gem 'gitlab-markup', '~> 1.7.1'
gem 'activesupport', '~> 6.1.4.1' gem 'activesupport', '~> 6.1.4.4'
gem 'rdoc', '~> 6.0' gem 'rdoc', '~> 6.0'
gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.1', require: false gem 'gitlab-gollum-lib', '~> 4.2.7.10.gitlab.2', require: false
gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.4.gitlab.1', require: false gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.4.gitlab.1', require: false
gem 'grpc', '~> 1.30.2' gem 'grpc', '~> 1.42.0' # keep in lock-step with grpc-tools
gem 'sentry-raven', '~> 3.0', require: false gem 'sentry-raven', '~> 3.0', require: false
gem 'faraday', '~> 1.0' gem 'faraday', '~> 1.0'
gem 'rbtrace', require: false gem 'rbtrace', require: false
@ -19,7 +19,7 @@ gem 'gitlab-labkit', '~> 0.21.1'
# This version needs to be in sync with GitLab CE/EE # This version needs to be in sync with GitLab CE/EE
gem 'licensee', '~> 9.14.1' gem 'licensee', '~> 9.14.1'
gem 'google-protobuf', '~> 3.17.0' gem 'google-protobuf', '~> 3.19.0'
group :development, :test do group :development, :test do
gem 'rubocop', '~> 0.69', require: false gem 'rubocop', '~> 0.69', require: false
@ -29,7 +29,7 @@ group :development, :test do
gem 'factory_bot', require: false gem 'factory_bot', require: false
gem 'pry', '~> 0.12.2', require: false gem 'pry', '~> 0.12.2', require: false
gem 'grpc-tools', '= 1.30.2' gem 'grpc-tools', '~> 1.42.0'
end end
# Gems required in omnibus-gitlab pipeline # Gems required in omnibus-gitlab pipeline

View file

@ -2,20 +2,20 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
abstract_type (0.0.7) abstract_type (0.0.7)
actionpack (6.1.4.1) actionpack (6.1.4.4)
actionview (= 6.1.4.1) actionview (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
rack (~> 2.0, >= 2.0.9) rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (6.1.4.1) actionview (6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0)
activesupport (6.1.4.1) activesupport (6.1.4.4)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
@ -54,13 +54,13 @@ GEM
mini_mime (~> 1.0) mini_mime (~> 1.0)
rugged (>= 0.25.1) rugged (>= 0.25.1)
github-markup (1.7.0) github-markup (1.7.0)
gitlab-gollum-lib (4.2.7.10.gitlab.1) gitlab-gollum-lib (4.2.7.10.gitlab.2)
gemojione (~> 3.2) gemojione (~> 3.2)
github-markup (~> 1.6) github-markup (~> 1.6)
gitlab-gollum-rugged_adapter (~> 0.4.4.3.gitlab.1) gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
nokogiri (>= 1.6.1, < 2.0) nokogiri (>= 1.6.1, < 2.0)
rouge (~> 3.1) rouge (~> 3.1)
sanitize (~> 4.6.4) sanitize (~> 6.0)
stringex (~> 2.6) stringex (~> 2.6)
gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1) gitlab-gollum-rugged_adapter (0.4.4.4.gitlab.1)
mime-types (>= 1.15) mime-types (>= 1.15)
@ -81,27 +81,27 @@ GEM
with_env (= 1.1.0) with_env (= 1.1.0)
xml-simple (~> 1.1.5) xml-simple (~> 1.1.5)
gitlab-markup (1.7.1) gitlab-markup (1.7.1)
google-protobuf (3.17.3) google-protobuf (3.19.1)
googleapis-common-protos-types (1.1.0) googleapis-common-protos-types (1.3.0)
google-protobuf (~> 3.14) google-protobuf (~> 3.14)
grpc (1.30.2) grpc (1.42.0)
google-protobuf (~> 3.12) google-protobuf (~> 3.18)
googleapis-common-protos-types (~> 1.0) googleapis-common-protos-types (~> 1.0)
grpc-tools (1.30.2) grpc-tools (1.42.0)
i18n (1.8.10) i18n (1.8.11)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
ice_nine (0.11.2) ice_nine (0.11.2)
jaeger-client (1.1.0) jaeger-client (1.1.0)
opentracing (~> 0.3) opentracing (~> 0.3)
thrift thrift
json (2.5.1) json (2.6.1)
licensee (9.14.1) licensee (9.14.1)
dotenv (~> 2.0) dotenv (~> 2.0)
octokit (~> 4.17) octokit (~> 4.17)
reverse_markdown (~> 1.0) reverse_markdown (~> 1.0)
rugged (>= 0.24, < 2.0) rugged (>= 0.24, < 2.0)
thor (>= 0.19, < 2.0) thor (>= 0.19, < 2.0)
loofah (2.12.0) loofah (2.13.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
memoizable (0.4.2) memoizable (0.4.2)
@ -111,15 +111,13 @@ GEM
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2020.1104) mime-types-data (3.2020.1104)
mini_mime (1.0.2) mini_mime (1.0.2)
mini_portile2 (2.5.1) mini_portile2 (2.6.1)
minitest (5.14.4) minitest (5.15.0)
msgpack (1.3.3) msgpack (1.3.3)
multipart-post (2.1.1) multipart-post (2.1.1)
nokogiri (1.11.7) nokogiri (1.12.5)
mini_portile2 (~> 2.5.0) mini_portile2 (~> 2.6.1)
racc (~> 1.4) racc (~> 1.4)
nokogumbo (1.5.0)
nokogiri
octokit (4.20.0) octokit (4.20.0)
faraday (>= 0.9) faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3) sawyer (~> 0.8.0, >= 0.5.3)
@ -139,7 +137,7 @@ GEM
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.9.0) method_source (~> 0.9.0)
public_suffix (4.0.6) public_suffix (4.0.6)
racc (1.5.2) racc (1.6.0)
rack (2.2.3) rack (2.2.3)
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
@ -158,8 +156,8 @@ GEM
regexp_parser (1.8.1) regexp_parser (1.8.1)
reverse_markdown (1.4.0) reverse_markdown (1.4.0)
nokogiri nokogiri
rexml (3.2.4) rexml (3.2.5)
rouge (3.26.0) rouge (3.27.0)
rspec (3.8.0) rspec (3.8.0)
rspec-core (~> 3.8.0) rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0) rspec-expectations (~> 3.8.0)
@ -193,10 +191,9 @@ GEM
ruby-progressbar (1.10.1) ruby-progressbar (1.10.1)
rubyzip (2.3.2) rubyzip (2.3.2)
rugged (1.2.0) rugged (1.2.0)
sanitize (4.6.6) sanitize (6.0.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.4.4) nokogiri (>= 1.12.0)
nokogumbo (~> 1.4)
sawyer (0.8.2) sawyer (0.8.2)
addressable (>= 2.3.5) addressable (>= 2.3.5)
faraday (> 0.8, < 2.0) faraday (> 0.8, < 2.0)
@ -222,24 +219,24 @@ GEM
with_env (1.1.0) with_env (1.1.0)
xml-simple (1.1.9) xml-simple (1.1.9)
rexml rexml
zeitwerk (2.4.2) zeitwerk (2.5.3)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
activesupport (~> 6.1.4.1) activesupport (~> 6.1.4.4)
factory_bot factory_bot
faraday (~> 1.0) faraday (~> 1.0)
github-linguist (~> 7.12) github-linguist (~> 7.12)
gitlab-gollum-lib (~> 4.2.7.10.gitlab.1) gitlab-gollum-lib (~> 4.2.7.10.gitlab.2)
gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1) gitlab-gollum-rugged_adapter (~> 0.4.4.4.gitlab.1)
gitlab-labkit (~> 0.21.1) gitlab-labkit (~> 0.21.1)
gitlab-license_finder gitlab-license_finder
gitlab-markup (~> 1.7.1) gitlab-markup (~> 1.7.1)
google-protobuf (~> 3.17.0) google-protobuf (~> 3.19.0)
grpc (~> 1.30.2) grpc (~> 1.42.0)
grpc-tools (= 1.30.2) grpc-tools (~> 1.42.0)
licensee (~> 9.14.1) licensee (~> 9.14.1)
pry (~> 0.12.2) pry (~> 0.12.2)
rbtrace rbtrace

View file

@ -21,19 +21,9 @@ let
inherit ruby; inherit ruby;
copyGemFiles = true; copyGemFiles = true;
gemdir = ./.; gemdir = ./.;
gemset =
let x = import (gemdir + "/gemset.nix");
in x // {
# grpc expects the AR environment variable to contain `ar rpc`. See the
# discussion in nixpkgs #63056.
grpc = x.grpc // {
patches = [ ../fix-grpc-ar.patch ];
dontBuild = false;
};
};
}; };
version = "14.6.3"; version = "14.7.0";
gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}"; gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
in in
@ -45,10 +35,10 @@ buildGoModule {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitaly"; repo = "gitaly";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-b4gNIYMtwsV2qv3mjKYDnCCGGmQseoqaTGN7k9mR1B8="; sha256 = "sha256-hOtdeJSjZLGcPCZpu42lGtCtQoLE0/AQqfQWLUJ6Hf8=";
}; };
vendorSha256 = "sha256-ZLd4E3+e25Hqmd6ZyF3X6BveMEg7OF0FX9IvNBWn3v0="; vendorSha256 = "sha256-eapqtSstc7d3R7A/5krKV0uVr9GhGkHHMrmsBOpWAbo=";
passthru = { passthru = {
inherit rubyEnv; inherit rubyEnv;

View file

@ -13,10 +13,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia"; sha256 = "171ida68hrk21cq1zz1kfl9h94a3qw5p3afviqzsirl0kx6qjyv9";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
actionview = { actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -24,10 +24,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z"; sha256 = "1lm2pf35p6q4ff78z175h6ihmzfg2j7ssn41374rb9iy9gpiiidm";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
activesupport = { activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@ -35,10 +35,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4"; sha256 = "0rvnz9lsf9mrkpji748sf51f54m027snkw6rm8flyvf7fq18rm98";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
adamantium = { adamantium = {
dependencies = ["ice_nine" "memoizable"]; dependencies = ["ice_nine" "memoizable"];
@ -247,10 +247,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0r6smbqnh0m84fxwb2g11qjfbcsljfin4vhnf43nmmbql2l1i3ah"; sha256 = "1vs6frgnhhfnyicsjck39xibmn7xc6ji7wvznvfmr53f4smqjk40";
type = "gem"; type = "gem";
}; };
version = "4.2.7.10.gitlab.1"; version = "4.2.7.10.gitlab.2";
}; };
gitlab-gollum-rugged_adapter = { gitlab-gollum-rugged_adapter = {
dependencies = ["mime-types" "rugged"]; dependencies = ["mime-types" "rugged"];
@ -300,10 +300,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0vmll4nnkha3vsqj1g76pwni6x7mp2i81pka4wdwq8qfhn210108"; sha256 = "1dwx4ns39bpmzmhglyip9d68i117zspf5lp865pf6hrsmmdf2k53";
type = "gem"; type = "gem";
}; };
version = "3.17.3"; version = "3.19.1";
}; };
googleapis-common-protos-types = { googleapis-common-protos-types = {
dependencies = ["google-protobuf"]; dependencies = ["google-protobuf"];
@ -311,10 +311,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1949w1lcd3iyiy4n6zgnrhdp78k9khbh2pbkrpkv263bbpmw8llg"; sha256 = "0w860lqs5j6n58a8qn4wr16hp0qz7cq5h67dgma04gncjwqiyhf5";
type = "gem"; type = "gem";
}; };
version = "1.1.0"; version = "1.3.0";
}; };
grpc = { grpc = {
dependencies = ["google-protobuf" "googleapis-common-protos-types"]; dependencies = ["google-protobuf" "googleapis-common-protos-types"];
@ -322,20 +322,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rsglf7ag17n465iff7vlw83pn2rpl4kv9sb1rpf17nx6xpi7yl5"; sha256 = "0jjq2ing7px4zvdrg9xcq5a9qsciq6g3v14n95a3d9n6cyg69lmk";
type = "gem"; type = "gem";
}; };
version = "1.30.2"; version = "1.42.0";
}; };
grpc-tools = { grpc-tools = {
groups = ["development" "test"]; groups = ["development" "test"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0k9zhsqhamp02ryzgfb4y2bbick151vlhrhj0kqbbz9lyhms0bd4"; sha256 = "0xipvw8zcm1c3pna6fgmy83x0yvffii8d7wafwcxmszxa647brw1";
type = "gem"; type = "gem";
}; };
version = "1.30.2"; version = "1.42.0";
}; };
i18n = { i18n = {
dependencies = ["concurrent-ruby"]; dependencies = ["concurrent-ruby"];
@ -343,10 +343,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a"; sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
type = "gem"; type = "gem";
}; };
version = "1.8.10"; version = "1.8.11";
}; };
ice_nine = { ice_nine = {
source = { source = {
@ -372,10 +372,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci"; sha256 = "1z9grvjyfz16ag55hg522d3q4dh07hf391sf9s96npc0vfi85xkz";
type = "gem"; type = "gem";
}; };
version = "2.5.1"; version = "2.6.1";
}; };
licensee = { licensee = {
dependencies = ["dotenv" "octokit" "reverse_markdown" "rugged" "thor"]; dependencies = ["dotenv" "octokit" "reverse_markdown" "rugged" "thor"];
@ -394,10 +394,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1nqcya57x2n58y1dify60i0dpla40n4yir928khp4nj5jrn9mgmw"; sha256 = "17rvbrqcci1579d7dpbsfmz1f9g7msk82lyh9ip5h29dkrnixcgg";
type = "gem"; type = "gem";
}; };
version = "2.12.0"; version = "2.13.0";
}; };
memoizable = { memoizable = {
dependencies = ["thread_safe"]; dependencies = ["thread_safe"];
@ -452,20 +452,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2"; sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
type = "gem"; type = "gem";
}; };
version = "2.5.1"; version = "2.6.1";
}; };
minitest = { minitest = {
groups = ["default" "development" "test"]; groups = ["default" "development" "test"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"; sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
type = "gem"; type = "gem";
}; };
version = "5.14.4"; version = "5.15.0";
}; };
msgpack = { msgpack = {
groups = ["default"]; groups = ["default"];
@ -493,19 +493,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9"; sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
type = "gem"; type = "gem";
}; };
version = "1.11.7"; version = "1.12.5";
};
nokogumbo = {
dependencies = ["nokogiri"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09qc1c7acv9qm48vk2kzvnrq4ij8jrql1cv33nmv2nwmlggy0jyj";
type = "gem";
};
version = "1.5.0";
}; };
octokit = { octokit = {
dependencies = ["faraday" "sawyer"]; dependencies = ["faraday" "sawyer"];
@ -611,10 +602,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
type = "gem"; type = "gem";
}; };
version = "1.5.2"; version = "1.6.0";
}; };
rack = { rack = {
groups = ["default"]; groups = ["default"];
@ -720,24 +711,24 @@
version = "1.4.0"; version = "1.4.0";
}; };
rexml = { rexml = {
groups = ["default" "development" "test"]; groups = ["default" "development" "omnibus" "test"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3"; sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
type = "gem"; type = "gem";
}; };
version = "3.2.4"; version = "3.2.5";
}; };
rouge = { rouge = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3"; sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
type = "gem"; type = "gem";
}; };
version = "3.26.0"; version = "3.27.0";
}; };
rspec = { rspec = {
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
@ -857,13 +848,15 @@
version = "1.2.0"; version = "1.2.0";
}; };
sanitize = { sanitize = {
dependencies = ["crass" "nokogiri" "nokogumbo"]; dependencies = ["crass" "nokogiri"];
groups = ["default"];
platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0j4j2a2mkk1a70vbx959pvx0gvr1zb9snjwvsppwj28bp0p0b2bv"; sha256 = "1zq8pxmsd1abw18zz6mazsm2jfpwmbgdxbpawb7bmwvkb2c5yyc1";
type = "gem"; type = "gem";
}; };
version = "4.6.6"; version = "6.0.0";
}; };
sawyer = { sawyer = {
dependencies = ["addressable" "faraday"]; dependencies = ["addressable" "faraday"];
@ -1001,9 +994,9 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl"; sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
type = "gem"; type = "gem";
}; };
version = "2.4.2"; version = "2.5.3";
}; };
} }

View file

@ -2,12 +2,12 @@
buildGoModule rec { buildGoModule rec {
pname = "gitlab-shell"; pname = "gitlab-shell";
version = "13.22.1"; version = "13.22.2";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-shell"; repo = "gitlab-shell";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-uqdKiBZ290mG0JNi17EjimfES6bN3q1hF6LXs3URTZ8="; sha256 = "sha256-jAH/MKmCIybLXsypHehQJaKf+mK9ko5XqWoDH/XKE5w=";
}; };
buildInputs = [ ruby ]; buildInputs = [ ruby ];

View file

@ -5,7 +5,7 @@ in
buildGoModule rec { buildGoModule rec {
pname = "gitlab-workhorse"; pname = "gitlab-workhorse";
version = "14.6.3"; version = "14.7.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = data.owner; owner = data.owner;

View file

@ -2,7 +2,7 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'rails', '~> 6.1.4.1' gem 'rails', '~> 6.1.4.4'
gem 'bootsnap', '~> 1.9.1', require: false gem 'bootsnap', '~> 1.9.1', require: false
@ -50,7 +50,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0'
gem 'omniauth-twitter', '~> 1.4' gem 'omniauth-twitter', '~> 1.4'
gem 'omniauth_crowd', '~> 2.4.0' gem 'omniauth_crowd', '~> 2.4.0'
gem 'omniauth-authentiq', '~> 0.3.3' gem 'omniauth-authentiq', '~> 0.3.3'
gem 'gitlab-omniauth-openid-connect', '~> 0.8.0', require: 'omniauth_openid_connect' gem 'gitlab-omniauth-openid-connect', '~> 0.9.0', require: 'omniauth_openid_connect'
gem 'omniauth-salesforce', '~> 1.0.5' gem 'omniauth-salesforce', '~> 1.0.5'
gem 'omniauth-atlassian-oauth2', '~> 0.2.0' gem 'omniauth-atlassian-oauth2', '~> 0.2.0'
gem 'rack-oauth2', '~> 1.16.0' gem 'rack-oauth2', '~> 1.16.0'
@ -74,7 +74,7 @@ gem 'u2f', '~> 0.2.1'
gem 'validates_hostname', '~> 1.0.11' gem 'validates_hostname', '~> 1.0.11'
gem 'rubyzip', '~> 2.0.0', require: 'zip' gem 'rubyzip', '~> 2.0.0', require: 'zip'
# GitLab Pages letsencrypt support # GitLab Pages letsencrypt support
gem 'acme-client', '~> 2.0', '>= 2.0.6' gem 'acme-client', '~> 2.0', '>= 2.0.9'
# Browser detection # Browser detection
gem 'browser', '~> 4.2' gem 'browser', '~> 4.2'
@ -98,10 +98,7 @@ gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
# GraphQL API # GraphQL API
gem 'graphql', '~> 1.11.10' gem 'graphql', '~> 1.11.10'
# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771 gem 'graphiql-rails', '~> 1.8'
# TODO: remove app/views/graphiql/rails/editors/show.html.erb when https://github.com/rmosolgo/graphiql-rails/pull/71 is released:
# https://gitlab.com/gitlab-org/gitlab/issues/31747
gem 'graphiql-rails', '~> 1.4.10'
gem 'apollo_upload_server', '~> 2.1.0' gem 'apollo_upload_server', '~> 2.1.0'
gem 'graphql-docs', '~> 1.6.0', group: [:development, :test] gem 'graphql-docs', '~> 1.6.0', group: [:development, :test]
gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import) gem 'graphlient', '~> 0.4.0' # Used by BulkImport feature (group::import)
@ -149,6 +146,7 @@ gem 'aws-sdk-core', '~> 3'
gem 'aws-sdk-cloudformation', '~> 1' gem 'aws-sdk-cloudformation', '~> 1'
gem 'aws-sdk-s3', '~> 1' gem 'aws-sdk-s3', '~> 1'
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
# Markdown and HTML processing # Markdown and HTML processing
gem 'html-pipeline', '~> 2.13.2' gem 'html-pipeline', '~> 2.13.2'
@ -166,10 +164,10 @@ gem 'asciidoctor', '~> 2.0.10'
gem 'asciidoctor-include-ext', '~> 0.3.1', require: false gem 'asciidoctor-include-ext', '~> 0.3.1', require: false
gem 'asciidoctor-plantuml', '~> 0.0.12' gem 'asciidoctor-plantuml', '~> 0.0.12'
gem 'asciidoctor-kroki', '~> 0.5.0', require: false gem 'asciidoctor-kroki', '~> 0.5.0', require: false
gem 'rouge', '~> 3.26.1' gem 'rouge', '~> 3.27.0'
gem 'truncato', '~> 0.7.11' gem 'truncato', '~> 0.7.11'
gem 'bootstrap_form', '~> 4.2.0' gem 'bootstrap_form', '~> 4.2.0'
gem 'nokogiri', '~> 1.11.4' gem 'nokogiri', '~> 1.12'
gem 'escape_utils', '~> 1.1' gem 'escape_utils', '~> 1.1'
# Calendar rendering # Calendar rendering
@ -193,12 +191,12 @@ end
# State machine # State machine
gem 'state_machines-activerecord', '~> 0.8.0' gem 'state_machines-activerecord', '~> 0.8.0'
# Issue tags # CI domain tags
gem 'acts-as-taggable-on', '~> 8.1' gem 'acts-as-taggable-on', '~> 9.0'
# Background jobs # Background jobs
gem 'sidekiq', '~> 6.3' gem 'sidekiq', '~> 6.3'
gem 'sidekiq-cron', '~> 1.0' gem 'sidekiq-cron', '~> 1.2'
gem 'redis-namespace', '~> 1.8.1' gem 'redis-namespace', '~> 1.8.1'
gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch' gem 'gitlab-sidekiq-fetcher', '0.8.0', require: 'sidekiq-reliable-fetch'
@ -263,7 +261,7 @@ gem 'ruby-fogbugz', '~> 0.2.1'
gem 'kubeclient', '~> 4.9.2' gem 'kubeclient', '~> 4.9.2'
# Sanitize user input # Sanitize user input
gem 'sanitize', '~> 5.2.1' gem 'sanitize', '~> 6.0'
gem 'babosa', '~> 1.0.4' gem 'babosa', '~> 1.0.4'
# Sanitizes SVG input # Sanitizes SVG input
@ -276,7 +274,7 @@ gem 'licensee', '~> 9.14.1'
gem 'charlock_holmes', '~> 0.7.7' gem 'charlock_holmes', '~> 0.7.7'
# Detect mime content type from content # Detect mime content type from content
gem 'ruby-magic', '~> 0.4' gem 'ruby-magic', '~> 0.5'
# Faster blank # Faster blank
gem 'fast_blank' gem 'fast_blank'
@ -312,7 +310,7 @@ gem 'pg_query', '~> 2.1'
gem 'premailer-rails', '~> 1.10.3' gem 'premailer-rails', '~> 1.10.3'
# LabKit: Tracing and Correlation # LabKit: Tracing and Correlation
gem 'gitlab-labkit', '~> 0.21.1' gem 'gitlab-labkit', '~> 0.21.3'
# Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0 # Thrift is a dependency of gitlab-labkit, we want a version higher than 0.14.0
# because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900 # because of https://gitlab.com/gitlab-org/gitlab/-/issues/321900
gem 'thrift', '>= 0.14.0' gem 'thrift', '>= 0.14.0'
@ -394,8 +392,6 @@ group :development, :test do
gem 'parallel', '~> 1.19', require: false gem 'parallel', '~> 1.19', require: false
gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
gem 'test_file_finder', '~> 0.1.3' gem 'test_file_finder', '~> 0.1.3'
end end
@ -443,7 +439,8 @@ end
gem 'octokit', '~> 4.15' gem 'octokit', '~> 4.15'
# https://gitlab.com/gitlab-org/gitlab/issues/207207 # Updating this gem version here is deprecated. See:
# https://docs.gitlab.com/ee/development/emails.html#mailroom-gem-updates
gem 'gitlab-mail_room', '~> 0.0.9', require: 'mail_room' gem 'gitlab-mail_room', '~> 0.0.9', require: 'mail_room'
gem 'email_reply_trimmer', '~> 0.1' gem 'email_reply_trimmer', '~> 0.1'
@ -483,14 +480,14 @@ end
gem 'spamcheck', '~> 0.1.0' gem 'spamcheck', '~> 0.1.0'
# Gitaly GRPC protocol definitions # Gitaly GRPC protocol definitions
gem 'gitaly', '~> 14.4.0.pre.rc43' gem 'gitaly', '~> 14.6.0.pre.rc1'
# KAS GRPC protocol definitions # KAS GRPC protocol definitions
gem 'kas-grpc', '~> 0.0.2' gem 'kas-grpc', '~> 0.0.2'
gem 'grpc', '~> 1.30.2' gem 'grpc', '~> 1.42.0'
gem 'google-protobuf', '~> 3.17.1' gem 'google-protobuf', '~> 3.19.0'
gem 'toml-rb', '~> 2.0' gem 'toml-rb', '~> 2.0'

View file

@ -2,72 +2,72 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
RedCloth (4.3.2) RedCloth (4.3.2)
acme-client (2.0.6) acme-client (2.0.9)
faraday (>= 0.17, < 2.0.0) faraday (>= 0.17, < 2.0.0)
actioncable (6.1.4.1) actioncable (6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.1.4.1) actionmailbox (6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
activejob (= 6.1.4.1) activejob (= 6.1.4.4)
activerecord (= 6.1.4.1) activerecord (= 6.1.4.4)
activestorage (= 6.1.4.1) activestorage (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.1.4.1) actionmailer (6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
actionview (= 6.1.4.1) actionview (= 6.1.4.4)
activejob (= 6.1.4.1) activejob (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (6.1.4.1) actionpack (6.1.4.4)
actionview (= 6.1.4.1) actionview (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
rack (~> 2.0, >= 2.0.9) rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.4.1) actiontext (6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
activerecord (= 6.1.4.1) activerecord (= 6.1.4.4)
activestorage (= 6.1.4.1) activestorage (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.1.4.1) actionview (6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.1.4.1) activejob (6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.1.4.1) activemodel (6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
activerecord (6.1.4.1) activerecord (6.1.4.4)
activemodel (= 6.1.4.1) activemodel (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
activerecord-explain-analyze (0.1.0) activerecord-explain-analyze (0.1.0)
activerecord (>= 4) activerecord (>= 4)
pg pg
activestorage (6.1.4.1) activestorage (6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
activejob (= 6.1.4.1) activejob (= 6.1.4.4)
activerecord (= 6.1.4.1) activerecord (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
marcel (~> 1.0.0) marcel (~> 1.0.0)
mini_mime (>= 1.1.0) mini_mime (>= 1.1.0)
activesupport (6.1.4.1) activesupport (6.1.4.4)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
tzinfo (~> 2.0) tzinfo (~> 2.0)
zeitwerk (~> 2.3) zeitwerk (~> 2.3)
acts-as-taggable-on (8.1.0) acts-as-taggable-on (9.0.0)
activerecord (>= 5.0, < 6.2) activerecord (>= 6.0, < 7.1)
addressable (2.8.0) addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
aes_key_wrap (1.1.0) aes_key_wrap (1.1.0)
@ -117,14 +117,14 @@ GEM
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.1) aws-sigv4 (1.2.1)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
azure-storage-blob (2.0.1) azure-storage-blob (2.0.3)
azure-storage-common (~> 2.0) azure-storage-common (~> 2.0)
nokogiri (~> 1.11.0.rc2) nokogiri (~> 1, >= 1.10.8)
azure-storage-common (2.0.2) azure-storage-common (2.0.4)
faraday (~> 1.0) faraday (~> 1.0)
faraday_middleware (~> 1.0.0.rc1) faraday_middleware (~> 1.0, >= 1.0.0.rc1)
net-http-persistent (~> 4.0) net-http-persistent (~> 4.0)
nokogiri (~> 1.11.0.rc2) nokogiri (~> 1, >= 1.10.8)
babosa (1.0.4) babosa (1.0.4)
backport (1.2.0) backport (1.2.0)
base32 (0.3.2) base32 (0.3.2)
@ -232,7 +232,6 @@ GEM
danger danger
gitlab (~> 4.2, >= 4.2.0) gitlab (~> 4.2, >= 4.2.0)
database_cleaner (1.7.0) database_cleaner (1.7.0)
debugger-ruby_core_source (1.3.8)
deckar01-task_list (2.3.1) deckar01-task_list (2.3.1)
html-pipeline html-pipeline
declarative (0.0.20) declarative (0.0.20)
@ -326,8 +325,10 @@ GEM
escape_utils (1.2.1) escape_utils (1.2.1)
et-orbi (1.2.1) et-orbi (1.2.1)
tzinfo tzinfo
ethon (0.15.0)
ffi (>= 1.15.0)
eventmachine (1.2.7) eventmachine (1.2.7)
excon (0.71.1) excon (0.90.0)
execjs (2.8.1) execjs (2.8.1)
expression_parser (0.9.0) expression_parser (0.9.0)
extended-markdown-filter (0.6.0) extended-markdown-filter (0.6.0)
@ -443,7 +444,7 @@ GEM
rails (>= 3.2.0) rails (>= 3.2.0)
git (1.7.0) git (1.7.0)
rchardet (~> 1.8) rchardet (~> 1.8)
gitaly (14.4.0.pre.rc43) gitaly (14.6.0.pre.rc1)
grpc (~> 1.0) grpc (~> 1.0)
github-markup (1.7.0) github-markup (1.7.0)
gitlab (4.16.1) gitlab (4.16.1)
@ -465,10 +466,10 @@ 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.21.1) gitlab-labkit (0.21.3)
actionpack (>= 5.0.0, < 7.0.0) actionpack (>= 5.0.0, < 7.0.0)
activesupport (>= 5.0.0, < 7.0.0) activesupport (>= 5.0.0, < 7.0.0)
grpc (~> 1.30.2) grpc (>= 1.37)
jaeger-client (~> 1.1) jaeger-client (~> 1.1)
opentracing (~> 0.4) opentracing (~> 0.4)
pg_query (~> 2.1) pg_query (~> 2.1)
@ -484,7 +485,7 @@ GEM
gitlab-mail_room (0.0.9) gitlab-mail_room (0.0.9)
gitlab-markup (1.8.0) gitlab-markup (1.8.0)
gitlab-net-dns (0.9.1) gitlab-net-dns (0.9.1)
gitlab-omniauth-openid-connect (0.8.0) gitlab-omniauth-openid-connect (0.9.1)
addressable (~> 2.7) addressable (~> 2.7)
omniauth (~> 1.9) omniauth (~> 1.9)
openid_connect (~> 1.2) openid_connect (~> 1.2)
@ -504,7 +505,7 @@ GEM
omniauth (~> 1.3) omniauth (~> 1.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)
globalid (0.5.2) globalid (1.0.0)
activesupport (>= 5.0) activesupport (>= 5.0)
gon (6.4.0) gon (6.4.0)
actionpack (>= 3.0.20) actionpack (>= 3.0.20)
@ -522,8 +523,8 @@ GEM
signet (~> 0.12) signet (~> 0.12)
google-cloud-env (1.5.0) google-cloud-env (1.5.0)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
google-protobuf (3.17.3) google-protobuf (3.19.1)
googleapis-common-protos-types (1.1.0) googleapis-common-protos-types (1.3.0)
google-protobuf (~> 3.14) google-protobuf (~> 3.14)
googleauth (0.14.0) googleauth (0.14.0)
faraday (>= 0.17.3, < 2.0) faraday (>= 0.17.3, < 2.0)
@ -552,7 +553,7 @@ GEM
grape_logging (1.8.3) grape_logging (1.8.3)
grape grape
rack rack
graphiql-rails (1.4.10) graphiql-rails (1.8.0)
railties railties
sprockets-rails sprockets-rails
graphlient (0.4.0) graphlient (0.4.0)
@ -571,8 +572,8 @@ GEM
graphql (~> 1.6) graphql (~> 1.6)
html-pipeline (~> 2.8) html-pipeline (~> 2.8)
sass (~> 3.4) sass (~> 3.4)
grpc (1.30.2) grpc (1.42.0)
google-protobuf (~> 3.12) google-protobuf (~> 3.18)
googleapis-common-protos-types (~> 1.0) googleapis-common-protos-types (~> 1.0)
gssapi (1.2.0) gssapi (1.2.0)
ffi (>= 1.0.1) ffi (>= 1.0.1)
@ -732,7 +733,7 @@ GEM
lumberjack (1.2.7) lumberjack (1.2.7)
mail (2.7.1) mail (2.7.1)
mini_mime (>= 0.1.1) mini_mime (>= 0.1.1)
marcel (1.0.1) marcel (1.0.2)
marginalia (1.10.0) marginalia (1.10.0)
actionpack (>= 2.3) actionpack (>= 2.3)
activerecord (>= 2.3) activerecord (>= 2.3)
@ -745,7 +746,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.1) mini_mime (1.1.1)
mini_portile2 (2.5.3) mini_portile2 (2.6.1)
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)
@ -783,11 +784,9 @@ 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.11.7) nokogiri (1.12.5)
mini_portile2 (~> 2.5.0) mini_portile2 (~> 2.6.1)
racc (~> 1.4) racc (~> 1.4)
nokogumbo (2.0.2)
nokogiri (~> 1.8, >= 1.8.4)
notiffany (0.1.3) notiffany (0.1.3)
nenv (~> 0.1) nenv (~> 0.1)
shellany (~> 0.0) shellany (~> 0.0)
@ -880,7 +879,7 @@ GEM
nokogiri (>= 1.4.4) nokogiri (>= 1.4.4)
omniauth (~> 1.0) omniauth (~> 1.0)
open4 (1.3.4) open4 (1.3.4)
openid_connect (1.2.0) openid_connect (1.3.0)
activemodel activemodel
attr_required (>= 1.0.0) attr_required (>= 1.0.0)
json-jwt (>= 1.5.0) json-jwt (>= 1.5.0)
@ -945,7 +944,7 @@ GEM
puma (>= 2.7) puma (>= 2.7)
pyu-ruby-sasl (0.0.3.3) pyu-ruby-sasl (0.0.3.3)
raabro (1.1.6) raabro (1.1.6)
racc (1.5.2) racc (1.6.0)
rack (2.2.3) rack (2.2.3)
rack-accept (0.4.5) rack-accept (0.4.5)
rack (>= 0.4) rack (>= 0.4)
@ -964,20 +963,20 @@ GEM
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rack-timeout (0.5.2) rack-timeout (0.5.2)
rails (6.1.4.1) rails (6.1.4.4)
actioncable (= 6.1.4.1) actioncable (= 6.1.4.4)
actionmailbox (= 6.1.4.1) actionmailbox (= 6.1.4.4)
actionmailer (= 6.1.4.1) actionmailer (= 6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
actiontext (= 6.1.4.1) actiontext (= 6.1.4.4)
actionview (= 6.1.4.1) actionview (= 6.1.4.4)
activejob (= 6.1.4.1) activejob (= 6.1.4.4)
activemodel (= 6.1.4.1) activemodel (= 6.1.4.4)
activerecord (= 6.1.4.1) activerecord (= 6.1.4.4)
activestorage (= 6.1.4.1) activestorage (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
bundler (>= 1.15.0) bundler (>= 1.15.0)
railties (= 6.1.4.1) railties (= 6.1.4.4)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5) rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1) actionpack (>= 5.0.1.rc1)
@ -991,9 +990,9 @@ GEM
rails-i18n (6.0.0) rails-i18n (6.0.0)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 7) railties (>= 6.0.0, < 7)
railties (6.1.4.1) railties (6.1.4.4)
actionpack (= 6.1.4.1) actionpack (= 6.1.4.4)
activesupport (= 6.1.4.1) activesupport (= 6.1.4.4)
method_source method_source
rake (>= 0.13) rake (>= 0.13)
thor (~> 1.0) thor (~> 1.0)
@ -1002,8 +1001,6 @@ GEM
rb-fsevent (0.10.4) rb-fsevent (0.10.4)
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rblineprof (0.3.6)
debugger-ruby_core_source (~> 1.3)
rbtrace (0.4.14) rbtrace (0.4.14)
ffi (>= 1.0.6) ffi (>= 1.0.6)
msgpack (>= 0.4.3) msgpack (>= 0.4.3)
@ -1049,7 +1046,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 (3.26.1) rouge (3.27.0)
rqrcode (0.7.0) rqrcode (0.7.0)
chunky_png chunky_png
rqrcode-rails3 (0.1.7) rqrcode-rails3 (0.1.7)
@ -1117,8 +1114,8 @@ GEM
rubocop-ast (>= 0.7.1) rubocop-ast (>= 0.7.1)
ruby-fogbugz (0.2.1) ruby-fogbugz (0.2.1)
crack (~> 0.4) crack (~> 0.4)
ruby-magic (0.4.0) ruby-magic (0.5.3)
mini_portile2 (~> 2.5.0) mini_portile2 (~> 2.6)
ruby-prof (1.3.1) ruby-prof (1.3.1)
ruby-progressbar (1.11.0) ruby-progressbar (1.11.0)
ruby-saml (1.13.0) ruby-saml (1.13.0)
@ -1135,10 +1132,9 @@ GEM
safe_yaml (1.0.4) safe_yaml (1.0.4)
safety_net_attestation (0.4.0) safety_net_attestation (0.4.0)
jwt (~> 2.0) jwt (~> 2.0)
sanitize (5.2.1) sanitize (6.0.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.8.0) nokogiri (>= 1.12.0)
nokogumbo (~> 2.0)
sass (3.5.5) sass (3.5.5)
sass-listen (~> 4.0.0) sass-listen (~> 4.0.0)
sass-listen (4.0.0) sass-listen (4.0.0)
@ -1177,7 +1173,7 @@ GEM
connection_pool (>= 2.2.2) connection_pool (>= 2.2.2)
rack (~> 2.0) rack (~> 2.0)
redis (>= 4.2.0) redis (>= 4.2.0)
sidekiq-cron (1.0.4) sidekiq-cron (1.2.0)
fugit (~> 1.1) fugit (~> 1.1)
sidekiq (>= 4.2.1) sidekiq (>= 4.2.1)
signet (0.14.0) signet (0.14.0)
@ -1244,7 +1240,7 @@ GEM
unicode-display_width (>= 1.5, < 3.0) unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4) unicode_utils (~> 1.4)
strings-ansi (0.2.0) strings-ansi (0.2.0)
swd (1.2.0) swd (1.3.0)
activesupport (>= 3) activesupport (>= 3)
attr_required (>= 0.0.5) attr_required (>= 0.0.5)
httpclient (>= 2.4) httpclient (>= 2.4)
@ -1304,6 +1300,8 @@ GEM
tty-screen (~> 0.8) tty-screen (~> 0.8)
wisper (~> 2.0) wisper (~> 2.0)
tty-screen (0.8.1) tty-screen (0.8.1)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (2.0.4) tzinfo (2.0.4)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
u2f (0.2.1) u2f (0.2.1)
@ -1351,7 +1349,7 @@ GEM
safety_net_attestation (~> 0.4.0) safety_net_attestation (~> 0.4.0)
securecompare (~> 1.0) securecompare (~> 1.0)
tpm-key_attestation (~> 0.9.0) tpm-key_attestation (~> 0.9.0)
webfinger (1.1.0) webfinger (1.2.0)
activesupport activesupport
httpclient (>= 2.4) httpclient (>= 2.4)
webmock (3.9.1) webmock (3.9.1)
@ -1374,16 +1372,16 @@ GEM
nokogiri (~> 1.8) nokogiri (~> 1.8)
yajl-ruby (1.4.1) yajl-ruby (1.4.1)
yard (0.9.26) yard (0.9.26)
zeitwerk (2.5.1) zeitwerk (2.5.3)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
RedCloth (~> 4.3.2) RedCloth (~> 4.3.2)
acme-client (~> 2.0, >= 2.0.6) acme-client (~> 2.0, >= 2.0.9)
activerecord-explain-analyze (~> 0.1) activerecord-explain-analyze (~> 0.1)
acts-as-taggable-on (~> 8.1) acts-as-taggable-on (~> 9.0)
addressable (~> 2.8) addressable (~> 2.8)
akismet (~> 3.0) akismet (~> 3.0)
apollo_upload_server (~> 2.1.0) apollo_upload_server (~> 2.1.0)
@ -1465,36 +1463,36 @@ 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 (~> 14.4.0.pre.rc43) gitaly (~> 14.6.0.pre.rc1)
github-markup (~> 1.7.0) github-markup (~> 1.7.0)
gitlab-chronic (~> 0.10.5) gitlab-chronic (~> 0.10.5)
gitlab-dangerfiles (~> 2.6.1) gitlab-dangerfiles (~> 2.6.1)
gitlab-experiment (~> 0.6.5) gitlab-experiment (~> 0.6.5)
gitlab-fog-azure-rm (~> 1.2.0) gitlab-fog-azure-rm (~> 1.2.0)
gitlab-labkit (~> 0.21.1) gitlab-labkit (~> 0.21.3)
gitlab-license (~> 2.0) gitlab-license (~> 2.0)
gitlab-license_finder (~> 6.0) gitlab-license_finder (~> 6.0)
gitlab-mail_room (~> 0.0.9) gitlab-mail_room (~> 0.0.9)
gitlab-markup (~> 1.8.0) gitlab-markup (~> 1.8.0)
gitlab-net-dns (~> 0.9.1) gitlab-net-dns (~> 0.9.1)
gitlab-omniauth-openid-connect (~> 0.8.0) gitlab-omniauth-openid-connect (~> 0.9.0)
gitlab-sidekiq-fetcher (= 0.8.0) gitlab-sidekiq-fetcher (= 0.8.0)
gitlab-styles (~> 6.6.0) gitlab-styles (~> 6.6.0)
gitlab_chronic_duration (~> 0.10.6.2) gitlab_chronic_duration (~> 0.10.6.2)
gitlab_omniauth-ldap (~> 2.1.1) gitlab_omniauth-ldap (~> 2.1.1)
gon (~> 6.4.0) gon (~> 6.4.0)
google-api-client (~> 0.33) google-api-client (~> 0.33)
google-protobuf (~> 3.17.1) google-protobuf (~> 3.19.0)
gpgme (~> 2.0.19) gpgme (~> 2.0.19)
grape (~> 1.5.2) grape (~> 1.5.2)
grape-entity (~> 0.10.0) grape-entity (~> 0.10.0)
grape-path-helpers (~> 1.7.0) grape-path-helpers (~> 1.7.0)
grape_logging (~> 1.7) grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10) graphiql-rails (~> 1.8)
graphlient (~> 0.4.0) graphlient (~> 0.4.0)
graphql (~> 1.11.10) graphql (~> 1.11.10)
graphql-docs (~> 1.6.0) graphql-docs (~> 1.6.0)
grpc (~> 1.30.2) grpc (~> 1.42.0)
gssapi gssapi
guard-rspec guard-rspec
haml_lint (~> 0.36.0) haml_lint (~> 0.36.0)
@ -1537,7 +1535,7 @@ DEPENDENCIES
net-ldap (~> 0.16.3) net-ldap (~> 0.16.3)
net-ntp net-ntp
net-ssh (~> 6.0) net-ssh (~> 6.0)
nokogiri (~> 1.11.4) nokogiri (~> 1.12)
oauth2 (~> 1.4) oauth2 (~> 1.4)
octokit (~> 4.15) octokit (~> 4.15)
ohai (~> 16.10) ohai (~> 16.10)
@ -1581,11 +1579,10 @@ DEPENDENCIES
rack-oauth2 (~> 1.16.0) rack-oauth2 (~> 1.16.0)
rack-proxy (~> 0.6.0) rack-proxy (~> 0.6.0)
rack-timeout (~> 0.5.1) rack-timeout (~> 0.5.1)
rails (~> 6.1.4.1) rails (~> 6.1.4.4)
rails-controller-testing rails-controller-testing
rails-i18n (~> 6.0) rails-i18n (~> 6.0)
rainbow (~> 3.0) rainbow (~> 3.0)
rblineprof (~> 0.3.6)
rbtrace (~> 0.4) rbtrace (~> 0.4)
rdoc (~> 6.3.2) rdoc (~> 6.3.2)
re2 (~> 1.2.0) re2 (~> 1.2.0)
@ -1597,7 +1594,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 (~> 3.26.1) rouge (~> 3.27.0)
rqrcode-rails3 (~> 0.1.7) rqrcode-rails3 (~> 0.1.7)
rspec-parameterized rspec-parameterized
rspec-rails (~> 5.0.1) rspec-rails (~> 5.0.1)
@ -1605,14 +1602,14 @@ DEPENDENCIES
rspec_junit_formatter rspec_junit_formatter
rspec_profiling (~> 0.0.6) rspec_profiling (~> 0.0.6)
ruby-fogbugz (~> 0.2.1) ruby-fogbugz (~> 0.2.1)
ruby-magic (~> 0.4) ruby-magic (~> 0.5)
ruby-prof (~> 1.3.0) ruby-prof (~> 1.3.0)
ruby-progressbar (~> 1.10) ruby-progressbar (~> 1.10)
ruby-saml (~> 1.13.0) ruby-saml (~> 1.13.0)
ruby_parser (~> 3.15) ruby_parser (~> 3.15)
rubyzip (~> 2.0.0) rubyzip (~> 2.0.0)
rugged (~> 1.2) rugged (~> 1.2)
sanitize (~> 5.2.1) sanitize (~> 6.0)
sassc-rails (~> 2.1.0) sassc-rails (~> 2.1.0)
sd_notify (~> 0.1.0) sd_notify (~> 0.1.0)
seed-fu (~> 2.3.7) seed-fu (~> 2.3.7)
@ -1621,7 +1618,7 @@ DEPENDENCIES
settingslogic (~> 2.0.9) settingslogic (~> 2.0.9)
shoulda-matchers (~> 4.0.1) shoulda-matchers (~> 4.0.1)
sidekiq (~> 6.3) sidekiq (~> 6.3)
sidekiq-cron (~> 1.0) sidekiq-cron (~> 1.2)
simple_po_parser (~> 1.1.2) simple_po_parser (~> 1.1.2)
simplecov (~> 0.18.5) simplecov (~> 0.18.5)
simplecov-cobertura (~> 1.3.1) simplecov-cobertura (~> 1.3.1)
@ -1647,6 +1644,7 @@ DEPENDENCIES
timecop (~> 0.9.1) timecop (~> 0.9.1)
toml-rb (~> 2.0) toml-rb (~> 2.0)
truncato (~> 0.7.11) truncato (~> 0.7.11)
typhoeus (~> 1.4.0)
u2f (~> 0.2.1) u2f (~> 0.2.1)
undercover (~> 0.4.4) undercover (~> 0.4.4)
unf (~> 0.1.4) unf (~> 0.1.4)

View file

@ -5,10 +5,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1nwkzjamvg946xh2pv82hkwxb7vqq6gakig014gflss0cwx7bbxp"; sha256 = "1c4g3rl1bvcb8frh5061hwaxkxglkj8i888j5gww5qapn5sp2czq";
type = "gem"; type = "gem";
}; };
version = "2.0.6"; version = "2.0.9";
}; };
actioncable = { actioncable = {
dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"]; dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"];
@ -16,10 +16,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x"; sha256 = "0z3ab9n901craqd3p1yl87kawci0vfw1xlh4d0zkj7lx8hpk10sn";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
actionmailbox = { actionmailbox = {
dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@ -27,10 +27,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6"; sha256 = "0q94js7ifm0a76xcwxin98bhr8nz0zqcsqi4y7j2mfwm3hq3bh0i";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
actionmailer = { actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"]; dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@ -38,10 +38,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592"; sha256 = "1gncnc5xl1ff70mfnqcys2qy65201yjrkwxx0hb5hl7jlamgvz9h";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
actionpack = { actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@ -49,10 +49,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia"; sha256 = "171ida68hrk21cq1zz1kfl9h94a3qw5p3afviqzsirl0kx6qjyv9";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
actiontext = { actiontext = {
dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@ -60,10 +60,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582"; sha256 = "1j9591z8lsp9lx3l75699prw6rgkhhlrfaj4lh5klcdffvxzkvi3";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
actionview = { actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -71,10 +71,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z"; sha256 = "1lm2pf35p6q4ff78z175h6ihmzfg2j7ssn41374rb9iy9gpiiidm";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
activejob = { activejob = {
dependencies = ["activesupport" "globalid"]; dependencies = ["activesupport" "globalid"];
@ -82,10 +82,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn"; sha256 = "0sf0nfjcj1na4v6zaxz6hjglax99yznaymjzpk1fi7mk71qf5hx4";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
activemodel = { activemodel = {
dependencies = ["activesupport"]; dependencies = ["activesupport"];
@ -93,10 +93,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3"; sha256 = "0g3qdz8dw6zkgz45jd13lwfdnm7rhgczv1pssw63g9k6qj3bkxjm";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
activerecord = { activerecord = {
dependencies = ["activemodel" "activesupport"]; dependencies = ["activemodel" "activesupport"];
@ -104,10 +104,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja"; sha256 = "090d4wl1pq06m9mibpck0m5nm8h45fwhs3fjx27297kjmnv4gzik";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
activerecord-explain-analyze = { activerecord-explain-analyze = {
dependencies = ["activerecord" "pg"]; dependencies = ["activerecord" "pg"];
@ -126,10 +126,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi"; sha256 = "0a6mmm1s8abv11ycqs6cq55kr6j89jpclkcnra9w2k47rl047vk4";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
activesupport = { activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@ -137,10 +137,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4"; sha256 = "0rvnz9lsf9mrkpji748sf51f54m027snkw6rm8flyvf7fq18rm98";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
acts-as-taggable-on = { acts-as-taggable-on = {
dependencies = ["activerecord"]; dependencies = ["activerecord"];
@ -148,10 +148,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0kfnyix173bazjswab21bx7hmqmik71awj2kz090fsa2nv58c4mw"; sha256 = "11hv6pdsr0kd9bmd84sab21sbm209ck1cwqs5jqbf9g1xbh9nh2s";
type = "gem"; type = "gem";
}; };
version = "8.1.0"; version = "9.0.0";
}; };
addressable = { addressable = {
dependencies = ["public_suffix"]; dependencies = ["public_suffix"];
@ -413,10 +413,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "01psx005lkrfk3zm816z76fa2pv4hd8jk7hxrjyy4hbvgcqi6rfy"; sha256 = "0qq3knsy7nj7a0r8m19spg2bgzns9b3j5vjbs9mpg49whhc63dv1";
type = "gem"; type = "gem";
}; };
version = "2.0.1"; version = "2.0.3";
}; };
azure-storage-common = { azure-storage-common = {
dependencies = ["faraday" "faraday_middleware" "net-http-persistent" "nokogiri"]; dependencies = ["faraday" "faraday_middleware" "net-http-persistent" "nokogiri"];
@ -424,10 +424,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0h5bwswc5768hblcxsschjz3y0lf9kvz3k7qqwypdhy8sr1lfxg8"; sha256 = "0swmsvvpmy8cdcl305p3dl2pi7m3dqjd7zywfcxmhsz0n2m4v3v0";
type = "gem"; type = "gem";
}; };
version = "2.0.2"; version = "2.0.4";
}; };
babosa = { babosa = {
groups = ["default"]; groups = ["default"];
@ -957,20 +957,6 @@
}; };
version = "1.7.0"; version = "1.7.0";
}; };
debugger-ruby_core_source = {
groups = ["default" "development"];
platforms = [{
engine = "maglev";
} {
engine = "ruby";
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lp5dmm8a8dpwymv6r1y6yr24wxsj0gvgb2b8i7qq9rcv414snwd";
type = "gem";
};
version = "1.3.8";
};
deckar01-task_list = { deckar01-task_list = {
dependencies = ["html-pipeline"]; dependencies = ["html-pipeline"];
groups = ["default"]; groups = ["default"];
@ -1393,6 +1379,17 @@
}; };
version = "1.2.1"; version = "1.2.1";
}; };
ethon = {
dependencies = ["ffi"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288";
type = "gem";
};
version = "0.15.0";
};
eventmachine = { eventmachine = {
groups = ["default" "development"]; groups = ["default" "development"];
platforms = []; platforms = [];
@ -1408,10 +1405,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0nn8wk7j22ly4lzdp5pnm7qsrjxbgspiyxkw70g1qf9bn6pslmxr"; sha256 = "1bkh80zzjpfglm14rhz116qgz0nb5gvk3ydfjpg14av5407srgh1";
type = "gem"; type = "gem";
}; };
version = "0.71.1"; version = "0.90.0";
}; };
execjs = { execjs = {
groups = ["default"]; groups = ["default"];
@ -1899,10 +1896,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "022amhic8rs09qmp3hy1zz5inxbxnrvg8j82bq4l2s8ml9hqfs3a"; sha256 = "175whfk08jrmvssh5lgk0zgsaksbnhv6p5fg3picknrw4v05vw85";
type = "gem"; type = "gem";
}; };
version = "14.4.0.pre.rc43"; version = "14.6.0.pre.rc1";
}; };
github-markup = { github-markup = {
groups = ["default"]; groups = ["default"];
@ -1975,10 +1972,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "09xci7jw5sckagnwfjlglz4cywylrf16r83f82asnnngvxadvvmq"; sha256 = "05fs11wpqn801dsscs845629hbgwbgs94qhig45jmalw4h9rira4";
type = "gem"; type = "gem";
}; };
version = "0.21.1"; version = "0.21.3";
}; };
gitlab-license = { gitlab-license = {
groups = ["default"]; groups = ["default"];
@ -2037,10 +2034,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0bzblypm1d5bxn8a15l90vx4ad099i5nhnislr7fhs2axy3ssfr1"; sha256 = "1nxak6q0m0nd3m5a7vp9xqww9w5fqx97viv5g6pg3q62q9binm0j";
type = "gem"; type = "gem";
}; };
version = "0.8.0"; version = "0.9.1";
}; };
gitlab-sidekiq-fetcher = { gitlab-sidekiq-fetcher = {
dependencies = ["sidekiq"]; dependencies = ["sidekiq"];
@ -2092,10 +2089,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0k6ww3shk3mv119xvr9m99l6ql0czq91xhd66hm8hqssb18r2lvm"; sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj";
type = "gem"; type = "gem";
}; };
version = "0.5.2"; version = "1.0.0";
}; };
gon = { gon = {
dependencies = ["actionpack" "i18n" "multi_json" "request_store"]; dependencies = ["actionpack" "i18n" "multi_json" "request_store"];
@ -2135,10 +2132,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0vmll4nnkha3vsqj1g76pwni6x7mp2i81pka4wdwq8qfhn210108"; sha256 = "1dwx4ns39bpmzmhglyip9d68i117zspf5lp865pf6hrsmmdf2k53";
type = "gem"; type = "gem";
}; };
version = "3.17.3"; version = "3.19.1";
}; };
googleapis-common-protos-types = { googleapis-common-protos-types = {
dependencies = ["google-protobuf"]; dependencies = ["google-protobuf"];
@ -2146,10 +2143,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1949w1lcd3iyiy4n6zgnrhdp78k9khbh2pbkrpkv263bbpmw8llg"; sha256 = "0w860lqs5j6n58a8qn4wr16hp0qz7cq5h67dgma04gncjwqiyhf5";
type = "gem"; type = "gem";
}; };
version = "1.1.0"; version = "1.3.0";
}; };
googleauth = { googleauth = {
dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"]; dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
@ -2223,10 +2220,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10q5zipwgjgaan9lfqakdkm5ry8afgkq79bkimgksn6jyyvpz6w8"; sha256 = "1lcf0gc88i3wk8cs71qm62ac9lrc1a8v5sd0369c5ip2ic4wbqh2";
type = "gem"; type = "gem";
}; };
version = "1.4.10"; version = "1.8.0";
}; };
graphlient = { graphlient = {
dependencies = ["faraday" "faraday_middleware" "graphql-client"]; dependencies = ["faraday" "faraday_middleware" "graphql-client"];
@ -2277,10 +2274,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rsglf7ag17n465iff7vlw83pn2rpl4kv9sb1rpf17nx6xpi7yl5"; sha256 = "0jjq2ing7px4zvdrg9xcq5a9qsciq6g3v14n95a3d9n6cyg69lmk";
type = "gem"; type = "gem";
}; };
version = "1.30.2"; version = "1.42.0";
}; };
gssapi = { gssapi = {
dependencies = ["ffi"]; dependencies = ["ffi"];
@ -2968,10 +2965,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3"; sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0";
type = "gem"; type = "gem";
}; };
version = "1.0.1"; version = "1.0.2";
}; };
marginalia = { marginalia = {
dependencies = ["actionpack" "activerecord"]; dependencies = ["actionpack" "activerecord"];
@ -3074,10 +3071,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k"; sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq";
type = "gem"; type = "gem";
}; };
version = "2.5.3"; version = "2.6.1";
}; };
minitest = { minitest = {
groups = ["development" "test"]; groups = ["development" "test"];
@ -3333,21 +3330,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9"; sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b";
type = "gem"; type = "gem";
}; };
version = "1.11.7"; version = "1.12.5";
};
nokogumbo = {
dependencies = ["nokogiri"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sxjnpjvrn10gdmfw2dimhch861lz00f28hvkkz0b1gc2rb65k9s";
type = "gem";
};
version = "2.0.2";
}; };
notiffany = { notiffany = {
dependencies = ["nenv" "shellany"]; dependencies = ["nenv" "shellany"];
@ -3681,10 +3667,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1nqhgvq006h6crbp8lffw66ll46zf319c2637g4sybdclglismma"; sha256 = "0w474bz3s1hqhilvrddr33l2nkyikypaczp3808w0345jr88b5m7";
type = "gem"; type = "gem";
}; };
version = "1.2.0"; version = "1.3.0";
}; };
openssl = { openssl = {
groups = ["default"]; groups = ["default"];
@ -4010,10 +3996,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"; sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
type = "gem"; type = "gem";
}; };
version = "1.5.2"; version = "1.6.0";
}; };
rack = { rack = {
groups = ["default" "development" "kerberos" "test"]; groups = ["default" "development" "kerberos" "test"];
@ -4107,10 +4093,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz"; sha256 = "10vylypjzfp6c34zx175x7ql7h27llmjdhgjxp5bn2zmrx3lac8l";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
rails-controller-testing = { rails-controller-testing = {
dependencies = ["actionpack" "actionview" "activesupport"]; dependencies = ["actionpack" "actionview" "activesupport"];
@ -4162,10 +4148,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy"; sha256 = "1nmyds2www6dmqbbd5ggq31gxxb9mwxd5llzmb3iyczssk6l7lla";
type = "gem"; type = "gem";
}; };
version = "6.1.4.1"; version = "6.1.4.4";
}; };
rainbow = { rainbow = {
groups = ["default" "development" "test"]; groups = ["default" "development" "test"];
@ -4208,21 +4194,6 @@
}; };
version = "0.10.1"; version = "0.10.1";
}; };
rblineprof = {
dependencies = ["debugger-ruby_core_source"];
groups = ["development"];
platforms = [{
engine = "maglev";
} {
engine = "ruby";
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m58kdjgncwf0h1qry3qk5h4bg8sj0idykqqijqcrr09mxfd9yc6";
type = "gem";
};
version = "0.3.6";
};
rbtrace = { rbtrace = {
dependencies = ["ffi" "msgpack" "optimist"]; dependencies = ["ffi" "msgpack" "optimist"];
groups = ["default"]; groups = ["default"];
@ -4479,10 +4450,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "197k0vskf72wxx0gzwld2jzg27bb7982xlvnzy9adlvkzp7nh8vf"; sha256 = "0530ri0p60km0bg0ib6swkhfnas427cva7vcdmnwl8df52a10y1k";
type = "gem"; type = "gem";
}; };
version = "3.26.1"; version = "3.27.0";
}; };
rqrcode = { rqrcode = {
dependencies = ["chunky_png"]; dependencies = ["chunky_png"];
@ -4709,10 +4680,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1mn1m682l6hv54afh1an5lh623zbllgl2aqjz2f62v892slzkq57"; sha256 = "192bc7a4jgqcjgsp8jzkb2f355k5shy133zbvfcrjb7rjla7n9l9";
type = "gem"; type = "gem";
}; };
version = "0.4.0"; version = "0.5.3";
}; };
ruby-prof = { ruby-prof = {
groups = ["default"]; groups = ["default"];
@ -4838,15 +4809,15 @@
version = "0.4.0"; version = "0.4.0";
}; };
sanitize = { sanitize = {
dependencies = ["crass" "nokogiri" "nokogumbo"]; dependencies = ["crass" "nokogiri"];
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "18m3zcf207gcrmghx288w3n2kpphc22lbmbc1wdx1nzcn8g2yddh"; sha256 = "1zq8pxmsd1abw18zz6mazsm2jfpwmbgdxbpawb7bmwvkb2c5yyc1";
type = "gem"; type = "gem";
}; };
version = "5.2.1"; version = "6.0.0";
}; };
sass = { sass = {
dependencies = ["sass-listen"]; dependencies = ["sass-listen"];
@ -5034,10 +5005,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1aliswahmpxn1ib2brn4126gk97ac3zdnwr71mn8vzbr3vdd7fl0"; sha256 = "0hxvm42zbr27k40jvdba5v8ich2ys8q7a2wbia9sxb0mmcy8v2aj";
type = "gem"; type = "gem";
}; };
version = "1.0.4"; version = "1.2.0";
}; };
signet = { signet = {
dependencies = ["addressable" "faraday" "jwt" "multi_json"]; dependencies = ["addressable" "faraday" "jwt" "multi_json"];
@ -5318,10 +5289,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0c5cdpykx2h4jx8q01hjhv8f0plw5r9iqm2i1m0ijiyk7dqm824w"; sha256 = "12b3q2sw42nnilfb51nlqdv07f31vdv2j595kd99asnkw4cjlf5w";
type = "gem"; type = "gem";
}; };
version = "1.2.0"; version = "1.3.0";
}; };
sys-filesystem = { sys-filesystem = {
dependencies = ["ffi"]; dependencies = ["ffi"];
@ -5605,6 +5576,17 @@
}; };
version = "0.8.1"; version = "0.8.1";
}; };
typhoeus = {
dependencies = ["ethon"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m22yrkmbj81rzhlny81j427qdvz57yk5wbcf3km0nf3bl6qiygz";
type = "gem";
};
version = "1.4.0";
};
tzinfo = { tzinfo = {
dependencies = ["concurrent-ruby"]; dependencies = ["concurrent-ruby"];
groups = ["default" "development" "test"]; groups = ["default" "development" "test"];
@ -5832,10 +5814,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar"; sha256 = "18jj50b44a471ig7hw1ax90wxaaz40acmrf6cm7m2iyshlffy53q";
type = "gem"; type = "gem";
}; };
version = "1.1.0"; version = "1.2.0";
}; };
webmock = { webmock = {
dependencies = ["addressable" "crack" "hashdiff"]; dependencies = ["addressable" "crack" "hashdiff"];
@ -5966,9 +5948,9 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj"; sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx";
type = "gem"; type = "gem";
}; };
version = "2.5.1"; version = "2.5.3";
}; };
} }

View file

@ -1,27 +1,42 @@
{ fetchFromGitHub, python, lib }: { lib
, fetchFromGitHub
, python3
}:
with python.pkgs; python3.pkgs.buildPythonApplication rec {
buildPythonApplication rec {
pname = "gitless"; pname = "gitless";
version = "0.8.8"; version = "0.8.8";
format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gitless-vcs"; owner = "gitless-vcs";
repo = "gitless"; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-xo5EWtP2aN8YzP8ro3bnxZwUGUp0PHD0g8hk+Y+gExE="; hash = "sha256-xo5EWtP2aN8YzP8ro3bnxZwUGUp0PHD0g8hk+Y+gExE=";
}; };
propagatedBuildInputs = with pythonPackages; [ sh pygit2 clint ]; propagatedBuildInputs = with python3.pkgs; [
sh
pygit2
clint
];
postPatch = ''
substituteInPlace setup.py \
--replace "pygit2==0.28.2" "pygit2>=0.28.2"
'';
doCheck = false; doCheck = false;
pythonImportsCheck = [
"gitless"
];
meta = with lib; { meta = with lib; {
description = "Version control system built on top of Git";
homepage = "https://gitless.com/"; homepage = "https://gitless.com/";
description = "A version control system built on top of Git"; license = licenses.mit;
license = licenses.gpl2; maintainers = with maintainers; [ cransom ];
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.cransom ];
}; };
} }

View file

@ -68,6 +68,7 @@ stdenv.mkDerivation rec {
# Fixes https://github.com/NixOS/nixpkgs/issues/31168 # Fixes https://github.com/NixOS/nixpkgs/issues/31168
postPatch = '' postPatch = ''
patchShebangs build-aux/meson_post_install.py patchShebangs build-aux/meson_post_install.py
substituteInPlace meson.build --replace '>= 1.0.0-alpha.1' '>= 1.0.0'
''; '';
installCheckPhase = '' installCheckPhase = ''

View file

@ -1,4 +1,4 @@
{ lib, buildPythonApplication, fetchFromGitHub, mpv, requests, python-mpv-jsonipc }: { lib, buildPythonApplication, fetchFromGitHub, mpv, requests, python-mpv-jsonipc, pystray, tkinter }:
buildPythonApplication rec { buildPythonApplication rec {
pname = "plex-mpv-shim"; pname = "plex-mpv-shim";
@ -11,7 +11,7 @@ buildPythonApplication rec {
sha256 = "0hgv9g17dkrh3zbsx27n80yvkgix9j2x0rgg6d3qsf7hp5j3xw4r"; sha256 = "0hgv9g17dkrh3zbsx27n80yvkgix9j2x0rgg6d3qsf7hp5j3xw4r";
}; };
propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ]; propagatedBuildInputs = [ mpv requests python-mpv-jsonipc pystray tkinter ];
# does not contain tests # does not contain tests
doCheck = false; doCheck = false;

View file

@ -1,17 +1,17 @@
{ lib, buildGoModule, fetchFromGitHub, srt, ffmpeg }: { lib, buildGoModule, fetchFromGitHub, srt, ffmpeg }:
buildGoModule rec { buildGoModule rec {
pname = "srtrelay-unstable"; pname = "srtrelay";
version = "2021-07-28"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "voc"; owner = "voc";
repo = "srtrelay"; repo = "srtrelay";
rev = "c4f02ff2e9637b01a0679b29e5a76f4521eeeef3"; rev = "v${version}";
sha256 = "06zbl97bjjyv51zp27qk37ffpbh1ylm9bsr0s5qlyd73pyavcj1g"; sha256 = "sha256-CA+UuFOWjZjSBDWM62rda3IKO1fwC3X52mP4tg1uoO4=";
}; };
vendorSha256 = "1pdpb0my7gdvjjkka6jhj19b9nx575k6117hg536b106ij2n4zd2"; vendorSha256 = "sha256-xTYlfdijSo99ei+ZMX6N9gl+yw0DrPQ2wOhn6SS9S/E=";
buildInputs = [ srt ]; buildInputs = [ srt ];
checkInputs = [ ffmpeg ]; checkInputs = [ ffmpeg ];

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "conmon"; pname = "conmon";
version = "2.0.32"; version = "2.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-aj0RQVVJp2S8cIYT7fsbK1TLaK0auvdgEIgkZJktsdo="; sha256 = "sha256-75Xyp25+JJtrXJO+cRFPkDj64zgdlVTAygGwFuJ7jKA=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View file

@ -1,23 +1,15 @@
{ lib, fetchFromGitHub, python3, mypy, glib, cairo, pango, pkg-config, libxcb, xcbutilcursor }: { lib, fetchFromGitHub, python3, python3Packages, mypy, glib, pango, pkg-config, xcbutilcursor }:
let let
enabled-xcffib = cairocffi-xcffib: cairocffi-xcffib.override { unwrapped = python3Packages.buildPythonPackage rec {
withXcffib = true;
};
# make it easier to reference python
python = python3;
pythonPackages = python.pkgs;
unwrapped = pythonPackages.buildPythonPackage rec {
pname = "qtile"; pname = "qtile";
version = "0.19.0"; version = "0.20.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qtile"; owner = "qtile";
repo = "qtile"; repo = "qtile";
rev = "v${version}"; rev = "v${version}";
sha256 = "BLHGVPMQd8O4h5TVx/F/klzSra+FZYogp22V6Yq04T0="; sha256 = "TRmul3t//izJRdViTvxFz29JZeGYsWc7WsJjagQ35nw=";
}; };
postPatch = '' postPatch = ''
@ -33,13 +25,13 @@ let
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
] ++ (with pythonPackages; [ ] ++ (with python3Packages; [
setuptools-scm setuptools-scm
]); ]);
propagatedBuildInputs = with pythonPackages; [ propagatedBuildInputs = with python3Packages; [
xcffib xcffib
(enabled-xcffib cairocffi) (cairocffi.override { withXcffib = true; })
setuptools setuptools
python-dateutil python-dateutil
dbus-python dbus-python
@ -68,7 +60,7 @@ let
}; };
}; };
in in
(python.withPackages (ps: [ unwrapped ])).overrideAttrs (_: { (python3.withPackages (_: [ unwrapped ])).overrideAttrs (_: {
# otherwise will be exported as "env", this restores `nix search` behavior # otherwise will be exported as "env", this restores `nix search` behavior
name = "${unwrapped.pname}-${unwrapped.version}"; name = "${unwrapped.pname}-${unwrapped.version}";
# export underlying qtile package # export underlying qtile package

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "river"; pname = "river";
version = "0.1.0"; version = "0.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ifreund"; owner = "riverwm";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "03pdgrcpj8db9s14249815z76dyjwwma8xv6p9hpw79flk6rk7v7"; sha256 = "0mysj6fmgiwzrfzm1rk09k4xa9qiqsdwvwr59b4rs010c1gsllwk";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -55,10 +55,9 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
/* /* Builder patch install dir into river to get default config
Builder patch install dir into river to get default config
When installFlags is removed, river becomes half broken. When installFlags is removed, river becomes half broken.
See https://github.com/ifreund/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56 See https://github.com/riverwm/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
*/ */
installFlags = [ "DESTDIR=$(out)" ]; installFlags = [ "DESTDIR=$(out)" ];

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, substituteAll, swaybg { lib, stdenv, fetchFromGitHub, substituteAll, swaybg
, meson_0_60, ninja, pkg-config, wayland-scanner, scdoc , meson, ninja, pkg-config, wayland-scanner, scdoc
, wayland, libxkbcommon, pcre, json_c, dbus, libevdev , wayland, libxkbcommon, pcre, json_c, dbus, libevdev
, pango, cairo, libinput, libcap, pam, gdk-pixbuf, librsvg , pango, cairo, libinput, libcap, pam, gdk-pixbuf, librsvg
, wlroots, wayland-protocols, libdrm , wlroots, wayland-protocols, libdrm
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
]; ];
nativeBuildInputs = [ nativeBuildInputs = [
meson_0_60 ninja pkg-config wayland-scanner scdoc meson ninja pkg-config wayland-scanner scdoc
]; ];
buildInputs = [ buildInputs = [

View file

@ -30,7 +30,7 @@ expandResponseParams "$@"
if [[ -n "${NIX_LINK_TYPE_@suffixSalt@:-}" ]]; then if [[ -n "${NIX_LINK_TYPE_@suffixSalt@:-}" ]]; then
linkType=$NIX_LINK_TYPE_@suffixSalt@ linkType=$NIX_LINK_TYPE_@suffixSalt@
else else
linkType=$(checkLinkType "$@") linkType=$(checkLinkType "${params[@]}")
fi fi
if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}" if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}"

View file

@ -31,7 +31,7 @@ cxxLibrary=1
cInclude=1 cInclude=1
expandResponseParams "$@" expandResponseParams "$@"
linkType=$(checkLinkType "$@") linkType=$(checkLinkType "${params[@]}")
declare -i n=0 declare -i n=0
nParams=${#params[@]} nParams=${#params[@]}

View file

@ -11,6 +11,7 @@ $SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
${fetchLFS:+--fetch-lfs} \ ${fetchLFS:+--fetch-lfs} \
${deepClone:+--deepClone} \ ${deepClone:+--deepClone} \
${fetchSubmodules:+--fetch-submodules} \ ${fetchSubmodules:+--fetch-submodules} \
${sparseCheckout:+--sparse-checkout "$sparseCheckout"} \
${branchName:+--branch-name "$branchName"} ${branchName:+--branch-name "$branchName"}
runHook postFetch runHook postFetch

View file

@ -15,6 +15,7 @@ in
{ url, rev ? "HEAD", md5 ? "", sha256 ? "", hash ? "", leaveDotGit ? deepClone { url, rev ? "HEAD", md5 ? "", sha256 ? "", hash ? "", leaveDotGit ? deepClone
, fetchSubmodules ? true, deepClone ? false , fetchSubmodules ? true, deepClone ? false
, branchName ? null , branchName ? null
, sparseCheckout ? ""
, name ? urlToName url rev , name ? urlToName url rev
, # Shell code executed after the file has been fetched , # Shell code executed after the file has been fetched
# successfully. This can do things like check or transform the file. # successfully. This can do things like check or transform the file.
@ -74,7 +75,7 @@ stdenvNoCC.mkDerivation {
else else
lib.fakeSha256; lib.fakeSha256;
inherit url rev leaveDotGit fetchLFS fetchSubmodules deepClone branchName postFetch; inherit url rev leaveDotGit fetchLFS fetchSubmodules deepClone branchName sparseCheckout postFetch;
postHook = if netrcPhase == null then null else '' postHook = if netrcPhase == null then null else ''
${netrcPhase} ${netrcPhase}

View file

@ -48,6 +48,7 @@ Options:
--rev ref Any sha1 or references (such as refs/heads/master) --rev ref Any sha1 or references (such as refs/heads/master)
--hash h Expected hash. --hash h Expected hash.
--branch-name Branch name to check out into --branch-name Branch name to check out into
--sparse-checkout Only fetch and checkout part of the repository.
--deepClone Clone the entire repository. --deepClone Clone the entire repository.
--no-deepClone Make a shallow clone of just the required ref. --no-deepClone Make a shallow clone of just the required ref.
--leave-dotGit Keep the .git directories. --leave-dotGit Keep the .git directories.
@ -75,6 +76,7 @@ for arg; do
--hash) argfun=set_hashType;; --hash) argfun=set_hashType;;
--branch-name) argfun=set_branchName;; --branch-name) argfun=set_branchName;;
--deepClone) deepClone=true;; --deepClone) deepClone=true;;
--sparse-checkout) argfun=set_sparseCheckout;;
--quiet) QUIET=true;; --quiet) QUIET=true;;
--no-deepClone) deepClone=;; --no-deepClone) deepClone=;;
--leave-dotGit) leaveDotGit=true;; --leave-dotGit) leaveDotGit=true;;
@ -96,7 +98,7 @@ for arg; do
case $argfun in case $argfun in
set_*) set_*)
var=${argfun#set_} var=${argfun#set_}
eval $var=$arg eval "$var=$(printf %q "$arg")"
;; ;;
esac esac
argfun="" argfun=""
@ -112,6 +114,10 @@ init_remote(){
local url=$1 local url=$1
clean_git init --initial-branch=master clean_git init --initial-branch=master
clean_git remote add origin "$url" clean_git remote add origin "$url"
if [ -n "$sparseCheckout" ]; then
git config remote.origin.partialclonefilter "blob:none"
echo "$sparseCheckout" | git sparse-checkout set --stdin
fi
( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true ( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
} }

View file

@ -7,4 +7,15 @@
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a"; rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY="; sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
}; };
sparseCheckout = invalidateFetcherByDrvHash fetchgit {
name = "nix-source";
url = "https://github.com/NixOS/nix";
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
sparseCheckout = ''
src
tests
'';
sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=";
};
} }

View file

@ -3,6 +3,7 @@
{ owner, repo, rev, name ? "source" { owner, repo, rev, name ? "source"
, fetchSubmodules ? false, leaveDotGit ? null , fetchSubmodules ? false, leaveDotGit ? null
, deepClone ? false, private ? false, forceFetchGit ? false , deepClone ? false, private ? false, forceFetchGit ? false
, sparseCheckout ? ""
, githubBase ? "github.com", varPrefix ? null , githubBase ? "github.com", varPrefix ? null
, ... # For hash agility , ... # For hash agility
}@args: }@args:
@ -10,7 +11,7 @@ let
baseUrl = "https://${githubBase}/${owner}/${repo}"; baseUrl = "https://${githubBase}/${owner}/${repo}";
passthruAttrs = removeAttrs args [ "owner" "repo" "rev" "fetchSubmodules" "forceFetchGit" "private" "githubBase" "varPrefix" ]; passthruAttrs = removeAttrs args [ "owner" "repo" "rev" "fetchSubmodules" "forceFetchGit" "private" "githubBase" "varPrefix" ];
varBase = "NIX${if varPrefix == null then "" else "_${varPrefix}"}_GITHUB_PRIVATE_"; varBase = "NIX${if varPrefix == null then "" else "_${varPrefix}"}_GITHUB_PRIVATE_";
useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit; useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || (sparseCheckout != "");
# We prefer fetchzip in cases we don't need submodules as the hash # We prefer fetchzip in cases we don't need submodules as the hash
# is more stable in that case. # is more stable in that case.
fetcher = if useFetchGit then fetchgit else fetchzip; fetcher = if useFetchGit then fetchgit else fetchzip;
@ -30,7 +31,7 @@ let
}; };
fetcherArgs = (if useFetchGit fetcherArgs = (if useFetchGit
then { then {
inherit rev deepClone fetchSubmodules; url = "${baseUrl}.git"; inherit rev deepClone fetchSubmodules sparseCheckout; url = "${baseUrl}.git";
} // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; } } // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
else { url = "${baseUrl}/archive/${rev}.tar.gz"; } else { url = "${baseUrl}/archive/${rev}.tar.gz"; }
) // privateAttrs // passthruAttrs // { inherit name; }; ) // privateAttrs // passthruAttrs // { inherit name; };

View file

@ -1,4 +1,4 @@
{ stdenv, runCommand, lib, coreutils }: { lib, stdenv, bintools-unwrapped, llvmPackages_13, coreutils }:
if stdenv.hostPlatform.isStatic if stdenv.hostPlatform.isStatic
then throw '' then throw ''
@ -25,17 +25,36 @@ else stdenv.mkDerivation rec {
cp ${./test.c} test.c cp ${./test.c} test.c
''; '';
libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
outputs = ["out" "hook"]; outputs = ["out" "hook"];
libName = "libredirect" + stdenv.targetPlatform.extensions.sharedLibrary;
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
$CC -Wall -std=c99 -O3 -fPIC -ldl -shared \ ${if stdenv.isDarwin && stdenv.isAarch64 then ''
${lib.optionalString stdenv.isDarwin "-Wl,-install_name,$out/lib/$libName"} \ # We need the unwrapped binutils and clang:
-o "$libName" \ # We also want to build a fat library with x86_64, arm64, arm64e in there.
libredirect.c # Because we use the unwrapped tools, we need to provide -isystem for headers
# and the library search directory for libdl.
# We can't build this on x86_64, because the libSystem we point to doesn't
# like arm64(e).
PATH=${bintools-unwrapped}/bin:${llvmPackages_13.clang-unwrapped}/bin:$PATH \
clang -arch x86_64 -arch arm64 -arch arm64e \
-isystem ${llvmPackages_13.clang.libc}/include \
-isystem ${llvmPackages_13.libclang.lib}/lib/clang/*/include \
-L${llvmPackages_13.clang.libc}/lib \
-Wl,-install_name,$libName \
-Wall -std=c99 -O3 -fPIC libredirect.c \
-ldl -shared -o "$libName"
'' else if stdenv.isDarwin then ''
$CC -Wall -std=c99 -O3 -fPIC libredirect.c \
-Wl,-install_name,$out/lib/$libName \
-ldl -shared -o "$libName"
'' else ''
$CC -Wall -std=c99 -O3 -fPIC libredirect.c \
-ldl -shared -o "$libName"
''}
if [ -n "$doInstallCheck" ]; then if [ -n "$doInstallCheck" ]; then
$CC -Wall -std=c99 -O3 test.c -o test $CC -Wall -std=c99 -O3 test.c -o test
@ -54,6 +73,12 @@ else stdenv.mkDerivation rec {
install -vD "$libName" "$out/lib/$libName" install -vD "$libName" "$out/lib/$libName"
'' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
# dylib will be rejected unless dylib rpath gets explictly set
install_name_tool \
-change $libName $out/lib/$libName \
$out/lib/$libName
'' + ''
# Provide a setup hook that injects our library into every process. # Provide a setup hook that injects our library into every process.
mkdir -p "$hook/nix-support" mkdir -p "$hook/nix-support"
cat <<SETUP_HOOK > "$hook/nix-support/setup-hook" cat <<SETUP_HOOK > "$hook/nix-support/setup-hook"

View file

@ -112,7 +112,8 @@ WRAPPER(int, open)(const char * path, int flags, ...)
} }
WRAPPER_DEF(open) WRAPPER_DEF(open)
#ifndef __APPLE__ // In musl libc, open64 is simply a macro for open
#if !defined(__APPLE__) && !defined(open64)
WRAPPER(int, open64)(const char * path, int flags, ...) WRAPPER(int, open64)(const char * path, int flags, ...)
{ {
int (*open64_real) (const char *, int, mode_t) = LOOKUP_REAL(open64); int (*open64_real) (const char *, int, mode_t) = LOOKUP_REAL(open64);
@ -152,7 +153,7 @@ WRAPPER(FILE *, fopen)(const char * path, const char * mode)
} }
WRAPPER_DEF(fopen) WRAPPER_DEF(fopen)
#ifndef __APPLE__ #ifdef __GLIBC__
WRAPPER(FILE *, __nss_files_fopen)(const char * path) WRAPPER(FILE *, __nss_files_fopen)(const char * path)
{ {
FILE * (*__nss_files_fopen_real) (const char *) = LOOKUP_REAL(__nss_files_fopen); FILE * (*__nss_files_fopen_real) (const char *) = LOOKUP_REAL(__nss_files_fopen);
@ -162,7 +163,8 @@ WRAPPER(FILE *, __nss_files_fopen)(const char * path)
WRAPPER_DEF(__nss_files_fopen) WRAPPER_DEF(__nss_files_fopen)
#endif #endif
#ifndef __APPLE__ // In musl libc, fopen64 is simply a macro for fopen
#if !defined(__APPLE__) && !defined(fopen64)
WRAPPER(FILE *, fopen64)(const char * path, const char * mode) WRAPPER(FILE *, fopen64)(const char * path, const char * mode)
{ {
FILE * (*fopen64_real) (const char *, const char *) = LOOKUP_REAL(fopen64); FILE * (*fopen64_real) (const char *, const char *) = LOOKUP_REAL(fopen64);
@ -172,7 +174,7 @@ WRAPPER(FILE *, fopen64)(const char * path, const char * mode)
WRAPPER_DEF(fopen64) WRAPPER_DEF(fopen64)
#endif #endif
#ifndef __APPLE__ #ifdef __linux__
WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st) WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st)
{ {
int (*__xstat_real) (int ver, const char *, struct stat *) = LOOKUP_REAL(__xstat); int (*__xstat_real) (int ver, const char *, struct stat *) = LOOKUP_REAL(__xstat);
@ -182,7 +184,7 @@ WRAPPER(int, __xstat)(int ver, const char * path, struct stat * st)
WRAPPER_DEF(__xstat) WRAPPER_DEF(__xstat)
#endif #endif
#ifndef __APPLE__ #ifdef __linux__
WRAPPER(int, __xstat64)(int ver, const char * path, struct stat64 * st) WRAPPER(int, __xstat64)(int ver, const char * path, struct stat64 * st)
{ {
int (*__xstat64_real) (int ver, const char *, struct stat64 *) = LOOKUP_REAL(__xstat64); int (*__xstat64_real) (int ver, const char *, struct stat64 *) = LOOKUP_REAL(__xstat64);

View file

@ -6,6 +6,9 @@ cargoBuildHook() {
runHook preBuild runHook preBuild
if [ ! -z "${buildAndTestSubdir-}" ]; then if [ ! -z "${buildAndTestSubdir-}" ]; then
# ensure the output doesn't end up in the subdirectory
export CARGO_TARGET_DIR="$(pwd)/target"
pushd "${buildAndTestSubdir}" pushd "${buildAndTestSubdir}"
fi fi

View file

@ -23,6 +23,7 @@ assertExecutable() {
# --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP # --prefix ENV SEP VAL : suffix/prefix ENV with VAL, separated by SEP
# --suffix # --suffix
# --prefix-each ENV SEP VALS : like --prefix, but VALS is a list
# --suffix-each ENV SEP VALS : like --suffix, but VALS is a list # --suffix-each ENV SEP VALS : like --suffix, but VALS is a list
# --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES # --prefix-contents ENV SEP FILES : like --suffix-each, but contents of FILES
# are read first and used as VALS # are read first and used as VALS
@ -73,6 +74,14 @@ makeWrapper() {
echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper" echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
fi fi
fi fi
elif [[ "$p" == "--prefix-each" ]]; then
varName="${params[$((n + 1))]}"
separator="${params[$((n + 2))]}"
values="${params[$((n + 3))]}"
n=$((n + 3))
for value in $values; do
echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
done
elif [[ "$p" == "--suffix-each" ]]; then elif [[ "$p" == "--suffix-each" ]]; then
varName="${params[$((n + 1))]}" varName="${params[$((n + 1))]}"
separator="${params[$((n + 2))]}" separator="${params[$((n + 2))]}"

View file

@ -121,18 +121,18 @@ rec {
allowSubstitutes = false; allowSubstitutes = false;
} }
'' ''
n=$out${destination} target=$out${destination}
mkdir -p "$(dirname "$n")" mkdir -p "$(dirname "$target")"
if [ -e "$textPath" ]; then if [ -e "$textPath" ]; then
mv "$textPath" "$n" mv "$textPath" "$target"
else else
echo -n "$text" > "$n" echo -n "$text" > "$target"
fi fi
eval "$checkPhase" eval "$checkPhase"
(test -n "$executable" && chmod +x "$n") || true (test -n "$executable" && chmod +x "$target") || true
''; '';
/* /*
@ -219,7 +219,7 @@ rec {
${text} ${text}
''; '';
checkPhase = '' checkPhase = ''
${stdenv.shell} -n $out ${stdenv.shellDryRun} "$target"
''; '';
}; };
@ -246,7 +246,7 @@ rec {
${text} ${text}
''; '';
checkPhase = '' checkPhase = ''
${stdenv.shell} -n $out/bin/${name} ${stdenv.shellDryRun} "$target"
''; '';
}; };
@ -295,8 +295,8 @@ rec {
checkPhase = checkPhase =
if checkPhase == null then '' if checkPhase == null then ''
runHook preCheck runHook preCheck
${stdenv.shell} -n $out/bin/${name} ${stdenv.shellDryRun} "$target"
${shellcheck}/bin/shellcheck $out/bin/${name} ${shellcheck}/bin/shellcheck "$target"
runHook postCheck runHook postCheck
'' ''
else checkPhase; else checkPhase;

View file

@ -1,10 +1,11 @@
# Check that overriding works for trivial-builders like # Check that overriding works for trivial-builders like
# `writeShellScript` via `overrideAttrs`. This is useful # `writeShellScript` via `overrideAttrs`. This is useful
# to override the `checkPhase`, e. g. when you want # to override the `checkPhase`, e. g. if you want
# to enable extglob in `writeShellScript`. # to disable extglob in `writeShellScript`.
# #
# Run using `nix-build -A tests.trivial-overriding`. # Run using `nix-build -A tests.trivial-builders.overriding`.
{ lib { lib
, stdenv
, runtimeShell , runtimeShell
, runCommand , runCommand
, callPackage , callPackage
@ -21,33 +22,6 @@ let
rm success rm success
''; '';
# Reuse the old `checkPhase` of `writeShellScript`, but enable extglob.
allowExtglob = old: {
checkPhase = ''
# make sure we don't change the settings for
# the rest of the derivation's build
(
export BASHOPTS
shopt -s extglob
${old.checkPhase}
)
'';
};
# Run old checkPhase, but only succeed if it fails.
# This HACK is required because we can't introspect build failures
# in nix: With `assertFail` we want to make sure that the default
# `checkPhase` would fail if extglob was used in the script.
assertFail = old: {
# write old checkPhase into a shell script, so we can check for
# the phase to fail even though we have `set -e`.
checkPhase = ''
if source ${writeShellScript "old-check-phase" old.checkPhase} 2>/dev/null; then
exit 1
fi
'';
};
simpleCase = case: simpleCase = case:
writeShellScript "test-trivial-overriding-${case}" extglobScript; writeShellScript "test-trivial-overriding-${case}" extglobScript;
@ -70,16 +44,33 @@ let
executable = true; executable = true;
}; };
mkCase = f: type: isBin: disallowExtglob = x: x.overrideAttrs (_: {
checkPhase = ''
${stdenv.shell} -n "$target"
'';
});
# Run old checkPhase, but only succeed if it fails.
# This HACK is required because we can't introspect build failures
# in nix: With `assertFail` we want to make sure that the default
# `checkPhase` would fail if extglob was used in the script.
assertFail = x: x.overrideAttrs (old: {
checkPhase = ''
if
${old.checkPhase}
then exit 1; fi
'';
});
mkCase = case: outcome: isBin:
let let
drv = (f type).overrideAttrs drv = lib.pipe outcome ([ case ] ++ lib.optionals (outcome == "fail") [ disallowExtglob assertFail ]);
(if type == "succ" then allowExtglob else assertFail);
in if isBin then "${drv}/bin/${drv.name}" else drv; in if isBin then "${drv}/bin/${drv.name}" else drv;
writeTextOverrides = { writeTextOverrides = {
# Enabling globbing in checkPhase # Make sure extglob works by default
simpleSucc = mkCase simpleCase "succ" false; simpleSucc = mkCase simpleCase "succ" false;
# Ensure it's possible to fail; in this case globbing is not enabled. # Ensure it's possible to fail; in this case extglob is not enabled
simpleFail = mkCase simpleCase "fail" false; simpleFail = mkCase simpleCase "fail" false;
# Do the same checks after wrapping with callPackage # Do the same checks after wrapping with callPackage
# to make sure callPackage doesn't mess with the override # to make sure callPackage doesn't mess with the override
@ -103,7 +94,7 @@ let
name = script.name or (builtins.baseNameOf script); name = script.name or (builtins.baseNameOf script);
in writeShellScript "run-${name}" '' in writeShellScript "run-${name}" ''
if [ "$(${script})" != "success" ]; then if [ "$(${script})" != "success" ]; then
echo "Failed in ${script}" echo "Failed in ${name}"
exit 1 exit 1
fi fi
''; '';

View file

@ -20,7 +20,7 @@ let
blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist); blocklist = writeText "cacert-blocklist.txt" (lib.concatStringsSep "\n" blacklist);
extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings); extraCertificatesBundle = writeText "cacert-extra-certificates-bundle.crt" (lib.concatStringsSep "\n\n" extraCertificateStrings);
srcVersion = "3.71"; srcVersion = "3.74";
version = if nssOverride != null then nssOverride.version else srcVersion; version = if nssOverride != null then nssOverride.version else srcVersion;
meta = with lib; { meta = with lib; {
homepage = "https://curl.haxx.se/docs/caextract.html"; homepage = "https://curl.haxx.se/docs/caextract.html";
@ -35,7 +35,7 @@ let
src = if nssOverride != null then nssOverride.src else fetchurl { src = if nssOverride != null then nssOverride.src else fetchurl {
url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz"; url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings ["."] ["_"] version}_RTM/src/nss-${version}.tar.gz";
sha256 = "0ly2l3dv6z5hlxs72h5x6796ni3x1bq60saavaf42ddgv4ax7b4r"; sha256 = "0mnhdkm4galhpvfz4rv0918jwmjlwkvcvb1f5va8f3zlz48qi4l8";
}; };
dontBuild = true; dontBuild = true;

View file

@ -13,34 +13,24 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "shared-mime-info"; pname = "shared-mime-info-unstable";
version = "2.1"; version = "2021-12-03";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.freedesktop.org"; domain = "gitlab.freedesktop.org";
owner = "xdg"; owner = "xdg";
repo = pname; repo = "shared-mime-info";
rev = version; rev = "5a406b06792e26a83c7346b3c2443c0bd8d4cdb2";
sha256 = "07bxv44p43pqq4ymfnyy50yli7lwdqymhvclna42rkn1cazq3vb5"; sha256 = "1v7dx7mr0m4lcff1aasg9gxn280zn0ffn6fjg9xc44pnllg01n6s";
}; };
patches = [
# xmlto is only used for building the docs, which are not installed anyways.
(fetchpatch {
name = "xmlto-optional.patch";
url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/110.patch";
sha256 = "0p5gxlcmn8ji5bc7pd105s1halqwa1d28lfx9yj43rn6mav7allx";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja
pkg-config pkg-config
gettext gettext
itstool
libxml2 libxml2
] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) shared-mime-info; ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) shared-mime-info;

View file

@ -1,6 +1,7 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, arcan , arcan
, audit , audit
, dbus , dbus
@ -46,6 +47,14 @@ stdenv.mkDerivation rec {
hash = "sha256-UTIVDKnYD/q0K6G7NJUKh1tHcqnsuiJ/cQxWuPMJ2G4="; hash = "sha256-UTIVDKnYD/q0K6G7NJUKh1tHcqnsuiJ/cQxWuPMJ2G4=";
}; };
patches = [
# fix build with meson 0.60
(fetchpatch {
url = "https://github.com/letoram/xarcan/commit/b67e514dbb59bffc23b75d47ca7f24e96c4aeb05.patch";
sha256 = "sha256-tSQmNy1Id6nDIN+03dc1+rEEF8fMq0yJBiscNM60xic=";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
meson meson
ninja ninja

View file

@ -1,6 +1,6 @@
{ lib { lib
, stdenv , stdenv
, fetchurl , fetchFromGitLab
, fetchpatch , fetchpatch
, meson , meson
, ninja , ninja
@ -16,21 +16,25 @@
, libpeas , libpeas
, gnome-online-accounts , gnome-online-accounts
, gsettings-desktop-schemas , gsettings-desktop-schemas
, libportal , libportal-gtk4
, evolution-data-server , evolution-data-server
, libical , libical
, librest , librest
, json-glib , json-glib
, itstool , itstool
, unstableGitUpdater
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-todo"; pname = "gnome-todo";
version = "41.0"; version = "unstable-2022-01-01";
src = fetchurl { src = fetchFromGitLab {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; domain = "gitlab.gnome.org";
sha256 = "1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras"; owner = "GNOME";
repo = "gnome-todo";
rev = "4a6be8c38510d909a9f94ec34c4da1f31ac9f1ab";
sha256 = "5UGo9vMb8scPWK91gftYOjqkJs9tGMiH1lqyEqedF2A=";
}; };
patches = [ patches = [
@ -64,7 +68,7 @@ stdenv.mkDerivation rec {
gnome.adwaita-icon-theme gnome.adwaita-icon-theme
# Plug-ins # Plug-ins
libportal # background libportal-gtk4 # background
evolution-data-server # eds evolution-data-server # eds
libical libical
librest # todoist librest # todoist
@ -77,9 +81,8 @@ stdenv.mkDerivation rec {
''; '';
passthru = { passthru = {
updateScript = gnome.updateScript { updateScript = unstableGitUpdater {
packageName = pname; url = "https://gitlab.gnome.org/GNOME/gnome-todo.git";
attrPath = "gnome.${pname}";
}; };
}; };

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