Project import generated by Copybara.
GitOrigin-RevId: 9e377a6ce42dccd9b624ae4ce8f978dc892ba0e2
This commit is contained in:
parent
e4fa16c0f8
commit
849ee4d900
409 changed files with 16636 additions and 6496 deletions
6
third_party/nixpkgs/.github/CODEOWNERS
vendored
6
third_party/nixpkgs/.github/CODEOWNERS
vendored
|
@ -94,6 +94,10 @@
|
|||
/pkgs/applications/science/math/R @peti
|
||||
/pkgs/development/r-modules @peti
|
||||
|
||||
# Ruby
|
||||
/pkgs/development/interpreters/ruby @marsam
|
||||
/pkgs/development/ruby-modules @marsam
|
||||
|
||||
# Rust
|
||||
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
|
||||
/pkgs/build-support/rust @andir @danieldk @zowoq
|
||||
|
@ -135,7 +139,7 @@
|
|||
/pkgs/development/libraries/qt-5 @ttuegel
|
||||
|
||||
# PostgreSQL and related stuff
|
||||
/pkgs/servers/sql/postgresql @thoughtpolice
|
||||
/pkgs/servers/sql/postgresql @thoughtpolice @marsam
|
||||
/nixos/modules/services/databases/postgresql.xml @thoughtpolice
|
||||
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
|
||||
/nixos/tests/postgresql.nix @thoughtpolice
|
||||
|
|
|
@ -147,6 +147,10 @@ Create a Docker image with many of the store paths being on their own layer to i
|
|||
|
||||
: Shell commands to run while building the final layer, without access to most of the layer contents. Changes to this layer are "on top" of all the other layers, so can create additional directories and files.
|
||||
|
||||
`fakeRootCommands` _optional_
|
||||
|
||||
: Shell commands to run while creating the archive for the final layer in a fakeroot environment. Unlike `extraCommands`, you can run `chown` to change the owners of the files in the archive, changing fakeroot's state instead of the real filesystem. The latter would require privileges that the build user does not have. Static binaries do not interact with the fakeroot environment. By default all files in the archive will be owned by root.
|
||||
|
||||
### Behavior of `contents` in the final image {#dockerTools-buildLayeredImage-arg-contents}
|
||||
|
||||
Each path directly listed in `contents` will have a symlink in the root of the image.
|
||||
|
|
|
@ -698,6 +698,16 @@
|
|||
githubId = 1078530;
|
||||
name = "Alexandre Peyroux";
|
||||
};
|
||||
applePrincess = {
|
||||
email = "appleprincess@appleprincess.io";
|
||||
github = "applePrincess";
|
||||
githubId = 17154507;
|
||||
name = "Lein Matsumaru";
|
||||
keys = [{
|
||||
longkeyid = "rsa4096/0xAAA50652F0479205";
|
||||
fingerprint = "BF8B F725 DA30 E53E 7F11 4ED8 AAA5 0652 F047 9205";
|
||||
}];
|
||||
};
|
||||
ar1a = {
|
||||
email = "aria@ar1as.space";
|
||||
github = "ar1a";
|
||||
|
@ -2781,6 +2791,12 @@
|
|||
githubId = 1753498;
|
||||
name = "Dejan Lukan";
|
||||
};
|
||||
electrified = {
|
||||
email = "ed@maidavale.org";
|
||||
github = "electrified";
|
||||
githubId = 103082;
|
||||
name = "Ed Brindley";
|
||||
};
|
||||
elliottvillars = {
|
||||
email = "elliottvillars@gmail.com";
|
||||
github = "elliottvillars";
|
||||
|
@ -3689,6 +3705,12 @@
|
|||
githubId = 343415;
|
||||
name = "Greg Roodt";
|
||||
};
|
||||
gschwartz = {
|
||||
email = "gsch@pennmedicine.upenn.edu";
|
||||
github = "GregorySchwartz";
|
||||
githubId = 2490088;
|
||||
name = "Gregory Schwartz";
|
||||
};
|
||||
gtrunsec = {
|
||||
email = "gtrunsec@hardenedlinux.org";
|
||||
github = "GTrunSec";
|
||||
|
@ -8145,6 +8167,12 @@
|
|||
githubId = 16779;
|
||||
name = "Rickard Nilsson";
|
||||
};
|
||||
riey = {
|
||||
email = "creeper844@gmail.com";
|
||||
github = "Riey";
|
||||
githubId = 14910534;
|
||||
name = "Riey";
|
||||
};
|
||||
rika = {
|
||||
email = "rika@paymentswit.ch";
|
||||
github = "NekomimiScience";
|
||||
|
@ -8693,6 +8721,12 @@
|
|||
githubId = 19472270;
|
||||
name = "Sebastian";
|
||||
};
|
||||
sebbadk = {
|
||||
email = "sebastian@sebba.dk";
|
||||
github = "SEbbaDK";
|
||||
githubId = 1567527;
|
||||
name = "Sebastian Hyberts";
|
||||
};
|
||||
sellout = {
|
||||
email = "greg@technomadic.org";
|
||||
github = "sellout";
|
||||
|
|
10
third_party/nixpkgs/maintainers/team-list.nix
vendored
10
third_party/nixpkgs/maintainers/team-list.nix
vendored
|
@ -87,6 +87,16 @@ with lib.maintainers; {
|
|||
scope = "Maintain GNOME desktop environment and platform.";
|
||||
};
|
||||
|
||||
home-assistant = {
|
||||
members = [
|
||||
fab
|
||||
globin
|
||||
hexa
|
||||
mic92
|
||||
];
|
||||
scope = "Maintain the Home Assistant ecosystem";
|
||||
};
|
||||
|
||||
jitsi = {
|
||||
members = [
|
||||
mmilata
|
||||
|
|
|
@ -118,6 +118,16 @@
|
|||
<xref linkend="opt-services.samba-wsdd.enable" /> Web Services Dynamic Discovery host daemon
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://www.discourse.org/">Discourse</link>, a
|
||||
modern and open source discussion platform.
|
||||
</para>
|
||||
<para>
|
||||
See the <link linkend="module-services-discourse">Discourse
|
||||
section of the NixOS manual</link> for more information.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
</section>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
config = mkIf (elem "amdgpu" config.services.xserver.videoDrivers) {
|
||||
boot.blacklistedKernelModules = [ "radeon" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -74,7 +74,6 @@
|
|||
./hardware/sata.nix
|
||||
./hardware/wooting.nix
|
||||
./hardware/uinput.nix
|
||||
./hardware/video/amdgpu.nix
|
||||
./hardware/video/amdgpu-pro.nix
|
||||
./hardware/video/ati.nix
|
||||
./hardware/video/capture/mwprocapture.nix
|
||||
|
@ -126,6 +125,7 @@
|
|||
./programs/dconf.nix
|
||||
./programs/digitalbitbox/default.nix
|
||||
./programs/dmrconfig.nix
|
||||
./programs/droidcam.nix
|
||||
./programs/environment.nix
|
||||
./programs/evince.nix
|
||||
./programs/file-roller.nix
|
||||
|
@ -357,6 +357,7 @@
|
|||
./services/development/jupyter/default.nix
|
||||
./services/development/jupyterhub/default.nix
|
||||
./services/development/lorri.nix
|
||||
./services/display-managers/greetd.nix
|
||||
./services/editors/emacs.nix
|
||||
./services/editors/infinoted.nix
|
||||
./services/games/factorio.nix
|
||||
|
@ -896,6 +897,7 @@
|
|||
./services/web-apps/calibre-web.nix
|
||||
./services/web-apps/convos.nix
|
||||
./services/web-apps/cryptpad.nix
|
||||
./services/web-apps/discourse.nix
|
||||
./services/web-apps/documize.nix
|
||||
./services/web-apps/dokuwiki.nix
|
||||
./services/web-apps/engelsystem.nix
|
||||
|
|
16
third_party/nixpkgs/nixos/modules/programs/droidcam.nix
vendored
Normal file
16
third_party/nixpkgs/nixos/modules/programs/droidcam.nix
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
options.programs.droidcam = {
|
||||
enable = mkEnableOption "DroidCam client";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.programs.droidcam.enable {
|
||||
environment.systemPackages = [ pkgs.droidcam ];
|
||||
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
boot.kernelModules = [ "v4l2loopback" "snd-aloop" ];
|
||||
};
|
||||
}
|
|
@ -65,7 +65,7 @@ let
|
|||
|
||||
in {
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "snapserver" "controlPort"] [ "services" "snapserver" "tcp" "port" ])
|
||||
(mkRenamedOptionModule [ "services" "snapserver" "controlPort" ] [ "services" "snapserver" "tcp" "port" ])
|
||||
];
|
||||
|
||||
###### interface
|
||||
|
@ -200,12 +200,21 @@ in {
|
|||
location = mkOption {
|
||||
type = types.oneOf [ types.path types.str ];
|
||||
description = ''
|
||||
The location of the pipe, file, Librespot/Airplay/process binary, or a TCP address.
|
||||
Use an empty string for alsa.
|
||||
For type <literal>pipe</literal> or <literal>file</literal>, the path to the pipe or file.
|
||||
For type <literal>librespot</literal>, <literal>airplay</literal> or <literal>process</literal>, the path to the corresponding binary.
|
||||
For type <literal>tcp</literal>, the <literal>host:port</literal> address to connect to or listen on.
|
||||
For type <literal>meta</literal>, a list of stream names in the form <literal>/one/two/...</literal>. Don't forget the leading slash.
|
||||
For type <literal>alsa</literal>, use an empty string.
|
||||
'';
|
||||
example = literalExample ''
|
||||
"/path/to/pipe"
|
||||
"/path/to/librespot"
|
||||
"192.168.1.2:4444"
|
||||
"/MyTCP/Spotify/MyPipe"
|
||||
'';
|
||||
};
|
||||
type = mkOption {
|
||||
type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" ];
|
||||
type = types.enum [ "pipe" "librespot" "airplay" "file" "process" "tcp" "alsa" "spotify" "meta" ];
|
||||
default = "pipe";
|
||||
description = ''
|
||||
The type of input stream.
|
||||
|
|
|
@ -266,7 +266,7 @@ in
|
|||
gitMinimal
|
||||
openssh
|
||||
util-linux
|
||||
iproute
|
||||
iproute2
|
||||
ethtool
|
||||
thin-provisioning-tools
|
||||
iptables
|
||||
|
|
|
@ -8,7 +8,13 @@
|
|||
}
|
||||
],
|
||||
"actions": {
|
||||
"update-props": {}
|
||||
"update-props": {
|
||||
"bluez5.reconnect-profiles": [
|
||||
"hfp_hf",
|
||||
"hsp_hs",
|
||||
"a2dp_sink"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
106
third_party/nixpkgs/nixos/modules/services/display-managers/greetd.nix
vendored
Normal file
106
third_party/nixpkgs/nixos/modules/services/display-managers/greetd.nix
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.greetd;
|
||||
tty = "tty${toString cfg.vt}";
|
||||
settingsFormat = pkgs.formats.toml {};
|
||||
in
|
||||
{
|
||||
options.services.greetd = {
|
||||
enable = mkEnableOption "greetd";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.greetd.greetd;
|
||||
defaultText = "pkgs.greetd.greetd";
|
||||
description = "The greetd package that should be used.";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = settingsFormat.type;
|
||||
example = literalExample ''
|
||||
{
|
||||
default_session = {
|
||||
command = "''${pkgs.greetd.greetd}/bin/agreety --cmd sway";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
greetd configuration (<link xlink:href="https://man.sr.ht/~kennylevinsen/greetd/">documentation</link>)
|
||||
as a Nix attribute set.
|
||||
'';
|
||||
};
|
||||
|
||||
vt = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
description = ''
|
||||
The virtual console (tty) that greetd should use. This option also disables getty on that tty.
|
||||
'';
|
||||
};
|
||||
|
||||
restart = mkOption {
|
||||
type = types.bool;
|
||||
default = !(cfg.settings ? initial_session);
|
||||
defaultText = "!(config.services.greetd.settings ? initial_session)";
|
||||
description = ''
|
||||
Wether to restart greetd when it terminates (e.g. on failure).
|
||||
This is usually desirable so a user can always log in, but should be disabled when using 'settings.initial_session' (autologin),
|
||||
because every greetd restart will trigger the autologin again.
|
||||
'';
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.greetd.settings.terminal.vt = mkDefault cfg.vt;
|
||||
services.greetd.settings.default_session = mkDefault "greeter";
|
||||
|
||||
security.pam.services.greetd = {
|
||||
allowNullPassword = true;
|
||||
startSession = true;
|
||||
};
|
||||
|
||||
# This prevents nixos-rebuild from killing greetd by activating getty again
|
||||
systemd.services."autovt@${tty}".enable = false;
|
||||
|
||||
systemd.services.greetd = {
|
||||
unitConfig = {
|
||||
Wants = [
|
||||
"systemd-user-sessions.service"
|
||||
];
|
||||
After = [
|
||||
"systemd-user-sessions.service"
|
||||
"plymouth-quit-wait.service"
|
||||
"getty@${tty}.service"
|
||||
];
|
||||
Conflicts = [
|
||||
"getty@${tty}.service"
|
||||
];
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.greetd.greetd}/bin/greetd --config ${settingsFormat.generate "greetd.toml" cfg.settings}";
|
||||
|
||||
Restart = mkIf cfg.restart "always";
|
||||
|
||||
# Defaults from greetd upstream configuration
|
||||
IgnoreSIGPIPE = false;
|
||||
SendSIGHUP = true;
|
||||
TimeoutStopSec = "30s";
|
||||
KeyringMode = "shared";
|
||||
};
|
||||
|
||||
# Don't kill a user session when using nixos-rebuild
|
||||
restartIfChanged = false;
|
||||
|
||||
wantedBy = [ "graphical.target" ];
|
||||
};
|
||||
|
||||
systemd.defaultUnit = "graphical.target";
|
||||
|
||||
users.users.greeter.isSystemUser = true;
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ queezle ];
|
||||
}
|
|
@ -119,8 +119,9 @@ let
|
|||
backup = {
|
||||
path = cfg.backup.path;
|
||||
keep_time = cfg.backup.keepTime;
|
||||
} // (optionalAttrs (cfg.backup.uploadOptions != {}) {
|
||||
upload = cfg.backup.uploadOptions;
|
||||
};
|
||||
});
|
||||
gitlab_shell = {
|
||||
path = "${cfg.packages.gitlab-shell}";
|
||||
hooks_path = "${cfg.statePath}/shell/hooks";
|
||||
|
|
|
@ -50,10 +50,15 @@ let
|
|||
# List of components used in config
|
||||
extraComponents = filter useComponent availableComponents;
|
||||
|
||||
package = if (cfg.autoExtraComponents && cfg.config != null)
|
||||
testedPackage = if (cfg.autoExtraComponents && cfg.config != null)
|
||||
then (cfg.package.override { inherit extraComponents; })
|
||||
else cfg.package;
|
||||
|
||||
# overridePythonAttrs has to be applied after override
|
||||
package = testedPackage.overridePythonAttrs (oldAttrs: {
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
# If you are changing this, please update the description in applyDefaultConfig
|
||||
defaultConfig = {
|
||||
homeassistant.time_zone = config.time.timeZone;
|
||||
|
@ -63,7 +68,7 @@ let
|
|||
};
|
||||
|
||||
in {
|
||||
meta.maintainers = with maintainers; [ dotlambda ];
|
||||
meta.maintainers = teams.home-assistant.members;
|
||||
|
||||
options.services.home-assistant = {
|
||||
enable = mkEnableOption "Home Assistant";
|
||||
|
@ -183,13 +188,9 @@ in {
|
|||
};
|
||||
|
||||
package = mkOption {
|
||||
default = pkgs.home-assistant.overridePythonAttrs (oldAttrs: {
|
||||
doCheck = false;
|
||||
});
|
||||
default = pkgs.home-assistant;
|
||||
defaultText = literalExample ''
|
||||
pkgs.home-assistant.overridePythonAttrs (oldAttrs: {
|
||||
doCheck = false;
|
||||
})
|
||||
pkgs.home-assistant
|
||||
'';
|
||||
type = types.package;
|
||||
example = literalExample ''
|
||||
|
@ -198,10 +199,12 @@ in {
|
|||
}
|
||||
'';
|
||||
description = ''
|
||||
Home Assistant package to use. By default the tests are disabled, as they take a considerable amout of time to complete.
|
||||
Home Assistant package to use. Tests are automatically disabled, as they take a considerable amout of time to complete.
|
||||
Override <literal>extraPackages</literal> or <literal>extraComponents</literal> in order to add additional dependencies.
|
||||
If you specify <option>config</option> and do not set <option>autoExtraComponents</option>
|
||||
to <literal>false</literal>, overriding <literal>extraComponents</literal> will have no effect.
|
||||
Avoid <literal>home-assistant.overridePythonAttrs</literal> if you use
|
||||
<literal>autoExtraComponents</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -1,55 +1,60 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.packagekit;
|
||||
|
||||
packagekitConf = ''
|
||||
[Daemon]
|
||||
DefaultBackend=${cfg.backend}
|
||||
KeepCache=false
|
||||
'';
|
||||
inherit (lib)
|
||||
mkEnableOption mkOption mkIf mkRemovedOptionModule types
|
||||
listToAttrs recursiveUpdate;
|
||||
|
||||
vendorConf = ''
|
||||
[PackagesNotFound]
|
||||
DefaultUrl=https://github.com/NixOS/nixpkgs
|
||||
CodecUrl=https://github.com/NixOS/nixpkgs
|
||||
HardwareUrl=https://github.com/NixOS/nixpkgs
|
||||
FontUrl=https://github.com/NixOS/nixpkgs
|
||||
MimeUrl=https://github.com/NixOS/nixpkgs
|
||||
'';
|
||||
iniFmt = pkgs.formats.ini { };
|
||||
|
||||
confFiles = [
|
||||
(iniFmt.generate "PackageKit.conf" (recursiveUpdate
|
||||
{
|
||||
Daemon = {
|
||||
DefaultBackend = "test_nop";
|
||||
KeepCache = false;
|
||||
};
|
||||
}
|
||||
cfg.settings))
|
||||
|
||||
(iniFmt.generate "Vendor.conf" (recursiveUpdate
|
||||
{
|
||||
PackagesNotFound = rec {
|
||||
DefaultUrl = "https://github.com/NixOS/nixpkgs";
|
||||
CodecUrl = DefaultUrl;
|
||||
HardwareUrl = DefaultUrl;
|
||||
FontUrl = DefaultUrl;
|
||||
MimeUrl = DefaultUrl;
|
||||
};
|
||||
}
|
||||
cfg.vendorSettings))
|
||||
];
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
(mkRemovedOptionModule [ "services" "packagekit" "backend" ] "The only backend that doesn't blow up is `test_nop`.")
|
||||
];
|
||||
|
||||
options = {
|
||||
options.services.packagekit = {
|
||||
enable = mkEnableOption ''
|
||||
PackageKit provides a cross-platform D-Bus abstraction layer for
|
||||
installing software. Software utilizing PackageKit can install
|
||||
software regardless of the package manager.
|
||||
'';
|
||||
|
||||
services.packagekit = {
|
||||
enable = mkEnableOption
|
||||
''
|
||||
PackageKit provides a cross-platform D-Bus abstraction layer for
|
||||
installing software. Software utilizing PackageKit can install
|
||||
software regardless of the package manager.
|
||||
'';
|
||||
settings = mkOption {
|
||||
type = iniFmt.type;
|
||||
default = { };
|
||||
description = "Additional settings passed straight through to PackageKit.conf";
|
||||
};
|
||||
|
||||
# TODO: integrate with PolicyKit if the nix backend matures to the point
|
||||
# where it will require elevated permissions
|
||||
backend = mkOption {
|
||||
type = types.enum [ "test_nop" ];
|
||||
default = "test_nop";
|
||||
description = ''
|
||||
PackageKit supports multiple different backends and <literal>auto</literal> which
|
||||
should do the right thing.
|
||||
</para>
|
||||
<para>
|
||||
On NixOS however, we do not have a backend compatible with nix 2.0
|
||||
(refer to <link xlink:href="https://github.com/NixOS/nix/issues/233">this issue</link> so we have to force
|
||||
it to <literal>test_nop</literal> for now.
|
||||
'';
|
||||
};
|
||||
vendorSettings = mkOption {
|
||||
type = iniFmt.type;
|
||||
default = { };
|
||||
description = "Additional settings passed straight through to Vendor.conf";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -59,7 +64,9 @@ in
|
|||
|
||||
systemd.packages = with pkgs; [ packagekit ];
|
||||
|
||||
environment.etc."PackageKit/PackageKit.conf".text = packagekitConf;
|
||||
environment.etc."PackageKit/Vendor.conf".text = vendorConf;
|
||||
environment.etc = listToAttrs (map
|
||||
(e:
|
||||
lib.nameValuePair "PackageKit/${e.name}" { source = e; })
|
||||
confFiles);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ let
|
|||
"artifactory"
|
||||
"bind"
|
||||
"bird"
|
||||
"bitcoin"
|
||||
"blackbox"
|
||||
"collectd"
|
||||
"dnsmasq"
|
||||
|
|
82
third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
vendored
Normal file
82
third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/bitcoin.nix
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
{ config, lib, pkgs, options }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.prometheus.exporters.bitcoin;
|
||||
in
|
||||
{
|
||||
port = 9332;
|
||||
extraOpts = {
|
||||
rpcUser = mkOption {
|
||||
type = types.str;
|
||||
default = "bitcoinrpc";
|
||||
description = ''
|
||||
RPC user name.
|
||||
'';
|
||||
};
|
||||
|
||||
rpcPasswordFile = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
File containing RPC password.
|
||||
'';
|
||||
};
|
||||
|
||||
rpcScheme = mkOption {
|
||||
type = types.enum [ "http" "https" ];
|
||||
default = "http";
|
||||
description = ''
|
||||
Whether to connect to bitcoind over http or https.
|
||||
'';
|
||||
};
|
||||
|
||||
rpcHost = mkOption {
|
||||
type = types.str;
|
||||
default = "localhost";
|
||||
description = ''
|
||||
RPC host.
|
||||
'';
|
||||
};
|
||||
|
||||
rpcPort = mkOption {
|
||||
type = types.port;
|
||||
default = 8332;
|
||||
description = ''
|
||||
RPC port number.
|
||||
'';
|
||||
};
|
||||
|
||||
refreshSeconds = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
default = 300;
|
||||
description = ''
|
||||
How often to ask bitcoind for metrics.
|
||||
'';
|
||||
};
|
||||
|
||||
extraEnv = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
description = ''
|
||||
Extra environment variables for the exporter.
|
||||
'';
|
||||
};
|
||||
};
|
||||
serviceOpts = {
|
||||
script = ''
|
||||
export BITCOIN_RPC_PASSWORD=$(cat ${cfg.rpcPasswordFile})
|
||||
exec ${pkgs.prometheus-bitcoin-exporter}/bin/bitcoind-monitor.py
|
||||
'';
|
||||
|
||||
environment = {
|
||||
BITCOIN_RPC_USER = cfg.rpcUser;
|
||||
BITCOIN_RPC_SCHEME = cfg.rpcScheme;
|
||||
BITCOIN_RPC_HOST = cfg.rpcHost;
|
||||
BITCOIN_RPC_PORT = toString cfg.rpcPort;
|
||||
METRICS_ADDR = cfg.listenAddress;
|
||||
METRICS_PORT = toString cfg.port;
|
||||
REFRESH_SECONDS = toString cfg.refreshSeconds;
|
||||
} // cfg.extraEnv;
|
||||
};
|
||||
}
|
|
@ -156,7 +156,6 @@ in
|
|||
securityType = mkOption {
|
||||
type = types.str;
|
||||
default = "user";
|
||||
example = "share";
|
||||
description = "Samba security type";
|
||||
};
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ let
|
|||
text = ''
|
||||
#! /bin/sh
|
||||
|
||||
export PATH=$PATH:${pkgs.iproute}/sbin
|
||||
export PATH=$PATH:${pkgs.iproute2}/sbin
|
||||
|
||||
ip link set $IFNAME up
|
||||
ip address add ${cfg.ipAddress} dev $IFNAME
|
||||
|
|
|
@ -91,7 +91,7 @@ in
|
|||
description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec";
|
||||
path = [
|
||||
"${pkgs.libreswan}"
|
||||
"${pkgs.iproute}"
|
||||
"${pkgs.iproute2}"
|
||||
"${pkgs.procps}"
|
||||
"${pkgs.nssTools}"
|
||||
"${pkgs.iptables}"
|
||||
|
@ -115,8 +115,8 @@ in
|
|||
ExecStart = "${libexec}/pluto --config ${configFile} --nofork \$PLUTO_OPTIONS";
|
||||
ExecStop = "${libexec}/whack --shutdown";
|
||||
ExecStopPost = [
|
||||
"${pkgs.iproute}/bin/ip xfrm policy flush"
|
||||
"${pkgs.iproute}/bin/ip xfrm state flush"
|
||||
"${pkgs.iproute2}/bin/ip xfrm policy flush"
|
||||
"${pkgs.iproute2}/bin/ip xfrm state flush"
|
||||
"${ipsec} --stopnflog"
|
||||
];
|
||||
ExecReload = "${libexec}/whack --listen";
|
||||
|
|
|
@ -28,7 +28,7 @@ with lib;
|
|||
"systemd-resolved.service"
|
||||
];
|
||||
path = [
|
||||
pkgs.iproute
|
||||
pkgs.iproute2
|
||||
# Needed for ping
|
||||
"/run/wrappers"
|
||||
];
|
||||
|
|
|
@ -119,7 +119,7 @@ in
|
|||
path = cfg.extraPackages ++ (with pkgs; [
|
||||
# Client mode requires at least the following:
|
||||
coreutils
|
||||
iproute
|
||||
iproute2
|
||||
iptables
|
||||
]);
|
||||
|
||||
|
|
|
@ -164,7 +164,7 @@ in
|
|||
preStart = ''
|
||||
install -m 0755 -o quagga -g quagga -d /run/quagga
|
||||
|
||||
${pkgs.iproute}/bin/ip route flush proto zebra
|
||||
${pkgs.iproute2}/bin/ip route flush proto zebra
|
||||
'';
|
||||
}
|
||||
else
|
||||
|
|
|
@ -39,11 +39,11 @@ in {
|
|||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = map ( x:
|
||||
"${pkgs.iproute}/bin/rdma link add rxe_${x} type rxe netdev ${x}"
|
||||
"${pkgs.iproute2}/bin/rdma link add rxe_${x} type rxe netdev ${x}"
|
||||
) cfg.interfaces;
|
||||
|
||||
ExecStop = map ( x:
|
||||
"${pkgs.iproute}/bin/rdma link delete rxe_${x}"
|
||||
"${pkgs.iproute2}/bin/rdma link delete rxe_${x}"
|
||||
) cfg.interfaces;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -28,6 +28,7 @@ in {
|
|||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.tailscaled = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.openresolv ];
|
||||
serviceConfig.Environment = "PORT=${toString cfg.port}";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -57,7 +57,7 @@ let
|
|||
|
||||
preUp = mkOption {
|
||||
example = literalExample ''
|
||||
${pkgs.iproute}/bin/ip netns add foo
|
||||
${pkgs.iproute2}/bin/ip netns add foo
|
||||
'';
|
||||
default = "";
|
||||
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
|
||||
|
@ -68,7 +68,7 @@ let
|
|||
|
||||
preDown = mkOption {
|
||||
example = literalExample ''
|
||||
${pkgs.iproute}/bin/ip netns del foo
|
||||
${pkgs.iproute2}/bin/ip netns del foo
|
||||
'';
|
||||
default = "";
|
||||
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
|
||||
|
@ -79,7 +79,7 @@ let
|
|||
|
||||
postUp = mkOption {
|
||||
example = literalExample ''
|
||||
${pkgs.iproute}/bin/ip netns add foo
|
||||
${pkgs.iproute2}/bin/ip netns add foo
|
||||
'';
|
||||
default = "";
|
||||
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
|
||||
|
@ -90,7 +90,7 @@ let
|
|||
|
||||
postDown = mkOption {
|
||||
example = literalExample ''
|
||||
${pkgs.iproute}/bin/ip netns del foo
|
||||
${pkgs.iproute2}/bin/ip netns del foo
|
||||
'';
|
||||
default = "";
|
||||
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
|
||||
|
|
|
@ -5,7 +5,7 @@ with lib;
|
|||
let cfg = config.services.cloud-init;
|
||||
path = with pkgs; [
|
||||
cloud-init
|
||||
iproute
|
||||
iproute2
|
||||
nettools
|
||||
openssh
|
||||
shadow
|
||||
|
|
1035
third_party/nixpkgs/nixos/modules/services/web-apps/discourse.nix
vendored
Normal file
1035
third_party/nixpkgs/nixos/modules/services/web-apps/discourse.nix
vendored
Normal file
File diff suppressed because it is too large
Load diff
323
third_party/nixpkgs/nixos/modules/services/web-apps/discourse.xml
vendored
Normal file
323
third_party/nixpkgs/nixos/modules/services/web-apps/discourse.xml
vendored
Normal file
|
@ -0,0 +1,323 @@
|
|||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="module-services-discourse">
|
||||
<title>Discourse</title>
|
||||
<para>
|
||||
<link xlink:href="https://www.discourse.org/">Discourse</link> is a
|
||||
modern and open source discussion platform.
|
||||
</para>
|
||||
|
||||
<section xml:id="module-services-discourse-basic-usage">
|
||||
<title>Basic usage</title>
|
||||
<para>
|
||||
A minimal configuration using Let's Encrypt for TLS certificates looks like this:
|
||||
<programlisting>
|
||||
services.discourse = {
|
||||
<link linkend="opt-services.discourse.enable">enable</link> = true;
|
||||
<link linkend="opt-services.discourse.hostname">hostname</link> = "discourse.example.com";
|
||||
admin = {
|
||||
<link linkend="opt-services.discourse.admin.email">email</link> = "admin@example.com";
|
||||
<link linkend="opt-services.discourse.admin.username">username</link> = "admin";
|
||||
<link linkend="opt-services.discourse.admin.fullName">fullName</link> = "Administrator";
|
||||
<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";
|
||||
};
|
||||
<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";
|
||||
};
|
||||
<link linkend="opt-security.acme.email">security.acme.email</link> = "me@example.com";
|
||||
<link linkend="opt-security.acme.acceptTerms">security.acme.acceptTerms</link> = true;
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Provided a proper DNS setup, you'll be able to connect to the
|
||||
instance at <literal>discourse.example.com</literal> and log in
|
||||
using the credentials provided in
|
||||
<literal>services.discourse.admin</literal>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-discourse-tls">
|
||||
<title>Using a regular TLS certificate</title>
|
||||
<para>
|
||||
To set up TLS using a regular certificate and key on file, use
|
||||
the <xref linkend="opt-services.discourse.sslCertificate" />
|
||||
and <xref linkend="opt-services.discourse.sslCertificateKey" />
|
||||
options:
|
||||
|
||||
<programlisting>
|
||||
services.discourse = {
|
||||
<link linkend="opt-services.discourse.enable">enable</link> = true;
|
||||
<link linkend="opt-services.discourse.hostname">hostname</link> = "discourse.example.com";
|
||||
<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";
|
||||
<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";
|
||||
admin = {
|
||||
<link linkend="opt-services.discourse.admin.email">email</link> = "admin@example.com";
|
||||
<link linkend="opt-services.discourse.admin.username">username</link> = "admin";
|
||||
<link linkend="opt-services.discourse.admin.fullName">fullName</link> = "Administrator";
|
||||
<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";
|
||||
};
|
||||
<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-discourse-database">
|
||||
<title>Database access</title>
|
||||
<para>
|
||||
<productname>Discourse</productname> uses
|
||||
<productname>PostgreSQL</productname> to store most of its
|
||||
data. A database will automatically be enabled and a database
|
||||
and role created unless <xref
|
||||
linkend="opt-services.discourse.database.host" /> is changed from
|
||||
its default of <literal>null</literal> or <xref
|
||||
linkend="opt-services.discourse.database.createLocally" /> is set
|
||||
to <literal>false</literal>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
External database access can also be configured by setting
|
||||
<xref linkend="opt-services.discourse.database.host" />, <xref
|
||||
linkend="opt-services.discourse.database.username" /> and <xref
|
||||
linkend="opt-services.discourse.database.passwordFile" /> as
|
||||
appropriate. Note that you need to manually create a database
|
||||
called <literal>discourse</literal> (or the name you chose in
|
||||
<xref linkend="opt-services.discourse.database.name" />) and
|
||||
allow the configured database user full access to it.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-discourse-mail">
|
||||
<title>Email</title>
|
||||
<para>
|
||||
In addition to the basic setup, you'll want to configure an SMTP
|
||||
server <productname>Discourse</productname> can use to send user
|
||||
registration and password reset emails, among others. You can
|
||||
also optionally let <productname>Discourse</productname> receive
|
||||
email, which enables people to reply to threads and conversations
|
||||
via email.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A basic setup which assumes you want to use your configured <link
|
||||
linkend="opt-services.discourse.hostname">hostname</link> as
|
||||
email domain can be done like this:
|
||||
|
||||
<programlisting>
|
||||
services.discourse = {
|
||||
<link linkend="opt-services.discourse.enable">enable</link> = true;
|
||||
<link linkend="opt-services.discourse.hostname">hostname</link> = "discourse.example.com";
|
||||
<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";
|
||||
<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";
|
||||
admin = {
|
||||
<link linkend="opt-services.discourse.admin.email">email</link> = "admin@example.com";
|
||||
<link linkend="opt-services.discourse.admin.username">username</link> = "admin";
|
||||
<link linkend="opt-services.discourse.admin.fullName">fullName</link> = "Administrator";
|
||||
<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";
|
||||
};
|
||||
mail.outgoing = {
|
||||
<link linkend="opt-services.discourse.mail.outgoing.serverAddress">serverAddress</link> = "smtp.emailprovider.com";
|
||||
<link linkend="opt-services.discourse.mail.outgoing.port">port</link> = 587;
|
||||
<link linkend="opt-services.discourse.mail.outgoing.username">username</link> = "user@emailprovider.com";
|
||||
<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";
|
||||
};
|
||||
<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;
|
||||
<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
This assumes you have set up an MX record for the address you've
|
||||
set in <link linkend="opt-services.discourse.hostname">hostname</link> and
|
||||
requires proper SPF, DKIM and DMARC configuration to be done for
|
||||
the domain you're sending from, in order for email to be reliably delivered.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you want to use a different domain for your outgoing email
|
||||
(for example <literal>example.com</literal> instead of
|
||||
<literal>discourse.example.com</literal>) you should set
|
||||
<xref linkend="opt-services.discourse.mail.notificationEmailAddress" /> and
|
||||
<xref linkend="opt-services.discourse.mail.contactEmailAddress" /> manually.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Setup of TLS for incoming email is currently only configured
|
||||
automatically when a regular TLS certificate is used, i.e. when
|
||||
<xref linkend="opt-services.discourse.sslCertificate" /> and
|
||||
<xref linkend="opt-services.discourse.sslCertificateKey" /> are
|
||||
set.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-discourse-settings">
|
||||
<title>Additional settings</title>
|
||||
<para>
|
||||
Additional site settings and backend settings, for which no
|
||||
explicit <productname>NixOS</productname> options are provided,
|
||||
can be set in <xref linkend="opt-services.discourse.siteSettings" /> and
|
||||
<xref linkend="opt-services.discourse.backendSettings" /> respectively.
|
||||
</para>
|
||||
|
||||
<section xml:id="module-services-discourse-site-settings">
|
||||
<title>Site settings</title>
|
||||
<para>
|
||||
<quote>Site settings</quote> are the settings that can be
|
||||
changed through the <productname>Discourse</productname>
|
||||
UI. Their <emphasis>default</emphasis> values can be set using
|
||||
<xref linkend="opt-services.discourse.siteSettings" />.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Settings are expressed as a Nix attribute set which matches the
|
||||
structure of the configuration in
|
||||
<link xlink:href="https://github.com/discourse/discourse/blob/master/config/site_settings.yml">config/site_settings.yml</link>.
|
||||
To find a setting's path, you only need to care about the first
|
||||
two levels; i.e. its category (e.g. <literal>login</literal>)
|
||||
and name (e.g. <literal>invite_only</literal>).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Settings containing secret data should be set to an attribute
|
||||
set containing the attribute <literal>_secret</literal> - a
|
||||
string pointing to a file containing the value the option
|
||||
should be set to. See the example.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-discourse-backend-settings">
|
||||
<title>Backend settings</title>
|
||||
<para>
|
||||
Settings are expressed as a Nix attribute set which matches the
|
||||
structure of the configuration in
|
||||
<link xlink:href="https://github.com/discourse/discourse/blob/stable/config/discourse_defaults.conf">config/discourse.conf</link>.
|
||||
Empty parameters can be defined by setting them to
|
||||
<literal>null</literal>.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-discourse-settings-example">
|
||||
<title>Example</title>
|
||||
<para>
|
||||
The following example sets the title and description of the
|
||||
<productname>Discourse</productname> instance and enables
|
||||
<productname>GitHub</productname> login in the site settings,
|
||||
and changes a few request limits in the backend settings:
|
||||
<programlisting>
|
||||
services.discourse = {
|
||||
<link linkend="opt-services.discourse.enable">enable</link> = true;
|
||||
<link linkend="opt-services.discourse.hostname">hostname</link> = "discourse.example.com";
|
||||
<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";
|
||||
<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";
|
||||
admin = {
|
||||
<link linkend="opt-services.discourse.admin.email">email</link> = "admin@example.com";
|
||||
<link linkend="opt-services.discourse.admin.username">username</link> = "admin";
|
||||
<link linkend="opt-services.discourse.admin.fullName">fullName</link> = "Administrator";
|
||||
<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";
|
||||
};
|
||||
mail.outgoing = {
|
||||
<link linkend="opt-services.discourse.mail.outgoing.serverAddress">serverAddress</link> = "smtp.emailprovider.com";
|
||||
<link linkend="opt-services.discourse.mail.outgoing.port">port</link> = 587;
|
||||
<link linkend="opt-services.discourse.mail.outgoing.username">username</link> = "user@emailprovider.com";
|
||||
<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";
|
||||
};
|
||||
<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;
|
||||
<link linkend="opt-services.discourse.siteSettings">siteSettings</link> = {
|
||||
required = {
|
||||
title = "My Cats";
|
||||
site_description = "Discuss My Cats (and be nice plz)";
|
||||
};
|
||||
login = {
|
||||
enable_github_logins = true;
|
||||
github_client_id = "a2f6dfe838cb3206ce20";
|
||||
github_client_secret._secret = /run/keys/discourse_github_client_secret;
|
||||
};
|
||||
};
|
||||
<link linkend="opt-services.discourse.backendSettings">backendSettings</link> = {
|
||||
max_reqs_per_ip_per_minute = 300;
|
||||
max_reqs_per_ip_per_10_seconds = 60;
|
||||
max_asset_reqs_per_ip_per_10_seconds = 250;
|
||||
max_reqs_per_ip_mode = "warn+block";
|
||||
};
|
||||
<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";
|
||||
};
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
In the resulting site settings file, the
|
||||
<literal>login.github_client_secret</literal> key will be set
|
||||
to the contents of the
|
||||
<filename>/run/keys/discourse_github_client_secret</filename>
|
||||
file.
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
<section xml:id="module-services-discourse-plugins">
|
||||
<title>Plugins</title>
|
||||
<para>
|
||||
You can install <productname>Discourse</productname> plugins
|
||||
using the <xref linkend="opt-services.discourse.plugins" />
|
||||
option. As long as a plugin supports the standard install
|
||||
method, packaging it should only require fetching its source
|
||||
with an appropriate fetcher.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Some plugins provide <link
|
||||
linkend="module-services-discourse-site-settings">site
|
||||
settings</link>. Their defaults can be configured using <xref
|
||||
linkend="opt-services.discourse.siteSettings" />, just like
|
||||
regular site settings. To find the names of these settings, look
|
||||
in the <literal>config/settings.yml</literal> file of the plugin
|
||||
repo.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For example, to add the <link
|
||||
xlink:href="https://github.com/discourse/discourse-spoiler-alert">discourse-spoiler-alert</link>
|
||||
plugin and disable it by default:
|
||||
|
||||
<programlisting>
|
||||
services.discourse = {
|
||||
<link linkend="opt-services.discourse.enable">enable</link> = true;
|
||||
<link linkend="opt-services.discourse.hostname">hostname</link> = "discourse.example.com";
|
||||
<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";
|
||||
<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";
|
||||
admin = {
|
||||
<link linkend="opt-services.discourse.admin.email">email</link> = "admin@example.com";
|
||||
<link linkend="opt-services.discourse.admin.username">username</link> = "admin";
|
||||
<link linkend="opt-services.discourse.admin.fullName">fullName</link> = "Administrator";
|
||||
<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";
|
||||
};
|
||||
mail.outgoing = {
|
||||
<link linkend="opt-services.discourse.mail.outgoing.serverAddress">serverAddress</link> = "smtp.emailprovider.com";
|
||||
<link linkend="opt-services.discourse.mail.outgoing.port">port</link> = 587;
|
||||
<link linkend="opt-services.discourse.mail.outgoing.username">username</link> = "user@emailprovider.com";
|
||||
<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";
|
||||
};
|
||||
<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;
|
||||
<link linkend="opt-services.discourse.mail.incoming.enable">plugins</link> = [
|
||||
(pkgs.fetchFromGitHub {
|
||||
owner = "discourse";
|
||||
repo = "discourse-spoiler-alert";
|
||||
rev = "e200cfa571d252cab63f3d30d619b370986e4cee";
|
||||
sha256 = "0ya69ix5g77wz4c9x9gmng6l25ghb5xxlx3icr6jam16q14dzc33";
|
||||
})
|
||||
];
|
||||
<link linkend="opt-services.discourse.siteSettings">siteSettings</link> = {
|
||||
plugins = {
|
||||
spoiler_enabled = false;
|
||||
};
|
||||
};
|
||||
<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
|
@ -397,6 +397,9 @@ in
|
|||
default = pkgs.nginxStable;
|
||||
defaultText = "pkgs.nginxStable";
|
||||
type = types.package;
|
||||
apply = p: p.override {
|
||||
modules = p.modules ++ cfg.additionalModules;
|
||||
};
|
||||
description = "
|
||||
Nginx package to use. This defaults to the stable version. Note
|
||||
that the nginx team recommends to use the mainline version which
|
||||
|
@ -404,6 +407,17 @@ in
|
|||
";
|
||||
};
|
||||
|
||||
additionalModules = mkOption {
|
||||
default = [];
|
||||
type = types.listOf (types.attrsOf types.anything);
|
||||
example = literalExample "[ pkgs.nginxModules.brotli ]";
|
||||
description = ''
|
||||
Additional <link xlink:href="https://www.nginx.com/resources/wiki/modules/">third-party nginx modules</link>
|
||||
to install. Packaged modules are available in
|
||||
<literal>pkgs.nginxModules</literal>.
|
||||
'';
|
||||
};
|
||||
|
||||
logError = mkOption {
|
||||
default = "stderr";
|
||||
type = types.str;
|
||||
|
|
|
@ -55,7 +55,7 @@ in
|
|||
# The shared libraries are required for DNS resolution
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.openvpn}/bin/openvpn
|
||||
copy_bin_and_libs ${pkgs.iproute}/bin/ip
|
||||
copy_bin_and_libs ${pkgs.iproute2}/bin/ip
|
||||
|
||||
cp -pv ${pkgs.glibc}/lib/libresolv.so.2 $out/lib
|
||||
cp -pv ${pkgs.glibc}/lib/libnss_dns.so.2 $out/lib
|
||||
|
|
|
@ -1144,7 +1144,7 @@ in
|
|||
|
||||
environment.systemPackages =
|
||||
[ pkgs.host
|
||||
pkgs.iproute
|
||||
pkgs.iproute2
|
||||
pkgs.iputils
|
||||
pkgs.nettools
|
||||
]
|
||||
|
|
|
@ -88,6 +88,7 @@ in
|
|||
croc = handleTest ./croc.nix {};
|
||||
deluge = handleTest ./deluge.nix {};
|
||||
dhparams = handleTest ./dhparams.nix {};
|
||||
discourse = handleTest ./discourse.nix {};
|
||||
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
|
||||
dnscrypt-wrapper = handleTestOn ["x86_64-linux"] ./dnscrypt-wrapper {};
|
||||
doas = handleTest ./doas.nix {};
|
||||
|
@ -193,9 +194,7 @@ in
|
|||
keepalived = handleTest ./keepalived.nix {};
|
||||
keepassxc = handleTest ./keepassxc.nix {};
|
||||
kerberos = handleTest ./kerberos/default.nix {};
|
||||
kernel-latest = handleTest ./kernel-latest.nix {};
|
||||
kernel-lts = handleTest ./kernel-lts.nix {};
|
||||
kernel-testing = handleTest ./kernel-testing.nix {};
|
||||
kernel-generic = handleTest ./kernel-generic.nix {};
|
||||
kernel-latest-ath-user-regd = handleTest ./kernel-latest-ath-user-regd.nix {};
|
||||
keycloak = discoverTests (import ./keycloak.nix);
|
||||
keymap = handleTest ./keymap.nix {};
|
||||
|
|
197
third_party/nixpkgs/nixos/tests/discourse.nix
vendored
Normal file
197
third_party/nixpkgs/nixos/tests/discourse.nix
vendored
Normal file
|
@ -0,0 +1,197 @@
|
|||
# This tests Discourse by:
|
||||
# 1. logging in as the admin user
|
||||
# 2. sending a private message to the admin user through the API
|
||||
# 3. replying to that message via email.
|
||||
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
certs = import ./common/acme/server/snakeoil-certs.nix;
|
||||
clientDomain = "client.fake.domain";
|
||||
discourseDomain = certs.domain;
|
||||
adminPassword = "eYAX85qmMJ5GZIHLaXGDAoszD7HSZp5d";
|
||||
secretKeyBase = "381f4ac6d8f5e49d804dae72aa9c046431d2f34c656a705c41cd52fed9b4f6f76f51549f0b55db3b8b0dded7a00d6a381ebe9a4367d2d44f5e743af6628b4d42";
|
||||
admin = {
|
||||
email = "alice@${clientDomain}";
|
||||
username = "alice";
|
||||
fullName = "Alice Admin";
|
||||
passwordFile = "${pkgs.writeText "admin-pass" adminPassword}";
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "discourse";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ talyz ];
|
||||
};
|
||||
|
||||
nodes.discourse =
|
||||
{ nodes, ... }:
|
||||
{
|
||||
virtualisation.memorySize = 2048;
|
||||
|
||||
imports = [ common/user-account.nix ];
|
||||
|
||||
security.pki.certificateFiles = [
|
||||
certs.ca.cert
|
||||
];
|
||||
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 ${discourseDomain}
|
||||
${nodes.client.config.networking.primaryIPAddress} ${clientDomain}
|
||||
'';
|
||||
|
||||
services.postfix = {
|
||||
enableSubmission = true;
|
||||
enableSubmissions = true;
|
||||
submissionsOptions = {
|
||||
smtpd_sasl_auth_enable = "yes";
|
||||
smtpd_client_restrictions = "permit";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
|
||||
services.discourse = {
|
||||
enable = true;
|
||||
inherit admin;
|
||||
hostname = discourseDomain;
|
||||
sslCertificate = "${certs.${discourseDomain}.cert}";
|
||||
sslCertificateKey = "${certs.${discourseDomain}.key}";
|
||||
secretKeyBaseFile = "${pkgs.writeText "secret-key-base" secretKeyBase}";
|
||||
enableACME = false;
|
||||
mail.outgoing.serverAddress = clientDomain;
|
||||
mail.incoming.enable = true;
|
||||
siteSettings = {
|
||||
posting = {
|
||||
min_post_length = 5;
|
||||
min_first_post_length = 5;
|
||||
min_personal_message_post_length = 5;
|
||||
};
|
||||
};
|
||||
unicornTimeout = 900;
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 25 465 ];
|
||||
};
|
||||
|
||||
nodes.client =
|
||||
{ nodes, ... }:
|
||||
{
|
||||
imports = [ common/user-account.nix ];
|
||||
|
||||
security.pki.certificateFiles = [
|
||||
certs.ca.cert
|
||||
];
|
||||
|
||||
networking.extraHosts = ''
|
||||
127.0.0.1 ${clientDomain}
|
||||
${nodes.discourse.config.networking.primaryIPAddress} ${discourseDomain}
|
||||
'';
|
||||
|
||||
services.dovecot2 = {
|
||||
enable = true;
|
||||
protocols = [ "imap" ];
|
||||
modules = [ pkgs.dovecot_pigeonhole ];
|
||||
};
|
||||
|
||||
services.postfix = {
|
||||
enable = true;
|
||||
origin = clientDomain;
|
||||
relayDomains = [ clientDomain ];
|
||||
config = {
|
||||
compatibility_level = "2";
|
||||
smtpd_banner = "ESMTP server";
|
||||
myhostname = clientDomain;
|
||||
mydestination = clientDomain;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages =
|
||||
let
|
||||
replyToEmail = pkgs.writeScriptBin "reply-to-email" ''
|
||||
#!${pkgs.python3.interpreter}
|
||||
import imaplib
|
||||
import smtplib
|
||||
import ssl
|
||||
import email.header
|
||||
from email import message_from_bytes
|
||||
from email.message import EmailMessage
|
||||
|
||||
with imaplib.IMAP4('localhost') as imap:
|
||||
imap.login('alice', 'foobar')
|
||||
imap.select()
|
||||
status, data = imap.search(None, 'ALL')
|
||||
assert status == 'OK'
|
||||
|
||||
nums = data[0].split()
|
||||
assert len(nums) == 1
|
||||
|
||||
status, msg_data = imap.fetch(nums[0], '(RFC822)')
|
||||
assert status == 'OK'
|
||||
|
||||
msg = email.message_from_bytes(msg_data[0][1])
|
||||
subject = str(email.header.make_header(email.header.decode_header(msg['Subject'])))
|
||||
reply_to = email.header.decode_header(msg['Reply-To'])[0][0]
|
||||
message_id = email.header.decode_header(msg['Message-ID'])[0][0]
|
||||
date = email.header.decode_header(msg['Date'])[0][0]
|
||||
|
||||
ctx = ssl.create_default_context()
|
||||
with smtplib.SMTP_SSL(host='${discourseDomain}', context=ctx) as smtp:
|
||||
reply = EmailMessage()
|
||||
reply['Subject'] = 'Re: ' + subject
|
||||
reply['To'] = reply_to
|
||||
reply['From'] = 'alice@${clientDomain}'
|
||||
reply['In-Reply-To'] = message_id
|
||||
reply['References'] = message_id
|
||||
reply['Date'] = date
|
||||
reply.set_content("Test reply.")
|
||||
|
||||
smtp.send_message(reply)
|
||||
smtp.quit()
|
||||
'';
|
||||
in
|
||||
[ replyToEmail ];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 25 ];
|
||||
};
|
||||
|
||||
|
||||
testScript = { nodes }:
|
||||
let
|
||||
request = builtins.toJSON {
|
||||
title = "Private message";
|
||||
raw = "This is a test message.";
|
||||
target_usernames = admin.username;
|
||||
archetype = "private_message";
|
||||
};
|
||||
in ''
|
||||
discourse.start()
|
||||
client.start()
|
||||
|
||||
discourse.wait_for_unit("discourse.service")
|
||||
discourse.wait_for_file("/run/discourse/sockets/unicorn.sock")
|
||||
discourse.wait_until_succeeds("curl -sS -f https://${discourseDomain}")
|
||||
discourse.succeed(
|
||||
"curl -sS -f https://${discourseDomain}/session/csrf -c cookie -b cookie -H 'Accept: application/json' | jq -r '\"X-CSRF-Token: \" + .csrf' > csrf_token",
|
||||
"curl -sS -f https://${discourseDomain}/session -c cookie -b cookie -H @csrf_token -H 'Accept: application/json' -d 'login=${nodes.discourse.config.services.discourse.admin.username}' -d \"password=${adminPassword}\" | jq -e '.user.username == \"${nodes.discourse.config.services.discourse.admin.username}\"'",
|
||||
"curl -sS -f https://${discourseDomain}/login -v -H 'Accept: application/json' -c cookie -b cookie 2>&1 | grep ${nodes.discourse.config.services.discourse.admin.username}",
|
||||
)
|
||||
|
||||
client.wait_for_unit("postfix.service")
|
||||
client.wait_for_unit("dovecot2.service")
|
||||
|
||||
discourse.succeed(
|
||||
"sudo -u discourse discourse-rake api_key:create_master[master] >api_key",
|
||||
'curl -sS -f https://${discourseDomain}/posts -X POST -H "Content-Type: application/json" -H "Api-Key: $(<api_key)" -H "Api-Username: system" -d \'${request}\' ',
|
||||
)
|
||||
|
||||
client.wait_until_succeeds("reply-to-email")
|
||||
|
||||
discourse.wait_until_succeeds(
|
||||
'curl -sS -f https://${discourseDomain}/topics/private-messages/system -H "Accept: application/json" -H "Api-Key: $(<api_key)" -H "Api-Username: system" | jq -e \'if .topic_list.topics[0].id != null then .topic_list.topics[0].id else null end\' >topic_id'
|
||||
)
|
||||
discourse.succeed(
|
||||
'curl -sS -f https://${discourseDomain}/t/$(<topic_id) -H "Accept: application/json" -H "Api-Key: $(<api_key)" -H "Api-Username: system" | jq -e \'if .post_stream.posts[1].cooked == "<p>Test reply.</p>" then true else null end\' '
|
||||
)
|
||||
'';
|
||||
})
|
|
@ -313,5 +313,13 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
docker.succeed(
|
||||
"docker images --format '{{.Repository}}' | grep -F '${examples.prefixedLayeredImage.imageName}'"
|
||||
)
|
||||
|
||||
with subtest("buildLayeredImage supports running chown with fakeRootCommands"):
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.layeredImageWithFakeRootCommands}'"
|
||||
)
|
||||
docker.succeed(
|
||||
"docker run --rm ${examples.layeredImageWithFakeRootCommands.imageName} sh -c 'stat -c '%u' /home/jane | grep -E ^1000$'"
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
37
third_party/nixpkgs/nixos/tests/kernel-generic.nix
vendored
Normal file
37
third_party/nixpkgs/nixos/tests/kernel-generic.nix
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with pkgs.lib;
|
||||
|
||||
let
|
||||
makeKernelTest = version: linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "kernel-${version}";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
machine = { ... }:
|
||||
{
|
||||
boot.kernelPackages = linuxPackages;
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
assert "Linux" in machine.succeed("uname -s")
|
||||
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
|
||||
'';
|
||||
}));
|
||||
in
|
||||
with pkgs; {
|
||||
linux_4_4 = makeKernelTest "4.4" linuxPackages_4_4;
|
||||
linux_4_9 = makeKernelTest "4.9" linuxPackages_4_9;
|
||||
linux_4_14 = makeKernelTest "4.14" linuxPackages_4_14;
|
||||
linux_4_19 = makeKernelTest "4.19" linuxPackages_4_19;
|
||||
linux_5_4 = makeKernelTest "5.4" linuxPackages_5_4;
|
||||
linux_5_10 = makeKernelTest "5.10" linuxPackages_5_10;
|
||||
linux_5_11 = makeKernelTest "5.11" linuxPackages_5_11;
|
||||
|
||||
linux_testing = makeKernelTest "testing" linuxPackages_testing;
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "kernel-latest";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }:
|
||||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
assert "Linux" in machine.succeed("uname -s")
|
||||
assert "${pkgs.linuxPackages_latest.kernel.version}" in machine.succeed("uname -a")
|
||||
'';
|
||||
})
|
17
third_party/nixpkgs/nixos/tests/kernel-lts.nix
vendored
17
third_party/nixpkgs/nixos/tests/kernel-lts.nix
vendored
|
@ -1,17 +0,0 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "kernel-lts";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }:
|
||||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages;
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
assert "Linux" in machine.succeed("uname -s")
|
||||
assert "${pkgs.linuxPackages.kernel.version}" in machine.succeed("uname -a")
|
||||
'';
|
||||
})
|
|
@ -1,17 +0,0 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} : {
|
||||
name = "kernel-testing";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ nequissimus ];
|
||||
};
|
||||
|
||||
machine = { pkgs, ... }:
|
||||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages_testing;
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
assert "Linux" in machine.succeed("uname -s")
|
||||
assert "${pkgs.linuxPackages_testing.kernel.modDirVersion}" in machine.succeed("uname -a")
|
||||
'';
|
||||
})
|
|
@ -136,6 +136,24 @@ let
|
|||
'';
|
||||
};
|
||||
|
||||
bitcoin = {
|
||||
exporterConfig = {
|
||||
enable = true;
|
||||
rpcUser = "bitcoinrpc";
|
||||
rpcPasswordFile = pkgs.writeText "password" "hunter2";
|
||||
};
|
||||
metricProvider = {
|
||||
services.bitcoind.default.enable = true;
|
||||
services.bitcoind.default.rpc.users.bitcoinrpc.passwordHMAC = "e8fe33f797e698ac258c16c8d7aadfbe$872bdb8f4d787367c26bcfd75e6c23c4f19d44a69f5d1ad329e5adf3f82710f7";
|
||||
};
|
||||
exporterTest = ''
|
||||
wait_for_unit("prometheus-bitcoin-exporter.service")
|
||||
wait_for_unit("bitcoind-default.service")
|
||||
wait_for_open_port(9332)
|
||||
succeed("curl -sSf http://localhost:9332/metrics | grep -q '^bitcoin_blocks '")
|
||||
'';
|
||||
};
|
||||
|
||||
blackbox = {
|
||||
exporterConfig = {
|
||||
enable = true;
|
||||
|
|
4
third_party/nixpkgs/nixos/tests/snapcast.nix
vendored
4
third_party/nixpkgs/nixos/tests/snapcast.nix
vendored
|
@ -34,6 +34,10 @@ in {
|
|||
type = "tcp";
|
||||
location = "127.0.0.1:${toString tcpStreamPort}";
|
||||
};
|
||||
meta = {
|
||||
type = "meta";
|
||||
location = "/mpd/bluetooth/tcp";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -43,7 +43,7 @@ import ./make-test-python.nix ({pkgs, ...}: {
|
|||
# Everyone on the "isp" machine will be able to add routes to the kernel.
|
||||
security.wrappers.add-dhcpd-lease = {
|
||||
source = pkgs.writeShellScript "add-dhcpd-lease" ''
|
||||
exec ${pkgs.iproute}/bin/ip -6 route replace "$1" via "$2"
|
||||
exec ${pkgs.iproute2}/bin/ip -6 route replace "$1" via "$2"
|
||||
'';
|
||||
capabilities = "cap_net_admin+ep";
|
||||
};
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "3.3.6";
|
||||
version = "3.3.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
||||
sha256 = "sha256-k7L6CU2lY9192tfaWtVOxq9BCY7FZZdxmHT8EA+ZFsk=";
|
||||
sha256 = "13jr45kzv0xjhhqk30qpq793349qyx8jpas4kl6i6bk3xfrd3fbz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ft2-clone";
|
||||
version = "1.44_fix";
|
||||
version = "1.46";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "8bitbubsy";
|
||||
repo = "ft2-clone";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2HhG2cDzAvpSm655M1KQnjbfVvqqOZDz2ty7xnttskA=";
|
||||
sha256 = "sha256-Y6FgIbNCsxnM/B2bEB7oufBjU1BnBYaz7/oysWttIOc=";
|
||||
};
|
||||
|
||||
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,13 +2,13 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "netease-music-tui";
|
||||
version = "v0.1.2";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "betta-cyber";
|
||||
repo = "netease-music-tui";
|
||||
rev = version;
|
||||
sha256 = "0m5b3q493d32kxznm4apn56216l07b1c49km236i03mpfvdw7m1f";
|
||||
rev = "v${version}";
|
||||
sha256 = "09355a6d197ckayh9833y39dsarklgpgrq3raapiv25z59di30qq";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./cargo-lock.patch ];
|
||||
|
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
|
|||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ alsaLib openssl ];
|
||||
|
||||
cargoSha256 = "1kfbnwy3lkbhz0ggxwr5n6qd1plipkr1ycr3z2r7c0amrzzbkc7l";
|
||||
cargoSha256 = "0f06wc7h2zjipifvxsskxvihjf6mykrjrm7yk0zf98ra079bc9g9";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/betta-cyber/netease-music-tui";
|
||||
|
|
20
third_party/nixpkgs/pkgs/applications/audio/netease-music-tui/update-cargo-lock.sh
vendored
Normal file
20
third_party/nixpkgs/pkgs/applications/audio/netease-music-tui/update-cargo-lock.sh
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!nix-shell
|
||||
#!nix-shell -i bash -p coreutils gnugrep git cargo
|
||||
|
||||
# This updates cargo-lock.patch for the netease-music-tui version listed in
|
||||
# default.nix.
|
||||
|
||||
set -eu -o verbose
|
||||
|
||||
here=$PWD
|
||||
version=$(cat default.nix | grep '^ version = "' | cut -d '"' -f 2)
|
||||
checkout=$(mktemp -d)
|
||||
git clone -b "$version" --depth=1 https://github.com/betta-cyber/netease-music-tui "$checkout"
|
||||
cd "$checkout"
|
||||
|
||||
cargo generate-lockfile
|
||||
git add -f Cargo.lock
|
||||
git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
|
||||
|
||||
cd "$here"
|
||||
rm -rf "$checkout"
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "NoiseTorch";
|
||||
version = "0.9.0";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lawl";
|
||||
|
@ -11,7 +11,10 @@ buildGoModule rec {
|
|||
sha256 = "1a4g112h83m55pga8kq2a1wzxpycj59v4bygyjfyi1s09q1y97qg";
|
||||
};
|
||||
|
||||
patches = [ ./version.patch ];
|
||||
patches = [
|
||||
# Get version from environment instead of git tags
|
||||
./version.patch
|
||||
];
|
||||
|
||||
vendorSha256 = null;
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ let
|
|||
|
||||
aixlog = dependency {
|
||||
name = "aixlog";
|
||||
version = "1.4.0";
|
||||
sha256 = "0f2bs5j1jjajcpa251dslnwkgglaam3b0cm6wdx5l7mbwvnmib2g";
|
||||
version = "1.5.0";
|
||||
sha256 = "09mnkrans9zmwfxsiwgkm0rba66c11kg5zby9x3rjic34gnmw6ay";
|
||||
};
|
||||
|
||||
popl = dependency {
|
||||
|
@ -34,13 +34,13 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snapcast";
|
||||
version = "0.23.0";
|
||||
version = "0.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "badaix";
|
||||
repo = "snapcast";
|
||||
rev = "v${version}";
|
||||
sha256 = "0183hhghzn0fhw2qzc1s009q7miabpcf0pxaqjdscsl8iivxqknd";
|
||||
sha256 = "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config boost170.dev ];
|
||||
|
@ -64,6 +64,6 @@ stdenv.mkDerivation rec {
|
|||
description = "Synchronous multi-room audio player";
|
||||
homepage = "https://github.com/badaix/snapcast";
|
||||
maintainers = with maintainers; [ fpletz ];
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import ./generic.nix (rec {
|
||||
version = "27.1";
|
||||
sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
|
||||
version = "27.2";
|
||||
sha256 = "sha256-tKfMTnjmPzeGJOCRkhW5EK9bsqCvyBn60pgnLp9Awbk=";
|
||||
patches = [
|
||||
./tramp-detect-wrapped-gvfsd.patch
|
||||
];
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
|
||||
index 34a234c..b5a471c 100644
|
||||
index 9e26c8fd6d..fa220e513c 100644
|
||||
--- a/lisp/net/tramp-gvfs.el
|
||||
+++ b/lisp/net/tramp-gvfs.el
|
||||
@@ -122,6 +122,7 @@
|
||||
(tramp-compat-funcall 'dbus-get-unique-name :system)
|
||||
(tramp-compat-funcall 'dbus-get-unique-name :session)
|
||||
(or (tramp-compat-process-running-p "gvfs-fuse-daemon")
|
||||
@@ -125,5 +125,6 @@
|
||||
;; for some processes. Better we don't check.
|
||||
(<= emacs-major-version 25)
|
||||
(tramp-compat-process-running-p "gvfs-fuse-daemon")
|
||||
+ (tramp-compat-process-running-p ".gvfsd-fuse-wrapped")
|
||||
(tramp-compat-process-running-p "gvfsd-fuse"))))
|
||||
"Non-nil when GVFS is available.")
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
|||
if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
name = "sublimetext-2.0.2.tar.bz2";
|
||||
url = [
|
||||
urls = [
|
||||
"http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2"
|
||||
"https://download.sublimetext.com/Sublime%20Text%202.0.2.tar.bz2"
|
||||
];
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
else
|
||||
fetchurl {
|
||||
name = "sublimetext-2.0.2.tar.bz2";
|
||||
url = [
|
||||
urls = [
|
||||
"http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2"
|
||||
"https://download.sublimetext.com/Sublime%20Text%202.0.2%20x64.tar.bz2"
|
||||
];
|
||||
|
|
32
third_party/nixpkgs/pkgs/applications/misc/blucontrol/wrapper.nix
vendored
Normal file
32
third_party/nixpkgs/pkgs/applications/misc/blucontrol/wrapper.nix
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ stdenv, lib, makeWrapper, ghcWithPackages, packages ? (_:[]) }:
|
||||
let
|
||||
blucontrolEnv = ghcWithPackages (self: [ self.blucontrol ] ++ packages self);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "blucontrol-with-packages";
|
||||
version = blucontrolEnv.version;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildCommand = ''
|
||||
makeWrapper ${blucontrolEnv}/bin/blucontrol $out/bin/blucontrol \
|
||||
--prefix PATH : ${lib.makeBinPath [ blucontrolEnv ]}
|
||||
'';
|
||||
|
||||
# trivial derivation
|
||||
preferLocalBuild = true;
|
||||
allowSubstitues = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Configurable blue light filter";
|
||||
longDescription = ''
|
||||
This application is a blue light filter, with the main focus on configurability.
|
||||
Configuration is done in Haskell in the style of xmonad.
|
||||
Blucontrol makes use of monad transformers and allows monadic calculation of gamma values and recoloring. The user chooses, what will be captured in the monadic state.
|
||||
'';
|
||||
license = licenses.bsd3;
|
||||
homepage = "https://github.com/jumper149/blucontrol";
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ jumper149 ];
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages, libspnav }:
|
||||
|
||||
let
|
||||
|
||||
|
@ -32,6 +32,35 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
rawmouse = stdenv.mkDerivation rec {
|
||||
pname = "RawMouse";
|
||||
version = "1.0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "smartavionics";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1cj40pgsfcwliz47mkiqjbslkwcm34qb1pajc2mcljgflcnickly";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
substituteInPlace RawMouse/config.json --replace \
|
||||
/usr/local/lib/libspnav.so ${libspnav}/lib/libspnav.so
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/cura/plugins/RawMouse
|
||||
cp -rv . $out/lib/cura/plugins/RawMouse/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cura plugin for HID mice such as 3Dconnexion spacemouse";
|
||||
homepage = "https://github.com/smartavionics/RawMouse";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ gebner ];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
in self
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dbeaver-ce";
|
||||
version = "21.0.1"; # When updating also update fetchedMavenDeps.sha256
|
||||
version = "21.0.2"; # When updating also update fetchedMavenDeps.sha256
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dbeaver";
|
||||
repo = "dbeaver";
|
||||
rev = version;
|
||||
sha256 = "sha256-9l8604STqmdoUjD+EJCp4aDk4juKsPCmFnD/WYpajxo=";
|
||||
sha256 = "sha256-3EMSiEq1wdg4dxBU90RVVv0Hrf5dXPc1MPI0+WMk48k=";
|
||||
};
|
||||
|
||||
fetchedMavenDeps = stdenv.mkDerivation {
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
{ lib, stdenv, fetchFromGitHub, meson, ninja, gettext, python3,
|
||||
pkg-config, libxml2, json-glib , sqlite, itstool, librsvg, yelp-tools,
|
||||
vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
|
||||
pkg-config, libxml2, json-glib , sqlite, itstool, yelp-tools,
|
||||
vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection,
|
||||
libsoup, webkitgtk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "font-manager";
|
||||
version = "0.7.9";
|
||||
version = "0.8.5-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FontManager";
|
||||
repo = "master";
|
||||
rev = version;
|
||||
sha256 = "1nc0i824v2szz0j9a5rwl8gygih15xbxnxpnx9d3wr0yq9057q6q";
|
||||
sha256 = "1p0hfnf06892hn25a6zv8fnhbh4ln11nn2fv1vjqs63rr59fprbk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -33,9 +34,10 @@ stdenv.mkDerivation rec {
|
|||
libxml2
|
||||
json-glib
|
||||
sqlite
|
||||
librsvg
|
||||
gtk3
|
||||
gnome3.adwaita-icon-theme
|
||||
libsoup
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -55,7 +57,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
Font Manager is NOT a professional-grade font management solution.
|
||||
'';
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, alsaLib
|
||||
|
@ -17,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-Htk2NHgYVL622URx67BUtounAUopLTahaSqfAqd3+ZI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
nativeBuildInputs = [ copyDesktopItems pkg-config ];
|
||||
buildInputs = [ gtk3 alsaLib ];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -55,6 +57,29 @@ stdenv.mkDerivation rec {
|
|||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "com.thomasokken.free42bin";
|
||||
desktopName = "Free42Bin";
|
||||
genericName = "Calculator";
|
||||
exec = "free42bin";
|
||||
type = "Application";
|
||||
comment = meta.description;
|
||||
categories = "Utility;Calculator;";
|
||||
terminal = "false";
|
||||
})
|
||||
(makeDesktopItem {
|
||||
name = "com.thomasokken.free42dec";
|
||||
desktopName = "Free42Dec";
|
||||
genericName = "Calculator";
|
||||
exec = "free42dec";
|
||||
type = "Application";
|
||||
comment = meta.description;
|
||||
categories = "Utility;Calculator;";
|
||||
terminal = "false";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/thomasokken/free42";
|
||||
description = "A software clone of HP-42S Calculator";
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "metadata-cleaner";
|
||||
version = "1.0.3";
|
||||
version = "1.0.4";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "rmnvgr";
|
||||
repo = "metadata-cleaner";
|
||||
rev = "v${version}";
|
||||
sha256 = "06dzfcnjb1xd8lk0r7bi4i784gfj8r7habbjbk2c4vn2847v71lf";
|
||||
sha256 = "sha256-F/xh4dFX7W50kFzpWpGKyMUhxOlDO3WDXBzXVsDViY8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,11 +1,27 @@
|
|||
{ stdenv, lib, fetchurl, fetchpatch, pkg-config, freetype, harfbuzz, openjpeg
|
||||
, jbig2dec, libjpeg , darwin
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, freetype
|
||||
, harfbuzz
|
||||
, openjpeg
|
||||
, jbig2dec
|
||||
, libjpeg
|
||||
, darwin
|
||||
, gumbo
|
||||
, enableX11 ? true, libX11, libXext, libXi, libXrandr
|
||||
, enableCurl ? true, curl, openssl
|
||||
, enableGL ? true, freeglut, libGLU
|
||||
, enableX11 ? true
|
||||
, libX11
|
||||
, libXext
|
||||
, libXi
|
||||
, libXrandr
|
||||
, enableCurl ? true
|
||||
, curl
|
||||
, openssl
|
||||
, enableGL ? true
|
||||
, freeglut
|
||||
, libGLU
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
# OpenJPEG version is hardcoded in package source
|
||||
|
@ -13,7 +29,8 @@ let
|
|||
lib.versions.majorMinor (lib.getVersion openjpeg);
|
||||
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.18.0";
|
||||
pname = "mupdf";
|
||||
|
||||
|
@ -52,17 +69,21 @@ in stdenv.mkDerivation rec {
|
|||
# Use shared libraries to decrease size
|
||||
buildFlags = [ "shared" ];
|
||||
|
||||
makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
|
||||
makeFlags = [ "prefix=$(out)" "USE_SYSTEM_LIBS=yes" ]
|
||||
++ lib.optionals (!enableX11) [ "HAVE_X11=no" ]
|
||||
++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU gumbo ]
|
||||
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
|
||||
++ lib.optionals enableCurl [ curl openssl ]
|
||||
++ lib.optionals enableGL (
|
||||
if stdenv.isDarwin then
|
||||
with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
|
||||
else
|
||||
[ freeglut libGLU ])
|
||||
;
|
||||
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ]
|
||||
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
|
||||
++ lib.optionals enableCurl [ curl openssl ]
|
||||
++ lib.optionals enableGL (
|
||||
if stdenv.isDarwin then
|
||||
with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
|
||||
else
|
||||
[ freeglut libGLU ]
|
||||
)
|
||||
;
|
||||
outputs = [ "bin" "dev" "out" "man" "doc" ];
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -85,6 +106,7 @@ in stdenv.mkDerivation rec {
|
|||
EOF
|
||||
|
||||
moveToOutput "bin" "$bin"
|
||||
'' + lib.optionalString enableX11 ''
|
||||
ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
|
||||
mkdir -p $bin/share/applications
|
||||
cat > $bin/share/applications/mupdf.desktop <<EOF
|
||||
|
|
86
third_party/nixpkgs/pkgs/applications/misc/openlp/default.nix
vendored
Normal file
86
third_party/nixpkgs/pkgs/applications/misc/openlp/default.nix
vendored
Normal file
|
@ -0,0 +1,86 @@
|
|||
# This file contains all runtime glue: Bindings to optional runtime dependencies
|
||||
# for pdfSupport, presentationSupport, and media playback.
|
||||
{ lib, mkDerivation, wrapGAppsHook, python3Packages
|
||||
|
||||
# qt deps
|
||||
, qtbase, qtmultimedia
|
||||
|
||||
# optional deps
|
||||
, pdfSupport ? false, mupdf # alternatively could use ghostscript
|
||||
, presentationSupport ? false, libreoffice-unwrapped
|
||||
, vlcSupport ? false
|
||||
, gstreamerSupport ? false, gst_all_1, gstPlugins ? (gst: [
|
||||
gst.gst-plugins-base
|
||||
gst.gst-plugins-good
|
||||
gst.gst-plugins-bad
|
||||
gst.gst-plugins-ugly
|
||||
])
|
||||
|
||||
#, enableMySql ? false # Untested. If interested, contact maintainer.
|
||||
#, enablePostgreSql ? false # Untested. If interested, contact maintainer.
|
||||
#, enableJenkinsApi ? false # Untested. If interested, contact maintainer.
|
||||
}:
|
||||
|
||||
let p = gstPlugins gst_all_1;
|
||||
# If gstreamer is activated but no plugins are given, it will at runtime
|
||||
# create the false illusion of being usable.
|
||||
in assert gstreamerSupport -> (builtins.isList p && builtins.length p > 0);
|
||||
|
||||
let
|
||||
# optional packages
|
||||
libreofficePath = "${libreoffice-unwrapped}/lib/libreoffice/program";
|
||||
|
||||
# lib functions
|
||||
inherit (lib.lists) optional optionals;
|
||||
wrapSetVar = var: ''--set ${var} "''$${var}"'';
|
||||
|
||||
# base pkg/lib
|
||||
baseLib = python3Packages.callPackage ./lib.nix { };
|
||||
in mkDerivation {
|
||||
inherit (baseLib) pname version src;
|
||||
|
||||
nativeBuildInputs = [ python3Packages.wrapPython wrapGAppsHook ];
|
||||
buildInputs = [ qtbase ] ++ optionals gstreamerSupport
|
||||
([ qtmultimedia.bin gst_all_1.gstreamer ] ++ gstPlugins gst_all_1);
|
||||
propagatedBuildInputs = optional pdfSupport mupdf
|
||||
++ optional presentationSupport libreoffice-unwrapped;
|
||||
pythonPath = [ baseLib ] ++ optional vlcSupport python3Packages.python-vlc;
|
||||
# ++ optional enableMySql mysql-connector # Untested. If interested, contact maintainer.
|
||||
# ++ optional enablePostgreSql psycopg2 # Untested. If interested, contact maintainer.
|
||||
# ++ optional enableJenkinsApi jenkinsapi # Untested. If interested, contact maintainer.
|
||||
|
||||
PYTHONPATH = libreofficePath;
|
||||
URE_BOOTSTRAP = "vnd.sun.star.pathname:${libreofficePath}/fundamentalrc";
|
||||
UNO_PATH = libreofficePath;
|
||||
LD_LIBRARY_PATH = libreofficePath;
|
||||
JAVA_HOME = "${libreoffice-unwrapped.jdk.home}";
|
||||
|
||||
dontWrapQtApps = true;
|
||||
dontWrapGApps = true;
|
||||
|
||||
# defined in gappsWrapperHook
|
||||
wrapPrefixVariables = optionals presentationSupport
|
||||
[ "PYTHONPATH" "LD_LIBRARY_PATH" "JAVA_HOME" ];
|
||||
makeWrapperArgs = [
|
||||
"\${gappsWrapperArgs[@]}"
|
||||
"\${qtWrapperArgs[@]}"
|
||||
] ++ optionals presentationSupport
|
||||
([ "--prefix PATH : ${libreoffice-unwrapped}/bin" ]
|
||||
++ map wrapSetVar [ "URE_BOOTSTRAP" "UNO_PATH" ]);
|
||||
|
||||
installPhase = ''
|
||||
install -D openlp.py $out/bin/openlp
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = baseLib.meta // {
|
||||
hydraPlatforms = [ ]; # this is only the wrapper; baseLib gets built
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit baseLib;
|
||||
};
|
||||
}
|
103
third_party/nixpkgs/pkgs/applications/misc/openlp/lib.nix
vendored
Normal file
103
third_party/nixpkgs/pkgs/applications/misc/openlp/lib.nix
vendored
Normal file
|
@ -0,0 +1,103 @@
|
|||
# This file contains the base package, some of which is compiled.
|
||||
# Runtime glue to optinal runtime dependencies is in 'default.nix'.
|
||||
{ fetchurl, lib, qt5
|
||||
|
||||
# python deps
|
||||
, python, buildPythonPackage
|
||||
, alembic, beautifulsoup4, chardet, lxml, Mako, pyenchant
|
||||
, pyqt5_with_qtwebkit, pyxdg, sip, sqlalchemy, sqlalchemy_migrate
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "openlp";
|
||||
version = "2.4.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://get.openlp.org/${version}/OpenLP-${version}.tar.gz";
|
||||
sha256 = "f63dcf5f1f8a8199bf55e806b44066ad920d26c9cf67ae432eb8cdd1e761fc30";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
# FIXME: checks must be disabled because they are lacking the qt env.
|
||||
# They fail like this, even if built and wrapped with all Qt and
|
||||
# runtime dependencies:
|
||||
#
|
||||
# running install tests
|
||||
# qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
|
||||
# This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
|
||||
#
|
||||
# Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.
|
||||
#
|
||||
# See also https://discourse.nixos.org/t/qt-plugin-path-unset-in-test-phase/
|
||||
|
||||
#checkInputs = [ mock nose ];
|
||||
nativeBuildInputs = [ qt5.qttools ];
|
||||
propagatedBuildInputs = [
|
||||
alembic
|
||||
beautifulsoup4
|
||||
chardet
|
||||
lxml
|
||||
Mako
|
||||
pyenchant
|
||||
pyqt5_with_qtwebkit
|
||||
pyxdg
|
||||
sip
|
||||
sqlalchemy
|
||||
sqlalchemy_migrate
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
echo 'from vlc import *' > openlp/core/ui/media/vendor/vlc.py
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
dontWrapGApps = true;
|
||||
postInstall = ''
|
||||
( # use subshell because of cd
|
||||
tdestdir="$out/i18n"
|
||||
mkdir -p "$tdestdir"
|
||||
cd ./resources/i18n
|
||||
for file in *.ts; do
|
||||
lconvert -i "$file" -o "$tdestdir/''${file%%ts}qm"
|
||||
done
|
||||
)
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
rm -r $out/${python.sitePackages}/tests
|
||||
rm -r $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Free church presentation software";
|
||||
homepage = "https://openlp.org/";
|
||||
downloadPage = "https://openlp.org/#downloads";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = [ maintainers.jorsn ];
|
||||
|
||||
longDescription = ''
|
||||
OpenLP is a free church presentation software.
|
||||
|
||||
Features:
|
||||
|
||||
* Cross platform between Linux, Windows, OS X and FreeBSD
|
||||
* Display songs, Bible verses, presentations, images, audio and video
|
||||
* Control OpenLP remotely via the Android remote, iOS remote or mobile web browser
|
||||
* Quickly and easily import songs from other popular presentation packages
|
||||
* Easy enough to use to get up and running in less than 10 minutes
|
||||
|
||||
Remark: This pkg only supports sqlite dbs. If you wish to have support for
|
||||
mysql or postgresql dbs, or Jenkins, please contact the maintainer.
|
||||
|
||||
Bugs which affect this software packaged in Nixpkgs:
|
||||
|
||||
1. The package must disable checks, because they are lacking the qt env.
|
||||
(see pkg source and https://discourse.nixos.org/t/qt-plugin-path-unset-in-test-phase/)
|
||||
2. There is a segfault on exit. Not a real problem, according to debug log, everything
|
||||
shuts down correctly. Maybe related to https://forums.openlp.org/discussion/3620/crash-on-exit.
|
||||
Plan: Wait for OpenLP-3, since it is already in beta 1
|
||||
(2021-02-09; news: https://openlp.org/blog/).
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -10,18 +10,20 @@
|
|||
, qtsvg
|
||||
, qtxmlpatterns
|
||||
, qttools
|
||||
, lib, stdenv
|
||||
, lib
|
||||
, stdenv
|
||||
, installShellFiles
|
||||
}:
|
||||
|
||||
mkDerivationWith stdenv.mkDerivation rec {
|
||||
pname = "qcad";
|
||||
version = "3.26.0.1";
|
||||
version = "3.26.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qcad";
|
||||
repo = "qcad";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-V+QlwM8BWmcarwZtqJfc+MYHOZgIH1W5R8m2EHhNJls=";
|
||||
sha256 = "sha256-OWAc7g8DiJR3z6dUF5D0Yo3wnRKd1Xe7D1eq15NRW5c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -36,7 +38,7 @@ mkDerivationWith stdenv.mkDerivation rec {
|
|||
src/3rdparty/qt-labs-qtscriptgenerator-5.14.0/qt-labs-qtscriptgenerator-5.14.0.pro \
|
||||
src/3rdparty/qt-labs-qtscriptgenerator-${qtbase.version}/qt-labs-qtscriptgenerator-${qtbase.version}.pro
|
||||
fi
|
||||
'';
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"MUPARSER_DIR=${muparser}"
|
||||
|
@ -65,15 +67,27 @@ mkDerivationWith stdenv.mkDerivation rec {
|
|||
cp -r scripts $out/lib
|
||||
cp -r plugins $out/lib/plugins
|
||||
cp -r patterns $out/lib/patterns
|
||||
cp -r fonts $out/lib/fonts
|
||||
cp -r libraries $out/lib/libraries
|
||||
cp -r linetypes $out/lib/linetypes
|
||||
cp -r ts $out/lib/ts
|
||||
|
||||
# workaround to fix the library browser:
|
||||
rm -r $out/lib/plugins/sqldrivers
|
||||
ln -s -t $out/lib/plugins ${qtbase}/${qtbase.qtPluginPrefix}/sqldrivers
|
||||
|
||||
rm -r $out/lib/plugins/printsupport
|
||||
ln -s -t $out/lib/plugins ${qtbase}/${qtbase.qtPluginPrefix}/printsupport
|
||||
|
||||
rm -r $out/lib/plugins/imageformats
|
||||
ln -s -t $out/lib/plugins ${qtbase}/${qtbase.qtPluginPrefix}/imageformats
|
||||
|
||||
install -Dm644 scripts/qcad_icon.svg $out/share/icons/hicolor/scalable/apps/qcad.svg
|
||||
|
||||
installManPage qcad.1
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
|
@ -89,6 +103,7 @@ mkDerivationWith stdenv.mkDerivation rec {
|
|||
pkg-config
|
||||
qmake
|
||||
qttools
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,60 +1,57 @@
|
|||
{ fetchurl, fetchpatch, lib, stdenv, makeWrapper
|
||||
, pkg-config, intltool, gettext, gtk2, expat, curl
|
||||
, gpsd, bc, file, gnome-doc-utils, libexif, libxml2, libxslt, scrollkeeper
|
||||
, docbook_xml_dtd_412, gexiv2, gpsbabel, expect
|
||||
{ lib, stdenv, fetchurl
|
||||
, docbook_xml_dtd_45, docbook_xsl, intltool, itstool, libxslt, pkg-config, wrapGAppsHook, yelp-tools
|
||||
, curl, gdk-pixbuf, gtk3, json-glib, libxml2
|
||||
, gpsbabel
|
||||
, withGeoClue ? true, geoclue2
|
||||
, withGeoTag ? true, gexiv2
|
||||
, withMagic ? true, file
|
||||
, withMapnik ? false, mapnik
|
||||
, withMBTiles ? true, sqlite
|
||||
, withOAuth ? true, liboauth
|
||||
, withMd5Hash ? true, nettle
|
||||
, withGeoClue ? true, geoclue2 }:
|
||||
, withOAuth ? true, liboauth
|
||||
, withRealtimeGPSTracking ? true, gpsd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "viking";
|
||||
version = "1.8";
|
||||
version = "1.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/viking/viking/viking-${version}.tar.bz2";
|
||||
sha256 = "1a0g0fbj4q5s9p8fv0mqvxws10q3naj81l72sz30vvqpbz6vqp45";
|
||||
url = "mirror://sourceforge/viking/viking-${version}.tar.bz2";
|
||||
sha256 = "0fybpy6k0vmjp231h5ckysl3c0rcnh2afznijwq6y78j4hywyjpy";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build without mapnik and sqlite https://github.com/viking-gps/viking/pull/79
|
||||
(fetchpatch {
|
||||
url = "https://github.com/viking-gps/viking/commit/995feefcb97bdb1590ed018224cf47ce197fe0c1.patch";
|
||||
sha256 = "1xb0b76kg690fag9mw3yfj5k766jmqp1sm8q4f29n1h3nz5g8izd";
|
||||
})
|
||||
];
|
||||
nativeBuildInputs = [ docbook_xml_dtd_45 docbook_xsl intltool itstool libxslt pkg-config wrapGAppsHook yelp-tools ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
buildInputs = [ intltool gettext gtk2 expat curl gpsd bc file gnome-doc-utils
|
||||
libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412 gexiv2
|
||||
] ++ lib.optional withMapnik mapnik
|
||||
buildInputs = [ curl gdk-pixbuf gtk3 json-glib libxml2 ]
|
||||
++ lib.optional withGeoClue geoclue2
|
||||
++ lib.optional withGeoTag gexiv2
|
||||
++ lib.optional withMagic file
|
||||
++ lib.optional withMapnik mapnik
|
||||
++ lib.optional withMBTiles sqlite
|
||||
++ lib.optional withMd5Hash nettle
|
||||
++ lib.optional withOAuth liboauth
|
||||
++ lib.optional withMBTiles sqlite;
|
||||
++ lib.optional withOAuth liboauth
|
||||
++ lib.optional withRealtimeGPSTracking gpsd;
|
||||
|
||||
configureFlags = [
|
||||
"--disable-scrollkeeper"
|
||||
(lib.enableFeature withMapnik "mapnik")
|
||||
(lib.enableFeature withGeoClue "geoclue")
|
||||
(lib.enableFeature withMd5Hash "nettle")
|
||||
(lib.enableFeature withOAuth "oauth")
|
||||
(lib.enableFeature withGeoTag "geotag")
|
||||
(lib.enableFeature withMagic "magic")
|
||||
(lib.enableFeature withMapnik "mapnik")
|
||||
(lib.enableFeature withMBTiles "mbtiles")
|
||||
(lib.enableFeature withMd5Hash "nettle")
|
||||
(lib.enableFeature withOAuth "oauth")
|
||||
(lib.enableFeature withRealtimeGPSTracking "realtime-gps-tracking")
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
sed -i help/Makefile \
|
||||
-e 's|--noout|--noout --nonet --path "${scrollkeeper}/share/xml/scrollkeeper/dtds"|g'
|
||||
sed -i help/Makefile -e 's|--postvalid||g'
|
||||
'';
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/viking \
|
||||
--prefix PATH : "${gpsbabel}/bin" \
|
||||
--prefix PATH : "${expect}/bin"
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : ${lib.makeBinPath [ gpsbabel ]}
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
, python37Packages
|
||||
, stdenv
|
||||
, systemd
|
||||
, xdg-utils
|
||||
, zlib
|
||||
}:
|
||||
with lib;
|
||||
|
@ -92,7 +93,7 @@ let
|
|||
systemd
|
||||
zlib
|
||||
];
|
||||
rpath = lib.makeLibraryPath deps ;
|
||||
rpath = lib.makeLibraryPath deps;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "appgate-sdp";
|
||||
|
@ -171,6 +172,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${lib.makeBinPath [ iproute2 networkmanager dnsmasq ]}
|
||||
wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH
|
||||
wrapProgram $out/bin/appgate --prefix PATH : ${xdg-utils}/bin
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "Appgate SDP (Software Defined Perimeter) desktop client";
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
}
|
||||
},
|
||||
"beta": {
|
||||
"version": "90.0.4430.51",
|
||||
"sha256": "1k87fw0pv0d2zlxm0il9b5p60gdz6l44jssmsns4zy2fmd9316wr",
|
||||
"sha256bin64": "0q5yx7bc266azs3nl29ksz4yafvy2nmzn09ifcgr69fjkvsr1qh7",
|
||||
"version": "90.0.4430.61",
|
||||
"sha256": "01vssy3q64pv9rw4cdxv5rdg7yrxmhyc03a5r75fhxc95fj66iac",
|
||||
"sha256bin64": "07l8dzyv0hav1gls3xw91q9ay2l8xxmsf7yagg940cya9ncl0lhi",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-02-09",
|
||||
|
|
|
@ -16,14 +16,14 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "palemoon";
|
||||
version = "29.1.0";
|
||||
version = "29.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
githubBase = "repo.palemoon.org";
|
||||
owner = "MoonchildProductions";
|
||||
repo = "Pale-Moon";
|
||||
rev = "${version}_Release";
|
||||
sha256 = "02blhk3v7gpnicd7s5l5fpqvdvj2279g3rq8xyhcd4sw6qnms8m6";
|
||||
sha256 = "1ppdmj816zwccb0l0mgpq14ckdwg785wmqz41wran0nl63fg6i1x";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.20.4-k3s1" }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, k3sVersion ? "1.20.5-k3s1" }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kube3d";
|
||||
version = "4.4.0";
|
||||
version = "4.4.1";
|
||||
|
||||
excludedPackages = "tools";
|
||||
|
||||
|
@ -10,7 +10,7 @@ buildGoModule rec {
|
|||
owner = "rancher";
|
||||
repo = "k3d";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+9VtFHZ4ZZiX04u5YvPoQaelH9Q9oKMrbFHFFiNUxBA=";
|
||||
sha256 = "sha256-u9P+7qNomamd4BkqWBxA6rDom0hF6t10QfDTjqOMGeE=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "nerdctl";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-0q3UmlXzW0fGYPc1IptuIbCMnKW4pyDm1KxkRqU2voA=";
|
||||
sha256 = "sha256-4NIyit2HnDXWnHALGzz5KWxe4PU8CwMRwCoIlN/WX78=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-QVvID9rrOFngL94LWN75HSnyTgh3F0KaScWxMIKUqDM=";
|
||||
vendorSha256 = "sha256-qwUAC8LURsn6C3zKzcsuFsOTurjPV9V8Z/1Y9G0eohk=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "qbec";
|
||||
version = "0.14.1";
|
||||
version = "0.14.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "splunk";
|
||||
repo = "qbec";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+CzY/ifH+U3I36uHXyO2FSkPCz+SWRpSPnxfd2LHHhY=";
|
||||
sha256 = "sha256-F5xnW9069Xrl6isvmeYtfTZUZSiSq47HLs5/p3HCf6E=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-wtpXqIixjRYYSIPe43Q5627g6mu05WdvwCi9cXVgCBs=";
|
||||
|
|
|
@ -157,8 +157,8 @@ in rec {
|
|||
});
|
||||
|
||||
terraform_0_14 = pluggable (generic {
|
||||
version = "0.14.9";
|
||||
sha256 = "0r9d28mbj7h9prr39gm5kd49l7sm8l1ab9rwrkpyhwgr119zf35b";
|
||||
version = "0.14.10";
|
||||
sha256 = "05vfb8hzma3qxq4w1h25mmgv96g90if214zlar0sm9fq8zsvb1yw";
|
||||
vendorSha256 = "1d93aqkjdrvabkvix6h1qaxpjzv7w1wa7xa44czdnjs2lapx4smm";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "velero";
|
||||
version = "1.5.3";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "vmware-tanzu";
|
||||
repo = "velero";
|
||||
sha256 = "sha256-DZ6phJxc8n9LCSsER09K3j+pUJxkYrBZQaI4h+bcV94=";
|
||||
sha256 = "sha256-YHBqIM3NV2L13w9WCzldUWmdBMec7ZndzYgGHblS8Dg=";
|
||||
};
|
||||
|
||||
buildFlagsArray = ''
|
||||
|
|
|
@ -29,11 +29,11 @@
|
|||
assert pulseaudioSupport -> libpulseaudio != null;
|
||||
|
||||
let
|
||||
version = "5.5.7938.0228";
|
||||
version = "5.6.13632.0328";
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
|
||||
sha256 = "KM8o2tgIn0lecOM4gKdTOdk/zsohlFqtNX+ca/S6FGY=";
|
||||
sha256 = "0nskpg3rbv40jcbih95sfdr0kfv5hjv50z9jdz1cddl8v7hbqg71";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -26,13 +26,14 @@
|
|||
|
||||
let
|
||||
pname = "pcloud";
|
||||
version = "1.8.9";
|
||||
version = "1.9.1";
|
||||
code = "XZXB3fXZgXyQbnTkTm5XOJH9i6NsKX9lL21V";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
# Archive link's code thanks to: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive
|
||||
src = fetchzip {
|
||||
url = "https://api.pcloud.com/getpubzip?code=XZjfKzXZ6h3uGRFId48VRNHHkuqajhRvMlPV&filename=${name}.zip";
|
||||
hash = "sha256:1bwdwfwgy3wwzlggi8qhf5q2bq2kqiqi3mgvsr9w0mxyaxxv13r8";
|
||||
url = "https://api.pcloud.com/getpubzip?code=${code}&filename=${name}.zip";
|
||||
hash = "sha256-vUrz4thp9tcU9T8d52DJUAbt6Jnv+E3pbUytzMR8d/E=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
|
|
@ -74,7 +74,7 @@ in stdenv.mkDerivation {
|
|||
install -Dm644 ../image/wsicon.svg $out/share/icons/wireshark.svg
|
||||
mkdir $dev/include/{epan/{wmem,ftypes,dfilter},wsutil,wiretap} -pv
|
||||
|
||||
cp config.h $dev/include/
|
||||
cp config.h $dev/include/wireshark/
|
||||
cp ../ws_*.h $dev/include
|
||||
cp ../epan/*.h $dev/include/epan/
|
||||
cp ../epan/wmem/*.h $dev/include/epan/wmem/
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{ lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles }:
|
||||
{ lib, stdenv, buildGoModule, fetchFromGitHub, buildPackages, installShellFiles
|
||||
, makeWrapper
|
||||
, enableCmount ? true, fuse, macfuse-stubs
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "rclone";
|
||||
|
@ -17,9 +20,11 @@ buildGoModule rec {
|
|||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
buildInputs = lib.optional enableCmount (if stdenv.isDarwin then macfuse-stubs else fuse);
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||
|
||||
buildFlagsArray = [ "-ldflags=-s -w -X github.com/rclone/rclone/fs.Version=${version}" ];
|
||||
buildFlagsArray = lib.optionals enableCmount [ "-tags=cmount" ]
|
||||
++ [ "-ldflags=-s -w -X github.com/rclone/rclone/fs.Version=${version}" ];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
|
@ -34,6 +39,8 @@ buildGoModule rec {
|
|||
${rcloneBin}/bin/rclone genautocomplete $shell rclone.$shell
|
||||
installShellCompletion rclone.$shell
|
||||
done
|
||||
'' + lib.optionalString (enableCmount && !stdenv.isDarwin) ''
|
||||
wrapProgram $out/bin/rclone --prefix LD_LIBRARY_PATH : "${fuse}/lib"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,44 +1,52 @@
|
|||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchPypi
|
||||
, python3
|
||||
, fetchpatch
|
||||
, makeDesktopItem
|
||||
, makePythonPath
|
||||
, dateutil
|
||||
, matplotlib
|
||||
, numpy
|
||||
, pyenchant
|
||||
, pyqt5
|
||||
, pytest
|
||||
, python
|
||||
, qtsvg
|
||||
, runtimeShell
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "pyspread";
|
||||
version = "1.99.5";
|
||||
version = "1.99.6";
|
||||
|
||||
src = fetchPypi {
|
||||
src = python3.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-05bC+Uvx72FAh3qxkgXm8jdb/gHRv1D/M7tjOEdE3Xg=";
|
||||
sha256 = "sha256-B1oyWUAXn63mmVFN9brJwbHxi7I5nYrK2JJU1DjAlb8=";
|
||||
};
|
||||
|
||||
pythonLibs = [
|
||||
patches = [
|
||||
# https://gitlab.com/pyspread/pyspread/-/merge_requests/34
|
||||
(fetchpatch {
|
||||
name = "entry-points.patch";
|
||||
url = "https://gitlab.com/pyspread/pyspread/-/commit/3d8da6a7a7d76f7027d77ca95fac103961d729a2.patch";
|
||||
excludes = [ "bin/pyspread" "bin/pyspread.bat" ];
|
||||
sha256 = "1l614k7agv339hrin23jj7s1mq576vkdfkdim6wp224k7y37bnil";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtsvg
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dateutil
|
||||
markdown2
|
||||
matplotlib
|
||||
numpy
|
||||
pyenchant
|
||||
pyqt5
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||
buildInputs = pythonLibs ++ [
|
||||
qtsvg
|
||||
setuptools
|
||||
];
|
||||
|
||||
doCheck = false; # it fails miserably with a core dump
|
||||
|
||||
pythonImportsCheck = [ "pyspread" ];
|
||||
|
||||
desktopItem = makeDesktopItem rec {
|
||||
name = pname;
|
||||
exec = name;
|
||||
|
@ -50,20 +58,11 @@ buildPythonApplication rec {
|
|||
};
|
||||
|
||||
postInstall = ''
|
||||
runHook preInstall
|
||||
install -D $out/share/applications
|
||||
install -m 644 $desktopItem/share/applications/* $out/share/applications
|
||||
runHook postInstall
|
||||
install -m 444 -Dt $out/share/applications ${desktopItem}/share/applications/*
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
runHook preFixup
|
||||
sed -i -e "s|#!/bin/bash|#!${runtimeShell}|" $out/bin/pyspread
|
||||
wrapProgram $out/bin/pyspread \
|
||||
--prefix PYTHONPATH ':' $(toPythonPath $out):${makePythonPath pythonLibs} \
|
||||
--prefix PATH ':' ${python}/bin/ \
|
||||
''${qtWrapperArgs[@]}
|
||||
runHook postFixup
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -19,16 +19,16 @@ let
|
|||
maintainers = with maintainers; [ fliegendewurst ];
|
||||
};
|
||||
|
||||
version = "0.46.6";
|
||||
version = "0.46.7";
|
||||
|
||||
desktopSource = {
|
||||
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
|
||||
sha256 = "0nxlph23gkxrn10gnm0ncsy54fzcmbqcrrk492ygfgw8a8pl4ah1";
|
||||
sha256 = "0saqj32jcb9ga418bpdxy93hf1z8nmwzf76rfgnnac7286ciyinr";
|
||||
};
|
||||
|
||||
serverSource = {
|
||||
url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
|
||||
sha256 = "0z9wg84sdbpk8zhljydm05z7cqqv2ly9s921cli7rs8hcpl175cz";
|
||||
sha256 = "0b9bbm1iyaa5wf758085m6kfbq4li1iimj11ryf9xv9fzrbc4gvs";
|
||||
};
|
||||
|
||||
in {
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
{ lib, stdenv, fetchFromGitHub, qt4, qmake4Hook, libpulseaudio }:
|
||||
let
|
||||
version = "1.1.9";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, libpulseaudio, libX11 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "multimon-ng";
|
||||
inherit version;
|
||||
version = "1.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EliasOenal";
|
||||
|
@ -13,16 +11,9 @@ stdenv.mkDerivation {
|
|||
sha256 = "01716cfhxfzsab9zjply9giaa4nn4b7rm3p3vizrwi7n253yiwm2";
|
||||
};
|
||||
|
||||
buildInputs = [ qt4 libpulseaudio ];
|
||||
buildInputs = [ libpulseaudio libX11 ];
|
||||
|
||||
nativeBuildInputs = [ qmake4Hook ];
|
||||
|
||||
qmakeFlags = [ "multimon-ng.pro" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp multimon-ng $out/bin
|
||||
'';
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multimon is a digital baseband audio protocol decoder";
|
||||
|
@ -39,6 +30,6 @@ stdenv.mkDerivation {
|
|||
homepage = "https://github.com/EliasOenal/multimon-ng";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.markuskowa ];
|
||||
maintainers = with maintainers; [ markuskowa ];
|
||||
};
|
||||
}
|
||||
|
|
21
third_party/nixpkgs/pkgs/applications/science/biology/meme-suite/default.nix
vendored
Normal file
21
third_party/nixpkgs/pkgs/applications/science/biology/meme-suite/default.nix
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
{ lib, stdenv, fetchurl, python3, perl, glibc, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "meme-suite";
|
||||
version = "5.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://meme-suite.org/meme-software/${version}/meme-${version}.tar.gz";
|
||||
sha256 = "38d73d256d431ad4eb7da2c817ce56ff2b4e26c39387ff0d6ada088938b38eb5";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
nativeBuildInputs = [ perl python3 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Motif-based sequence analysis tools";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ gschwartz ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, stdenv, unzip, fetchurl, electron_6, makeWrapper, geogebra }:
|
||||
let
|
||||
pname = "geogebra";
|
||||
version = "6-0-620-0";
|
||||
version = "6-0-631-0";
|
||||
|
||||
srcIcon = geogebra.srcIcon;
|
||||
desktopItem = geogebra.desktopItem;
|
||||
|
@ -18,9 +18,9 @@ let
|
|||
src = fetchurl {
|
||||
urls = [
|
||||
"https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
|
||||
"https://web.archive.org/web/20210101214511/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
|
||||
"https://web.archive.org/web/20210406083122/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
|
||||
];
|
||||
sha256 = "0xxzmphbfvmhnxnc1pkjgdhccjndyzmlvvaa8xfdrvswwwk7zh43";
|
||||
sha256 = "1k4jxcvxxjxfrdghs4a29zpp4yid2vh1mfgp8xxr3qlzxnqv92ha";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
@ -53,9 +53,9 @@ let
|
|||
src = fetchurl {
|
||||
urls = [
|
||||
"https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip"
|
||||
"https://web.archive.org/web/20210101214236/https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip"
|
||||
"https://web.archive.org/web/20210406084052/https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip"
|
||||
];
|
||||
sha256 = "13g05d45j6dn9zwxpxnln83j7w1cvcd7l8jnir30pxlmdi7h8r78";
|
||||
sha256 = "0fa680yyz4nry1xvb9v6qqh1mib6grff5d3p7d90nyjlv101p262";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "root";
|
||||
version = "6.22.06";
|
||||
version = "6.22.08";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
|
||||
sha256 = "0mqvj42nax0bmz8h83jjlwjm3xxjy1n0n10inc8csip9ly28fs64";
|
||||
sha256 = "0vrgi83hrw4n9zgx873fn4ba3vk54slrwk1cl4cc4plgxzv1y1kg";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper cmake pkg-config ];
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "qgroundcontrol";
|
||||
version = "4.1.1";
|
||||
version = "4.1.2";
|
||||
|
||||
qtInputs = [
|
||||
qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
|
||||
|
@ -63,7 +63,7 @@ mkDerivation rec {
|
|||
owner = "mavlink";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1dji7jmwsrgcgzhra94wrgz67ydsdra7p10fw8gbw54gf6ncjfjm";
|
||||
sha256 = "16q0g9b1kyan3qhhp5mmfnrx9h8q7qn83baplbiprqjgpvkxfll4";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -46,10 +46,12 @@ mkDerivation rec {
|
|||
++ lib.optionals (!withGui) [ "--disable-qtgui" "--disable-x11mon" ]
|
||||
++ (if stdenv.isLinux then [ "--with-inotify" ] else [ "--without-inotify" ]);
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
nativeBuildInputs = [
|
||||
file pkg-config python3Packages.setuptools which
|
||||
];
|
||||
|
||||
buildInputs = with python3Packages; [
|
||||
bison chmlib file python setuptools which xapian zlib
|
||||
buildInputs = [
|
||||
bison chmlib python3Packages.python xapian zlib
|
||||
] ++ lib.optional withGui qtbase
|
||||
++ lib.optional stdenv.isDarwin libiconv;
|
||||
|
||||
|
@ -98,6 +100,6 @@ mkDerivation rec {
|
|||
homepage = "https://www.lesbonscomptes.com/recoll/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.jcumming ];
|
||||
maintainers = with maintainers; [ jcumming kiyengar ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,11 +13,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gitkraken";
|
||||
version = "7.5.3";
|
||||
version = "7.5.4";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
|
||||
sha256 = "0vxvfq0dh6l1plqbq67gfydr8bh5w3q6d5y3bn3rdia10wa1dac6";
|
||||
sha256 = "1laqki01zcmsl9s18dnwg3x3jbbs0xcipiyj2qlsb1sx9y4x05wm";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{
|
||||
"version": "13.9.4",
|
||||
"repo_hash": "0gwxjmph3ac5v0h5zz8664412yq09cka5p4amdbxk7hna24igksz",
|
||||
"version": "13.10.2",
|
||||
"repo_hash": "1q3qnfzhikbbsmzzbldwn6xvsyxr1jgv5lj7mgcji11j8qv1a625",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v13.9.4-ee",
|
||||
"rev": "v13.10.2-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "13.9.4",
|
||||
"GITLAB_PAGES_VERSION": "1.35.0",
|
||||
"GITALY_SERVER_VERSION": "13.10.2",
|
||||
"GITLAB_PAGES_VERSION": "1.36.0",
|
||||
"GITLAB_SHELL_VERSION": "13.17.0",
|
||||
"GITLAB_WORKHORSE_VERSION": "8.63.2"
|
||||
"GITLAB_WORKHORSE_VERSION": "13.10.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
|
||||
, ruby, tzdata, git, nettools, nixosTests, nodejs, openssl
|
||||
, gitlabEnterprise ? false, callPackage, yarn
|
||||
, fixup_yarn_lock, replace
|
||||
, fixup_yarn_lock, replace, file
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -32,6 +32,10 @@ let
|
|||
openssl = x.openssl // {
|
||||
buildInputs = [ openssl ];
|
||||
};
|
||||
ruby-magic-static = x.ruby-magic-static // {
|
||||
buildInputs = [ file ];
|
||||
buildFlags = [ "--enable-system-libraries" ];
|
||||
};
|
||||
};
|
||||
groups = [
|
||||
"default" "unicorn" "ed25519" "metrics" "development" "puma" "test" "kerberos"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
gem 'rugged', '~> 1.0.1'
|
||||
gem 'rugged', '~> 1.1'
|
||||
gem 'github-linguist', '~> 7.12', require: 'linguist'
|
||||
gem 'gitlab-markup', '~> 1.7.1'
|
||||
gem 'activesupport', '~> 6.0.3.4'
|
||||
|
|
|
@ -183,7 +183,7 @@ GEM
|
|||
rubocop-ast (0.2.0)
|
||||
parser (>= 2.7.0.1)
|
||||
ruby-progressbar (1.10.1)
|
||||
rugged (1.0.1)
|
||||
rugged (1.1.0)
|
||||
sanitize (4.6.6)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.4.4)
|
||||
|
@ -233,7 +233,7 @@ DEPENDENCIES
|
|||
rspec
|
||||
rspec-parameterized
|
||||
rubocop (~> 0.69)
|
||||
rugged (~> 1.0.1)
|
||||
rugged (~> 1.1)
|
||||
sentry-raven (~> 3.0)
|
||||
timecop
|
||||
|
||||
|
|
|
@ -4,18 +4,6 @@
|
|||
, libgit2, openssl, zlib, pcre, http-parser }:
|
||||
|
||||
let
|
||||
# libgit2 was updated to 1.1.0 in nixpkgs, but gitlab doesn't support that yet.
|
||||
# See https://github.com/NixOS/nixpkgs/pull/106909
|
||||
libgit = libgit2.overrideAttrs (attrs: rec {
|
||||
version = "1.0.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "libgit2";
|
||||
repo = "libgit2";
|
||||
rev = "v${version}";
|
||||
sha256 = "06cwrw93ycpfb5kisnsa5nsy95pm11dbh0vvdjg1jn25h9q5d3vc";
|
||||
};
|
||||
});
|
||||
|
||||
rubyEnv = bundlerEnv rec {
|
||||
name = "gitaly-env";
|
||||
inherit ruby;
|
||||
|
@ -33,17 +21,17 @@ let
|
|||
};
|
||||
};
|
||||
in buildGoModule rec {
|
||||
version = "13.9.4";
|
||||
version = "13.10.2";
|
||||
pname = "gitaly";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6ocP4SMafvLI2jfvcB8jk1AemAI/TiBQ1iaVxK7I54A=";
|
||||
sha256 = "sha256-5CjZs5tpEEsgQGBFa8BeZ7SDhIeGKqAHWwbR8hSoCPs=";
|
||||
};
|
||||
|
||||
vendorSha256 = "10ssx0dvbzg70vr2sgnhzijnjxfw6533wdjxwakj62rpfayklp51";
|
||||
vendorSha256 = "sha256-8AopoiLmg6kfvYbZDOfFWBy1o5tbnxsKxSBX20OasIE=";
|
||||
|
||||
passthru = {
|
||||
inherit rubyEnv;
|
||||
|
@ -51,7 +39,7 @@ in buildGoModule rec {
|
|||
|
||||
buildFlags = [ "-tags=static,system_libgit2" ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ rubyEnv.wrappedRuby libgit openssl zlib pcre http-parser ];
|
||||
buildInputs = [ rubyEnv.wrappedRuby libgit2 openssl zlib pcre http-parser ];
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
|
|
|
@ -829,10 +829,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "056bwiwxvnbkbgsr2wqcsknnc73nqasqdnjcpgj2r61wkm8mzmbn";
|
||||
sha256 = "04aq913plcxjw71l5r62qgz3bx3466p0wvgyfqahg5n3nybmcwqy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
version = "1.1.0";
|
||||
};
|
||||
sanitize = {
|
||||
dependencies = ["crass" "nokogiri" "nokogumbo"];
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
{ lib, fetchFromGitLab, git, buildGoModule }:
|
||||
|
||||
let
|
||||
data = (builtins.fromJSON (builtins.readFile ../data.json));
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "8.63.2";
|
||||
version = "13.10.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitlab-workhorse";
|
||||
rev = "v${version}";
|
||||
sha256 = "1vjk7r7228p2gblx9nmqiz70ckbllg1p3bwkyfd4m49jhp13hryi";
|
||||
owner = data.owner;
|
||||
repo = data.repo;
|
||||
rev = data.rev;
|
||||
sha256 = data.repo_hash;
|
||||
};
|
||||
|
||||
vendorSha256 = "0hc02nxw5jp1mhpjcx1f2a2dfaq7ji4qkf5g7lbpd1rzhqwp6zsz";
|
||||
sourceRoot = "source/workhorse";
|
||||
|
||||
vendorSha256 = "sha256-UCkUSv1ZjDHmTFnETU8dz4moYRDCvy6AYTTfjHBGKeE=";
|
||||
buildInputs = [ git ];
|
||||
buildFlagsArray = "-ldflags=-X main.Version=${version}";
|
||||
doCheck = false;
|
||||
|
|
|
@ -17,7 +17,7 @@ gem 'default_value_for', '~> 3.4.0'
|
|||
# Supported DBs
|
||||
gem 'pg', '~> 1.1'
|
||||
|
||||
gem 'rugged', '~> 1.0.1'
|
||||
gem 'rugged', '~> 1.1'
|
||||
gem 'grape-path-helpers', '~> 1.6.1'
|
||||
|
||||
gem 'faraday', '~> 1.0'
|
||||
|
@ -25,13 +25,13 @@ gem 'marginalia', '~> 1.10.0'
|
|||
|
||||
# Authentication libraries
|
||||
gem 'devise', '~> 4.7.2'
|
||||
# TODO: verify ARM compile issue on 3.1.13+ version (see https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18828)
|
||||
gem 'bcrypt', '3.1.12'
|
||||
gem 'bcrypt', '~> 3.1', '>= 3.1.14'
|
||||
gem 'doorkeeper', '~> 5.5.0.rc2'
|
||||
gem 'doorkeeper-openid_connect', '~> 1.7.5'
|
||||
gem 'omniauth', '~> 1.8'
|
||||
gem 'omniauth-auth0', '~> 2.0.0'
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.9'
|
||||
gem 'omniauth-azure-activedirectory-v2', '~> 0.1'
|
||||
gem 'omniauth-azure-oauth2', '~> 0.0.9' # Deprecated v1 version
|
||||
gem 'omniauth-cas3', '~> 1.1.4'
|
||||
gem 'omniauth-facebook', '~> 4.0.0'
|
||||
gem 'omniauth-github', '~> 1.4'
|
||||
|
@ -73,6 +73,9 @@ gem 'acme-client', '~> 2.0', '>= 2.0.6'
|
|||
# Browser detection
|
||||
gem 'browser', '~> 4.2'
|
||||
|
||||
# OS detection for usage ping
|
||||
gem 'ohai', '~> 16.10'
|
||||
|
||||
# GPG
|
||||
gem 'gpgme', '~> 2.0.19'
|
||||
|
||||
|
@ -88,7 +91,7 @@ gem 'grape-entity', '~> 0.7.1'
|
|||
gem 'rack-cors', '~> 1.0.6', require: 'rack/cors'
|
||||
|
||||
# GraphQL API
|
||||
gem 'graphql', '~> 1.11.4'
|
||||
gem 'graphql', '~> 1.11.8'
|
||||
# NOTE: graphiql-rails v1.5+ doesn't work: https://gitlab.com/gitlab-org/gitlab/issues/31771
|
||||
# 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
|
||||
|
@ -112,16 +115,16 @@ gem 'carrierwave', '~> 1.3'
|
|||
gem 'mini_magick', '~> 4.10.1'
|
||||
|
||||
# for backups
|
||||
gem 'fog-aws', '~> 3.8'
|
||||
gem 'fog-aws', '~> 3.9'
|
||||
# Locked until fog-google resolves https://github.com/fog/fog-google/issues/421.
|
||||
# Also see config/initializers/fog_core_patch.rb.
|
||||
gem 'fog-core', '= 2.1.0'
|
||||
gem 'fog-google', '~> 1.12'
|
||||
gem 'gitlab-fog-google', '~> 1.13', require: 'fog/google'
|
||||
gem 'fog-local', '~> 0.6'
|
||||
gem 'fog-openstack', '~> 1.0'
|
||||
gem 'fog-rackspace', '~> 0.1.1'
|
||||
gem 'fog-aliyun', '~> 0.3'
|
||||
gem 'gitlab-fog-azure-rm', '~> 1.0', require: false
|
||||
gem 'gitlab-fog-azure-rm', '~> 1.0.1', require: false
|
||||
|
||||
# for Google storage
|
||||
gem 'google-api-client', '~> 0.33'
|
||||
|
@ -195,7 +198,7 @@ gem 'acts-as-taggable-on', '~> 7.0'
|
|||
gem 'sidekiq', '~> 5.2.7'
|
||||
gem 'sidekiq-cron', '~> 1.0'
|
||||
gem 'redis-namespace', '~> 1.7.0'
|
||||
gem 'gitlab-sidekiq-fetcher', '0.5.2', require: 'sidekiq-reliable-fetch'
|
||||
gem 'gitlab-sidekiq-fetcher', '0.5.5', require: 'sidekiq-reliable-fetch'
|
||||
|
||||
# Cron Parser
|
||||
gem 'fugit', '~> 1.2.1'
|
||||
|
@ -233,10 +236,7 @@ gem 'connection_pool', '~> 2.0'
|
|||
gem 'redis-rails', '~> 5.0.2'
|
||||
|
||||
# Discord integration
|
||||
gem 'discordrb-webhooks-blackst0ne', '~> 3.3', require: false
|
||||
|
||||
# HipChat integration
|
||||
gem 'hipchat', '~> 1.5.0'
|
||||
gem 'discordrb-webhooks', '~> 3.4', require: false
|
||||
|
||||
# Jira integration
|
||||
gem 'jira-ruby', '~> 2.1.4'
|
||||
|
@ -274,7 +274,10 @@ gem 'licensee', '~> 9.14.1'
|
|||
gem 'charlock_holmes', '~> 0.7.7'
|
||||
|
||||
# Detect mime content type from content
|
||||
gem 'mimemagic', '~> 0.3.2'
|
||||
gem 'ruby-magic-static', '~> 0.3.4'
|
||||
|
||||
# Fake version of the gem to trick bundler
|
||||
gem 'mimemagic', '~> 0.3.10'
|
||||
|
||||
# Faster blank
|
||||
gem 'fast_blank'
|
||||
|
@ -309,7 +312,7 @@ gem 'pg_query', '~> 1.3.0'
|
|||
gem 'premailer-rails', '~> 1.10.3'
|
||||
|
||||
# LabKit: Tracing and Correlation
|
||||
gem 'gitlab-labkit', '0.14.0'
|
||||
gem 'gitlab-labkit', '~> 0.16.1'
|
||||
# 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
|
||||
gem 'thrift', '>= 0.14.0'
|
||||
|
@ -321,7 +324,7 @@ gem 'gettext_i18n_rails', '~> 1.8.0'
|
|||
gem 'gettext_i18n_rails_js', '~> 1.3'
|
||||
gem 'gettext', '~> 3.3', require: false, group: :development
|
||||
|
||||
gem 'batch-loader', '~> 1.4.0'
|
||||
gem 'batch-loader', '~> 2.0.1'
|
||||
|
||||
# Perf bar
|
||||
gem 'peek', '~> 1.1'
|
||||
|
@ -341,7 +344,6 @@ end
|
|||
|
||||
group :development do
|
||||
gem 'brakeman', '~> 4.2', require: false
|
||||
gem 'danger', '~> 8.0.6', require: false
|
||||
gem 'lefthook', '~> 0.7', require: false
|
||||
|
||||
gem 'letter_opener_web', '~> 1.3.4'
|
||||
|
@ -375,9 +377,8 @@ group :development, :test do
|
|||
gem 'spring', '~> 2.1.0'
|
||||
gem 'spring-commands-rspec', '~> 1.0.4'
|
||||
|
||||
gem 'gitlab-styles', '~> 6.0.0', require: false
|
||||
gem 'gitlab-styles', '~> 6.1.0', require: false
|
||||
|
||||
gem 'scss_lint', '~> 0.59.0', require: false
|
||||
gem 'haml_lint', '~> 0.36.0', require: false
|
||||
gem 'bundler-audit', '~> 0.7.0.1', require: false
|
||||
|
||||
|
@ -397,6 +398,11 @@ group :development, :test do
|
|||
gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
|
||||
end
|
||||
|
||||
group :development, :test, :danger do
|
||||
gem 'danger-gitlab', '~> 8.0', require: false
|
||||
gem 'gitlab-dangerfiles', '~> 0.8.0', require: false
|
||||
end
|
||||
|
||||
group :development, :test, :coverage do
|
||||
gem 'simplecov', '~> 0.18.5', require: false
|
||||
gem 'simplecov-cobertura', '~> 1.3.1', require: false
|
||||
|
@ -433,7 +439,7 @@ end
|
|||
gem 'octokit', '~> 4.15'
|
||||
|
||||
# https://gitlab.com/gitlab-org/gitlab/issues/207207
|
||||
gem 'gitlab-mail_room', '~> 0.0.8', require: 'mail_room'
|
||||
gem 'gitlab-mail_room', '~> 0.0.9', require: 'mail_room'
|
||||
|
||||
gem 'email_reply_trimmer', '~> 0.1'
|
||||
gem 'html2text'
|
||||
|
@ -482,7 +488,7 @@ gem 'flipper', '~> 0.17.1'
|
|||
gem 'flipper-active_record', '~> 0.17.1'
|
||||
gem 'flipper-active_support_cache_store', '~> 0.17.1'
|
||||
gem 'unleash', '~> 0.1.5'
|
||||
gem 'gitlab-experiment', '~> 0.4.9'
|
||||
gem 'gitlab-experiment', '~> 0.5.0'
|
||||
|
||||
# Structured logging
|
||||
gem 'lograge', '~> 0.5'
|
||||
|
|
|
@ -88,7 +88,7 @@ GEM
|
|||
asciidoctor (~> 2.0)
|
||||
asciidoctor-plantuml (0.0.12)
|
||||
asciidoctor (>= 1.5.6, < 3.0.0)
|
||||
ast (2.4.1)
|
||||
ast (2.4.2)
|
||||
atlassian-jwt (0.2.0)
|
||||
jwt (~> 2.1.0)
|
||||
attr_encrypted (3.1.0)
|
||||
|
@ -127,8 +127,8 @@ GEM
|
|||
nokogiri (~> 1.11.0.rc2)
|
||||
babosa (1.0.2)
|
||||
base32 (0.3.2)
|
||||
batch-loader (1.4.0)
|
||||
bcrypt (3.1.12)
|
||||
batch-loader (2.0.1)
|
||||
bcrypt (3.1.16)
|
||||
bcrypt_pbkdf (1.0.0)
|
||||
benchmark-ips (2.3.0)
|
||||
benchmark-memory (0.1.2)
|
||||
|
@ -172,6 +172,14 @@ GEM
|
|||
cbor (0.5.9.6)
|
||||
character_set (1.4.0)
|
||||
charlock_holmes (0.7.7)
|
||||
chef-config (16.10.17)
|
||||
addressable
|
||||
chef-utils (= 16.10.17)
|
||||
fuzzyurl
|
||||
mixlib-config (>= 2.2.12, < 4.0)
|
||||
mixlib-shellout (>= 2.0, < 4.0)
|
||||
tomlrb (~> 1.2)
|
||||
chef-utils (16.10.17)
|
||||
childprocess (3.0.0)
|
||||
chunky_png (1.3.5)
|
||||
citrus (3.0.2)
|
||||
|
@ -187,7 +195,7 @@ GEM
|
|||
concord (0.1.5)
|
||||
adamantium (~> 0.2.0)
|
||||
equalizer (~> 0.0.9)
|
||||
concurrent-ruby (1.1.7)
|
||||
concurrent-ruby (1.1.8)
|
||||
connection_pool (2.2.2)
|
||||
contracts (0.11.0)
|
||||
cork (0.3.0)
|
||||
|
@ -208,7 +216,7 @@ GEM
|
|||
css_parser (1.7.0)
|
||||
addressable
|
||||
daemons (1.3.1)
|
||||
danger (8.0.6)
|
||||
danger (8.2.3)
|
||||
claide (~> 1.0)
|
||||
claide-plugins (>= 0.9.2)
|
||||
colored2 (~> 3.1)
|
||||
|
@ -220,7 +228,10 @@ GEM
|
|||
kramdown-parser-gfm (~> 1.0)
|
||||
no_proxy_fix
|
||||
octokit (~> 4.7)
|
||||
terminal-table (~> 1)
|
||||
terminal-table (>= 1, < 4)
|
||||
danger-gitlab (8.0.0)
|
||||
danger
|
||||
gitlab (~> 4.2, >= 4.2.0)
|
||||
database_cleaner (1.7.0)
|
||||
debugger-ruby_core_source (1.3.8)
|
||||
deckar01-task_list (2.3.1)
|
||||
|
@ -257,8 +268,8 @@ GEM
|
|||
diff-lcs (1.4.4)
|
||||
diff_match_patch (0.1.0)
|
||||
diffy (3.3.0)
|
||||
discordrb-webhooks-blackst0ne (3.3.0)
|
||||
rest-client (~> 2.0)
|
||||
discordrb-webhooks (3.4.2)
|
||||
rest-client (>= 2.0.0)
|
||||
docile (1.3.2)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
|
@ -348,6 +359,8 @@ GEM
|
|||
ffi-compiler (1.0.1)
|
||||
ffi (>= 1.0.0)
|
||||
rake
|
||||
ffi-yajl (2.3.4)
|
||||
libyajl2 (~> 1.2)
|
||||
flipper (0.17.1)
|
||||
flipper-active_record (0.17.1)
|
||||
activerecord (>= 4.2, < 7)
|
||||
|
@ -363,7 +376,7 @@ GEM
|
|||
fog-json
|
||||
ipaddress (~> 0.8)
|
||||
xml-simple (~> 1.1)
|
||||
fog-aws (3.8.0)
|
||||
fog-aws (3.9.0)
|
||||
fog-core (~> 2.1)
|
||||
fog-json (~> 1.1)
|
||||
fog-xml (~> 0.1)
|
||||
|
@ -373,12 +386,6 @@ GEM
|
|||
excon (~> 0.58)
|
||||
formatador (~> 0.2)
|
||||
mime-types
|
||||
fog-google (1.12.0)
|
||||
fog-core (<= 2.1.0)
|
||||
fog-json (~> 1.2)
|
||||
fog-xml (~> 0.1.0)
|
||||
google-api-client (>= 0.44.2, < 0.51)
|
||||
google-cloud-env (~> 1.2)
|
||||
fog-json (1.2.0)
|
||||
fog-core
|
||||
multi_json (~> 1.10)
|
||||
|
@ -403,6 +410,7 @@ GEM
|
|||
fuubar (2.2.0)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
fuzzyurl (0.9.0)
|
||||
gemoji (3.0.1)
|
||||
gemojione (3.3.0)
|
||||
json
|
||||
|
@ -423,38 +431,49 @@ GEM
|
|||
gitaly (13.9.0.pre.rc1)
|
||||
grpc (~> 1.0)
|
||||
github-markup (1.7.0)
|
||||
gitlab (4.16.1)
|
||||
httparty (~> 0.14, >= 0.14.0)
|
||||
terminal-table (~> 1.5, >= 1.5.1)
|
||||
gitlab-chronic (0.10.5)
|
||||
numerizer (~> 0.2)
|
||||
gitlab-experiment (0.4.9)
|
||||
gitlab-dangerfiles (0.8.0)
|
||||
danger
|
||||
gitlab-experiment (0.5.0)
|
||||
activesupport (>= 3.0)
|
||||
scientist (~> 1.5, >= 1.5.0)
|
||||
gitlab-fog-azure-rm (1.0.0)
|
||||
gitlab-fog-azure-rm (1.0.1)
|
||||
azure-storage-blob (~> 2.0)
|
||||
azure-storage-common (~> 2.0)
|
||||
fog-core (= 2.1.0)
|
||||
fog-json (~> 1.2.0)
|
||||
mime-types
|
||||
ms_rest_azure (~> 0.12.0)
|
||||
gitlab-labkit (0.14.0)
|
||||
gitlab-fog-google (1.13.0)
|
||||
addressable (>= 2.7.0)
|
||||
fog-core (<= 2.1.0)
|
||||
fog-json (~> 1.2)
|
||||
fog-xml (~> 0.1.0)
|
||||
google-api-client (>= 0.44.2, < 0.51)
|
||||
google-cloud-env (~> 1.2)
|
||||
gitlab-labkit (0.16.1)
|
||||
actionpack (>= 5.0.0, < 7.0.0)
|
||||
activesupport (>= 5.0.0, < 7.0.0)
|
||||
gitlab-pg_query (~> 1.3)
|
||||
grpc (~> 1.19)
|
||||
jaeger-client (~> 1.1)
|
||||
opentracing (~> 0.4)
|
||||
pg_query (~> 1.3)
|
||||
redis (> 3.0.0, < 5.0.0)
|
||||
gitlab-license (1.3.0)
|
||||
gitlab-mail_room (0.0.8)
|
||||
gitlab-license (1.3.1)
|
||||
gitlab-mail_room (0.0.9)
|
||||
gitlab-markup (1.7.1)
|
||||
gitlab-net-dns (0.9.1)
|
||||
gitlab-pg_query (1.3.1)
|
||||
gitlab-pry-byebug (3.9.0)
|
||||
byebug (~> 11.0)
|
||||
pry (~> 0.13.0)
|
||||
gitlab-sidekiq-fetcher (0.5.2)
|
||||
gitlab-sidekiq-fetcher (0.5.5)
|
||||
sidekiq (~> 5)
|
||||
gitlab-styles (6.0.0)
|
||||
rubocop (~> 0.91.1)
|
||||
gitlab-styles (6.1.0)
|
||||
rubocop (~> 0.91, >= 0.91.1)
|
||||
rubocop-gitlab-security (~> 0.1.1)
|
||||
rubocop-performance (~> 1.9.2)
|
||||
rubocop-rails (~> 2.9)
|
||||
|
@ -520,7 +539,7 @@ GEM
|
|||
faraday (>= 1.0)
|
||||
faraday_middleware
|
||||
graphql-client
|
||||
graphql (1.11.4)
|
||||
graphql (1.11.8)
|
||||
graphql-client (0.16.0)
|
||||
activesupport (>= 3.0)
|
||||
graphql (~> 1.8)
|
||||
|
@ -574,9 +593,6 @@ GEM
|
|||
railties (>= 5.0)
|
||||
heapy (0.2.0)
|
||||
thor
|
||||
hipchat (1.5.2)
|
||||
httparty
|
||||
mimemagic
|
||||
html-pipeline (2.13.2)
|
||||
activesupport (>= 2)
|
||||
nokogiri (>= 1.4)
|
||||
|
@ -598,7 +614,7 @@ GEM
|
|||
mime-types (~> 3.0)
|
||||
multi_xml (>= 0.5.2)
|
||||
httpclient (2.8.3)
|
||||
i18n (1.8.7)
|
||||
i18n (1.8.9)
|
||||
concurrent-ruby (~> 1.0)
|
||||
i18n_data (0.8.0)
|
||||
icalendar (2.4.1)
|
||||
|
@ -668,6 +684,7 @@ GEM
|
|||
actionmailer (>= 3.2)
|
||||
letter_opener (~> 1.0)
|
||||
railties (>= 3.2)
|
||||
libyajl2 (1.2.0)
|
||||
license_finder (6.0.0)
|
||||
bundler
|
||||
rubyzip (>= 1, < 3)
|
||||
|
@ -711,12 +728,20 @@ GEM
|
|||
mime-types (3.3.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2020.0512)
|
||||
mimemagic (0.3.5)
|
||||
mimemagic (0.3.10)
|
||||
nokogiri (~> 1)
|
||||
rake
|
||||
mini_histogram (0.3.1)
|
||||
mini_magick (4.10.1)
|
||||
mini_mime (1.0.2)
|
||||
mini_portile2 (2.5.0)
|
||||
minitest (5.11.3)
|
||||
mixlib-cli (2.1.8)
|
||||
mixlib-config (3.0.9)
|
||||
tomlrb
|
||||
mixlib-log (3.0.9)
|
||||
mixlib-shellout (3.2.5)
|
||||
chef-utils
|
||||
ms_rest (0.7.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
faraday (>= 0.9, < 2.0.0)
|
||||
|
@ -737,10 +762,12 @@ GEM
|
|||
mustermann (>= 1.0.0)
|
||||
nap (1.1.0)
|
||||
nenv (0.3.0)
|
||||
net-http-persistent (4.0.0)
|
||||
net-http-persistent (4.0.1)
|
||||
connection_pool (~> 2.2)
|
||||
net-ldap (0.16.3)
|
||||
net-ntp (2.1.3)
|
||||
net-scp (3.0.0)
|
||||
net-ssh (>= 2.6.5, < 7.0.0)
|
||||
net-ssh (6.0.0)
|
||||
netrc (0.11.0)
|
||||
nio4r (2.5.4)
|
||||
|
@ -764,6 +791,19 @@ GEM
|
|||
octokit (4.20.0)
|
||||
faraday (>= 0.9)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
ohai (16.10.6)
|
||||
chef-config (>= 12.8, < 17)
|
||||
chef-utils (>= 16.0, < 17)
|
||||
ffi (~> 1.9)
|
||||
ffi-yajl (~> 2.2)
|
||||
ipaddress
|
||||
mixlib-cli (>= 1.7.0)
|
||||
mixlib-config (>= 2.0, < 4.0)
|
||||
mixlib-log (>= 2.0.1, < 4.0)
|
||||
mixlib-shellout (>= 2.0, < 4.0)
|
||||
plist (~> 3.1)
|
||||
train-core
|
||||
wmi-lite (~> 1.0)
|
||||
oj (3.10.6)
|
||||
omniauth (1.9.0)
|
||||
hashie (>= 3.4.6, < 3.7.0)
|
||||
|
@ -776,6 +816,8 @@ GEM
|
|||
omniauth-authentiq (0.3.3)
|
||||
jwt (>= 1.5)
|
||||
omniauth-oauth2 (>= 1.5)
|
||||
omniauth-azure-activedirectory-v2 (0.1.1)
|
||||
omniauth-oauth2
|
||||
omniauth-azure-oauth2 (0.0.10)
|
||||
jwt (>= 1.0, < 3.0)
|
||||
omniauth (~> 1.0)
|
||||
|
@ -855,6 +897,7 @@ GEM
|
|||
railties (>= 4.0.0)
|
||||
pg (1.2.3)
|
||||
pg_query (1.3.0)
|
||||
plist (3.6.0)
|
||||
png_quantizator (0.2.1)
|
||||
po_to_json (1.0.1)
|
||||
json (>= 1.6.0)
|
||||
|
@ -1041,16 +1084,16 @@ GEM
|
|||
pg
|
||||
rails
|
||||
sqlite3
|
||||
rubocop (0.91.1)
|
||||
rubocop (0.93.1)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.7.1.1)
|
||||
parser (>= 2.7.1.5)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.7)
|
||||
regexp_parser (>= 1.8)
|
||||
rexml
|
||||
rubocop-ast (>= 0.4.0, < 1.0)
|
||||
rubocop-ast (>= 0.6.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 2.0)
|
||||
rubocop-ast (0.8.0)
|
||||
rubocop-ast (1.4.1)
|
||||
parser (>= 2.7.1.5)
|
||||
rubocop-gitlab-security (0.1.1)
|
||||
rubocop (>= 0.51)
|
||||
|
@ -1068,6 +1111,8 @@ GEM
|
|||
i18n
|
||||
ruby-fogbugz (0.2.1)
|
||||
crack (~> 0.4)
|
||||
ruby-magic-static (0.3.5)
|
||||
mini_portile2 (~> 2.5.0)
|
||||
ruby-prof (1.3.1)
|
||||
ruby-progressbar (1.11.0)
|
||||
ruby-saml (1.7.2)
|
||||
|
@ -1079,7 +1124,7 @@ GEM
|
|||
rubyntlm (0.6.2)
|
||||
rubypants (0.2.0)
|
||||
rubyzip (2.0.0)
|
||||
rugged (1.0.1)
|
||||
rugged (1.1.0)
|
||||
safe_yaml (1.0.4)
|
||||
safety_net_attestation (0.4.0)
|
||||
jwt (~> 2.0)
|
||||
|
@ -1104,9 +1149,7 @@ GEM
|
|||
sawyer (0.8.2)
|
||||
addressable (>= 2.3.5)
|
||||
faraday (> 0.8, < 2.0)
|
||||
scientist (1.5.0)
|
||||
scss_lint (0.59.0)
|
||||
sass (~> 3.5, >= 3.5.5)
|
||||
scientist (1.6.0)
|
||||
securecompare (1.0.0)
|
||||
seed-fu (2.3.7)
|
||||
activerecord (>= 3.1)
|
||||
|
@ -1196,9 +1239,17 @@ GEM
|
|||
parslet (~> 1.8.0)
|
||||
toml-rb (1.0.0)
|
||||
citrus (~> 3.0, > 3.0)
|
||||
tomlrb (1.3.0)
|
||||
tpm-key_attestation (0.9.0)
|
||||
bindata (~> 2.4)
|
||||
openssl-signature_algorithm (~> 0.4.0)
|
||||
train-core (3.4.9)
|
||||
addressable (~> 2.5)
|
||||
ffi (!= 1.13.0)
|
||||
json (>= 1.8, < 3.0)
|
||||
mixlib-shellout (>= 2.0, < 4.0)
|
||||
net-scp (>= 1.2, < 4.0)
|
||||
net-ssh (>= 2.9, < 7.0)
|
||||
truncato (0.7.11)
|
||||
htmlentities (~> 4.3.1)
|
||||
nokogiri (>= 1.7.0, <= 2.0)
|
||||
|
@ -1235,7 +1286,7 @@ GEM
|
|||
validate_email (0.1.6)
|
||||
activemodel (>= 3.0)
|
||||
mail (>= 2.2.5)
|
||||
validate_url (1.0.8)
|
||||
validate_url (1.0.13)
|
||||
activemodel (>= 3.0.0)
|
||||
public_suffix
|
||||
validates_hostname (1.0.11)
|
||||
|
@ -1271,6 +1322,7 @@ GEM
|
|||
expression_parser
|
||||
rinku
|
||||
with_env (1.1.0)
|
||||
wmi-lite (1.0.5)
|
||||
xml-simple (1.1.5)
|
||||
xpath (3.2.0)
|
||||
nokogiri (~> 1.8)
|
||||
|
@ -1302,8 +1354,8 @@ DEPENDENCIES
|
|||
aws-sdk-s3 (~> 1)
|
||||
babosa (~> 1.0.2)
|
||||
base32 (~> 0.3.0)
|
||||
batch-loader (~> 1.4.0)
|
||||
bcrypt (= 3.1.12)
|
||||
batch-loader (~> 2.0.1)
|
||||
bcrypt (~> 3.1, >= 3.1.14)
|
||||
bcrypt_pbkdf (~> 1.0)
|
||||
benchmark-ips (~> 2.3.0)
|
||||
benchmark-memory (~> 0.1)
|
||||
|
@ -1324,7 +1376,7 @@ DEPENDENCIES
|
|||
countries (~> 3.0)
|
||||
creole (~> 0.5.0)
|
||||
crystalball (~> 0.7.0)
|
||||
danger (~> 8.0.6)
|
||||
danger-gitlab (~> 8.0)
|
||||
database_cleaner (~> 1.7.0)
|
||||
deckar01-task_list (= 2.3.1)
|
||||
default_value_for (~> 3.4.0)
|
||||
|
@ -1335,7 +1387,7 @@ DEPENDENCIES
|
|||
devise-two-factor (~> 3.1.0)
|
||||
diff_match_patch (~> 0.1.0)
|
||||
diffy (~> 3.3)
|
||||
discordrb-webhooks-blackst0ne (~> 3.3)
|
||||
discordrb-webhooks (~> 3.4)
|
||||
doorkeeper (~> 5.5.0.rc2)
|
||||
doorkeeper-openid_connect (~> 1.7.5)
|
||||
ed25519 (~> 1.2)
|
||||
|
@ -1356,9 +1408,8 @@ DEPENDENCIES
|
|||
flipper-active_support_cache_store (~> 0.17.1)
|
||||
flowdock (~> 0.7)
|
||||
fog-aliyun (~> 0.3)
|
||||
fog-aws (~> 3.8)
|
||||
fog-aws (~> 3.9)
|
||||
fog-core (= 2.1.0)
|
||||
fog-google (~> 1.12)
|
||||
fog-local (~> 0.6)
|
||||
fog-openstack (~> 1.0)
|
||||
fog-rackspace (~> 0.1.1)
|
||||
|
@ -1371,16 +1422,18 @@ DEPENDENCIES
|
|||
gitaly (~> 13.9.0.pre.rc1)
|
||||
github-markup (~> 1.7.0)
|
||||
gitlab-chronic (~> 0.10.5)
|
||||
gitlab-experiment (~> 0.4.9)
|
||||
gitlab-fog-azure-rm (~> 1.0)
|
||||
gitlab-labkit (= 0.14.0)
|
||||
gitlab-dangerfiles (~> 0.8.0)
|
||||
gitlab-experiment (~> 0.5.0)
|
||||
gitlab-fog-azure-rm (~> 1.0.1)
|
||||
gitlab-fog-google (~> 1.13)
|
||||
gitlab-labkit (~> 0.16.1)
|
||||
gitlab-license (~> 1.3)
|
||||
gitlab-mail_room (~> 0.0.8)
|
||||
gitlab-mail_room (~> 0.0.9)
|
||||
gitlab-markup (~> 1.7.1)
|
||||
gitlab-net-dns (~> 0.9.1)
|
||||
gitlab-pry-byebug
|
||||
gitlab-sidekiq-fetcher (= 0.5.2)
|
||||
gitlab-styles (~> 6.0.0)
|
||||
gitlab-sidekiq-fetcher (= 0.5.5)
|
||||
gitlab-styles (~> 6.1.0)
|
||||
gitlab_chronic_duration (~> 0.10.6.2)
|
||||
gitlab_omniauth-ldap (~> 2.1.1)
|
||||
gon (~> 6.2)
|
||||
|
@ -1393,7 +1446,7 @@ DEPENDENCIES
|
|||
grape_logging (~> 1.7)
|
||||
graphiql-rails (~> 1.4.10)
|
||||
graphlient (~> 0.4.0)
|
||||
graphql (~> 1.11.4)
|
||||
graphql (~> 1.11.8)
|
||||
graphql-docs (~> 1.6.0)
|
||||
grpc (~> 1.30.2)
|
||||
gssapi
|
||||
|
@ -1404,7 +1457,6 @@ DEPENDENCIES
|
|||
hashie
|
||||
hashie-forbidden_attributes
|
||||
health_check (~> 3.0)
|
||||
hipchat (~> 1.5.0)
|
||||
html-pipeline (~> 2.13.2)
|
||||
html2text
|
||||
httparty (~> 0.16.4)
|
||||
|
@ -1433,7 +1485,7 @@ DEPENDENCIES
|
|||
marginalia (~> 1.10.0)
|
||||
memory_profiler (~> 0.9)
|
||||
method_source (~> 1.0)
|
||||
mimemagic (~> 0.3.2)
|
||||
mimemagic (~> 0.3.10)
|
||||
mini_magick (~> 4.10.1)
|
||||
minitest (~> 5.11.0)
|
||||
multi_json (~> 1.14.1)
|
||||
|
@ -1443,11 +1495,13 @@ DEPENDENCIES
|
|||
nokogiri (~> 1.11.1)
|
||||
oauth2 (~> 1.4)
|
||||
octokit (~> 4.15)
|
||||
ohai (~> 16.10)
|
||||
oj (~> 3.10.6)
|
||||
omniauth (~> 1.8)
|
||||
omniauth-atlassian-oauth2 (~> 0.2.0)
|
||||
omniauth-auth0 (~> 2.0.0)
|
||||
omniauth-authentiq (~> 0.3.3)
|
||||
omniauth-azure-activedirectory-v2 (~> 0.1)
|
||||
omniauth-azure-oauth2 (~> 0.0.9)
|
||||
omniauth-cas3 (~> 1.1.4)
|
||||
omniauth-facebook (~> 4.0.0)
|
||||
|
@ -1505,14 +1559,14 @@ DEPENDENCIES
|
|||
rspec_junit_formatter
|
||||
rspec_profiling (~> 0.0.6)
|
||||
ruby-fogbugz (~> 0.2.1)
|
||||
ruby-magic-static (~> 0.3.4)
|
||||
ruby-prof (~> 1.3.0)
|
||||
ruby-progressbar (~> 1.10)
|
||||
ruby_parser (~> 3.15)
|
||||
rubyzip (~> 2.0.0)
|
||||
rugged (~> 1.0.1)
|
||||
rugged (~> 1.1)
|
||||
sanitize (~> 5.2.1)
|
||||
sassc-rails (~> 2.1.0)
|
||||
scss_lint (~> 0.59.0)
|
||||
seed-fu (~> 2.3.7)
|
||||
selenium-webdriver (~> 3.142)
|
||||
sentry-raven (~> 3.0)
|
||||
|
|
|
@ -285,10 +285,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a";
|
||||
sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.4.1";
|
||||
version = "2.4.2";
|
||||
};
|
||||
atlassian-jwt = {
|
||||
dependencies = ["jwt"];
|
||||
|
@ -475,20 +475,20 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09jaxxddqpgq8ynwd2gpjq5rkhw00zdjnqisk9qbpjgxzk6f8gwi";
|
||||
sha256 = "17d8wwj880zar5h8zxdmw878shgmljmmv957802fw5nkg3gi3xwk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.4.0";
|
||||
version = "2.0.1";
|
||||
};
|
||||
bcrypt = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0ysblqxkclmnhrd0kmb5mr8p38mbar633gdsb14b7dhkhgawgzfy";
|
||||
sha256 = "02r1c3isfchs5fxivbq99gc3aq4vfyn8snhcy707dal1p8qz12qb";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.1.12";
|
||||
version = "3.1.16";
|
||||
};
|
||||
bcrypt_pbkdf = {
|
||||
groups = ["ed25519"];
|
||||
|
@ -703,6 +703,27 @@
|
|||
};
|
||||
version = "0.7.7";
|
||||
};
|
||||
chef-config = {
|
||||
dependencies = ["addressable" "chef-utils" "fuzzyurl" "mixlib-config" "mixlib-shellout" "tomlrb"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0z3lashvhqy9v5b3xn8vzzf07gnjw4mgdiiryxsg6kdasvj62j8z";
|
||||
type = "gem";
|
||||
};
|
||||
version = "16.10.17";
|
||||
};
|
||||
chef-utils = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1cypir7fza7jfqaj1j1jh37d3i6bvrmm6jamjlngk3xbdbd56hm7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "16.10.17";
|
||||
};
|
||||
childprocess = {
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
|
@ -805,10 +826,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
|
||||
sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.7";
|
||||
version = "1.1.8";
|
||||
};
|
||||
connection_pool = {
|
||||
groups = ["default"];
|
||||
|
@ -928,14 +949,25 @@
|
|||
};
|
||||
danger = {
|
||||
dependencies = ["claide" "claide-plugins" "colored2" "cork" "faraday" "faraday-http-cache" "git" "kramdown" "kramdown-parser-gfm" "no_proxy_fix" "octokit" "terminal-table"];
|
||||
groups = ["development"];
|
||||
groups = ["danger" "default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0lrifb0kbjk9033pzjnp8qqqkg2z212h8dgj71k15c6wb6rycqa7";
|
||||
sha256 = "1nv02gq90nngnfa6hgiyyk60a31xfayk67va98k41gy9arhdkz5g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "8.0.6";
|
||||
version = "8.2.3";
|
||||
};
|
||||
danger-gitlab = {
|
||||
dependencies = ["danger" "gitlab"];
|
||||
groups = ["danger" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1a530kx5s5rbx5yx3jqay56lkksqh0yj468hcpg16faiyv8dfza9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "8.0.0";
|
||||
};
|
||||
database_cleaner = {
|
||||
groups = ["development" "test"];
|
||||
|
@ -1087,16 +1119,16 @@
|
|||
};
|
||||
version = "3.3.0";
|
||||
};
|
||||
discordrb-webhooks-blackst0ne = {
|
||||
discordrb-webhooks = {
|
||||
dependencies = ["rest-client"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1f0dw6ci5cbrxrvvqw2kqabpzyjisd4hflbi370rpb4cakkzgw39";
|
||||
sha256 = "0viw73jd9vs9f92a9q2vxcd29755h7w8jwz36jmvcdl2najainyg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.3.0";
|
||||
version = "3.4.2";
|
||||
};
|
||||
docile = {
|
||||
groups = ["default" "development" "test"];
|
||||
|
@ -1563,6 +1595,17 @@
|
|||
};
|
||||
version = "1.0.1";
|
||||
};
|
||||
ffi-yajl = {
|
||||
dependencies = ["libyajl2"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pfmn0gprc3c15baxa9rx64pqllk64m60f5vg4gp0icpafkp0jx5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.3.4";
|
||||
};
|
||||
flipper = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -1623,10 +1666,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1q7n8r03akjbdz3r2bgsl6wcjvdlf0k508z8bsd9zgs43qg14vc9";
|
||||
sha256 = "10y32rm3vcfh82p2fdr2zq8ibknx1jslmai5m0r261bdr3brkssm";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.8.0";
|
||||
version = "3.9.0";
|
||||
};
|
||||
fog-core = {
|
||||
dependencies = ["builder" "excon" "formatador" "mime-types"];
|
||||
|
@ -1639,17 +1682,6 @@
|
|||
};
|
||||
version = "2.1.0";
|
||||
};
|
||||
fog-google = {
|
||||
dependencies = ["fog-core" "fog-json" "fog-xml" "google-api-client" "google-cloud-env"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1cl6rprichdn1i40c2ndri1c53cfb0x2xk58l9arwip9ivkasln4";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.12.0";
|
||||
};
|
||||
fog-json = {
|
||||
dependencies = ["fog-core" "multi_json"];
|
||||
groups = ["default"];
|
||||
|
@ -1737,6 +1769,16 @@
|
|||
};
|
||||
version = "2.2.0";
|
||||
};
|
||||
fuzzyurl = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03qchs33vfwbsv5awxg3acfmlcrf5xbhnbrc83fdpamwya0glbjl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
gemoji = {
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
|
@ -1834,6 +1876,17 @@
|
|||
};
|
||||
version = "1.7.0";
|
||||
};
|
||||
gitlab = {
|
||||
dependencies = ["httparty" "terminal-table"];
|
||||
groups = ["danger" "default" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0kq77304vn733xc8iipq4wpdk5qb0zwjryhm3fia3mfsrdcp1z8k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.16.1";
|
||||
};
|
||||
gitlab-chronic = {
|
||||
dependencies = ["numerizer"];
|
||||
groups = ["default"];
|
||||
|
@ -1845,16 +1898,27 @@
|
|||
};
|
||||
version = "0.10.5";
|
||||
};
|
||||
gitlab-dangerfiles = {
|
||||
dependencies = ["danger"];
|
||||
groups = ["danger" "development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09ggs890b5gfphnz7ayavs55l6xhw323spfd22dg246g0rw9vliy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.0";
|
||||
};
|
||||
gitlab-experiment = {
|
||||
dependencies = ["activesupport" "scientist"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0skqg90i6qdpm7dhy8bv99gk8siwgm6mpr675790ngri1ns4f5xk";
|
||||
sha256 = "0x4hyva7ypi2mx5jcyxac8w7ffai1pkkjc49fk3avqh4aimlibfr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.9";
|
||||
version = "0.5.0";
|
||||
};
|
||||
gitlab-fog-azure-rm = {
|
||||
dependencies = ["azure-storage-blob" "azure-storage-common" "fog-core" "fog-json" "mime-types" "ms_rest_azure"];
|
||||
|
@ -1862,41 +1926,52 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "04l7ps0vvrqq8i25q7ic2zy2n8f8f1l7sn1shf5wccy1cbyj9pig";
|
||||
sha256 = "05yc5fp45v7y6h838zrj4666ar1ddhn8i5bbdxm8j73yrn2kjnal";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
};
|
||||
gitlab-labkit = {
|
||||
dependencies = ["actionpack" "activesupport" "gitlab-pg_query" "grpc" "jaeger-client" "opentracing" "redis"];
|
||||
gitlab-fog-google = {
|
||||
dependencies = ["addressable" "fog-core" "fog-json" "fog-xml" "google-api-client" "google-cloud-env"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0l4sbvlk6qc0x8372rp1gc2ihmx3vp0afrm5cy55xhflq16y7sl1";
|
||||
sha256 = "0ybmiclsdpkp1l91z6d4qkhha6cik6kgf4kzs3a2c26mhnnj6gxy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.14.0";
|
||||
version = "1.13.0";
|
||||
};
|
||||
gitlab-labkit = {
|
||||
dependencies = ["actionpack" "activesupport" "grpc" "jaeger-client" "opentracing" "pg_query" "redis"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "03i8fc1yzm5yzqxb8bxhjkhqpj17fy71vg2z02bcj4mzbj0piflx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.16.1";
|
||||
};
|
||||
gitlab-license = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "04846kr8pw0fkw4mavakai978raq5d2kjna4rawxpc3dqlr897g4";
|
||||
sha256 = "01z5pb6fg1j83p73vys2fhj7qh60zkqbgiyp4nvw013a6hjlv3qk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
};
|
||||
gitlab-mail_room = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "05j8rpsbl2l5q4xnfh2cnws9axy1a19asg8nlw6jngba94raw5ir";
|
||||
sha256 = "0745kls2bazgk6kbmlq1dmd42z8bgxkyn6ki9snxka8abi5kf037";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.8";
|
||||
version = "0.0.9";
|
||||
};
|
||||
gitlab-markup = {
|
||||
groups = ["default"];
|
||||
|
@ -1918,16 +1993,6 @@
|
|||
};
|
||||
version = "0.9.1";
|
||||
};
|
||||
gitlab-pg_query = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1rybirjyclavp641qdx27483xx0zpmc577wdzfgdnjd7753bya7g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.1";
|
||||
};
|
||||
gitlab-pry-byebug = {
|
||||
dependencies = ["byebug" "pry"];
|
||||
groups = ["development" "test"];
|
||||
|
@ -1949,10 +2014,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0dvx2klf1a1xyf15q34fn59291v6jwx3z315rxb2dmkvcr9873m1";
|
||||
sha256 = "055v0cxvxgy12iwhqa2xbsxa9j6ww7p1f5jqwncwsnr7l6f1f4c9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.5.2";
|
||||
version = "0.5.5";
|
||||
};
|
||||
gitlab-styles = {
|
||||
dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-performance" "rubocop-rails" "rubocop-rspec"];
|
||||
|
@ -1960,10 +2025,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "17d238cy031gnjmrk6wl3qyk5kqhqjxrb68813n4y9ia817xmwyp";
|
||||
sha256 = "0y3livdpkdzp4cy47ycpwqa7nhrf6fb1ff2lwhh4l5n4dpqympwn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "6.0.0";
|
||||
version = "6.1.0";
|
||||
};
|
||||
gitlab_chronic_duration = {
|
||||
dependencies = ["numerizer"];
|
||||
|
@ -2145,10 +2210,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "01ldxhn59lfg5ivxc9m11v1qhw29ql95qcvwwcap49n0z7d1i3k5";
|
||||
sha256 = "0rm59b6klp97287h01aj8hr12mhsya585as2z1sk8hq2lp51imfn";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.11.4";
|
||||
version = "1.11.8";
|
||||
};
|
||||
graphql-client = {
|
||||
dependencies = ["activesupport" "graphql"];
|
||||
|
@ -2332,17 +2397,6 @@
|
|||
};
|
||||
version = "0.2.0";
|
||||
};
|
||||
hipchat = {
|
||||
dependencies = ["httparty" "mimemagic"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0hgy5jav479vbzzk53lazhpjj094dcsqw6w1d6zjn52p72bwq60k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.2";
|
||||
};
|
||||
html-pipeline = {
|
||||
dependencies = ["activesupport" "nokogiri"];
|
||||
groups = ["default" "development" "test"];
|
||||
|
@ -2455,10 +2509,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1kr0bx9323fv5ys6nlhsy05kmwcbs94h6ac7ka9qqywy0vbdvrrv";
|
||||
sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.8.7";
|
||||
version = "1.8.9";
|
||||
};
|
||||
i18n_data = {
|
||||
groups = ["default"];
|
||||
|
@ -2758,6 +2812,16 @@
|
|||
};
|
||||
version = "1.3.4";
|
||||
};
|
||||
libyajl2 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0n5j0p8dxf9xzb9n4bkdr8w0a8gg3jzrn9indri3n0fv90gcs5qi";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.2.0";
|
||||
};
|
||||
license_finder = {
|
||||
dependencies = ["rubyzip" "thor" "toml" "with_env" "xml-simple"];
|
||||
groups = ["development" "omnibus" "test"];
|
||||
|
@ -2953,14 +3017,15 @@
|
|||
version = "3.2020.0512";
|
||||
};
|
||||
mimemagic = {
|
||||
dependencies = ["nokogiri" "rake"];
|
||||
groups = ["default" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qfqb9w76kmpb48frbzbyvjc0dfxh5qiw1kxdbv2y2kp6fxpa1kf";
|
||||
sha256 = "0cqm9n9122qpksn9v6mp0gn3lrzxhh72lwl7yb6j75gykdan6h41";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.5";
|
||||
version = "0.3.10";
|
||||
};
|
||||
mini_histogram = {
|
||||
groups = ["default" "test"];
|
||||
|
@ -3012,6 +3077,48 @@
|
|||
};
|
||||
version = "5.11.3";
|
||||
};
|
||||
mixlib-cli = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1ydxlfgd7nnj3rp1y70k4yk96xz5cywldjii2zbnw3sq9pippwp6";
|
||||
type = "gem";
|
||||
};
|
||||
version = "2.1.8";
|
||||
};
|
||||
mixlib-config = {
|
||||
dependencies = ["tomlrb"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1askip583sfnz25gywd508l3vj5wnvx9vp7gm1sfnixm7amssrwq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.9";
|
||||
};
|
||||
mixlib-log = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0n5dm5iz90ijvjn59jfm8gb8hgsvbj0f1kpzbl38b02z0z4a4v7x";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.9";
|
||||
};
|
||||
mixlib-shellout = {
|
||||
dependencies = ["chef-utils"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1g99c3s5zvrwvlv3gjw5fvpdimybpfazqyszjim5kdjjbq0586hj";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2.5";
|
||||
};
|
||||
ms_rest = {
|
||||
dependencies = ["concurrent-ruby" "faraday" "timeliness"];
|
||||
groups = ["default"];
|
||||
|
@ -3132,10 +3239,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0sbdvkn7mzl883iykz74hgp14qj041gldf2vdk9g3gyqc843l2vr";
|
||||
sha256 = "1yfypmfg1maf20yfd22zzng8k955iylz7iip0mgc9lazw36g8li7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "4.0.0";
|
||||
version = "4.0.1";
|
||||
};
|
||||
net-ldap = {
|
||||
groups = ["default"];
|
||||
|
@ -3157,6 +3264,17 @@
|
|||
};
|
||||
version = "2.1.3";
|
||||
};
|
||||
net-scp = {
|
||||
dependencies = ["net-ssh"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0b4h3ip8d1gkrc0znnw54hbxillk73mdnaf5pz330lmrcl1wiilg";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.0.0";
|
||||
};
|
||||
net-ssh = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -3272,6 +3390,17 @@
|
|||
};
|
||||
version = "4.20.0";
|
||||
};
|
||||
ohai = {
|
||||
dependencies = ["chef-config" "chef-utils" "ffi" "ffi-yajl" "ipaddress" "mixlib-cli" "mixlib-config" "mixlib-log" "mixlib-shellout" "plist" "train-core" "wmi-lite"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08pc5l9p741g08x7xzbkkyi2kz5m5xr8rdj6hfna9bjzb1p80ddq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "16.10.6";
|
||||
};
|
||||
oj = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -3326,6 +3455,17 @@
|
|||
};
|
||||
version = "0.3.3";
|
||||
};
|
||||
omniauth-azure-activedirectory-v2 = {
|
||||
dependencies = ["omniauth-oauth2"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0bgdyzjh7x9knkzaa6bl9f5fvh05nd0gqxrqassww0vqh5qgyfpy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.1";
|
||||
};
|
||||
omniauth-azure-oauth2 = {
|
||||
dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
|
||||
groups = ["default"];
|
||||
|
@ -3667,6 +3807,16 @@
|
|||
};
|
||||
version = "1.3.0";
|
||||
};
|
||||
plist = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1whhr897z6z6av85x2cipyjk46bwh6s4wx6nbrcd3iifnzvbqs7l";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.6.0";
|
||||
};
|
||||
png_quantizator = {
|
||||
groups = ["development" "test"];
|
||||
platforms = [];
|
||||
|
@ -4479,10 +4629,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "19nmdwz6mc5ah0xqlj1j58ylcp9zsckb1xm7p1z51abnqhcq5c06";
|
||||
sha256 = "0phrig25dykgi42z6mf1abllh3ws6sv7awa82hzvvvbjx2xlzd3k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.91.1";
|
||||
version = "0.93.1";
|
||||
};
|
||||
rubocop-ast = {
|
||||
dependencies = ["parser"];
|
||||
|
@ -4490,10 +4640,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "165ws2vwnw33nlqgzvzzjjp1zhkc712a92lbpbjx8j83g44dmdy4";
|
||||
sha256 = "0gkf1p8yal38nlvdb39qaiy0gr85fxfr09j5dxh8qvrgpncpnk78";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.8.0";
|
||||
version = "1.4.1";
|
||||
};
|
||||
rubocop-gitlab-security = {
|
||||
dependencies = ["rubocop"];
|
||||
|
@ -4561,6 +4711,17 @@
|
|||
};
|
||||
version = "0.2.1";
|
||||
};
|
||||
ruby-magic-static = {
|
||||
dependencies = ["mini_portile2"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0whs2i868g1bgglrxl6aba47h8n9zqglsipskk6l83rfkm85ik3g";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.3.5";
|
||||
};
|
||||
ruby-prof = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -4658,10 +4819,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "056bwiwxvnbkbgsr2wqcsknnc73nqasqdnjcpgj2r61wkm8mzmbn";
|
||||
sha256 = "04aq913plcxjw71l5r62qgz3bx3466p0wvgyfqahg5n3nybmcwqy";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
version = "1.1.0";
|
||||
};
|
||||
safe_yaml = {
|
||||
groups = ["default" "test"];
|
||||
|
@ -4755,21 +4916,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "09565ppvd851zxpspn5d5q28wqkfjyfxhvda9w80i16p3y937155";
|
||||
sha256 = "0jklwk9aldvlmdv17m77g2f82j383alqd4jjnwn4c564q9wvz3fp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.0";
|
||||
};
|
||||
scss_lint = {
|
||||
dependencies = ["sass"];
|
||||
groups = ["development" "test"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1s6dzk4n9pnmqciliggwpiny43vc3cx3n2d5gqa9aqng77ff7yv7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.59.0";
|
||||
version = "1.6.0";
|
||||
};
|
||||
securecompare = {
|
||||
groups = ["default"];
|
||||
|
@ -5273,6 +5423,16 @@
|
|||
};
|
||||
version = "1.0.0";
|
||||
};
|
||||
tomlrb = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00x5y9h4fbvrv4xrjk4cqlkm4vq8gv73ax4alj3ac2x77zsnnrk8";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.0";
|
||||
};
|
||||
tpm-key_attestation = {
|
||||
dependencies = ["bindata" "openssl-signature_algorithm"];
|
||||
groups = ["default"];
|
||||
|
@ -5284,6 +5444,17 @@
|
|||
};
|
||||
version = "0.9.0";
|
||||
};
|
||||
train-core = {
|
||||
dependencies = ["addressable" "ffi" "json" "mixlib-shellout" "net-scp" "net-ssh"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1pbfbmi9l5hxr1zly1bc72fk8a6by4d19wdap8q3mi3rlflqzbfp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.4.9";
|
||||
};
|
||||
truncato = {
|
||||
dependencies = ["htmlentities" "nokogiri"];
|
||||
groups = ["default"];
|
||||
|
@ -5459,10 +5630,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1k0bfxzvdcf1nrqhvnyhijc4mwab9wn4qvqb0ynq6p8dj0f866zi";
|
||||
sha256 = "1bwj34rz7961rrl545f006m2jdz1nrc0m72gfqmnb41xwsvpagbk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.8";
|
||||
version = "1.0.13";
|
||||
};
|
||||
validates_hostname = {
|
||||
dependencies = ["activerecord" "activesupport"];
|
||||
|
@ -5591,6 +5762,16 @@
|
|||
};
|
||||
version = "1.1.0";
|
||||
};
|
||||
wmi-lite = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "110dv4arvwyky6f2pq19f20f1xcjpiz3zfbals0y49ijpq8agvql";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.5";
|
||||
};
|
||||
xml-simple = {
|
||||
groups = ["default" "development" "test"];
|
||||
platforms = [];
|
||||
|
|
|
@ -68,7 +68,10 @@ class GitLabRepo:
|
|||
version = self.rev2version(rev)
|
||||
|
||||
passthru = {v: self.get_file(v, rev).strip() for v in ['GITALY_SERVER_VERSION', 'GITLAB_PAGES_VERSION',
|
||||
'GITLAB_SHELL_VERSION', 'GITLAB_WORKHORSE_VERSION']}
|
||||
'GITLAB_SHELL_VERSION']}
|
||||
|
||||
passthru["GITLAB_WORKHORSE_VERSION"] = version
|
||||
|
||||
return dict(version=self.rev2version(rev),
|
||||
repo_hash=self.get_git_hash(rev),
|
||||
owner=self.owner,
|
||||
|
@ -181,9 +184,6 @@ def update_gitlab_shell():
|
|||
gitlab_shell_version = data['passthru']['GITLAB_SHELL_VERSION']
|
||||
_call_nix_update('gitlab-shell', gitlab_shell_version)
|
||||
|
||||
repo = GitLabRepo(repo='gitlab-shell')
|
||||
gitlab_shell_dir = pathlib.Path(__file__).parent / 'gitlab-shell'
|
||||
|
||||
|
||||
@cli.command('update-gitlab-workhorse')
|
||||
def update_gitlab_workhorse():
|
||||
|
@ -192,8 +192,6 @@ def update_gitlab_workhorse():
|
|||
gitlab_workhorse_version = data['passthru']['GITLAB_WORKHORSE_VERSION']
|
||||
_call_nix_update('gitlab-workhorse', gitlab_workhorse_version)
|
||||
|
||||
repo = GitLabRepo('gitlab-org', 'gitlab-workhorse')
|
||||
gitlab_workhorse_dir = pathlib.Path(__file__).parent / 'gitlab-workhorse'
|
||||
|
||||
@cli.command('update-all')
|
||||
@click.option('--rev', default='latest', help='The rev to use (vX.Y.Z-ee), or \'latest\'')
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -44,7 +44,7 @@
|
|||
continue
|
||||
- ui.write('<tag revision="%d" node="%s" name="%s"/>\n'
|
||||
+ ui.write(b'<tag revision="%d" node="%s" name="%s"/>\n'
|
||||
% (r, _x(node.hex(n)), _x(t)))
|
||||
% (r, _x(node.hex(n)), _u(t)))
|
||||
|
||||
def _branches(ui, repo):
|
||||
@@ -104,136 +107,148 @@ def _branches(ui, repo):
|
||||
|
@ -59,7 +59,7 @@
|
|||
if lookup(r, n) in branchheads(t):
|
||||
- ui.write('<branch revision="%d" node="%s" name="%s"/>\n'
|
||||
+ ui.write(b'<branch revision="%d" node="%s" name="%s"/>\n'
|
||||
% (r, _x(node.hex(n)), _x(t)))
|
||||
% (r, _x(node.hex(n)), _u(t)))
|
||||
|
||||
def _manifest(ui, repo, path, rev):
|
||||
ctx = _changectx(repo, rev)
|
||||
|
|
|
@ -1,28 +1,34 @@
|
|||
source 'https://rubygems.org'
|
||||
|
||||
ruby '>= 2.3.0', '< 2.7.0' if Bundler::VERSION >= '1.12.0'
|
||||
gem "bundler", ">= 1.5.0"
|
||||
ruby '>= 2.4.0', '< 2.8.0'
|
||||
gem 'bundler', '>= 1.12.0'
|
||||
|
||||
gem 'rails', '5.2.4.5'
|
||||
gem 'rails', '5.2.5'
|
||||
gem 'sprockets', '~> 3.7.2' if RUBY_VERSION < '2.5'
|
||||
gem "rouge", "~> 3.12.0"
|
||||
gem "request_store", "~> 1.4.1"
|
||||
gem 'rouge', '~> 3.26.0'
|
||||
gem 'request_store', '~> 1.5.0'
|
||||
gem "mini_mime", "~> 1.0.1"
|
||||
gem "actionpack-xml_parser"
|
||||
gem "roadie-rails", (RUBY_VERSION < "2.5" ? "~> 1.3.0" : "~> 2.1.0")
|
||||
gem "mimemagic"
|
||||
gem 'roadie-rails', (RUBY_VERSION < '2.5' ? '~> 1.3.0' : '~> 2.2.0')
|
||||
gem 'marcel'
|
||||
gem "mail", "~> 2.7.1"
|
||||
gem 'csv', (RUBY_VERSION < '2.5' ? ['>= 3.1.1', '<= 3.1.5'] : '~> 3.1.1')
|
||||
gem 'nokogiri', (RUBY_VERSION < '2.5' ? '~> 1.10.0' : '~> 1.11.1')
|
||||
gem "i18n", "~> 1.6.0"
|
||||
gem 'i18n', '~> 1.8.2'
|
||||
gem "rbpdf", "~> 1.20.0"
|
||||
gem 'addressable'
|
||||
gem 'rubyzip', '~> 2.3.0'
|
||||
|
||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
|
||||
|
||||
# TOTP-based 2-factor authentication
|
||||
gem 'rotp'
|
||||
gem 'rqrcode'
|
||||
|
||||
# Optional gem for LDAP authentication
|
||||
group :ldap do
|
||||
gem "net-ldap", "~> 0.16.0"
|
||||
gem 'net-ldap', '~> 0.17.0'
|
||||
end
|
||||
|
||||
# Optional gem for OpenID authentication
|
||||
|
@ -33,7 +39,7 @@ end
|
|||
|
||||
# Optional gem for exporting the gantt to a PNG file
|
||||
group :minimagick do
|
||||
gem "mini_magick", "~> 4.9.5"
|
||||
gem 'mini_magick', '~> 4.11.0'
|
||||
end
|
||||
|
||||
# Optional Markdown support, not for JRuby
|
||||
|
@ -43,7 +49,7 @@ end
|
|||
|
||||
# Include database gems for the database adapters NixOS supports
|
||||
gem "mysql2", "~> 0.5.0", :platforms => [:mri, :mingw, :x64_mingw]
|
||||
gem "pg", "~> 1.1.4", :platforms => [:mri, :mingw, :x64_mingw]
|
||||
gem "pg", "~> 1.2.2", :platforms => [:mri, :mingw, :x64_mingw]
|
||||
|
||||
group :development do
|
||||
gem "yard"
|
||||
|
@ -52,16 +58,17 @@ end
|
|||
group :test do
|
||||
gem "rails-dom-testing"
|
||||
gem 'mocha', '>= 1.4.0'
|
||||
gem "simplecov", "~> 0.17.0", :require => false
|
||||
gem 'simplecov', '~> 0.18.5', :require => false
|
||||
gem "ffi", platforms: [:mingw, :x64_mingw, :mswin]
|
||||
# For running system tests
|
||||
gem 'puma', '~> 3.7'
|
||||
gem "capybara", (RUBY_VERSION < "2.4" ? "~> 3.15.1" : "~> 3.25.0")
|
||||
gem 'puma'
|
||||
gem 'capybara', '~> 3.31.0'
|
||||
gem "selenium-webdriver"
|
||||
gem 'webdrivers', '~> 4.4', require: false
|
||||
# RuboCop
|
||||
gem 'rubocop', '~> 0.76.0'
|
||||
gem 'rubocop-performance', '~> 1.5.0'
|
||||
gem 'rubocop-rails', '~> 2.3.0'
|
||||
gem 'rubocop', '~> 1.12.0'
|
||||
gem 'rubocop-performance', '~> 1.10.1'
|
||||
gem 'rubocop-rails', '~> 2.9.0'
|
||||
end
|
||||
|
||||
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
actioncable (5.2.4.5)
|
||||
actionpack (= 5.2.4.5)
|
||||
actioncable (5.2.5)
|
||||
actionpack (= 5.2.5)
|
||||
nio4r (~> 2.0)
|
||||
websocket-driver (>= 0.6.1)
|
||||
actionmailer (5.2.4.5)
|
||||
actionpack (= 5.2.4.5)
|
||||
actionview (= 5.2.4.5)
|
||||
activejob (= 5.2.4.5)
|
||||
actionmailer (5.2.5)
|
||||
actionpack (= 5.2.5)
|
||||
actionview (= 5.2.5)
|
||||
activejob (= 5.2.5)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
actionpack (5.2.4.5)
|
||||
actionview (= 5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
actionpack (5.2.5)
|
||||
actionview (= 5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
rack (~> 2.0, >= 2.0.8)
|
||||
rack-test (>= 0.6.3)
|
||||
rails-dom-testing (~> 2.0)
|
||||
|
@ -21,26 +21,26 @@ GEM
|
|||
actionpack-xml_parser (2.0.1)
|
||||
actionpack (>= 5.0)
|
||||
railties (>= 5.0)
|
||||
actionview (5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
actionview (5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
builder (~> 3.1)
|
||||
erubi (~> 1.4)
|
||||
rails-dom-testing (~> 2.0)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activejob (5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
activejob (5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
globalid (>= 0.3.6)
|
||||
activemodel (5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
activerecord (5.2.4.5)
|
||||
activemodel (= 5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
activemodel (5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
activerecord (5.2.5)
|
||||
activemodel (= 5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
arel (>= 9.0)
|
||||
activestorage (5.2.4.5)
|
||||
actionpack (= 5.2.4.5)
|
||||
activerecord (= 5.2.4.5)
|
||||
marcel (~> 0.3.1)
|
||||
activesupport (5.2.4.5)
|
||||
activestorage (5.2.5)
|
||||
actionpack (= 5.2.5)
|
||||
activerecord (= 5.2.5)
|
||||
marcel (~> 1.0.0)
|
||||
activesupport (5.2.5)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
|
@ -50,7 +50,7 @@ GEM
|
|||
arel (9.0.0)
|
||||
ast (2.4.2)
|
||||
builder (3.2.4)
|
||||
capybara (3.25.0)
|
||||
capybara (3.31.0)
|
||||
addressable
|
||||
mini_mime (>= 0.1.3)
|
||||
nokogiri (~> 1.8)
|
||||
|
@ -59,6 +59,7 @@ GEM
|
|||
regexp_parser (~> 1.5)
|
||||
xpath (~> 3.2)
|
||||
childprocess (3.0.0)
|
||||
chunky_png (1.4.0)
|
||||
concurrent-ruby (1.1.8)
|
||||
crass (1.0.6)
|
||||
css_parser (1.9.0)
|
||||
|
@ -69,26 +70,22 @@ GEM
|
|||
globalid (0.4.2)
|
||||
activesupport (>= 4.2.0)
|
||||
htmlentities (4.3.4)
|
||||
i18n (1.6.0)
|
||||
i18n (1.8.9)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jaro_winkler (1.5.4)
|
||||
json (2.5.1)
|
||||
loofah (2.9.0)
|
||||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
mail (2.7.1)
|
||||
mini_mime (>= 0.1.1)
|
||||
marcel (0.3.3)
|
||||
mimemagic (~> 0.3.2)
|
||||
marcel (1.0.0)
|
||||
method_source (1.0.0)
|
||||
mimemagic (0.3.5)
|
||||
mini_magick (4.9.5)
|
||||
mini_mime (1.0.2)
|
||||
mini_magick (4.11.0)
|
||||
mini_mime (1.0.3)
|
||||
mini_portile2 (2.5.0)
|
||||
minitest (5.14.4)
|
||||
mocha (1.12.0)
|
||||
mysql2 (0.5.3)
|
||||
net-ldap (0.16.3)
|
||||
net-ldap (0.17.0)
|
||||
nio4r (2.5.7)
|
||||
nokogiri (1.11.2)
|
||||
mini_portile2 (~> 2.5.0)
|
||||
|
@ -96,9 +93,10 @@ GEM
|
|||
parallel (1.20.1)
|
||||
parser (3.0.0.0)
|
||||
ast (~> 2.4.1)
|
||||
pg (1.1.4)
|
||||
pg (1.2.3)
|
||||
public_suffix (4.0.6)
|
||||
puma (3.12.6)
|
||||
puma (5.2.2)
|
||||
nio4r (~> 2.0)
|
||||
racc (1.5.2)
|
||||
rack (2.2.3)
|
||||
rack-openid (1.4.2)
|
||||
|
@ -106,27 +104,27 @@ GEM
|
|||
ruby-openid (>= 2.1.8)
|
||||
rack-test (1.1.0)
|
||||
rack (>= 1.0, < 3)
|
||||
rails (5.2.4.5)
|
||||
actioncable (= 5.2.4.5)
|
||||
actionmailer (= 5.2.4.5)
|
||||
actionpack (= 5.2.4.5)
|
||||
actionview (= 5.2.4.5)
|
||||
activejob (= 5.2.4.5)
|
||||
activemodel (= 5.2.4.5)
|
||||
activerecord (= 5.2.4.5)
|
||||
activestorage (= 5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
rails (5.2.5)
|
||||
actioncable (= 5.2.5)
|
||||
actionmailer (= 5.2.5)
|
||||
actionpack (= 5.2.5)
|
||||
actionview (= 5.2.5)
|
||||
activejob (= 5.2.5)
|
||||
activemodel (= 5.2.5)
|
||||
activerecord (= 5.2.5)
|
||||
activestorage (= 5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
bundler (>= 1.3.0)
|
||||
railties (= 5.2.4.5)
|
||||
railties (= 5.2.5)
|
||||
sprockets-rails (>= 2.0.0)
|
||||
rails-dom-testing (2.0.3)
|
||||
activesupport (>= 4.2.0)
|
||||
nokogiri (>= 1.6)
|
||||
rails-html-sanitizer (1.3.0)
|
||||
loofah (~> 2.3)
|
||||
railties (5.2.4.5)
|
||||
actionpack (= 5.2.4.5)
|
||||
activesupport (= 5.2.4.5)
|
||||
railties (5.2.5)
|
||||
actionpack (= 5.2.5)
|
||||
activesupport (= 5.2.5)
|
||||
method_source
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.19.0, < 2.0)
|
||||
|
@ -138,38 +136,49 @@ GEM
|
|||
rbpdf-font (1.19.1)
|
||||
redcarpet (3.5.1)
|
||||
regexp_parser (1.8.2)
|
||||
request_store (1.4.1)
|
||||
request_store (1.5.0)
|
||||
rack (>= 1.4)
|
||||
rexml (3.2.4)
|
||||
roadie (4.0.0)
|
||||
css_parser (~> 1.4)
|
||||
nokogiri (~> 1.8)
|
||||
roadie-rails (2.1.1)
|
||||
railties (>= 5.1, < 6.1)
|
||||
roadie-rails (2.2.0)
|
||||
railties (>= 5.1, < 6.2)
|
||||
roadie (>= 3.1, < 5.0)
|
||||
rouge (3.12.0)
|
||||
rubocop (0.76.0)
|
||||
jaro_winkler (~> 1.5.1)
|
||||
rotp (6.2.0)
|
||||
rouge (3.26.0)
|
||||
rqrcode (1.2.0)
|
||||
chunky_png (~> 1.0)
|
||||
rqrcode_core (~> 0.2)
|
||||
rqrcode_core (0.2.0)
|
||||
rubocop (1.12.0)
|
||||
parallel (~> 1.10)
|
||||
parser (>= 2.6)
|
||||
parser (>= 3.0.0.0)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 1.8, < 3.0)
|
||||
rexml
|
||||
rubocop-ast (>= 1.2.0, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 1.4.0, < 1.7)
|
||||
rubocop-performance (1.5.2)
|
||||
rubocop (>= 0.71.0)
|
||||
rubocop-rails (2.3.2)
|
||||
unicode-display_width (>= 1.4.0, < 3.0)
|
||||
rubocop-ast (1.4.1)
|
||||
parser (>= 2.7.1.5)
|
||||
rubocop-performance (1.10.2)
|
||||
rubocop (>= 0.90.0, < 2.0)
|
||||
rubocop-ast (>= 0.4.0)
|
||||
rubocop-rails (2.9.1)
|
||||
activesupport (>= 4.2.0)
|
||||
rack (>= 1.1)
|
||||
rubocop (>= 0.72.0)
|
||||
rubocop (>= 0.90.0, < 2.0)
|
||||
ruby-openid (2.9.2)
|
||||
ruby-progressbar (1.11.0)
|
||||
rubyzip (2.3.0)
|
||||
selenium-webdriver (3.142.7)
|
||||
childprocess (>= 0.5, < 4.0)
|
||||
rubyzip (>= 1.2.2)
|
||||
simplecov (0.17.1)
|
||||
simplecov (0.18.5)
|
||||
docile (~> 1.1)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov-html (~> 0.10.0)
|
||||
simplecov-html (0.10.2)
|
||||
simplecov-html (~> 0.11)
|
||||
simplecov-html (0.12.3)
|
||||
sprockets (4.0.2)
|
||||
concurrent-ruby (~> 1.0)
|
||||
rack (> 1, < 3)
|
||||
|
@ -181,7 +190,11 @@ GEM
|
|||
thread_safe (0.3.6)
|
||||
tzinfo (1.2.9)
|
||||
thread_safe (~> 0.1)
|
||||
unicode-display_width (1.6.1)
|
||||
unicode-display_width (2.0.0)
|
||||
webdrivers (4.6.0)
|
||||
nokogiri (~> 1.6)
|
||||
rubyzip (>= 1.3.0)
|
||||
selenium-webdriver (>= 3.0, < 4.0)
|
||||
websocket-driver (0.7.3)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.5)
|
||||
|
@ -194,36 +207,41 @@ PLATFORMS
|
|||
|
||||
DEPENDENCIES
|
||||
actionpack-xml_parser
|
||||
bundler (>= 1.5.0)
|
||||
capybara (~> 3.25.0)
|
||||
addressable
|
||||
bundler (>= 1.12.0)
|
||||
capybara (~> 3.31.0)
|
||||
csv (~> 3.1.1)
|
||||
ffi
|
||||
i18n (~> 1.6.0)
|
||||
i18n (~> 1.8.2)
|
||||
mail (~> 2.7.1)
|
||||
mimemagic
|
||||
mini_magick (~> 4.9.5)
|
||||
marcel
|
||||
mini_magick (~> 4.11.0)
|
||||
mini_mime (~> 1.0.1)
|
||||
mocha (>= 1.4.0)
|
||||
mysql2 (~> 0.5.0)
|
||||
net-ldap (~> 0.16.0)
|
||||
net-ldap (~> 0.17.0)
|
||||
nokogiri (~> 1.11.1)
|
||||
pg (~> 1.1.4)
|
||||
puma (~> 3.7)
|
||||
pg (~> 1.2.2)
|
||||
puma
|
||||
rack-openid
|
||||
rails (= 5.2.4.5)
|
||||
rails (= 5.2.5)
|
||||
rails-dom-testing
|
||||
rbpdf (~> 1.20.0)
|
||||
redcarpet (~> 3.5.1)
|
||||
request_store (~> 1.4.1)
|
||||
roadie-rails (~> 2.1.0)
|
||||
rouge (~> 3.12.0)
|
||||
rubocop (~> 0.76.0)
|
||||
rubocop-performance (~> 1.5.0)
|
||||
rubocop-rails (~> 2.3.0)
|
||||
request_store (~> 1.5.0)
|
||||
roadie-rails (~> 2.2.0)
|
||||
rotp
|
||||
rouge (~> 3.26.0)
|
||||
rqrcode
|
||||
rubocop (~> 1.12.0)
|
||||
rubocop-performance (~> 1.10.1)
|
||||
rubocop-rails (~> 2.9.0)
|
||||
ruby-openid (~> 2.9.2)
|
||||
rubyzip (~> 2.3.0)
|
||||
selenium-webdriver
|
||||
simplecov (~> 0.17.0)
|
||||
simplecov (~> 0.18.5)
|
||||
tzinfo-data
|
||||
webdrivers (~> 4.4)
|
||||
yard
|
||||
|
||||
RUBY VERSION
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, stdenv, fetchurl, bundlerEnv, ruby, makeWrapper }:
|
||||
|
||||
let
|
||||
version = "4.1.2";
|
||||
version = "4.2.0";
|
||||
rubyEnv = bundlerEnv {
|
||||
name = "redmine-env-${version}";
|
||||
|
||||
|
@ -16,7 +16,7 @@ in
|
|||
|
||||
src = fetchurl {
|
||||
url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
|
||||
sha256 = "13i2rlkpdwkdhidpdb5r2zxwxna00r71rh248kzfhgy5a5rkj8ky";
|
||||
sha256 = "1r87gy73dclnvcz55vziv6kbgyck0v8jlzx1wwkak8mgh32n8n19";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue