Merge branch 'master' into staging-next

Hydra nixpkgs: ?compare=1503899
This commit is contained in:
Vladimír Čunát 2019-02-06 14:24:46 +01:00
commit ff101946a8
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
220 changed files with 6008 additions and 2679 deletions

View File

@ -1275,6 +1275,11 @@
github = "eadwu"; github = "eadwu";
name = "Edmund Wu"; name = "Edmund Wu";
}; };
eamsden = {
email = "edward@blackriversoft.com";
github = "eamsden";
name = "Edward Amsden";
};
earldouglas = { earldouglas = {
email = "james@earldouglas.com"; email = "james@earldouglas.com";
github = "earldouglas"; github = "earldouglas";
@ -1500,6 +1505,11 @@
github = "expipiplus1"; github = "expipiplus1";
name = "Joe Hermaszewski"; name = "Joe Hermaszewski";
}; };
eyjhb = {
email = "eyjhbb@gmail.com";
github = "eyJhb";
name = "eyJhb";
};
f--t = { f--t = {
email = "git@f-t.me"; email = "git@f-t.me";
github = "f--t"; github = "f--t";
@ -3485,6 +3495,11 @@
github = "pesterhazy"; github = "pesterhazy";
name = "Paulus Esterhazy"; name = "Paulus Esterhazy";
}; };
petabyteboy = {
email = "me@pbb.lc";
github = "petabyteboy";
name = "Milan Pässler";
};
peterhoeg = { peterhoeg = {
email = "peter@hoeg.com"; email = "peter@hoeg.com";
github = "peterhoeg"; github = "peterhoeg";
@ -5156,4 +5171,9 @@
github = "mredaelli"; github = "mredaelli";
name = "Massimo Redaelli"; name = "Massimo Redaelli";
}; };
shmish111 = {
email = "shmish111@gmail.com";
github = "shmish111";
name = "David Smith";
};
} }

View File

@ -0,0 +1,22 @@
ansicolors,
argparse,
dkjson
inspect
lrexlib-gnu,
lrexlib-posix,
ltermbox,
lua-cmsgpack,
lua_cliargs,
lua-term,
luaffi,http://luarocks.org/dev,
luuid,
penlight,
say,
luv,
luasystem,
mediator_lua,http://luarocks.org/manifests/teto
mpack,http://luarocks.org/manifests/teto
nvim-client,http://luarocks.org/manifests/teto
busted,http://luarocks.org/manifests/teto
luassert,http://luarocks.org/manifests/teto
coxpcall,https://luarocks.org/manifests/hisham,1.17.0-1
1 ansicolors,
2 argparse,
3 dkjson
4 inspect
5 lrexlib-gnu,
6 lrexlib-posix,
7 ltermbox,
8 lua-cmsgpack,
9 lua_cliargs,
10 lua-term,
11 luaffi,http://luarocks.org/dev,
12 luuid,
13 penlight,
14 say,
15 luv,
16 luasystem,
17 mediator_lua,http://luarocks.org/manifests/teto
18 mpack,http://luarocks.org/manifests/teto
19 nvim-client,http://luarocks.org/manifests/teto
20 busted,http://luarocks.org/manifests/teto
21 luassert,http://luarocks.org/manifests/teto
22 coxpcall,https://luarocks.org/manifests/hisham,1.17.0-1

View File

@ -0,0 +1,112 @@
#!/usr/bin/env nix-shell
#!nix-shell -p nix-prefetch-scripts luarocks-nix -i bash
# You'll likely want to use
# ``
# nixpkgs $ maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix
# ``
# to update all libraries in that folder.
# to debug, redirect stderr to stdout with 2>&1
# stop the script upon C-C
set -eu -o pipefail
if [ $# -lt 1 ]; then
print_help
exit 1
fi
CSV_FILE="maintainers/scripts/luarocks-packages.csv"
TMP_FILE="$(mktemp)"
exit_trap()
{
local lc="$BASH_COMMAND" rc=$?
test $rc -eq 0 || echo -e "*** error $rc: $lc.\nGenerated temporary file in $TMP_FILE" >&2
}
trap exit_trap EXIT
print_help() {
echo "Usage: $0 <GENERATED_FILE>"
echo "(most likely pkgs/development/lua-modules/generated-packages.nix)"
echo ""
echo " -c <CSV_FILE> to set the list of luarocks package to generate"
exit 1
}
while getopts ":hc:" opt; do
case $opt in
h)
print_help
;;
c)
echo "Loading package list from $OPTARG !" >&2
CSV_FILE="$OPTARG"
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
shift $((OPTIND-1))
done
GENERATED_NIXFILE="$1"
HEADER="
/* ${GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT!
Regenerate it with:
nixpkgs$ ${0} ${GENERATED_NIXFILE}
These packages are manually refined in lua-overrides.nix
*/
{ self, lua, stdenv, fetchurl, fetchgit, pkgs, ... } @ args:
self: super:
with self;
{
"
FOOTER="
}
/* GENERATED */
"
function convert_pkg () {
pkg="$1"
server=""
if [ ! -z "$2" ]; then
server=" --server=$2"
fi
version="${3:-}"
echo "looking at $pkg (version $version) from server [$server]" >&2
cmd="luarocks nix $server $pkg $version"
drv="$($cmd)"
if [ $? -ne 0 ]; then
echo "Failed to convert $pkg" >&2
echo "$drv" >&2
else
echo "$drv" | tee -a "$TMP_FILE"
fi
}
# params needed when called via callPackage
echo "$HEADER" | tee "$TMP_FILE"
# list of packages with format
# name,server,version
while IFS=, read -r pkg_name server version
do
if [ -z "$pkg_name" ]; then
echo "Skipping empty package name" >&2
fi
convert_pkg "$pkg_name" "$server" "$version"
done < "$CSV_FILE"
# close the set
echo "$FOOTER" | tee -a "$TMP_FILE"
cp "$TMP_FILE" "$GENERATED_NIXFILE"

View File

@ -430,6 +430,11 @@
of maintainers. of maintainers.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The astah-community package was removed from nixpkgs due to it being discontinued and the downloads not being available anymore.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
The httpd service now saves log files with a .log file extension by default for The httpd service now saves log files with a .log file extension by default for
@ -471,6 +476,21 @@
</para> </para>
</note> </note>
</listitem> </listitem>
<listitem>
<para>
The <link xlink:href="https://github.com/DanielAdolfsson/ndppd"><literal>ndppd</literal></link> module
now supports <link linkend="opt-services.ndppd.enable">all config options</link> provided by the current
upstream version as service options. Additionally the <literal>ndppd</literal> package doesn't contain
the systemd unit configuration from upstream anymore, the unit is completely configured by the NixOS module now.
</para>
</listitem>
<listitem>
<para>
New installs of NixOS will default to the Redmine 4.x series unless otherwise specified in
<literal>services.redmine.package</literal> while existing installs of NixOS will default to
the Redmine 3.x series.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View File

@ -339,11 +339,11 @@ let
# dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i) # dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i)
'' ''
mkdir ./contents && cd ./contents mkdir ./contents && cd ./contents
cp -rp "${efiDir}"/* . cp -rp "${efiDir}"/EFI .
mkdir ./boot mkdir ./boot
cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \ cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \
"${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/ "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/
touch --date=@0 ./* touch --date=@0 ./EFI ./boot
usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]') usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]')
# Make the image 110% as big as the files need to make up for FAT overhead # Make the image 110% as big as the files need to make up for FAT overhead
@ -355,7 +355,7 @@ let
echo "Image size: $image_size" echo "Image size: $image_size"
truncate --size=$image_size "$out" truncate --size=$image_size "$out"
${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out" ${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out"
mcopy -psvm -i "$out" ./* :: mcopy -psvm -i "$out" ./EFI ./boot ::
# Verify the FAT partition. # Verify the FAT partition.
${pkgs.dosfstools}/sbin/fsck.vfat -vn "$out" ${pkgs.dosfstools}/sbin/fsck.vfat -vn "$out"
''; # */ ''; # */

View File

@ -340,6 +340,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
chomp $fs; chomp $fs;
my @fields = split / /, $fs; my @fields = split / /, $fs;
my $mountPoint = $fields[4]; my $mountPoint = $fields[4];
$mountPoint =~ s/\\040/ /g; # account for mount points with spaces in the name (\040 is the escape character)
$mountPoint =~ s/\\011/\t/g; # account for mount points with tabs in the name (\011 is the escape character)
next unless -d $mountPoint; next unless -d $mountPoint;
my @mountOptions = split /,/, $fields[5]; my @mountOptions = split /,/, $fields[5];
@ -355,6 +357,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
my $fsType = $fields[$n]; my $fsType = $fields[$n];
my $device = $fields[$n + 1]; my $device = $fields[$n + 1];
my @superOptions = split /,/, $fields[$n + 2]; my @superOptions = split /,/, $fields[$n + 2];
$device =~ s/\\040/ /g; # account for devices with spaces in the name (\040 is the escape character)
$device =~ s/\\011/\t/g; # account for mount points with tabs in the name (\011 is the escape character)
# Skip the read-only bind-mount on /nix/store. # Skip the read-only bind-mount on /nix/store.
next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions); next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions);

View File

@ -60,10 +60,11 @@ in {
extraPackages = mkOption { extraPackages = mkOption {
type = with types; listOf package; type = with types; listOf package;
default = with pkgs; [ default = with pkgs; [
swaylock swayidle
xwayland rxvt_unicode dmenu xwayland rxvt_unicode dmenu
]; ];
defaultText = literalExample '' defaultText = literalExample ''
with pkgs; [ xwayland rxvt_unicode dmenu ]; with pkgs; [ swaylock swayidle xwayland rxvt_unicode dmenu ];
''; '';
example = literalExample '' example = literalExample ''
with pkgs; [ with pkgs; [

View File

@ -4,8 +4,41 @@ with lib;
let let
cfg = config.services.minecraft-server; cfg = config.services.minecraft-server;
in
{ # We don't allow eula=false anyways
eulaFile = builtins.toFile "eula.txt" ''
# eula.txt managed by NixOS Configuration
eula=true
'';
whitelistFile = pkgs.writeText "whitelist.json"
(builtins.toJSON
(mapAttrsToList (n: v: { name = n; uuid = v; }) cfg.whitelist));
cfgToString = v: if builtins.isBool v then boolToString v else toString v;
serverPropertiesFile = pkgs.writeText "server.properties" (''
# server.properties managed by NixOS configuration
'' + concatStringsSep "\n" (mapAttrsToList
(n: v: "${n}=${cfgToString v}") cfg.serverProperties));
# To be able to open the firewall, we need to read out port values in the
# server properties, but fall back to the defaults when those don't exist.
# These defaults are from https://minecraft.gamepedia.com/Server.properties#Java_Edition_3
defaultServerPort = 25565;
serverPort = cfg.serverProperties.server-port or defaultServerPort;
rconPort = if cfg.serverProperties.enable-rcon or false
then cfg.serverProperties."rcon.port" or 25575
else null;
queryPort = if cfg.serverProperties.enable-query or false
then cfg.serverProperties."query.port" or 25565
else null;
in {
options = { options = {
services.minecraft-server = { services.minecraft-server = {
@ -13,10 +46,32 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
If enabled, start a Minecraft Server. The listening port for If enabled, start a Minecraft Server. The server
the server is always <literal>25565</literal>. The server
data will be loaded from and saved to data will be loaded from and saved to
<literal>${cfg.dataDir}</literal>. <option>services.minecraft-server.dataDir</option>.
'';
};
declarative = mkOption {
type = types.bool;
default = false;
description = ''
Whether to use a declarative Minecraft server configuration.
Only if set to <literal>true</literal>, the options
<option>services.minecraft-server.whitelist</option> and
<option>services.minecraft-server.serverProperties</option> will be
applied.
'';
};
eula = mkOption {
type = types.bool;
default = false;
description = ''
Whether you agree to
<link xlink:href="https://account.mojang.com/documents/minecraft_eula">
Mojangs EULA</link>. This option must be set to
<literal>true</literal> to run Minecraft server.
''; '';
}; };
@ -24,7 +79,7 @@ in
type = types.path; type = types.path;
default = "/var/lib/minecraft"; default = "/var/lib/minecraft";
description = '' description = ''
Directory to store minecraft database and other state/data files. Directory to store Minecraft database and other state/data files.
''; '';
}; };
@ -32,21 +87,84 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Whether to open ports in the firewall (if enabled) for the server. Whether to open ports in the firewall for the server.
''; '';
}; };
whitelist = mkOption {
type = let
minecraftUUID = types.strMatching
"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" // {
description = "Minecraft UUID";
};
in types.attrsOf minecraftUUID;
default = {};
description = ''
Whitelisted players, only has an effect when
<option>services.minecraft-server.declarative</option> is
<literal>true</literal> and the whitelist is enabled
via <option>services.minecraft-server.serverProperties</option> by
setting <literal>white-list</literal> to <literal>true</literal>.
This is a mapping from Minecraft usernames to UUIDs.
You can use <link xlink:href="https://mcuuid.net/"/> to get a
Minecraft UUID for a username.
'';
example = literalExample ''
{
username1 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
username2 = "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy";
};
'';
};
serverProperties = mkOption {
type = with types; attrsOf (either bool (either int str));
default = {};
example = literalExample ''
{
server-port = 43000;
difficulty = 3;
gamemode = 1;
max-players = 5;
motd = "NixOS Minecraft server!";
white-list = true;
enable-rcon = true;
"rcon.password" = "hunter2";
}
'';
description = ''
Minecraft server properties for the server.properties file. Only has
an effect when <option>services.minecraft-server.declarative</option>
is set to <literal>true</literal>. See
<link xlink:href="https://minecraft.gamepedia.com/Server.properties#Java_Edition_3"/>
for documentation on these values.
'';
};
package = mkOption {
type = types.package;
default = pkgs.minecraft-server;
defaultText = "pkgs.minecraft-server";
example = literalExample "pkgs.minecraft-server_1_12_2";
description = "Version of minecraft-server to run.";
};
jvmOpts = mkOption { jvmOpts = mkOption {
type = types.str; type = types.separatedString " ";
default = "-Xmx2048M -Xms2048M"; default = "-Xmx2048M -Xms2048M";
description = "JVM options for the Minecraft Service."; # Example options from https://minecraft.gamepedia.com/Tutorials/Server_startup_script
example = "-Xmx2048M -Xms4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing "
+ "-XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 "
+ "-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
description = "JVM options for the Minecraft server.";
}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
users.users.minecraft = { users.users.minecraft = {
description = "Minecraft Server Service user"; description = "Minecraft server service user";
home = cfg.dataDir; home = cfg.dataDir;
createHome = true; createHome = true;
uid = config.ids.uids.minecraft; uid = config.ids.uids.minecraft;
@ -57,17 +175,60 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
serviceConfig.Restart = "always"; serviceConfig = {
serviceConfig.User = "minecraft"; ExecStart = "${cfg.package}/bin/minecraft-server ${cfg.jvmOpts}";
script = '' Restart = "always";
cd ${cfg.dataDir} User = "minecraft";
exec ${pkgs.minecraft-server}/bin/minecraft-server ${cfg.jvmOpts} WorkingDirectory = cfg.dataDir;
'';
}; };
networking.firewall = mkIf cfg.openFirewall { preStart = ''
allowedUDPPorts = [ 25565 ]; ln -sf ${eulaFile} eula.txt
allowedTCPPorts = [ 25565 ]; '' + (if cfg.declarative then ''
if [ -e .declarative ]; then
# Was declarative before, no need to back up anything
ln -sf ${whitelistFile} whitelist.json
cp -f ${serverPropertiesFile} server.properties
else
# Declarative for the first time, backup stateful files
ln -sb --suffix=.stateful ${whitelistFile} whitelist.json
cp -b --suffix=.stateful ${serverPropertiesFile} server.properties
# server.properties must have write permissions, because every time
# the server starts it first parses the file and then regenerates it..
chmod +w server.properties
echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \
> .declarative
fi
'' else ''
if [ -e .declarative ]; then
rm .declarative
fi
'');
}; };
networking.firewall = mkIf cfg.openFirewall (if cfg.declarative then {
allowedUDPPorts = [ serverPort ];
allowedTCPPorts = [ serverPort ]
++ optional (! isNull queryPort) queryPort
++ optional (! isNull rconPort) rconPort;
} else {
allowedUDPPorts = [ defaultServerPort ];
allowedTCPPorts = [ defaultServerPort ];
});
assertions = [
{ assertion = cfg.eula;
message = "You must agree to Mojangs EULA to run minecraft-server."
+ " Read https://account.mojang.com/documents/minecraft_eula and"
+ " set `services.minecraft-server.eula` to `true` if you agree.";
}
];
}; };
} }

View File

@ -497,7 +497,12 @@ in {
systemd.services.gitaly = { systemd.services.gitaly = {
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby ]; path = with pkgs; [
openssh
gitAndTools.git
cfg.packages.gitaly.rubyEnv
cfg.packages.gitaly.rubyEnv.wrappedRuby
];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
User = cfg.user; User = cfg.user;

View File

@ -6,9 +6,18 @@ let
cfg = config.services.home-assistant; cfg = config.services.home-assistant;
# cfg.config != null can be assumed here # cfg.config != null can be assumed here
configFile = pkgs.writeText "configuration.json" configJSON = pkgs.writeText "configuration.json"
(builtins.toJSON (if cfg.applyDefaultConfig then (builtins.toJSON (if cfg.applyDefaultConfig then
(lib.recursiveUpdate defaultConfig cfg.config) else cfg.config)); (recursiveUpdate defaultConfig cfg.config) else cfg.config));
configFile = pkgs.runCommand "configuration.yaml" { } ''
${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
'';
lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json"
(builtins.toJSON cfg.lovelaceConfig);
lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { } ''
${pkgs.remarshal}/bin/json2yaml -i ${lovelaceConfigJSON} -o $out
'';
availableComponents = pkgs.home-assistant.availableComponents; availableComponents = pkgs.home-assistant.availableComponents;
@ -45,6 +54,8 @@ let
defaultConfig = { defaultConfig = {
homeassistant.time_zone = config.time.timeZone; homeassistant.time_zone = config.time.timeZone;
http.server_port = (toString cfg.port); http.server_port = (toString cfg.port);
} // optionalAttrs (cfg.lovelaceConfig != null) {
lovelace.mode = "yaml";
}; };
in { in {
@ -99,6 +110,53 @@ in {
''; '';
}; };
configWritable = mkOption {
default = false;
type = types.bool;
description = ''
Whether to make <filename>configuration.yaml</filename> writable.
This only has an effect if <option>config</option> is set.
This will allow you to edit it from Home Assistant's web interface.
However, bear in mind that it will be overwritten at every start of the service.
'';
};
lovelaceConfig = mkOption {
default = null;
type = with types; nullOr attrs;
# from https://www.home-assistant.io/lovelace/yaml-mode/
example = literalExample ''
{
title = "My Awesome Home";
views = [ {
title = "Example";
cards = [ {
type = "markdown";
title = "Lovelace";
content = "Welcome to your **Lovelace UI**.";
} ];
} ];
}
'';
description = ''
Your <filename>ui-lovelace.yaml</filename> as a Nix attribute set.
Setting this option will automatically add
<literal>lovelace.mode = "yaml";</literal> to your <option>config</option>.
Beware that setting this option will delete your previous <filename>ui-lovelace.yaml</filename>
'';
};
lovelaceConfigWritable = mkOption {
default = false;
type = types.bool;
description = ''
Whether to make <filename>ui-lovelace.yaml</filename> writable.
This only has an effect if <option>lovelaceConfig</option> is set.
This will allow you to edit it from Home Assistant's web interface.
However, bear in mind that it will be overwritten at every start of the service.
'';
};
package = mkOption { package = mkOption {
default = pkgs.home-assistant; default = pkgs.home-assistant;
defaultText = "pkgs.home-assistant"; defaultText = "pkgs.home-assistant";
@ -144,12 +202,17 @@ in {
systemd.services.home-assistant = { systemd.services.home-assistant = {
description = "Home Assistant"; description = "Home Assistant";
after = [ "network.target" ]; after = [ "network.target" ];
preStart = lib.optionalString (cfg.config != null) '' preStart = optionalString (cfg.config != null) (if cfg.configWritable then ''
config=${cfg.configDir}/configuration.yaml cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
rm -f $config '' else ''
${pkgs.remarshal}/bin/json2yaml -i ${configFile} -o $config rm -f "${cfg.configDir}/configuration.yaml"
chmod 444 $config ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
''; '') + optionalString (cfg.lovelaceConfig != null) (if cfg.lovelaceConfigWritable then ''
cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
'' else ''
rm -f "${cfg.configDir}/ui-lovelace.yaml"
ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
'');
serviceConfig = { serviceConfig = {
ExecStart = "${package}/bin/hass --config '${cfg.configDir}'"; ExecStart = "${package}/bin/hass --config '${cfg.configDir}'";
User = "hass"; User = "hass";

View File

@ -30,6 +30,13 @@ let
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
additionalEnvironment = pkgs.writeText "additional_environment.rb" ''
config.logger = Logger.new("${cfg.stateDir}/log/production.log", 14, 1048576)
config.logger.level = Logger::INFO
${cfg.extraEnv}
'';
unpackTheme = unpack "theme"; unpackTheme = unpack "theme";
unpackPlugin = unpack "plugin"; unpackPlugin = unpack "plugin";
unpack = id: (name: source: unpack = id: (name: source:
@ -54,12 +61,20 @@ in
description = "Enable the Redmine service."; description = "Enable the Redmine service.";
}; };
# default to the 4.x series not forcing major version upgrade of those on the 3.x series
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.redmine; default = if versionAtLeast config.system.stateVersion "19.03"
then pkgs.redmine_4
else pkgs.redmine
;
defaultText = "pkgs.redmine"; defaultText = "pkgs.redmine";
description = "Which Redmine package to use."; description = ''
example = "pkgs.redmine.override { ruby = pkgs.ruby_2_3; }"; Which Redmine package to use. This defaults to version 3.x if
<literal>system.stateVersion &lt; 19.03</literal> and version 4.x
otherwise.
'';
example = "pkgs.redmine_4.override { ruby = pkgs.ruby_2_4; }";
}; };
user = mkOption { user = mkOption {
@ -103,6 +118,19 @@ in
''; '';
}; };
extraEnv = mkOption {
type = types.lines;
default = "";
description = ''
Extra configuration in additional_environment.rb.
See https://svn.redmine.org/redmine/trunk/config/additional_environment.rb.example
'';
example = literalExample ''
config.logger.level = Logger::DEBUG
'';
};
themes = mkOption { themes = mkOption {
type = types.attrsOf types.path; type = types.attrsOf types.path;
default = {}; default = {};
@ -249,6 +277,9 @@ in
# link in the application configuration # link in the application configuration
ln -fs ${configurationYml} "${cfg.stateDir}/config/configuration.yml" ln -fs ${configurationYml} "${cfg.stateDir}/config/configuration.yml"
# link in the additional environment configuration
ln -fs ${additionalEnvironment} "${cfg.stateDir}/config/additional_environment.rb"
# link in all user specified themes # link in all user specified themes
rm -rf "${cfg.stateDir}/public/themes/"* rm -rf "${cfg.stateDir}/public/themes/"*

View File

@ -4,7 +4,7 @@
# TODO: LWP/Pg perl libs aren't recognized # TODO: LWP/Pg perl libs aren't recognized
# TODO: support fastcgi # TODO: support fastcgi
# http://munin-monitoring.org/wiki/CgiHowto2 # http://guide.munin-monitoring.org/en/latest/example/webserver/apache-cgi.html
# spawn-fcgi -s /run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph # spawn-fcgi -s /run/munin/fastcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
# spawn-fcgi -s /run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html # spawn-fcgi -s /run/munin/fastcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
# https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum # https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum
@ -24,6 +24,8 @@ let
logdir /var/log/munin logdir /var/log/munin
rundir /run/munin rundir /run/munin
${lib.optionalString (cronCfg.extraCSS != "") "staticdir ${customStaticDir}"}
${cronCfg.extraGlobalConfig} ${cronCfg.extraGlobalConfig}
${cronCfg.hosts} ${cronCfg.hosts}
@ -63,6 +65,11 @@ let
[ipmi*] [ipmi*]
user root user root
group root group root
[munin*]
env.UPDATE_STATSFILE /var/lib/munin/munin-update.stats
${nodeCfg.extraPluginConfig}
''; '';
pluginConfDir = pkgs.stdenv.mkDerivation { pluginConfDir = pkgs.stdenv.mkDerivation {
@ -72,6 +79,54 @@ let
ln -s ${pluginConf} $out/nixos-config ln -s ${pluginConf} $out/nixos-config
''; '';
}; };
# Copy one Munin plugin into the Nix store with a specific name.
# This is suitable for use with plugins going directly into /etc/munin/plugins,
# i.e. munin.extraPlugins.
internOnePlugin = name: path:
"cp -a '${path}' '${name}'";
# Copy an entire tree of Munin plugins into a single directory in the Nix
# store, with no renaming.
# This is suitable for use with munin-node-configure --suggest, i.e.
# munin.extraAutoPlugins.
internManyPlugins = name: path:
"find '${path}' -type f -perm /a+x -exec cp -a -t . '{}' '+'";
# Use the appropriate intern-fn to copy the plugins into the store and patch
# them afterwards in an attempt to get them to run on NixOS.
internAndFixPlugins = name: intern-fn: paths:
pkgs.runCommand name {} ''
mkdir -p "$out"
cd "$out"
${lib.concatStringsSep "\n"
(lib.attrsets.mapAttrsToList intern-fn paths)}
chmod -R u+w .
find . -type f -exec sed -E -i '
s,(/usr)?/s?bin/,/run/current-system/sw/bin/,g
' '{}' '+'
'';
# TODO: write a derivation for munin-contrib, so that for contrib plugins
# you can just refer to them by name rather than needing to include a copy
# of munin-contrib in your nixos configuration.
extraPluginDir = internAndFixPlugins "munin-extra-plugins.d"
internOnePlugin nodeCfg.extraPlugins;
extraAutoPluginDir = internAndFixPlugins "munin-extra-auto-plugins.d"
internManyPlugins
(builtins.listToAttrs
(map
(path: { name = baseNameOf path; value = path; })
nodeCfg.extraAutoPlugins));
customStaticDir = pkgs.runCommand "munin-custom-static-data" {} ''
cp -a "${pkgs.munin}/etc/opt/munin/static" "$out"
cd "$out"
chmod -R u+w .
echo "${cronCfg.extraCSS}" >> style.css
echo "${cronCfg.extraCSS}" >> style-new.css
'';
in in
{ {
@ -82,11 +137,12 @@ in
enable = mkOption { enable = mkOption {
default = false; default = false;
type = types.bool;
description = '' description = ''
Enable Munin Node agent. Munin node listens on 0.0.0.0 and Enable Munin Node agent. Munin node listens on 0.0.0.0 and
by default accepts connections only from 127.0.0.1 for security reasons. by default accepts connections only from 127.0.0.1 for security reasons.
See <link xlink:href='http://munin-monitoring.org/wiki/munin-node.conf' />. See <link xlink:href='http://guide.munin-monitoring.org/en/latest/architecture/index.html' />.
''; '';
}; };
@ -95,18 +151,108 @@ in
type = types.lines; type = types.lines;
description = '' description = ''
<filename>munin-node.conf</filename> extra configuration. See <filename>munin-node.conf</filename> extra configuration. See
<link xlink:href='http://munin-monitoring.org/wiki/munin-node.conf' /> <link xlink:href='http://guide.munin-monitoring.org/en/latest/reference/munin-node.conf.html' />
''; '';
}; };
# TODO: add option to add additional plugins extraPluginConfig = mkOption {
default = "";
type = types.lines;
description = ''
<filename>plugin-conf.d</filename> extra plugin configuration. See
<link xlink:href='http://guide.munin-monitoring.org/en/latest/plugin/use.html' />
'';
example = ''
[fail2ban_*]
user root
'';
};
extraPlugins = mkOption {
default = {};
type = with types; attrsOf path;
description = ''
Additional Munin plugins to activate. Keys are the name of the plugin
symlink, values are the path to the underlying plugin script. You
can use the same plugin script multiple times (e.g. for wildcard
plugins).
Note that these plugins do not participate in autoconfiguration. If
you want to autoconfigure additional plugins, use
<option>services.munin-node.extraAutoPlugins</option>.
Plugins enabled in this manner take precedence over autoconfigured
plugins.
Plugins will be copied into the Nix store, and it will attempt to
modify them to run properly by fixing hardcoded references to
<literal>/bin</literal>, <literal>/usr/bin</literal>,
<literal>/sbin</literal>, and <literal>/usr/sbin</literal>.
'';
example = literalExample ''
{
zfs_usage_bigpool = /src/munin-contrib/plugins/zfs/zfs_usage_;
zfs_usage_smallpool = /src/munin-contrib/plugins/zfs/zfs_usage_;
zfs_list = /src/munin-contrib/plugins/zfs/zfs_list;
};
'';
};
extraAutoPlugins = mkOption {
default = [];
type = with types; listOf path;
description = ''
Additional Munin plugins to autoconfigure, using
<literal>munin-node-configure --suggest</literal>. These should be
the actual paths to the plugin files (or directories containing them),
not just their names.
If you want to manually enable individual plugins instead, use
<option>services.munin-node.extraPlugins</option>.
Note that only plugins that have the 'autoconfig' capability will do
anything if listed here, since plugins that cannot autoconfigure
won't be automatically enabled by
<literal>munin-node-configure</literal>.
Plugins will be copied into the Nix store, and it will attempt to
modify them to run properly by fixing hardcoded references to
<literal>/bin</literal>, <literal>/usr/bin</literal>,
<literal>/sbin</literal>, and <literal>/usr/sbin</literal>.
'';
example = literalExample ''
[
/src/munin-contrib/plugins/zfs
/src/munin-contrib/plugins/ssh
];
'';
};
disabledPlugins = mkOption {
# TODO: figure out why Munin isn't writing the log file and fix it.
# In the meantime this at least suppresses a useless graph full of
# NaNs in the output.
default = [ "munin_stats" ];
type = with types; listOf string;
description = ''
Munin plugins to disable, even if
<literal>munin-node-configure --suggest</literal> tries to enable
them. To disable a wildcard plugin, use an actual wildcard, as in
the example.
munin_stats is disabled by default as it tries to read
<literal>/var/log/munin/munin-update.log</literal> for timing
information, and the NixOS build of Munin does not write this file.
'';
example = [ "diskstats" "zfs_usage_*" ];
};
}; };
services.munin-cron = { services.munin-cron = {
enable = mkOption { enable = mkOption {
default = false; default = false;
type = types.bool;
description = '' description = ''
Enable munin-cron. Takes care of all heavy lifting to collect data from Enable munin-cron. Takes care of all heavy lifting to collect data from
nodes and draws graphs to html. Runs munin-update, munin-limits, nodes and draws graphs to html. Runs munin-update, munin-limits,
@ -119,11 +265,12 @@ in
extraGlobalConfig = mkOption { extraGlobalConfig = mkOption {
default = ""; default = "";
type = types.lines;
description = '' description = ''
<filename>munin.conf</filename> extra global configuration. <filename>munin.conf</filename> extra global configuration.
See <link xlink:href='http://munin-monitoring.org/wiki/munin.conf' />. See <link xlink:href='http://guide.munin-monitoring.org/en/latest/reference/munin.conf.html' />.
Useful to setup notifications, see Useful to setup notifications, see
<link xlink:href='http://munin-monitoring.org/wiki/HowToContact' /> <link xlink:href='http://guide.munin-monitoring.org/en/latest/tutorial/alert.html' />
''; '';
example = '' example = ''
contact.email.command mail -s "Munin notification for ''${var:host}" someone@example.com contact.email.command mail -s "Munin notification for ''${var:host}" someone@example.com
@ -131,14 +278,34 @@ in
}; };
hosts = mkOption { hosts = mkOption {
default = "";
type = types.lines;
description = ''
Definitions of hosts of nodes to collect data from. Needs at least one
host for cron to succeed. See
<link xlink:href='http://guide.munin-monitoring.org/en/latest/reference/munin.conf.html' />
'';
example = '' example = ''
[''${config.networking.hostName}] [''${config.networking.hostName}]
address localhost address localhost
''; '';
};
extraCSS = mkOption {
default = "";
type = types.lines;
description = '' description = ''
Definitions of hosts of nodes to collect data from. Needs at least one Custom styling for the HTML that munin-cron generates. This will be
hosts for cron to succeed. See appended to the CSS files used by munin-cron and will thus take
<link xlink:href='http://munin-monitoring.org/wiki/munin.conf' /> precedence over the builtin styles.
'';
example = ''
/* A simple dark theme. */
html, body { background: #222222; }
#header, #footer { background: #333333; }
img.i, img.iwarn, img.icrit, img.iunkn {
filter: invert(100%) hue-rotate(-30deg);
}
''; '';
}; };
@ -155,6 +322,7 @@ in
description = "Munin monitoring user"; description = "Munin monitoring user";
group = "munin"; group = "munin";
uid = config.ids.uids.munin; uid = config.ids.uids.munin;
home = "/var/lib/munin";
}]; }];
users.groups = [{ users.groups = [{
@ -173,14 +341,27 @@ in
environment.MUNIN_PLUGSTATE = "/run/munin"; environment.MUNIN_PLUGSTATE = "/run/munin";
environment.MUNIN_LOGDIR = "/var/log/munin"; environment.MUNIN_LOGDIR = "/var/log/munin";
preStart = '' preStart = ''
echo "updating munin plugins..." echo "Updating munin plugins..."
mkdir -p /etc/munin/plugins mkdir -p /etc/munin/plugins
rm -rf /etc/munin/plugins/* rm -rf /etc/munin/plugins/*
# Autoconfigure builtin plugins
${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash
# NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak) # Autoconfigure extra plugins
rm /etc/munin/plugins/diskstats || true ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${extraAutoPluginDir} --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash
${lib.optionalString (nodeCfg.extraPlugins != {}) ''
# Link in manually enabled plugins
ln -f -s -t /etc/munin/plugins ${extraPluginDir}/*
''}
${lib.optionalString (nodeCfg.disabledPlugins != []) ''
# Disable plugins
cd /etc/munin/plugins
rm -f ${toString nodeCfg.disabledPlugins}
''}
''; '';
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}"; ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}";
@ -192,6 +373,10 @@ in
}) (mkIf cronCfg.enable { }) (mkIf cronCfg.enable {
# Munin is hardcoded to use DejaVu Mono and the graphs come out wrong if
# it's not available.
fonts.fonts = [ pkgs.dejavu_fonts ];
systemd.timers.munin-cron = { systemd.timers.munin-cron = {
description = "batch Munin master programs"; description = "batch Munin master programs";
wantedBy = [ "timers.target" ]; wantedBy = [ "timers.target" ];

View File

@ -5,43 +5,163 @@ with lib;
let let
cfg = config.services.ndppd; cfg = config.services.ndppd;
configFile = pkgs.runCommand "ndppd.conf" {} '' render = s: f: concatStringsSep "\n" (mapAttrsToList f s);
substitute ${pkgs.ndppd}/etc/ndppd.conf $out \ prefer = a: b: if a != null then a else b;
--replace eth0 ${cfg.interface} \
--replace 1111:: ${cfg.network} ndppdConf = prefer cfg.configFile (pkgs.writeText "ndppd.conf" ''
''; route-ttl ${toString cfg.routeTTL}
in { ${render cfg.proxies (proxyInterfaceName: proxy: ''
proxy ${prefer proxy.interface proxyInterfaceName} {
router ${boolToString proxy.router}
timeout ${toString proxy.timeout}
ttl ${toString proxy.ttl}
${render proxy.rules (ruleNetworkName: rule: ''
rule ${prefer rule.network ruleNetworkName} {
${rule.method}${if rule.method == "iface" then " ${rule.interface}" else ""}
}'')}
}'')}
'');
proxy = types.submodule {
options = { options = {
services.ndppd = { interface = mkOption {
type = types.nullOr types.str;
description = ''
Listen for any Neighbor Solicitation messages on this interface,
and respond to them according to a set of rules.
Defaults to the name of the attrset.
'';
default = null;
};
router = mkOption {
type = types.bool;
description = ''
Turns on or off the router flag for Neighbor Advertisement Messages.
'';
default = true;
};
timeout = mkOption {
type = types.int;
description = ''
Controls how long to wait for a Neighbor Advertisment Message before
invalidating the entry, in milliseconds.
'';
default = 500;
};
ttl = mkOption {
type = types.int;
description = ''
Controls how long a valid or invalid entry remains in the cache, in
milliseconds.
'';
default = 30000;
};
rules = mkOption {
type = types.attrsOf rule;
description = ''
This is a rule that the target address is to match against. If no netmask
is provided, /128 is assumed. You may have several rule sections, and the
addresses may or may not overlap.
'';
default = {};
};
};
};
rule = types.submodule {
options = {
network = mkOption {
type = types.nullOr types.str;
description = ''
This is the target address is to match against. If no netmask
is provided, /128 is assumed. The addresses of serveral rules
may or may not overlap.
Defaults to the name of the attrset.
'';
default = null;
};
method = mkOption {
type = types.enum [ "static" "iface" "auto" ];
description = ''
static: Immediately answer any Neighbor Solicitation Messages
(if they match the IP rule).
iface: Forward the Neighbor Solicitation Message through the specified
interface and only respond if a matching Neighbor Advertisement
Message is received.
auto: Same as iface, but instead of manually specifying the outgoing
interface, check for a matching route in /proc/net/ipv6_route.
'';
default = "auto";
};
interface = mkOption {
type = types.nullOr types.str;
description = "Interface to use when method is iface.";
default = null;
};
};
};
in {
options.services.ndppd = {
enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces"; enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
interface = mkOption { interface = mkOption {
type = types.string; type = types.nullOr types.str;
default = "eth0"; description = ''
example = "ens3"; Interface which is on link-level with router.
description = "Interface which is on link-level with router."; (Legacy option, use services.ndppd.proxies.&lt;interface&gt;.rules.&lt;network&gt; instead)
'';
default = null;
example = "eth0";
}; };
network = mkOption { network = mkOption {
type = types.string; type = types.nullOr types.str;
default = "1111::"; description = ''
example = "2001:DB8::/32"; Network that we proxy.
description = "Network that we proxy."; (Legacy option, use services.ndppd.proxies.&lt;interface&gt;.rules.&lt;network&gt; instead)
'';
default = null;
example = "1111::/64";
}; };
configFile = mkOption { configFile = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null;
description = "Path to configuration file."; description = "Path to configuration file.";
default = null;
}; };
routeTTL = mkOption {
type = types.int;
description = ''
This tells 'ndppd' how often to reload the route file /proc/net/ipv6_route,
in milliseconds.
'';
default = 30000;
};
proxies = mkOption {
type = types.attrsOf proxy;
description = ''
This sets up a listener, that will listen for any Neighbor Solicitation
messages, and respond to them according to a set of rules.
'';
default = {};
example = { "eth0".rules."1111::/64" = {}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.packages = [ pkgs.ndppd ]; warnings = mkIf (cfg.interface != null && cfg.network != null) [ ''
environment.etc."ndppd.conf".source = if (cfg.configFile != null) then cfg.configFile else configFile; The options services.ndppd.interface and services.ndppd.network will probably be removed soon,
systemd.services.ndppd = { please use services.ndppd.proxies.<interface>.rules.<network> instead.
serviceConfig.RuntimeDirectory = [ "ndppd" ]; '' ];
wantedBy = [ "multi-user.target" ];
}; services.ndppd.proxies = mkIf (cfg.interface != null && cfg.network != null) {
"${cfg.interface}".rules."${cfg.network}" = {};
}; };
meta.maintainers = with maintainers; [ gnidorah ]; systemd.services.ndppd = {
description = "NDP Proxy Daemon";
documentation = [ "man:ndppd(1)" "man:ndppd.conf(5)" ];
after = [ "network-pre.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.ndppd}/bin/ndppd -c ${ndppdConf}";
};
};
} }

View File

@ -426,7 +426,7 @@ in {
"~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\\.php(?:$|/)" = { "~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\\.php(?:$|/)" = {
priority = 500; priority = 500;
extraConfig = '' extraConfig = ''
include ${pkgs.nginxMainline}/conf/fastcgi.conf; include ${config.services.nginx.package}/conf/fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS ${if cfg.https then "on" else "off"}; fastcgi_param HTTPS ${if cfg.https then "on" else "off"};

View File

@ -6,12 +6,14 @@ let
dmcfg = config.services.xserver.displayManager; dmcfg = config.services.xserver.displayManager;
ldmcfg = dmcfg.lightdm; ldmcfg = dmcfg.lightdm;
xcfg = config.services.xserver;
cfg = ldmcfg.greeters.gtk; cfg = ldmcfg.greeters.gtk;
inherit (pkgs) writeText; inherit (pkgs) writeText;
theme = cfg.theme.package; theme = cfg.theme.package;
icons = cfg.iconTheme.package; icons = cfg.iconTheme.package;
cursors = cfg.cursorTheme.package;
# The default greeter provided with this expression is the GTK greeter. # The default greeter provided with this expression is the GTK greeter.
# Again, we need a few things in the environment for the greeter to run with # Again, we need a few things in the environment for the greeter to run with
@ -28,7 +30,8 @@ let
--set GTK_EXE_PREFIX "${theme}" \ --set GTK_EXE_PREFIX "${theme}" \
--set GTK_DATA_PREFIX "${theme}" \ --set GTK_DATA_PREFIX "${theme}" \
--set XDG_DATA_DIRS "${theme}/share:${icons}/share" \ --set XDG_DATA_DIRS "${theme}/share:${icons}/share" \
--set XDG_CONFIG_HOME "${theme}/share" --set XDG_CONFIG_HOME "${theme}/share" \
--set XCURSOR_PATH "${cursors}/share/icons"
cat - > $out/lightdm-gtk-greeter.desktop << EOF cat - > $out/lightdm-gtk-greeter.desktop << EOF
[Desktop Entry] [Desktop Entry]
@ -44,9 +47,12 @@ let
[greeter] [greeter]
theme-name = ${cfg.theme.name} theme-name = ${cfg.theme.name}
icon-theme-name = ${cfg.iconTheme.name} icon-theme-name = ${cfg.iconTheme.name}
cursor-theme-name = ${cfg.cursorTheme.name}
cursor-theme-size = ${toString cfg.cursorTheme.size}
background = ${ldmcfg.background} background = ${ldmcfg.background}
${optionalString (cfg.clock-format != null) "clock-format = ${cfg.clock-format}"} ${optionalString (cfg.clock-format != null) "clock-format = ${cfg.clock-format}"}
${optionalString (cfg.indicators != null) "indicators = ${concatStringsSep ";" cfg.indicators}"} ${optionalString (cfg.indicators != null) "indicators = ${concatStringsSep ";" cfg.indicators}"}
${optionalString (xcfg.dpi != null) "xft-dpi=${toString xcfg.dpi}"}
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
@ -106,6 +112,33 @@ in
}; };
cursorTheme = {
package = mkOption {
default = pkgs.gnome3.defaultIconTheme;
defaultText = "pkgs.gnome3.defaultIconTheme";
description = ''
The package path that contains the cursor theme given in the name option.
'';
};
name = mkOption {
type = types.str;
default = "Adwaita";
description = ''
Name of the cursor theme to use for the lightdm-gtk-greeter.
'';
};
size = mkOption {
type = types.int;
default = 16;
description = ''
Size of the cursor theme to use for the lightdm-gtk-greeter.
'';
};
};
clock-format = mkOption { clock-format = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;

View File

@ -19,21 +19,21 @@ let
description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry."; description = "The block device is backed by an encrypted one, adds this device as a initrd luks entry.";
}; };
options.blkDev = mkOption { blkDev = mkOption {
default = null; default = null;
example = "/dev/sda1"; example = "/dev/sda1";
type = types.nullOr types.str; type = types.nullOr types.str;
description = "Location of the backing encrypted device."; description = "Location of the backing encrypted device.";
}; };
options.label = mkOption { label = mkOption {
default = null; default = null;
example = "rootfs"; example = "rootfs";
type = types.nullOr types.str; type = types.nullOr types.str;
description = "Label of the unlocked encrypted device. Set <literal>fileSystems.&lt;name?&gt;.device</literal> to <literal>/dev/mapper/&lt;label&gt;</literal> to mount the unlocked device."; description = "Label of the unlocked encrypted device. Set <literal>fileSystems.&lt;name?&gt;.device</literal> to <literal>/dev/mapper/&lt;label&gt;</literal> to mount the unlocked device.";
}; };
options.keyFile = mkOption { keyFile = mkOption {
default = null; default = null;
example = "/mnt-root/root/.swapkey"; example = "/mnt-root/root/.swapkey";
type = types.nullOr types.str; type = types.nullOr types.str;

View File

@ -231,7 +231,7 @@ in
fsToSkipCheck = [ "none" "bindfs" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" ]; fsToSkipCheck = [ "none" "bindfs" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" ];
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck; skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces # https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
escape = string: builtins.replaceStrings [ " " ] [ "\\040" ] string; escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
in '' in ''
# This is a generated file. Do not edit! # This is a generated file. Do not edit!
# #

View File

@ -129,6 +129,7 @@ in
matrix-synapse = handleTest ./matrix-synapse.nix {}; matrix-synapse = handleTest ./matrix-synapse.nix {};
memcached = handleTest ./memcached.nix {}; memcached = handleTest ./memcached.nix {};
mesos = handleTest ./mesos.nix {}; mesos = handleTest ./mesos.nix {};
minio = handleTest ./minio.nix {};
misc = handleTest ./misc.nix {}; misc = handleTest ./misc.nix {};
mongodb = handleTest ./mongodb.nix {}; mongodb = handleTest ./mongodb.nix {};
morty = handleTest ./morty.nix {}; morty = handleTest ./morty.nix {};
@ -142,6 +143,7 @@ in
nat.firewall = handleTest ./nat.nix { withFirewall = true; }; nat.firewall = handleTest ./nat.nix { withFirewall = true; };
nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; }; nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; };
nat.standalone = handleTest ./nat.nix { withFirewall = false; }; nat.standalone = handleTest ./nat.nix { withFirewall = false; };
ndppd = handleTest ./ndppd.nix {};
neo4j = handleTest ./neo4j.nix {}; neo4j = handleTest ./neo4j.nix {};
netdata = handleTest ./netdata.nix {}; netdata = handleTest ./netdata.nix {};
networking.networkd = handleTest ./networking.nix { networkd = true; }; networking.networkd = handleTest ./networking.nix { networkd = true; };

View File

@ -50,6 +50,18 @@ in {
} }
]; ];
}; };
lovelaceConfig = {
title = "My Awesome Home";
views = [ {
title = "Example";
cards = [ {
type = "markdown";
title = "Lovelace";
content = "Welcome to your **Lovelace UI**.";
} ];
} ];
};
lovelaceConfigWritable = true;
}; };
}; };
}; };
@ -59,8 +71,10 @@ in {
$hass->waitForUnit("home-assistant.service"); $hass->waitForUnit("home-assistant.service");
# The config is specified using a Nix attribute set, # The config is specified using a Nix attribute set,
# but then converted from JSON to YAML # converted from JSON to YAML, and linked to the config dir
$hass->succeed("test -f ${configDir}/configuration.yaml"); $hass->succeed("test -L ${configDir}/configuration.yaml");
# The lovelace config is copied because lovelaceConfigWritable = true
$hass->succeed("test -f ${configDir}/ui-lovelace.yaml");
# Check that Home Assistant's web interface and API can be reached # Check that Home Assistant's web interface and API can be reached
$hass->waitForOpenPort(8123); $hass->waitForOpenPort(8123);

View File

@ -15,9 +15,7 @@ import ./make-test.nix ({ pkgs, ...} : {
munin-node = { munin-node = {
enable = true; enable = true;
# disable a failing plugin to prevent irrelevant error message, see #23049 # disable a failing plugin to prevent irrelevant error message, see #23049
extraConfig = '' disabledPlugins = [ "apc_nis" ];
ignore_file ^apc_nis$
'';
}; };
munin-cron = { munin-cron = {
enable = true; enable = true;

61
nixos/tests/ndppd.nix Normal file
View File

@ -0,0 +1,61 @@
import ./make-test.nix ({ pkgs, lib, ...} : {
name = "ndppd";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ fpletz ];
};
nodes = {
upstream = { pkgs, ... }: {
environment.systemPackages = [ pkgs.tcpdump ];
networking.useDHCP = false;
networking.interfaces = {
eth1 = {
ipv6.addresses = [
{ address = "fd23::1"; prefixLength = 112; }
];
ipv6.routes = [
{ address = "fd42::";
prefixLength = 112;
}
];
};
};
};
server = { pkgs, ... }: {
boot.kernel.sysctl = {
"net.ipv6.conf.all.forwarding" = "1";
"net.ipv6.conf.default.forwarding" = "1";
};
environment.systemPackages = [ pkgs.tcpdump ];
networking.useDHCP = false;
networking.interfaces = {
eth1 = {
ipv6.addresses = [
{ address = "fd23::2"; prefixLength = 112; }
];
};
};
services.ndppd = {
enable = true;
interface = "eth1";
network = "fd42::/112";
};
containers.client = {
autoStart = true;
privateNetwork = true;
hostAddress = "192.168.255.1";
localAddress = "192.168.255.2";
hostAddress6 = "fd42::1";
localAddress6 = "fd42::2";
config = {};
};
};
};
testScript = ''
startAll;
$server->waitForUnit("multi-user.target");
$upstream->waitForUnit("multi-user.target");
$upstream->waitUntilSucceeds("ping -c5 fd42::2");
'';
})

View File

@ -7,7 +7,7 @@ with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib; with pkgs.lib;
let let
postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs pkgs; postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs;
test-sql = pkgs.writeText "postgresql-test" '' test-sql = pkgs.writeText "postgresql-test" ''
CREATE EXTENSION pgcrypto; -- just to check if lib loading works CREATE EXTENSION pgcrypto; -- just to check if lib loading works
CREATE TABLE sth ( CREATE TABLE sth (
@ -67,12 +67,7 @@ let
}; };
in in
(mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // ( (mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // {
# just pick one version for the dump all test postgresql_11-backup-all = make-postgresql-test "postgresql_11-backup-all" postgresql-versions.postgresql_11 true;
let
first = head (attrNames postgresql-versions);
name = "${first}-backup-all";
in {
${name} = make-postgresql-test name postgresql-versions.${first} true;
} }
)

View File

@ -1,8 +1,13 @@
import ./make-test.nix ({ pkgs, lib, ... }: { system ? builtins.currentSystem,
{ config ? {},
name = "redmine"; pkgs ? import ../.. { inherit system config; }
meta.maintainers = [ lib.maintainers.aanderse ]; }:
with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib;
let
redmineTest = package: makeTest {
machine = machine =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ services.mysql.enable = true; { services.mysql.enable = true;
@ -15,11 +20,12 @@ import ./make-test.nix ({ pkgs, lib, ... }:
]; ];
services.redmine.enable = true; services.redmine.enable = true;
services.redmine.package = package;
services.redmine.database.socket = "/run/mysqld/mysqld.sock"; services.redmine.database.socket = "/run/mysqld/mysqld.sock";
services.redmine.plugins = { services.redmine.plugins = {
redmine_env_auth = pkgs.fetchurl { redmine_env_auth = pkgs.fetchurl {
url = https://github.com/Intera/redmine_env_auth/archive/0.6.zip; url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip;
sha256 = "0yyr1yjd8gvvh832wdc8m3xfnhhxzk2pk3gm2psg5w9jdvd6skak"; sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc";
}; };
}; };
services.redmine.themes = { services.redmine.themes = {
@ -37,4 +43,16 @@ import ./make-test.nix ({ pkgs, lib, ... }:
$machine->waitForOpenPort('3000'); $machine->waitForOpenPort('3000');
$machine->succeed("curl --fail http://localhost:3000/"); $machine->succeed("curl --fail http://localhost:3000/");
''; '';
}) };
in
{
redmine_3 = redmineTest pkgs.redmine // {
name = "redmine_3";
meta.maintainers = [ maintainers.aanderse ];
};
redmine_4 = redmineTest pkgs.redmine_4 // {
name = "redmine_4";
meta.maintainers = [ maintainers.aanderse ];
};
}

View File

@ -1,6 +1,6 @@
let let
version = "2.3.0"; version = "2.3.1";
sha256 = "0v79nz19riaga6iwj6m59fq8adm5llrkq61xizriz30rw8rkk04z"; sha256 = "13y3gczqb0rb6v17j63j1zp11cnykbv9c674hrk1i6jb3y4am4lv";
cargoSha256 = "01vdrfqh2nlghbgnbb7qmrazsjmynrb9542qrgchxq589wasb4j2"; cargoSha256 = "1pj5hzy7k1l9bbw1qpz80vvk89qz4qz4rnnkcvn2rkbmq382gxwy";
in in
import ./parity.nix { inherit version sha256 cargoSha256; } import ./parity.nix { inherit version sha256 cargoSha256; }

View File

@ -1,6 +1,6 @@
let let
version = "2.2.7"; version = "2.2.8";
sha256 = "0bxq4z84vsb8hmbscr41xiw11m9xg6if231v76c2dmkbyqgpqy8p"; sha256 = "1l2bxra4fkbh8gnph9wnc24ddmzfdclsgcjbx8q6fflhcg6r9hf1";
cargoSha256 = "1izwqg87qxhmmkd49m0k09i7r05sfcb18m5jbpvggjzp57ips09r"; cargoSha256 = "10lg0vzikzlj927hpn59x1dz9dvhcaqsl8nz14vj2iz42vfkcm7p";
in in
import ./parity.nix { inherit version sha256 cargoSha256; } import ./parity.nix { inherit version sha256 cargoSha256; }

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "flacon-${version}"; name = "flacon-${version}";
version = "5.0.0"; version = "5.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "flacon"; owner = "flacon";
repo = "flacon"; repo = "flacon";
rev = "v${version}"; rev = "v${version}";
sha256 = "0pglqm2z7mp5igqmfnmvrgjhfbfrj8q5jvd0a0g2dzv3rqwfw4vc"; sha256 = "18m077z1hqjg10chy5rgajd9q1wnrcxhiidivgjcdchc9q5d4b08";
}; };
nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; nativeBuildInputs = [ cmake pkgconfig makeWrapper ];

View File

@ -2,13 +2,12 @@
libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }: libsamplerate, libpulseaudio, libXinerama, gettext, pkgconfig, alsaLib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "4.0.18"; version = "4.1.00";
pname = "fldigi"; pname = "fldigi";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/${pname}/${name}.tar.gz"; url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "0a3z9xj9gsa6fskiai9410kwqfb6156km59y36a31mhyddzk27p7"; sha256 = "1hm2n4p3pdd029kizgzwf3zzgsy1m6z83z7rr2kyjhrq2vp5gf0s";
}; };
buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio buildInputs = [ libXinerama gettext hamlib fltk13 libjpeg libpng portaudio

View File

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "gpodder"; pname = "gpodder";
version = "3.10.6"; version = "3.10.7";
format = "other"; format = "other";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gpodder"; owner = pname;
repo = "gpodder"; repo = pname;
rev = version; rev = version;
sha256 = "11nccsnlxrj8wwl8dyz9a0yrzma6ipx5gwj2lc7m308z60r8wvjs"; sha256 = "0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j";
}; };
postPatch = with stdenv.lib; '' postPatch = with stdenv.lib; ''

View File

@ -6,11 +6,11 @@ assert stdenv ? glibc;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yoshimi-${version}"; name = "yoshimi-${version}";
version = "1.5.10"; version = "1.5.10.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2"; url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
sha256 = "0mazzn5pc4xnjci3yy1yfsx9l05gkxqzkmscaq1h75jpa7qfsial"; sha256 = "02mmy17sa3dlwmjjahn8rfd6h67c5s0q3fvkf6ljrc2mbbpwc375";
}; };
buildInputs = [ buildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dhex-${version}"; name = "dhex-${version}";
version = "0.68"; version = "0.69";
src = fetchurl { src = fetchurl {
url = "http://www.dettus.net/dhex/dhex_${version}.tar.gz"; url = "http://www.dettus.net/dhex/dhex_${version}.tar.gz";
sha256 = "126c34745b48a07448cfe36fe5913d37ec562ad72d3f732b99bd40f761f4da08"; sha256 = "06y4lrp29f2fh303ijk1xhspa1d4x4dm6hnyw3dd8szi3k6hnwsj";
}; };
buildInputs = [ ncurses ]; buildInputs = [ ncurses ];

View File

@ -9,7 +9,7 @@
let let
pname = "kdevelop"; pname = "kdevelop";
version = "5.2.4"; version = "5.3.1";
qtVersion = "5.${lib.versions.minor qtbase.version}"; qtVersion = "5.${lib.versions.minor qtbase.version}";
in in
mkDerivation rec { mkDerivation rec {
@ -17,7 +17,7 @@ mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "1jbks7nh9rybz4kg152l39hfj2x0p6mjins8x9mz03bbv8jf8gic"; sha256 = "1098ra7qpal6578hsv20kvxc63v47sp85wjhqr5rgzr2fm7jf6fr";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -37,6 +37,12 @@ mkDerivation rec {
shared-mime-info libksysguard konsole kcrash karchive kguiaddons kpurpose shared-mime-info libksysguard konsole kcrash karchive kguiaddons kpurpose
]; ];
# https://cgit.kde.org/kdevelop.git/commit/?id=716372ae2e8dff9c51e94d33443536786e4bd85b
# required as nixos seems to be unable to find CLANG_BUILTIN_DIR
cmakeFlags = [
"-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include"
];
postInstall = '' postInstall = ''
# The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH. # The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH.
wrapProgram "$out/bin/kdevelop!" \ wrapProgram "$out/bin/kdevelop!" \

View File

@ -1,15 +1,25 @@
{ stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv { stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv
, libuv, luaPackages, ncurses, pkgconfig , libuv, lua, ncurses, pkgconfig
, unibilium, xsel, gperf , unibilium, xsel, gperf
, libvterm-neovim , libvterm-neovim
, withJemalloc ? true, jemalloc , withJemalloc ? true, jemalloc
, glibcLocales ? null, procps ? null
# now defaults to false because some tests can be flaky (clipboard etc)
, doCheck ? false
}: }:
with stdenv.lib; with stdenv.lib;
let let
neovimLuaEnv = lua.withPackages(ps:
neovim = stdenv.mkDerivation rec { (with ps; [ mpack lpeg luabitop ]
++ optionals doCheck [
nvim-client luv coxpcall busted luafilesystem penlight inspect
]
));
in
stdenv.mkDerivation rec {
name = "neovim-unwrapped-${version}"; name = "neovim-unwrapped-${version}";
version = "0.3.4"; version = "0.3.4";
@ -36,11 +46,20 @@ let
ncurses ncurses
libvterm-neovim libvterm-neovim
unibilium unibilium
luaPackages.lua
gperf gperf
neovimLuaEnv
] ++ optional withJemalloc jemalloc ] ++ optional withJemalloc jemalloc
++ optional stdenv.isDarwin libiconv ++ optional stdenv.isDarwin libiconv
++ lualibs; ++ optionals doCheck [ glibcLocales procps ]
;
inherit doCheck;
# to be exhaustive, one could run
# make oldtests too
checkPhase = ''
make functionaltest
'';
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -48,10 +67,6 @@ let
pkgconfig pkgconfig
]; ];
LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs);
LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs);
lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
# nvim --version output retains compilation flags and references to build tools # nvim --version output retains compilation flags and references to build tools
postPatch = '' postPatch = ''
@ -61,9 +76,11 @@ let
disallowedReferences = [ stdenv.cc ]; disallowedReferences = [ stdenv.cc ];
cmakeFlags = [ cmakeFlags = [
"-DLUA_PRG=${luaPackages.lua}/bin/lua" "-DLUA_PRG=${neovimLuaEnv}/bin/lua"
"-DGPERF_PRG=${gperf}/bin/gperf" "-DGPERF_PRG=${gperf}/bin/gperf"
]; ]
++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
;
# triggers on buffer overflow bug while running tests # triggers on buffer overflow bug while running tests
hardeningDisable = [ "fortify" ]; hardeningDisable = [ "fortify" ];
@ -81,6 +98,11 @@ let
$out/bin/nvim $out/bin/nvim
''; '';
# export PATH=$PWD/build/bin:${PATH}
shellHook=''
export VIMRUNTIME=$PWD/runtime
'';
meta = { meta = {
description = "Vim text editor fork focused on extensibility and agility"; description = "Vim text editor fork focused on extensibility and agility";
longDescription = '' longDescription = ''
@ -104,7 +126,4 @@ let
# https://nix-cache.s3.amazonaws.com/log/9ahcb52905d9d417zsskjpc331iailpq-neovim-unwrapped-0.2.2.drv # https://nix-cache.s3.amazonaws.com/log/9ahcb52905d9d417zsskjpc331iailpq-neovim-unwrapped-0.2.2.drv
broken = stdenv.isAarch64; broken = stdenv.isAarch64;
}; };
}; }
in
neovim

View File

@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qgis-2.18.22"; name = "qgis-2.18.28";
buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig
@ -35,14 +35,15 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://qgis.org/downloads/${name}.tar.bz2"; url = "https://qgis.org/downloads/${name}.tar.bz2";
sha256 = "00b3a2hfn3i7bdx7x96vz2nj0976vpkhid4ss7n8c33fdvw3k82a"; sha256 = "18pijqls1isd2bpg0mkrw07jqvdfaiwwb9mvz7p2xrgqcjx7dxsq";
}; };
patches = [ patches = [
# https://github.com/qgis/QGIS/pull/7765 # already merged upstream in QGIS-3.*, but needs to be backported to QGIS-2
(fetchpatch { (fetchpatch {
url = "https://github.com/qgis/QGIS/commit/6b61ef361a77f057dc29eb07463007bd9012b253.patch"; url = "https://patch-diff.githubusercontent.com/raw/qgis/QGIS/pull/7263.patch";
sha256 = "1xibcahm18n7nxff1xvwwzjf505hvhiw5dk12is7aclv49h0rdf7"; name = "Ensure_qgis.db_is_writable_when_copied_from_RO_source";
sha256 = "19wr2kz0x8x6p2n0ylzd4lqrdmbkxyxr0zpwf2vl9hdp92rdjxbv";
}) })
]; ];

View File

@ -1,63 +0,0 @@
{ stdenv, fetchurl, makeWrapper, makeDesktopItem, unzip, jre }:
let
name = "astah-community";
version = "7.2.0";
postfix = "1ff236";
desktopIcon = fetchurl {
name = "${name}.png";
url = "https://aur.archlinux.org/cgit/aur.git/plain/astah_community.png?h=astah-community&id=94710b5a6aadcaf489022b0f0e61f8832ae6fa87";
sha256 = "0knlknwfqqnhg63sxxpia5ykn397id31gzr956wnn6yjj58k3ckm";
};
mimeXml = fetchurl {
name = "${name}.xml";
url = "https://aur.archlinux.org/cgit/aur.git/plain/astah_community.xml?h=astah-community&id=94710b5a6aadcaf489022b0f0e61f8832ae6fa87";
sha256 = "096n2r14ddm97r32i4sbp7v4qdmwn9sxy7lwphcx1nydppb0m97b";
};
desktopItem = makeDesktopItem {
name = name;
exec = "astah %U";
icon = "${desktopIcon}";
comment = "Lightweight, easy-to-use, and free UML2.x modeler";
desktopName = "Astah* Community";
genericName = "Astah* Community";
mimeType = "application/x-astah";
categories = "Application;Development;";
extraEntries = "NoDisplay=false";
};
in
stdenv.mkDerivation {
name = "${name}-${version}";
src = fetchurl {
url = "http://cdn.change-vision.com/files/${name}-${stdenv.lib.replaceStrings ["."] ["_"] version}-${postfix}.zip";
sha256 = "1lkl30jdjiarvh2ap9rjabvrq9qhrlmfrasv3vvkag22y9w4l499";
};
nativeBuildInputs = [ unzip makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share}
cp -r . $out/share/astah
cp -r ${desktopItem}/share/applications $out/share/applications
install -D ${desktopIcon} $out/share/pixmaps/${name}.png
install -D ${mimeXml} $out/share/mime/packages/${name}.xml
makeWrapper ${jre}/bin/java $out/bin/astah \
--add-flags "-jar $out/share/astah/astah-community.jar"
runHook postInstall
'';
meta = with stdenv.lib; {
description = "Lightweight, easy-to-use, and free UML2.x modeler";
homepage = http://astah.net/editions/community;
license = licenses.unfree;
};
}

View File

@ -2,12 +2,12 @@
, pyserial, pygtk }: , pyserial, pygtk }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "chirp-daily-${version}"; pname = "chirp-daily";
version = "20181018"; version = "20190201";
src = fetchurl { src = fetchurl {
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz"; url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
sha256 = "0jd7xi6q09b3djn1k7pj1sbqvw24kn7dcp9r6abvxily4pc1xhdr"; sha256 = "1ag3qzdq39zhpagviq9gpwk4y3h11z0j40nccsnhlq8h8bxpvwlf";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -6,13 +6,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "4.0.7"; version = "4.0.8";
pname = "flmsg"; pname = "flmsg";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/fldigi/${name}.tar.gz"; url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
sha256 = "1kdlwhxsw02pas9d0kakkq2713wj1m4q881f6am5aq4x8n01f4xw"; sha256 = "1yy9z6mchs7r3x108z5rp0h6a18zjqrn9zq5x72qwqh1byjnfwc8";
}; };
buildInputs = [ buildInputs = [

View File

@ -6,13 +6,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.3.41"; version = "1.3.42";
pname = "flrig"; pname = "flrig";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/fldigi/${name}.tar.gz"; url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
sha256 = "0vh14azg3pppyg3fb7kf6q3ighw1ka9m60jf2dzsd77f4hidhqx4"; sha256 = "10qn710ms145zq2xzb6z2fnygxmh5pmfmyfdbphrc7mrvd0phzp0";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv, python }: { stdenv, python, fetchpatch }:
with python.pkgs; with python.pkgs;
@ -11,6 +11,12 @@ buildPythonApplication rec {
sha256 = "5b9af8338a0f8b95a8133b66ef106553823813ac171c0aefa3f3f2dbeb4d7f88"; sha256 = "5b9af8338a0f8b95a8133b66ef106553823813ac171c0aefa3f3f2dbeb4d7f88";
}; };
# allow newer click version
patches = fetchpatch {
url = "${meta.homepage}/commit/5b0d3ef1775756ca15b6d83fba1fb751846b5427.patch";
sha256 = "1551knh2f7yarqzcpip16ijmbx8kzdna8cihxlxx49ww55f5sg67";
};
propagatedBuildInputs = [ propagatedBuildInputs = [
click click
colorama colorama

View File

@ -3,12 +3,12 @@
mkDerivation rec { mkDerivation rec {
pname = "latte-dock"; pname = "latte-dock";
version = "0.8.4"; version = "0.8.5";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${name}.tar.xz"; url = "https://download.kde.org/stable/${pname}/${name}.tar.xz";
sha256 = "0zm2xckyaymd53a38mf1bh9in4bh2bshbr3z8z9gn6mp7c60jay3"; sha256 = "1yhnmppp65xy8skainn438q3hwlpsz8qcj4ksvl8xdz5jzn7gs7k";
name = "${name}.tar.xz"; name = "${name}.tar.xz";
}; };

View File

@ -13,12 +13,12 @@ let
inherit (python2.pkgs) paramiko pycairo pyodbc; inherit (python2.pkgs) paramiko pycairo pyodbc;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "mysql-workbench"; pname = "mysql-workbench";
version = "8.0.13"; version = "8.0.14";
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz"; url = "http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-${version}-src.tar.gz";
sha256 = "1p4xy2a5cin1l06j4ixpgp1ynhjdj5gax4fjhznspch3c63jp9hj"; sha256 = "0mz615drx18h0frc6fq9nknqbpq7lr0xlsfmxd5irw2jz629lj76";
}; };
patches = [ patches = [

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "notejot"; pname = "notejot";
version = "1.5.3"; version = "1.5.4";
name = "${pname}-${version}"; name = "${pname}-${version}";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "lainsce"; owner = "lainsce";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1n41sg9a38p9qp8pz3lx9rnb8kc069vkbwf963zzpzs2745h6s9v"; sha256 = "1lv4s2mqddi6lz414kqpp4vcwnkjibc0k2xhnczaa1wf3azlxjgf";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -9,13 +9,13 @@
buildPythonApplication rec { buildPythonApplication rec {
pname = "orca"; pname = "orca";
version = "3.30.1"; version = "3.30.2";
format = "other"; format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1b9s69frjmghjm1p9a4rrvknl9m0qlwr7mr4lsxkvjnblhsnw0g7"; sha256 = "17asibc46i5gr2fw04jvvdi85zzmxwlnhyq7r6cr3m5prrdr8a53";
}; };
patches = [ patches = [

View File

@ -19,7 +19,8 @@ python3Packages.buildPythonApplication rec {
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";
checkInputs = with python3Packages; [ pytest ]; checkInputs = with python3Packages; [ pytest ];
propagatedBuildInputs = [ file ]; propagatedBuildInputs = [ file ]
++ lib.optional (imagePreviewSupport) [ python3Packages.pillow ];
checkPhase = '' checkPhase = ''
py.test tests py.test tests

View File

@ -5,14 +5,14 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xastir-${version}"; pname = "xastir";
version = "208"; version = "2.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Xastir"; owner = pname;
repo = "Xastir"; repo = pname;
rev = "707f3aa8c7ca3e3fecd32d5a4af3f742437e5dce"; rev = "Release-${version}";
sha256 = "1mm22vn3hws7dmg9wpaj4s0zkzb77i3aqa2ay3q6kqjkdhv25brl"; sha256 = "16zsgy3589snawr8f1fa22ymvpnjy6njvxmsck7q8p2xmmz2ry7r";
}; };
buildInputs = [ buildInputs = [

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, glib, gtk2, pkgconfig, hamlib }: { stdenv, fetchurl, glib, gtk2, pkgconfig, hamlib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "xlog-${version}"; pname = "xlog";
version = "2.0.15"; version = "2.0.17";
src = fetchurl { src = fetchurl {
url = "https://download.savannah.gnu.org/releases/xlog/${name}.tar.gz"; url = "https://download.savannah.gnu.org/releases/xlog/${pname}-${version}.tar.gz";
sha256 = "0an883wqw3zwpw8nqinm9cb17hp2xw9vf603k4l2345p61jqdw2j"; sha256 = "0vmn8518zk7qk1mbp1h8dm0f8fx0z0jvmy42c1n15il714lj7vsl";
}; };
buildInputs = [ glib pkgconfig gtk2 hamlib ]; buildInputs = [ glib pkgconfig gtk2 hamlib ];
@ -25,5 +25,4 @@ stdenv.mkDerivation rec {
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -15,13 +15,13 @@ with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "kubernetes-${version}"; name = "kubernetes-${version}";
version = "1.13.2"; version = "1.13.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes"; owner = "kubernetes";
repo = "kubernetes"; repo = "kubernetes";
rev = "v${version}"; rev = "v${version}";
sha256 = "1j5yyzn3c481ba6bbyx6gsa41zhg3x35sdbajlnxmbnid0g21g8g"; sha256 = "1fcp27c501ql4v7fl7rl5qyjlw1awk139rwwm0jqdpgh3sd22l2z";
}; };
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ]; buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];

View File

@ -1,11 +1,6 @@
{ stdenv, fetchFromGitHub, fetchurl, gzip, ... }: { stdenv, fetchFromGitHub, fetchurl, gzip }:
let stdenv.mkDerivation rec {
serviceFile = fetchurl {
url = "https://raw.githubusercontent.com/DanielAdolfsson/ndppd/f37e8eb33dc68b3385ecba9b36a5efd92755580f/ndppd.service";
sha256 = "1zf54pzjfj9j9gr48075njqrgad4myd3dqmhvzxmjy4gjy9ixmyh";
};
in stdenv.mkDerivation rec {
name = "ndppd-${version}"; name = "ndppd-${version}";
version = "0.2.5"; version = "0.2.5";
@ -27,11 +22,6 @@ in stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
mkdir -p $out/etc mkdir -p $out/etc
cp ndppd.conf-dist $out/etc/ndppd.conf cp ndppd.conf-dist $out/etc/ndppd.conf
mkdir -p $out/lib/systemd/system
# service file needed for our module is not in release yet
substitute ${serviceFile} $out/lib/systemd/system/ndppd.service \
--replace /usr/sbin/ndppd $out/sbin/ndppd
''; '';
meta = { meta = {

View File

@ -0,0 +1,51 @@
{ stdenv, python3Packages, fetchFromGitHub, ledger, hledger, useLedger ? true, useHledger ? true }:
python3Packages.buildPythonApplication rec {
pname = "ledger-autosync";
version = "1.0.0";
# no tests included in PyPI tarball
src = fetchFromGitHub {
owner = "egh";
repo = "ledger-autosync";
rev = "v${version}";
sha256 = "1fn32c02idccdmf9906pxn248qc9basjy2kr2g600806k3qvw84a";
};
propagatedBuildInputs = with python3Packages; [
asn1crypto
beautifulsoup4
cffi
cryptography
entrypoints
fuzzywuzzy
idna
jeepney
keyring
lxml
mock
nose
ofxclient
ofxhome
ofxparse
pbr
pycparser
secretstorage
six
] ++ stdenv.lib.optional useLedger ledger
++ stdenv.lib.optional useHledger hledger;
# Checks require ledger as a python package,
# ledger does not support python3 while ledger-autosync requires it.
checkInputs = with python3Packages; [ ledger hledger nose mock ];
checkPhase = ''
nosetests -a generic -a ledger -a hledger
'';
meta = with stdenv.lib; {
homepage = https://github.com/egh/ledger-autosync;
description = "OFX/CSV autosync for ledger and hledger";
license = licenses.gpl3;
maintainers = with maintainers; [ eamsden ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "qownnotes"; pname = "qownnotes";
version = "19.1.8"; version = "19.2.0";
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Can grab official version like so: # Can grab official version like so:
# $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256 # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
sha256 = "873ed9e3a711bc19744a13b98ac5cb3659bd97e753c7e089fbc49bd044cec4fb"; sha256 = "0n60cnzdfvwn126k8mh5m3wms9avjrnzfrpsvyfhg6l7vm6sbhdi";
}; };
nativeBuildInputs = [ qmake qttools ]; nativeBuildInputs = [ qmake qttools ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "igv-${version}"; name = "igv-${version}";
version = "2.4.16"; version = "2.4.17";
src = fetchurl { src = fetchurl {
url = "https://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip"; url = "https://data.broadinstitute.org/igv/projects/downloads/2.4/IGV_${version}.zip";
sha256 = "0bsl20zw7sgw16xadh1hmlg6d6ijyb1dhpnyvf4kxk3nk0abrmn1"; sha256 = "02zl0r1yhyllh000cad6pjk0ic0xm6l05jzkglsf8wdz17nh15nr";
}; };
buildInputs = [ unzip jre ]; buildInputs = [ unzip jre ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "star-${version}"; name = "star-${version}";
version = "2.6.1d"; version = "2.7.0a";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "STAR"; repo = "STAR";
owner = "alexdobin"; owner = "alexdobin";
rev = version; rev = version;
sha256 = "1h0j8qj95a0brv7p3gxmg3z7z6f4670jzjg56kzyc33k8dmzxvli"; sha256 = "1yx28gra6gqdx1ps5y8mpdinsn8r0dhsc2m3gcvjfrk71i9yhd6l";
}; };
sourceRoot = "source/source"; sourceRoot = "source/source";

View File

@ -17,15 +17,14 @@ let
}; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "14.29.29"; version = "14.29.31";
pname = "jmol"; pname = "jmol";
name = "${pname}-${version}";
src = let src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}"; baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl { in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
sha256 = "0j3075lwagfvwzyh0mas9pj2fm8zdqn5ak0w0byz8s57azsrc3w4"; sha256 = "15mxifm1h145bhyrm9rvmipvg048q8rgwg1sn6jmfgrimy0cjraj";
}; };
patchPhase = '' patchPhase = ''

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, which, gfortran, libGLU, xorg } : { stdenv, fetchurl, which, gfortran, libGLU, xorg } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "5.8.2"; version = "5.9.3";
name = "molden-${version}"; name = "molden-${version}";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz"; url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz";
sha256 = "1lhjx8fa8xynnlk5g6ipvchhfnz6j5lgqxlsifx82pbbnbm6mps4"; sha256 = "18fz44g7zkm0xcx3w9hm049jv13af67ww7mb5b3kdhmza333a16q";
}; };
nativeBuildInputs = [ which ]; nativeBuildInputs = [ which ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "verilator-${version}"; name = "verilator-${version}";
version = "4.008"; version = "4.010";
src = fetchurl { src = fetchurl {
url = "https://www.veripool.org/ftp/${name}.tgz"; url = "https://www.veripool.org/ftp/${name}.tgz";
sha256 = "1b0cj7bb2a3hrfaziix7p9idcpbygapdl0nrfr3pbdxxsgnzdknm"; sha256 = "0wfmazhxb6bf6qznh7v756fv7jayjgkzar33gazkwdwfwa7p8lan";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -8,12 +8,12 @@
assert stdenv.hostPlatform.system != "powerpc-linux"; assert stdenv.hostPlatform.system != "powerpc-linux";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
ver = "1.24.4"; ver = "1.24.5";
name = "recoll-${ver}"; name = "recoll-${ver}";
src = fetchurl { src = fetchurl {
url = "https://www.lesbonscomptes.com/recoll/${name}.tar.gz"; url = "https://www.lesbonscomptes.com/recoll/${name}.tar.gz";
sha256 = "0b1rz679gbv2qy5b5jgr25h1dk8560iac16lq0h2021nrv6ix74q"; sha256 = "10m3a0ghnyipjcxapszlr8adyy2yaaxx4vgrkxrfmz13814z89cv";
}; };
configureFlags = [ "--enable-recollq" ] configureFlags = [ "--enable-recollq" ]

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "diff-so-fancy-${version}"; name = "diff-so-fancy-${version}";
version = "1.2.0"; version = "1.2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "so-fancy"; owner = "so-fancy";
repo = "diff-so-fancy"; repo = "diff-so-fancy";
rev = "v${version}"; rev = "v${version}";
sha256 = "0j8dxfl4js7agwdpcvxwigzpp0lik33h7s3vsjg0pd413h2j4mvz"; sha256 = "1jqq7zd75aypxchrq0vjcw5gyn3wyjqy6w79mq2lzky8m6mqn8vr";
}; };
# Perl is needed here for patchShebangs # Perl is needed here for patchShebangs

View File

@ -6,6 +6,8 @@ buildGoPackage rec {
goPackagePath = "github.com/zaquestion/lab"; goPackagePath = "github.com/zaquestion/lab";
subPackages = [ "." ];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zaquestion"; owner = "zaquestion";
repo = "lab"; repo = "lab";

View File

@ -7,13 +7,13 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
name = "gitea-${version}"; name = "gitea-${version}";
version = "1.7.0"; version = "1.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "go-gitea"; owner = "go-gitea";
repo = "gitea"; repo = "gitea";
rev = "v${version}"; rev = "v${version}";
sha256 = "1mbr7pnzn8x05wc288855vqaf86qk2f1py5zh8s63l048bn0fld6"; sha256 = "1r13l7h4146729lwif45bkzn36sgg6an0qbhgvj8w3zp035c00k3";
# Required to generate the same checksum on MacOS due to unicode encoding differences # Required to generate the same checksum on MacOS due to unicode encoding differences
# More information: https://github.com/NixOS/nixpkgs/pull/48128 # More information: https://github.com/NixOS/nixpkgs/pull/48128
extraPostFetch = '' extraPostFetch = ''

View File

@ -1,32 +1,32 @@
{ {
"ce": { "ce": {
"version": "11.6.3", "version": "11.7.4",
"repo_hash": "0bvmccfybgzbd85bdvwikmxh4asj5ly8yhxazhaqkwmnymnxa4k2", "repo_hash": "0qq9snykdlpkpbznwpkv0n7bz1rsgz4z7lcjl4xkjxkf2gkf8pxp",
"deb_hash": "11blasjkdi85sivfjb0s6cssh1p13fyxhqimcx1dsvb5q5v0m6as", "deb_hash": "1j76jya0ydyg7v3vcdfjmcr5ir23yzdwmg9fxlirvgh74py7q85c",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.6.3-ce.0_amd64.deb/download.deb", "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.7.4-ce.0_amd64.deb/download.deb",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab-ce", "repo": "gitlab-ce",
"rev": "v11.6.3", "rev": "v11.7.4",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "1.7.1", "GITALY_SERVER_VERSION": "1.12.2",
"GITLAB_PAGES_VERSION": "1.3.1", "GITLAB_PAGES_VERSION": "1.3.1",
"GITLAB_SHELL_VERSION": "8.4.3", "GITLAB_SHELL_VERSION": "8.4.4",
"GITLAB_WORKHORSE_VERSION": "7.6.0" "GITLAB_WORKHORSE_VERSION": "8.0.1"
} }
}, },
"ee": { "ee": {
"version": "11.6.3", "version": "11.7.4",
"repo_hash": "0j31h5i74j94f7qlcxk6pvwaxqqcjbm02lnqslnfs3zs8k2bmd35", "repo_hash": "0riqww094ylbbwb9mhjpsqhrdpxlcf6rc5p796p7x7f46p31mcjb",
"deb_hash": "1ivap84d5xphxfmzff8i663pf6kw5rh2zxv1bcwn62p8dccr7hcc", "deb_hash": "02hnhhyrm4a3lgwnl399byka2dr5q3pjirki447373270ca93h5i",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.6.3-ee.0_amd64.deb/download.deb", "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.7.4-ee.0_amd64.deb/download.deb",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab-ee", "repo": "gitlab-ee",
"rev": "v11.6.3-ee", "rev": "v11.7.4-ee",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "1.7.1", "GITALY_SERVER_VERSION": "1.12.2",
"GITLAB_PAGES_VERSION": "1.3.1", "GITLAB_PAGES_VERSION": "1.3.1",
"GITLAB_SHELL_VERSION": "8.4.3", "GITLAB_SHELL_VERSION": "8.4.4",
"GITLAB_WORKHORSE_VERSION": "7.6.0" "GITLAB_WORKHORSE_VERSION": "8.0.1"
} }
} }
} }

View File

@ -82,7 +82,7 @@ GEM
nokogumbo (1.5.0) nokogumbo (1.5.0)
nokogiri nokogiri
parallel (1.12.1) parallel (1.12.1)
parser (2.5.1.2) parser (2.5.3.0)
ast (~> 2.4.0) ast (~> 2.4.0)
posix-spawn (0.3.13) posix-spawn (0.3.13)
powerpack (0.1.2) powerpack (0.1.2)

View File

@ -7,14 +7,14 @@ let
gemdir = ./.; gemdir = ./.;
}; };
in buildGoPackage rec { in buildGoPackage rec {
version = "1.7.1"; version = "1.12.2";
name = "gitaly-${version}"; name = "gitaly-${version}";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitaly"; repo = "gitaly";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ravy308b5h9gsbb3ka159f68ghyjkb4bj1ngj7ighb9dd84vlf4"; sha256 = "0pg3pm34jnssvh8m99d6w3ap1kn6kn3akqaa17zxv9y0xryvchpy";
}; };
goPackagePath = "gitlab.com/gitlab-org/gitaly"; goPackagePath = "gitlab.com/gitlab-org/gitaly";

View File

@ -352,10 +352,10 @@
dependencies = ["ast"]; dependencies = ["ast"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1zp89zg7iypncszxsjp8kiccrpbdf728jl449g6cnfkz990fyb5k"; sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f";
type = "gem"; type = "gem";
}; };
version = "2.5.1.2"; version = "2.5.3.0";
}; };
posix-spawn = { posix-spawn = {
source = { source = {

View File

@ -1,14 +1,14 @@
{ stdenv, ruby, bundler, fetchFromGitLab, go }: { stdenv, ruby, bundler, fetchFromGitLab, go }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "8.4.3"; version = "8.4.4";
name = "gitlab-shell-${version}"; name = "gitlab-shell-${version}";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-shell"; repo = "gitlab-shell";
rev = "v${version}"; rev = "v${version}";
sha256 = "0ah039xpff1gmj36rm1ns8lb1k3di49lmnphl54bc45wnj72lw57"; sha256 = "1a6p13g38f4gqqfjgymcvf09k4mnr2bfpj8mqz0x6rz7q67lllcq";
}; };
buildInputs = [ ruby bundler go ]; buildInputs = [ ruby bundler go ];

View File

@ -3,19 +3,17 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitlab-workhorse-${version}"; name = "gitlab-workhorse-${version}";
version = "7.6.0"; version = "8.0.1";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-workhorse"; repo = "gitlab-workhorse";
rev = "v${version}"; rev = "v${version}";
sha256 = "13wr2az3bp6qnb05505sb5qn0fl2syaclc40dwjcdwwmhaalj2m4"; sha256 = "1aslcadag1q2rdirf9m0dl5vfaz8v3yy1232mvyjyvy1wb51pf4q";
}; };
buildInputs = [ git go ]; buildInputs = [ git go ];
patches = [ ./remove-hardcoded-paths.patch ];
makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ]; makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,12 +0,0 @@
diff --git a/internal/git/command.go b/internal/git/command.go
index 0e5496c..5778294 100644
--- a/internal/git/command.go
+++ b/internal/git/command.go
@@ -19,6 +19,7 @@ func gitCommand(gl_id string, name string, args ...string) *exec.Cmd {
cmd.Env = []string{
fmt.Sprintf("HOME=%s", os.Getenv("HOME")),
fmt.Sprintf("PATH=%s", os.Getenv("PATH")),
+ fmt.Sprintf("GITLAB_SHELL_CONFIG_PATH=%s", os.Getenv("GITLAB_SHELL_CONFIG_PATH")),
fmt.Sprintf("LD_LIBRARY_PATH=%s", os.Getenv("LD_LIBRARY_PATH")),
fmt.Sprintf("GL_PROTOCOL=http"),
}

View File

@ -1,22 +1,6 @@
# --- Special code for migrating to Rails 5.0 ---
def rails5?
!%w[0 false].include?(ENV["RAILS5"])
end
gem_versions = {}
gem_versions['activerecord_sane_schema_dumper'] = rails5? ? '1.0' : '0.2'
gem_versions['rails'] = rails5? ? '5.0.7' : '4.2.11'
gem_versions['rails-i18n'] = rails5? ? '~> 5.1' : '~> 4.0.9'
# The 2.0.6 version of rack requires monkeypatch to be present in
# `config.ru`. This can be removed once a new update for Rack
# is available that contains https://github.com/rack/rack/pull/1201.
gem_versions['rack'] = rails5? ? '2.0.6' : '1.6.11'
# --- The end of special code for migrating to Rails 5.0 ---
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'rails', gem_versions['rails'] gem 'rails', '5.0.7.1'
gem 'rails-deprecated_sanitizer', '~> 1.0.3' gem 'rails-deprecated_sanitizer', '~> 1.0.3'
# Improves copy-on-write performance for MRI # Improves copy-on-write performance for MRI
@ -28,11 +12,7 @@ gem 'responders', '~> 2.0'
gem 'sprockets', '~> 3.7.0' gem 'sprockets', '~> 3.7.0'
# Default values for AR models # Default values for AR models
if rails5? gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
else
gem 'default_value_for', '~> 3.0.0'
end
# Supported DBs # Supported DBs
gem 'mysql2', '~> 0.4.10', group: :mysql gem 'mysql2', '~> 0.4.10', group: :mysql
@ -54,7 +34,7 @@ gem 'omniauth-cas3', '~> 1.1.4'
gem 'omniauth-facebook', '~> 4.0.0' gem 'omniauth-facebook', '~> 4.0.0'
gem 'omniauth-github', '~> 1.3' gem 'omniauth-github', '~> 1.3'
gem 'omniauth-gitlab', '~> 1.0.2' gem 'omniauth-gitlab', '~> 1.0.2'
gem 'omniauth-google-oauth2', '~> 0.5.3' gem 'omniauth-google-oauth2', '~> 0.6.0'
gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
gem 'omniauth-oauth2-generic', '~> 0.2.2' gem 'omniauth-oauth2-generic', '~> 0.2.2'
gem 'omniauth-saml', '~> 1.10' gem 'omniauth-saml', '~> 1.10'
@ -63,7 +43,7 @@ gem 'omniauth-twitter', '~> 1.4'
gem 'omniauth_crowd', '~> 2.2.0' gem 'omniauth_crowd', '~> 2.2.0'
gem 'omniauth-authentiq', '~> 0.3.3' gem 'omniauth-authentiq', '~> 0.3.3'
gem 'rack-oauth2', '~> 1.2.1' gem 'rack-oauth2', '~> 1.2.1'
gem 'jwt', '~> 1.5.6' gem 'jwt', '~> 2.1.0'
# Spam and anti-bot protection # Spam and anti-bot protection
gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails' gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails'
@ -77,6 +57,7 @@ gem 'u2f', '~> 0.2.1'
# GitLab Pages # GitLab Pages
gem 'validates_hostname', '~> 1.0.6' gem 'validates_hostname', '~> 1.0.6'
gem 'rubyzip', '~> 1.2.2', require: 'zip'
# Browser detection # Browser detection
gem 'browser', '~> 2.5' gem 'browser', '~> 2.5'
@ -109,9 +90,7 @@ gem 'kaminari', '~> 1.0'
gem 'hamlit', '~> 2.8.8' gem 'hamlit', '~> 2.8.8'
# Files attachments # Files attachments
# Locked until https://github.com/carrierwaveuploader/carrierwave/pull/2332/files is merged. gem 'carrierwave', '~> 1.3'
# config/initializers/carrierwave_patch.rb can be removed once that change is released.
gem 'carrierwave', '= 1.2.3'
gem 'mini_magick' gem 'mini_magick'
# for backups # for backups
@ -149,7 +128,7 @@ gem 'asciidoctor-plantuml', '0.0.8'
gem 'rouge', '~> 3.1' gem 'rouge', '~> 3.1'
gem 'truncato', '~> 0.7.9' gem 'truncato', '~> 0.7.9'
gem 'bootstrap_form', '~> 2.7.0' gem 'bootstrap_form', '~> 2.7.0'
gem 'nokogiri', '~> 1.8.2' gem 'nokogiri', '~> 1.8.5'
gem 'escape_utils', '~> 1.1' gem 'escape_utils', '~> 1.1'
# Calendar rendering # Calendar rendering
@ -159,7 +138,10 @@ gem 'icalendar'
gem 'diffy', '~> 3.1.0' gem 'diffy', '~> 3.1.0'
# Application server # Application server
gem 'rack', gem_versions['rack'] # The 2.0.6 version of rack requires monkeypatch to be present in
# `config.ru`. This can be removed once a new update for Rack
# is available that contains https://github.com/rack/rack/pull/1201.
gem 'rack', '2.0.6'
group :unicorn do group :unicorn do
gem 'unicorn', '~> 5.1.0' gem 'unicorn', '~> 5.1.0'
@ -278,6 +260,7 @@ gem 'webpack-rails', '~> 0.9.10'
gem 'rack-proxy', '~> 0.6.0' gem 'rack-proxy', '~> 0.6.0'
gem 'sass-rails', '~> 5.0.6' gem 'sass-rails', '~> 5.0.6'
gem 'sass', '~> 3.5'
gem 'uglifier', '~> 2.7.2' gem 'uglifier', '~> 2.7.2'
gem 'addressable', '~> 2.5.2' gem 'addressable', '~> 2.5.2'
@ -297,7 +280,7 @@ gem 'premailer-rails', '~> 1.9.7'
# I18n # I18n
gem 'ruby_parser', '~> 3.8', require: false gem 'ruby_parser', '~> 3.8', require: false
gem 'rails-i18n', gem_versions['rails-i18n'] gem 'rails-i18n', '~> 5.1'
gem 'gettext_i18n_rails', '~> 1.8.0' gem 'gettext_i18n_rails', '~> 1.8.0'
gem 'gettext_i18n_rails_js', '~> 1.3' gem 'gettext_i18n_rails_js', '~> 1.3'
gem 'gettext', '~> 3.2.2', require: false, group: :development gem 'gettext', '~> 3.2.2', require: false, group: :development
@ -307,7 +290,7 @@ gem 'batch-loader', '~> 1.2.2'
# Perf bar # Perf bar
gem 'peek', '~> 1.0.1' gem 'peek', '~> 1.0.1'
gem 'peek-gc', '~> 0.0.2' gem 'peek-gc', '~> 0.0.2'
gem 'peek-mysql2', '~> 1.1.0', group: :mysql gem 'peek-mysql2', '~> 1.2.0', group: :mysql
gem 'peek-pg', '~> 1.3.0', group: :postgres gem 'peek-pg', '~> 1.3.0', group: :postgres
gem 'peek-rblineprof', '~> 0.2.0' gem 'peek-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0' gem 'peek-redis', '~> 1.2.0'
@ -340,13 +323,13 @@ end
group :development, :test do group :development, :test do
gem 'bootsnap', '~> 1.3' gem 'bootsnap', '~> 1.3'
gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET'] gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
gem 'pry-byebug', '~> 3.4.1', platform: :mri gem 'pry-byebug', '~> 3.5.1', platform: :mri
gem 'pry-rails', '~> 0.3.4' gem 'pry-rails', '~> 0.3.4'
gem 'awesome_print', require: false gem 'awesome_print', require: false
gem 'fuubar', '~> 2.2.0' gem 'fuubar', '~> 2.2.0'
gem 'database_cleaner', '~> 1.5.0' gem 'database_cleaner', '~> 1.7.0'
gem 'factory_bot_rails', '~> 4.8.2' gem 'factory_bot_rails', '~> 4.8.2'
gem 'rspec-rails', '~> 3.7.0' gem 'rspec-rails', '~> 3.7.0'
gem 'rspec-retry', '~> 0.4.5' gem 'rspec-retry', '~> 0.4.5'
@ -355,13 +338,13 @@ group :development, :test do
gem 'rspec-parameterized', require: false gem 'rspec-parameterized', require: false
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
gem 'minitest', '~> 5.7.0' gem 'minitest', '~> 5.11.0'
# Generate Fake data # Generate Fake data
gem 'ffaker', '~> 2.10' gem 'ffaker', '~> 2.10'
gem 'capybara', '~> 2.15' gem 'capybara', '~> 2.16.1'
gem 'capybara-screenshot', '~> 1.0.0' gem 'capybara-screenshot', '~> 1.0.18'
gem 'selenium-webdriver', '~> 3.12' gem 'selenium-webdriver', '~> 3.12'
gem 'spring', '~> 2.0.0' gem 'spring', '~> 2.0.0'
@ -382,7 +365,7 @@ group :development, :test do
gem 'license_finder', '~> 5.4', require: false gem 'license_finder', '~> 5.4', require: false
gem 'knapsack', '~> 1.17' gem 'knapsack', '~> 1.17'
gem 'activerecord_sane_schema_dumper', gem_versions['activerecord_sane_schema_dumper'] gem 'activerecord_sane_schema_dumper', '1.0'
gem 'stackprof', '~> 0.2.10', require: false gem 'stackprof', '~> 0.2.10', require: false
@ -396,8 +379,7 @@ group :test do
gem 'email_spec', '~> 2.2.0' gem 'email_spec', '~> 2.2.0'
gem 'json-schema', '~> 2.8.0' gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 2.3.2' gem 'webmock', '~> 2.3.2'
gem 'rails-controller-testing' if rails5? # Rails5 only gem. gem 'rails-controller-testing'
gem 'test_after_commit', '~> 1.1' unless rails5? # Remove this gem when migrated to rails 5.0. It's been integrated to rails 5.0.
gem 'sham_rack', '~> 1.3.6' gem 'sham_rack', '~> 1.3.6'
gem 'concurrent-ruby', '~> 1.1' gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 0.2.5' gem 'test-prof', '~> 0.2.5'
@ -435,7 +417,7 @@ group :ed25519 do
end end
# Gitaly GRPC client # Gitaly GRPC client
gem 'gitaly-proto', '~> 1.3.0', require: 'gitaly' gem 'gitaly-proto', '~> 1.5.0', require: 'gitaly'
gem 'grpc', '~> 1.15.0' gem 'grpc', '~> 1.15.0'
gem 'google-protobuf', '~> 3.6' gem 'google-protobuf', '~> 3.6'

View File

@ -4,41 +4,41 @@ GEM
RedCloth (4.3.2) RedCloth (4.3.2)
abstract_type (0.0.7) abstract_type (0.0.7)
ace-rails-ap (4.1.2) ace-rails-ap (4.1.2)
actioncable (5.0.7) actioncable (5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
nio4r (>= 1.2, < 3.0) nio4r (>= 1.2, < 3.0)
websocket-driver (~> 0.6.1) websocket-driver (~> 0.6.1)
actionmailer (5.0.7) actionmailer (5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
actionview (= 5.0.7) actionview (= 5.0.7.1)
activejob (= 5.0.7) activejob (= 5.0.7.1)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (5.0.7) actionpack (5.0.7.1)
actionview (= 5.0.7) actionview (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
rack (~> 2.0) rack (~> 2.0)
rack-test (~> 0.6.3) rack-test (~> 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.0.7) actionview (5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
builder (~> 3.1) builder (~> 3.1)
erubis (~> 2.7.0) erubis (~> 2.7.0)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3) rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.0.7) activejob (5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (5.0.7) activemodel (5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
activerecord (5.0.7) activerecord (5.0.7.1)
activemodel (= 5.0.7) activemodel (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
arel (~> 7.0) arel (~> 7.0)
activerecord_sane_schema_dumper (1.0) activerecord_sane_schema_dumper (1.0)
rails (>= 5, < 6) rails (>= 5, < 6)
activesupport (5.0.7) activesupport (5.0.7.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@ -97,18 +97,18 @@ GEM
bundler-audit (0.5.0) bundler-audit (0.5.0)
bundler (~> 1.2) bundler (~> 1.2)
thor (~> 0.18) thor (~> 0.18)
byebug (9.0.6) byebug (9.1.0)
capybara (2.15.1) capybara (2.16.1)
addressable addressable
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
nokogiri (>= 1.3.3) nokogiri (>= 1.3.3)
rack (>= 1.0.0) rack (>= 1.0.0)
rack-test (>= 0.5.4) rack-test (>= 0.5.4)
xpath (~> 2.0) xpath (~> 2.0)
capybara-screenshot (1.0.14) capybara-screenshot (1.0.22)
capybara (>= 1.0, < 3) capybara (>= 1.0, < 4)
launchy launchy
carrierwave (1.2.3) carrierwave (1.3.1)
activemodel (>= 4.0.0) activemodel (>= 4.0.0)
activesupport (>= 4.0.0) activesupport (>= 4.0.0)
mime-types (>= 1.16) mime-types (>= 1.16)
@ -140,7 +140,7 @@ GEM
css_parser (1.5.0) css_parser (1.5.0)
addressable addressable
daemons (1.2.6) daemons (1.2.6)
database_cleaner (1.5.3) database_cleaner (1.7.0)
debug_inspector (0.0.3) debug_inspector (0.0.3)
debugger-ruby_core_source (1.3.8) debugger-ruby_core_source (1.3.8)
deckar01-task_list (2.0.0) deckar01-task_list (2.0.0)
@ -274,7 +274,7 @@ GEM
gettext_i18n_rails (>= 0.7.1) gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0) po_to_json (>= 1.0.0)
rails (>= 3.2.0) rails (>= 3.2.0)
gitaly-proto (1.3.0) gitaly-proto (1.5.0)
grpc (~> 1.0) grpc (~> 1.0)
github-markup (1.7.0) github-markup (1.7.0)
gitlab-default_value_for (3.1.1) gitlab-default_value_for (3.1.1)
@ -381,7 +381,7 @@ GEM
json (~> 1.8) json (~> 1.8)
multi_xml (>= 0.5.2) multi_xml (>= 0.5.2)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.1.1) i18n (1.2.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
icalendar (2.4.1) icalendar (2.4.1)
ice_nine (0.11.2) ice_nine (0.11.2)
@ -403,7 +403,7 @@ GEM
bindata bindata
json-schema (2.8.0) json-schema (2.8.0)
addressable (>= 2.4) addressable (>= 2.4)
jwt (1.5.6) jwt (2.1.0)
kaminari (1.0.1) kaminari (1.0.1)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
kaminari-actionview (= 1.0.1) kaminari-actionview (= 1.0.1)
@ -449,7 +449,7 @@ GEM
loofah (2.2.3) loofah (2.2.3)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.7.0) mail (2.7.1)
mini_mime (>= 0.1.1) mini_mime (>= 0.1.1)
mail_room (0.9.1) mail_room (0.9.1)
memoist (0.16.0) memoist (0.16.0)
@ -463,7 +463,7 @@ GEM
mini_magick (4.8.0) mini_magick (4.8.0)
mini_mime (1.0.1) mini_mime (1.0.1)
mini_portile2 (2.3.0) mini_portile2 (2.3.0)
minitest (5.7.0) minitest (5.11.3)
msgpack (1.2.4) msgpack (1.2.4)
multi_json (1.13.1) multi_json (1.13.1)
multi_xml (0.6.0) multi_xml (0.6.0)
@ -483,24 +483,24 @@ GEM
nokogiri nokogiri
numerizer (0.1.1) numerizer (0.1.1)
oauth (0.5.4) oauth (0.5.4)
oauth2 (1.4.0) oauth2 (1.4.1)
faraday (>= 0.8, < 0.13) faraday (>= 0.8, < 0.16.0)
jwt (~> 1.0) jwt (>= 1.0, < 3.0)
multi_json (~> 1.3) multi_json (~> 1.3)
multi_xml (~> 0.5) multi_xml (~> 0.5)
rack (>= 1.2, < 3) rack (>= 1.2, < 3)
octokit (4.9.0) octokit (4.9.0)
sawyer (~> 0.8.0, >= 0.5.3) sawyer (~> 0.8.0, >= 0.5.3)
omniauth (1.8.1) omniauth (1.9.0)
hashie (>= 3.4.6, < 3.6.0) hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3) rack (>= 1.6.2, < 3)
omniauth-auth0 (2.0.0) omniauth-auth0 (2.0.0)
omniauth-oauth2 (~> 1.4) omniauth-oauth2 (~> 1.4)
omniauth-authentiq (0.3.3) omniauth-authentiq (0.3.3)
jwt (>= 1.5) jwt (>= 1.5)
omniauth-oauth2 (>= 1.5) omniauth-oauth2 (>= 1.5)
omniauth-azure-oauth2 (0.0.9) omniauth-azure-oauth2 (0.0.10)
jwt (~> 1.0) jwt (>= 1.0, < 3.0)
omniauth (~> 1.0) omniauth (~> 1.0)
omniauth-oauth2 (~> 1.4) omniauth-oauth2 (~> 1.4)
omniauth-cas3 (1.1.4) omniauth-cas3 (1.1.4)
@ -515,8 +515,8 @@ GEM
omniauth-gitlab (1.0.3) omniauth-gitlab (1.0.3)
omniauth (~> 1.0) omniauth (~> 1.0)
omniauth-oauth2 (~> 1.0) omniauth-oauth2 (~> 1.0)
omniauth-google-oauth2 (0.5.3) omniauth-google-oauth2 (0.6.0)
jwt (>= 1.5) jwt (>= 2.0)
omniauth (>= 1.1.1) omniauth (>= 1.1.1)
omniauth-oauth2 (>= 1.5) omniauth-oauth2 (>= 1.5)
omniauth-kerberos (0.3.0) omniauth-kerberos (0.3.0)
@ -527,9 +527,9 @@ GEM
omniauth-oauth (1.1.0) omniauth-oauth (1.1.0)
oauth oauth
omniauth (~> 1.0) omniauth (~> 1.0)
omniauth-oauth2 (1.5.0) omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1) oauth2 (~> 1.1)
omniauth (~> 1.2) omniauth (~> 1.9)
omniauth-oauth2-generic (0.2.2) omniauth-oauth2-generic (0.2.2)
omniauth-oauth2 (~> 1.0) omniauth-oauth2 (~> 1.0)
omniauth-saml (1.10.0) omniauth-saml (1.10.0)
@ -558,8 +558,9 @@ GEM
railties (>= 4.0.0) railties (>= 4.0.0)
peek-gc (0.0.2) peek-gc (0.0.2)
peek peek
peek-mysql2 (1.1.0) peek-mysql2 (1.2.0)
atomic (>= 1.0.0) concurrent-ruby
concurrent-ruby-ext
mysql2 mysql2
peek peek
peek-pg (1.3.0) peek-pg (1.3.0)
@ -594,8 +595,8 @@ GEM
pry (0.11.3) pry (0.11.3)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.9.0) method_source (~> 0.9.0)
pry-byebug (3.4.3) pry-byebug (3.5.1)
byebug (>= 9.0, < 9.1) byebug (~> 9.1)
pry (~> 0.10) pry (~> 0.10)
pry-rails (0.3.6) pry-rails (0.3.6)
pry (>= 0.10.4) pry (>= 0.10.4)
@ -623,17 +624,17 @@ GEM
rack rack
rack-test (0.6.3) rack-test (0.6.3)
rack (>= 1.0) rack (>= 1.0)
rails (5.0.7) rails (5.0.7.1)
actioncable (= 5.0.7) actioncable (= 5.0.7.1)
actionmailer (= 5.0.7) actionmailer (= 5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
actionview (= 5.0.7) actionview (= 5.0.7.1)
activejob (= 5.0.7) activejob (= 5.0.7.1)
activemodel (= 5.0.7) activemodel (= 5.0.7.1)
activerecord (= 5.0.7) activerecord (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
bundler (>= 1.3.0) bundler (>= 1.3.0)
railties (= 5.0.7) railties (= 5.0.7.1)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.2) rails-controller-testing (1.0.2)
actionpack (~> 5.x, >= 5.0.1) actionpack (~> 5.x, >= 5.0.1)
@ -649,15 +650,15 @@ GEM
rails-i18n (5.1.1) rails-i18n (5.1.1)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
railties (>= 5.0, < 6) railties (>= 5.0, < 6)
railties (5.0.7) railties (5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
method_source method_source
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rainbow (3.0.0) rainbow (3.0.0)
raindrops (0.18.0) raindrops (0.18.0)
rake (12.3.1) rake (12.3.2)
rb-fsevent (0.10.2) rb-fsevent (0.10.2)
rb-inotify (0.9.10) rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2) ffi (>= 0.5.0, < 2)
@ -962,9 +963,9 @@ DEPENDENCIES
browser (~> 2.5) browser (~> 2.5)
bullet (~> 5.5.0) bullet (~> 5.5.0)
bundler-audit (~> 0.5.0) bundler-audit (~> 0.5.0)
capybara (~> 2.15) capybara (~> 2.16.1)
capybara-screenshot (~> 1.0.0) capybara-screenshot (~> 1.0.18)
carrierwave (= 1.2.3) carrierwave (~> 1.3)
charlock_holmes (~> 0.7.5) charlock_holmes (~> 0.7.5)
chronic (~> 0.10.2) chronic (~> 0.10.2)
chronic_duration (~> 0.10.6) chronic_duration (~> 0.10.6)
@ -972,7 +973,7 @@ DEPENDENCIES
concurrent-ruby (~> 1.1) concurrent-ruby (~> 1.1)
connection_pool (~> 2.0) connection_pool (~> 2.0)
creole (~> 0.5.0) creole (~> 0.5.0)
database_cleaner (~> 1.5.0) database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.0.0) deckar01-task_list (= 2.0.0)
device_detector device_detector
devise (~> 4.4) devise (~> 4.4)
@ -1007,7 +1008,7 @@ DEPENDENCIES
gettext (~> 3.2.2) gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3) gettext_i18n_rails_js (~> 1.3)
gitaly-proto (~> 1.3.0) gitaly-proto (~> 1.5.0)
github-markup (~> 1.7.0) github-markup (~> 1.7.0)
gitlab-default_value_for (~> 3.1.1) gitlab-default_value_for (~> 3.1.1)
gitlab-markup (~> 1.6.5) gitlab-markup (~> 1.6.5)
@ -1040,7 +1041,7 @@ DEPENDENCIES
jquery-atwho-rails (~> 1.3.2) jquery-atwho-rails (~> 1.3.2)
js_regex (~> 2.2.1) js_regex (~> 2.2.1)
json-schema (~> 2.8.0) json-schema (~> 2.8.0)
jwt (~> 1.5.6) jwt (~> 2.1.0)
kaminari (~> 1.0) kaminari (~> 1.0)
knapsack (~> 1.17) knapsack (~> 1.17)
kubeclient (~> 4.0.0) kubeclient (~> 4.0.0)
@ -1053,12 +1054,12 @@ DEPENDENCIES
method_source (~> 0.8) method_source (~> 0.8)
mimemagic (~> 0.3.2) mimemagic (~> 0.3.2)
mini_magick mini_magick
minitest (~> 5.7.0) minitest (~> 5.11.0)
mysql2 (~> 0.4.10) mysql2 (~> 0.4.10)
nakayoshi_fork (~> 0.0.4) nakayoshi_fork (~> 0.0.4)
net-ldap net-ldap
net-ssh (~> 5.0) net-ssh (~> 5.0)
nokogiri (~> 1.8.2) nokogiri (~> 1.8.5)
oauth2 (~> 1.4) oauth2 (~> 1.4)
octokit (~> 4.9) octokit (~> 4.9)
omniauth (~> 1.8) omniauth (~> 1.8)
@ -1069,7 +1070,7 @@ DEPENDENCIES
omniauth-facebook (~> 4.0.0) omniauth-facebook (~> 4.0.0)
omniauth-github (~> 1.3) omniauth-github (~> 1.3)
omniauth-gitlab (~> 1.0.2) omniauth-gitlab (~> 1.0.2)
omniauth-google-oauth2 (~> 0.5.3) omniauth-google-oauth2 (~> 0.6.0)
omniauth-kerberos (~> 0.3.0) omniauth-kerberos (~> 0.3.0)
omniauth-oauth2-generic (~> 0.2.2) omniauth-oauth2-generic (~> 0.2.2)
omniauth-saml (~> 1.10) omniauth-saml (~> 1.10)
@ -1079,14 +1080,14 @@ DEPENDENCIES
org-ruby (~> 0.9.12) org-ruby (~> 0.9.12)
peek (~> 1.0.1) peek (~> 1.0.1)
peek-gc (~> 0.0.2) peek-gc (~> 0.0.2)
peek-mysql2 (~> 1.1.0) peek-mysql2 (~> 1.2.0)
peek-pg (~> 1.3.0) peek-pg (~> 1.3.0)
peek-rblineprof (~> 0.2.0) peek-rblineprof (~> 0.2.0)
peek-redis (~> 1.2.0) peek-redis (~> 1.2.0)
pg (~> 0.18.2) pg (~> 0.18.2)
premailer-rails (~> 1.9.7) premailer-rails (~> 1.9.7)
prometheus-client-mmap (~> 0.9.4) prometheus-client-mmap (~> 0.9.4)
pry-byebug (~> 3.4.1) pry-byebug (~> 3.5.1)
pry-rails (~> 0.3.4) pry-rails (~> 0.3.4)
puma (~> 3.12) puma (~> 3.12)
puma_worker_killer puma_worker_killer
@ -1095,7 +1096,7 @@ DEPENDENCIES
rack-cors (~> 1.0.0) rack-cors (~> 1.0.0)
rack-oauth2 (~> 1.2.1) rack-oauth2 (~> 1.2.1)
rack-proxy (~> 0.6.0) rack-proxy (~> 0.6.0)
rails (= 5.0.7) rails (= 5.0.7.1)
rails-controller-testing rails-controller-testing
rails-deprecated_sanitizer (~> 1.0.3) rails-deprecated_sanitizer (~> 1.0.3)
rails-i18n (~> 5.1) rails-i18n (~> 5.1)
@ -1126,9 +1127,11 @@ DEPENDENCIES
ruby-prof (~> 0.17.0) ruby-prof (~> 0.17.0)
ruby-progressbar ruby-progressbar
ruby_parser (~> 3.8) ruby_parser (~> 3.8)
rubyzip (~> 1.2.2)
rufus-scheduler (~> 3.4) rufus-scheduler (~> 3.4)
rugged (~> 0.27) rugged (~> 0.27)
sanitize (~> 4.6) sanitize (~> 4.6)
sass (~> 3.5)
sass-rails (~> 5.0.6) sass-rails (~> 5.0.6)
scss_lint (~> 0.56.0) scss_lint (~> 0.56.0)
seed-fu (~> 2.3.7) seed-fu (~> 2.3.7)
@ -1169,4 +1172,4 @@ DEPENDENCIES
wikicloth (= 0.8.1) wikicloth (= 0.8.1)
BUNDLED WITH BUNDLED WITH
1.17.1 1.17.3

View File

@ -19,64 +19,64 @@
dependencies = ["actionpack" "nio4r" "websocket-driver"]; dependencies = ["actionpack" "nio4r" "websocket-driver"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0b2znw81zf11f7kqyks80ha4sb4aiqrs1mia0jnf3xfn5zgx28y0"; sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
actionmailer = { actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0d9f3kwk1z3p6sa9d8vl7yqa689ihm24cy7lp4h6v478dbr156sz"; sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
actionpack = { actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "15nin3f817dpkjlw94sh4rsvayqy4z6ij7fak82wqdqv5mcd9q08"; sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
actionview = { actionview = {
dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "12vvq439jjj4byhkvckrk7ap4krrfsbpw54n5xxfwh7fr5y0087b"; sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activejob = { activejob = {
dependencies = ["activesupport" "globalid"]; dependencies = ["activesupport" "globalid"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1mdqdgwmcx28jznc5mfmqzz42y03mx6i6fs6m4nka0ic61rmp8g8"; sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activemodel = { activemodel = {
dependencies = ["activesupport"]; dependencies = ["activesupport"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "11ycnzi32cd92ylxhqwqfchqk3m7y9z7sfiyf8b7830lzfxv2dgy"; sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activerecord = { activerecord = {
dependencies = ["activemodel" "activesupport" "arel"]; dependencies = ["activemodel" "activesupport" "arel"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ri32lhmmd4waphpynwj53ysy9xlhx743lnlsnp8l499kvarqd66"; sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activerecord_sane_schema_dumper = { activerecord_sane_schema_dumper = {
dependencies = ["rails"]; dependencies = ["rails"];
@ -91,10 +91,10 @@
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yx73l984y3ri5ndj37l1dfarcdvbhra7vhz9fcww4za24is95d5"; sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
acts-as-taggable-on = { acts-as-taggable-on = {
dependencies = ["activerecord"]; dependencies = ["activerecord"];
@ -367,37 +367,37 @@
byebug = { byebug = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0"; sha256 = "1vv7s88w8jb1qg4qz3jrs3x3y5d9jfyyl7wfiz78b5x95ydvx41q";
type = "gem"; type = "gem";
}; };
version = "9.0.6"; version = "9.1.0";
}; };
capybara = { capybara = {
dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"]; dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0bahhwrd1rpfhci1x57yz0df9plziipljbw3p4k6mlash4wq6w92"; sha256 = "0hkl6p07gf29952biv07fy88vjz46ng2h37wwx5ks0mk9kn8vvvf";
type = "gem"; type = "gem";
}; };
version = "2.15.1"; version = "2.16.1";
}; };
capybara-screenshot = { capybara-screenshot = {
dependencies = ["capybara" "launchy"]; dependencies = ["capybara" "launchy"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1xy79lf3rwn3602r4hqm9s8a03bhlf6hzwdi6345dzrkmhwwj2ij"; sha256 = "1x90lh7nf3zi54arjf430s9xdxr3c12xjq1l28izgxqdk8s40q7q";
type = "gem"; type = "gem";
}; };
version = "1.0.14"; version = "1.0.22";
}; };
carrierwave = { carrierwave = {
dependencies = ["activemodel" "activesupport" "mime-types"]; dependencies = ["activemodel" "activesupport" "mime-types"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; sha256 = "10rz94kajilffp83sb767lr62b5f8l4jzqq80cr92wqxdgbszdks";
type = "gem"; type = "gem";
}; };
version = "1.2.3"; version = "1.3.1";
}; };
cause = { cause = {
source = { source = {
@ -562,10 +562,10 @@
database_cleaner = { database_cleaner = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
type = "gem"; type = "gem";
}; };
version = "1.5.3"; version = "1.7.0";
}; };
debug_inspector = { debug_inspector = {
source = { source = {
@ -1085,10 +1085,10 @@
dependencies = ["grpc"]; dependencies = ["grpc"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "17fg29j089k94ssim9hfzpd5lycvhimbpvz12d73ywrbwz7a7680"; sha256 = "1p7c63saysp4ixj08kxrk5c4n94d6zala9wl1fxg7vx8nd84b2c0";
type = "gem"; type = "gem";
}; };
version = "1.3.0"; version = "1.5.0";
}; };
github-markup = { github-markup = {
source = { source = {
@ -1427,10 +1427,10 @@
dependencies = ["concurrent-ruby"]; dependencies = ["concurrent-ruby"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr";
type = "gem"; type = "gem";
}; };
version = "1.1.1"; version = "1.2.0";
}; };
icalendar = { icalendar = {
source = { source = {
@ -1520,10 +1520,10 @@
jwt = { jwt = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4"; sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
type = "gem"; type = "gem";
}; };
version = "1.5.6"; version = "2.1.0";
}; };
kaminari = { kaminari = {
dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"]; dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
@ -1661,10 +1661,10 @@
dependencies = ["mini_mime"]; dependencies = ["mini_mime"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz"; sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
type = "gem"; type = "gem";
}; };
version = "2.7.0"; version = "2.7.1";
}; };
mail_room = { mail_room = {
source = { source = {
@ -1751,10 +1751,10 @@
minitest = { minitest = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8"; sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
type = "gem"; type = "gem";
}; };
version = "5.7.0"; version = "5.11.3";
}; };
msgpack = { msgpack = {
source = { source = {
@ -1891,10 +1891,10 @@
dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "094hmmfms8vpm6nwglpl7jmlv85nlfzl0kik4fizgx1rg70a6mr5"; sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh";
type = "gem"; type = "gem";
}; };
version = "1.4.0"; version = "1.4.1";
}; };
octokit = { octokit = {
dependencies = ["sawyer"]; dependencies = ["sawyer"];
@ -1909,10 +1909,10 @@
dependencies = ["hashie" "rack"]; dependencies = ["hashie" "rack"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x";
type = "gem"; type = "gem";
}; };
version = "1.8.1"; version = "1.9.0";
}; };
omniauth-auth0 = { omniauth-auth0 = {
dependencies = ["omniauth-oauth2"]; dependencies = ["omniauth-oauth2"];
@ -1936,10 +1936,10 @@
dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ck5616fjik0dw89xvak1mi8ijcv10lsh6n9h4107l5dys2g3jfx"; sha256 = "1a3iqy63l1jd6na4y0bj4a8mlp7gcn3a0awnz9g79fa8n4v2g8n4";
type = "gem"; type = "gem";
}; };
version = "0.0.9"; version = "0.0.10";
}; };
omniauth-cas3 = { omniauth-cas3 = {
dependencies = ["addressable" "nokogiri" "omniauth"]; dependencies = ["addressable" "nokogiri" "omniauth"];
@ -1981,10 +1981,10 @@
dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rvdac08vgrxcblq8w2hqj080v2cwv3cigxdzs11gz4d538zjnym"; sha256 = "03v2gqpsbdhkqaxhvzr83za885awm6pgskv3mkyfvang7mr321df";
type = "gem"; type = "gem";
}; };
version = "0.5.3"; version = "0.6.0";
}; };
omniauth-kerberos = { omniauth-kerberos = {
dependencies = ["omniauth-multipassword" "timfel-krb5-auth"]; dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
@ -2017,10 +2017,10 @@
dependencies = ["oauth2" "omniauth"]; dependencies = ["oauth2" "omniauth"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; sha256 = "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79";
type = "gem"; type = "gem";
}; };
version = "1.5.0"; version = "1.6.0";
}; };
omniauth-oauth2-generic = { omniauth-oauth2-generic = {
dependencies = ["omniauth-oauth2"]; dependencies = ["omniauth-oauth2"];
@ -2136,13 +2136,13 @@
version = "0.0.2"; version = "0.0.2";
}; };
peek-mysql2 = { peek-mysql2 = {
dependencies = ["atomic" "mysql2" "peek"]; dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "mysql2" "peek"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0bb2fzx3dwj7k6sc87jwhjk8vzp8dskv49j141xx15vvkg603j8k"; sha256 = "0avmwm3yw0kx0z8gh4cpqj79jb5aicd0h3yzrcdfpzwks56h1k9z";
type = "gem"; type = "gem";
}; };
version = "1.1.0"; version = "1.2.0";
}; };
peek-pg = { peek-pg = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"]; dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
@ -2252,10 +2252,10 @@
dependencies = ["byebug" "pry"]; dependencies = ["byebug" "pry"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0g820bqmlq8vvh78895zgrzgmj3g6n63px7cba11s02lpz56630n"; sha256 = "1f9kj1qp14qb8crg2rdzf22pr6ngxvy4n6ipymla8q1yjr842625";
type = "gem"; type = "gem";
}; };
version = "3.4.3"; version = "3.5.1";
}; };
pry-rails = { pry-rails = {
dependencies = ["pry"]; dependencies = ["pry"];
@ -2373,10 +2373,10 @@
dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "117z277m78cw6bm43dyzxhjmx8awpidmqcjjx99kpj4rgqm5m0bn"; sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
rails-controller-testing = { rails-controller-testing = {
dependencies = ["actionpack" "actionview" "activesupport"]; dependencies = ["actionpack" "actionview" "activesupport"];
@ -2427,10 +2427,10 @@
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0j6v5ylwgqmxs4pllgip5yxdsivdqs1w00cs8jfqyw5v7pn9b2z0"; sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
rainbow = { rainbow = {
source = { source = {
@ -2451,10 +2451,10 @@
rake = { rake = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
type = "gem"; type = "gem";
}; };
version = "12.3.1"; version = "12.3.2";
}; };
rb-fsevent = { rb-fsevent = {
source = { source = {

View File

@ -1,22 +1,6 @@
# --- Special code for migrating to Rails 5.0 ---
def rails5?
!%w[0 false].include?(ENV["RAILS5"])
end
gem_versions = {}
gem_versions['activerecord_sane_schema_dumper'] = rails5? ? '1.0' : '0.2'
gem_versions['rails'] = rails5? ? '5.0.7' : '4.2.11'
gem_versions['rails-i18n'] = rails5? ? '~> 5.1' : '~> 4.0.9'
# The 2.0.6 version of rack requires monkeypatch to be present in
# `config.ru`. This can be removed once a new update for Rack
# is available that contains https://github.com/rack/rack/pull/1201.
gem_versions['rack'] = rails5? ? '2.0.6' : '1.6.11'
# --- The end of special code for migrating to Rails 5.0 ---
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'rails', gem_versions['rails'] gem 'rails', '5.0.7.1'
gem 'rails-deprecated_sanitizer', '~> 1.0.3' gem 'rails-deprecated_sanitizer', '~> 1.0.3'
# Improves copy-on-write performance for MRI # Improves copy-on-write performance for MRI
@ -28,11 +12,7 @@ gem 'responders', '~> 2.0'
gem 'sprockets', '~> 3.7.0' gem 'sprockets', '~> 3.7.0'
# Default values for AR models # Default values for AR models
if rails5? gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
else
gem 'default_value_for', '~> 3.0.0'
end
# Supported DBs # Supported DBs
gem 'mysql2', '~> 0.4.10', group: :mysql gem 'mysql2', '~> 0.4.10', group: :mysql
@ -54,7 +34,7 @@ gem 'omniauth-cas3', '~> 1.1.4'
gem 'omniauth-facebook', '~> 4.0.0' gem 'omniauth-facebook', '~> 4.0.0'
gem 'omniauth-github', '~> 1.3' gem 'omniauth-github', '~> 1.3'
gem 'omniauth-gitlab', '~> 1.0.2' gem 'omniauth-gitlab', '~> 1.0.2'
gem 'omniauth-google-oauth2', '~> 0.5.3' gem 'omniauth-google-oauth2', '~> 0.6.0'
gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos gem 'omniauth-kerberos', '~> 0.3.0', group: :kerberos
gem 'omniauth-oauth2-generic', '~> 0.2.2' gem 'omniauth-oauth2-generic', '~> 0.2.2'
gem 'omniauth-saml', '~> 1.10' gem 'omniauth-saml', '~> 1.10'
@ -63,7 +43,7 @@ gem 'omniauth-twitter', '~> 1.4'
gem 'omniauth_crowd', '~> 2.2.0' gem 'omniauth_crowd', '~> 2.2.0'
gem 'omniauth-authentiq', '~> 0.3.3' gem 'omniauth-authentiq', '~> 0.3.3'
gem 'rack-oauth2', '~> 1.2.1' gem 'rack-oauth2', '~> 1.2.1'
gem 'jwt', '~> 1.5.6' gem 'jwt', '~> 2.1.0'
# Kerberos authentication. EE-only # Kerberos authentication. EE-only
gem 'gssapi', group: :kerberos gem 'gssapi', group: :kerberos
@ -80,6 +60,7 @@ gem 'u2f', '~> 0.2.1'
# GitLab Pages # GitLab Pages
gem 'validates_hostname', '~> 1.0.6' gem 'validates_hostname', '~> 1.0.6'
gem 'rubyzip', '~> 1.2.2', require: 'zip'
# Browser detection # Browser detection
gem 'browser', '~> 2.5' gem 'browser', '~> 2.5'
@ -112,9 +93,7 @@ gem 'kaminari', '~> 1.0'
gem 'hamlit', '~> 2.8.8' gem 'hamlit', '~> 2.8.8'
# Files attachments # Files attachments
# Locked until https://github.com/carrierwaveuploader/carrierwave/pull/2332/files is merged. gem 'carrierwave', '~> 1.3'
# config/initializers/carrierwave_patch.rb can be removed once that change is released.
gem 'carrierwave', '= 1.2.3'
gem 'mini_magick' gem 'mini_magick'
# for backups # for backups
@ -159,7 +138,7 @@ gem 'asciidoctor-plantuml', '0.0.8'
gem 'rouge', '~> 3.1' gem 'rouge', '~> 3.1'
gem 'truncato', '~> 0.7.9' gem 'truncato', '~> 0.7.9'
gem 'bootstrap_form', '~> 2.7.0' gem 'bootstrap_form', '~> 2.7.0'
gem 'nokogiri', '~> 1.8.2' gem 'nokogiri', '~> 1.8.5'
gem 'escape_utils', '~> 1.1' gem 'escape_utils', '~> 1.1'
# Calendar rendering # Calendar rendering
@ -169,7 +148,10 @@ gem 'icalendar'
gem 'diffy', '~> 3.1.0' gem 'diffy', '~> 3.1.0'
# Application server # Application server
gem 'rack', gem_versions['rack'] # The 2.0.6 version of rack requires monkeypatch to be present in
# `config.ru`. This can be removed once a new update for Rack
# is available that contains https://github.com/rack/rack/pull/1201.
gem 'rack', '2.0.6'
group :unicorn do group :unicorn do
gem 'unicorn', '~> 5.1.0' gem 'unicorn', '~> 5.1.0'
@ -288,6 +270,7 @@ gem 'webpack-rails', '~> 0.9.10'
gem 'rack-proxy', '~> 0.6.0' gem 'rack-proxy', '~> 0.6.0'
gem 'sass-rails', '~> 5.0.6' gem 'sass-rails', '~> 5.0.6'
gem 'sass', '~> 3.5'
gem 'uglifier', '~> 2.7.2' gem 'uglifier', '~> 2.7.2'
gem 'addressable', '~> 2.5.2' gem 'addressable', '~> 2.5.2'
@ -309,7 +292,7 @@ gem 'premailer-rails', '~> 1.9.7'
# I18n # I18n
gem 'ruby_parser', '~> 3.8', require: false gem 'ruby_parser', '~> 3.8', require: false
gem 'rails-i18n', gem_versions['rails-i18n'] gem 'rails-i18n', '~> 5.1'
gem 'gettext_i18n_rails', '~> 1.8.0' gem 'gettext_i18n_rails', '~> 1.8.0'
gem 'gettext_i18n_rails_js', '~> 1.3' gem 'gettext_i18n_rails_js', '~> 1.3'
gem 'gettext', '~> 3.2.2', require: false, group: :development gem 'gettext', '~> 3.2.2', require: false, group: :development
@ -319,7 +302,7 @@ gem 'batch-loader', '~> 1.2.2'
# Perf bar # Perf bar
gem 'peek', '~> 1.0.1' gem 'peek', '~> 1.0.1'
gem 'peek-gc', '~> 0.0.2' gem 'peek-gc', '~> 0.0.2'
gem 'peek-mysql2', '~> 1.1.0', group: :mysql gem 'peek-mysql2', '~> 1.2.0', group: :mysql
gem 'peek-pg', '~> 1.3.0', group: :postgres gem 'peek-pg', '~> 1.3.0', group: :postgres
gem 'peek-rblineprof', '~> 0.2.0' gem 'peek-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0' gem 'peek-redis', '~> 1.2.0'
@ -352,13 +335,13 @@ end
group :development, :test do group :development, :test do
gem 'bootsnap', '~> 1.3' gem 'bootsnap', '~> 1.3'
gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET'] gem 'bullet', '~> 5.5.0', require: !!ENV['ENABLE_BULLET']
gem 'pry-byebug', '~> 3.4.1', platform: :mri gem 'pry-byebug', '~> 3.5.1', platform: :mri
gem 'pry-rails', '~> 0.3.4' gem 'pry-rails', '~> 0.3.4'
gem 'awesome_print', require: false gem 'awesome_print', require: false
gem 'fuubar', '~> 2.2.0' gem 'fuubar', '~> 2.2.0'
gem 'database_cleaner', '~> 1.5.0' gem 'database_cleaner', '~> 1.7.0'
gem 'factory_bot_rails', '~> 4.8.2' gem 'factory_bot_rails', '~> 4.8.2'
gem 'rspec-rails', '~> 3.7.0' gem 'rspec-rails', '~> 3.7.0'
gem 'rspec-retry', '~> 0.4.5' gem 'rspec-retry', '~> 0.4.5'
@ -367,13 +350,13 @@ group :development, :test do
gem 'rspec-parameterized', require: false gem 'rspec-parameterized', require: false
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
gem 'minitest', '~> 5.7.0' gem 'minitest', '~> 5.11.0'
# Generate Fake data # Generate Fake data
gem 'ffaker', '~> 2.10' gem 'ffaker', '~> 2.10'
gem 'capybara', '~> 2.15' gem 'capybara', '~> 2.16.1'
gem 'capybara-screenshot', '~> 1.0.0' gem 'capybara-screenshot', '~> 1.0.18'
gem 'selenium-webdriver', '~> 3.12' gem 'selenium-webdriver', '~> 3.12'
gem 'spring', '~> 2.0.0' gem 'spring', '~> 2.0.0'
@ -394,7 +377,7 @@ group :development, :test do
gem 'license_finder', '~> 5.4', require: false gem 'license_finder', '~> 5.4', require: false
gem 'knapsack', '~> 1.17' gem 'knapsack', '~> 1.17'
gem 'activerecord_sane_schema_dumper', gem_versions['activerecord_sane_schema_dumper'] gem 'activerecord_sane_schema_dumper', '1.0'
gem 'stackprof', '~> 0.2.10', require: false gem 'stackprof', '~> 0.2.10', require: false
@ -408,8 +391,7 @@ group :test do
gem 'email_spec', '~> 2.2.0' gem 'email_spec', '~> 2.2.0'
gem 'json-schema', '~> 2.8.0' gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 2.3.2' gem 'webmock', '~> 2.3.2'
gem 'rails-controller-testing' if rails5? # Rails5 only gem. gem 'rails-controller-testing'
gem 'test_after_commit', '~> 1.1' unless rails5? # Remove this gem when migrated to rails 5.0. It's been integrated to rails 5.0.
gem 'sham_rack', '~> 1.3.6' gem 'sham_rack', '~> 1.3.6'
gem 'concurrent-ruby', '~> 1.1' gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 0.2.5' gem 'test-prof', '~> 0.2.5'
@ -450,7 +432,7 @@ group :ed25519 do
end end
# Gitaly GRPC client # Gitaly GRPC client
gem 'gitaly-proto', '~> 1.3.0', require: 'gitaly' gem 'gitaly-proto', '~> 1.5.0', require: 'gitaly'
gem 'grpc', '~> 1.15.0' gem 'grpc', '~> 1.15.0'
gem 'google-protobuf', '~> 3.6' gem 'google-protobuf', '~> 3.6'
@ -465,3 +447,6 @@ gem 'flipper-active_support_cache_store', '~> 0.13.0'
# Structured logging # Structured logging
gem 'lograge', '~> 0.5' gem 'lograge', '~> 0.5'
gem 'grape_logging', '~> 1.7' gem 'grape_logging', '~> 1.7'
# DNS Lookup
gem 'net-dns', '~> 0.9.0'

View File

@ -4,41 +4,41 @@ GEM
RedCloth (4.3.2) RedCloth (4.3.2)
abstract_type (0.0.7) abstract_type (0.0.7)
ace-rails-ap (4.1.2) ace-rails-ap (4.1.2)
actioncable (5.0.7) actioncable (5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
nio4r (>= 1.2, < 3.0) nio4r (>= 1.2, < 3.0)
websocket-driver (~> 0.6.1) websocket-driver (~> 0.6.1)
actionmailer (5.0.7) actionmailer (5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
actionview (= 5.0.7) actionview (= 5.0.7.1)
activejob (= 5.0.7) activejob (= 5.0.7.1)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (5.0.7) actionpack (5.0.7.1)
actionview (= 5.0.7) actionview (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
rack (~> 2.0) rack (~> 2.0)
rack-test (~> 0.6.3) rack-test (~> 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (5.0.7) actionview (5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
builder (~> 3.1) builder (~> 3.1)
erubis (~> 2.7.0) erubis (~> 2.7.0)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3) rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.0.7) activejob (5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (5.0.7) activemodel (5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
activerecord (5.0.7) activerecord (5.0.7.1)
activemodel (= 5.0.7) activemodel (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
arel (~> 7.0) arel (~> 7.0)
activerecord_sane_schema_dumper (1.0) activerecord_sane_schema_dumper (1.0)
rails (>= 5, < 6) rails (>= 5, < 6)
activesupport (5.0.7) activesupport (5.0.7.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@ -105,18 +105,18 @@ GEM
bundler-audit (0.5.0) bundler-audit (0.5.0)
bundler (~> 1.2) bundler (~> 1.2)
thor (~> 0.18) thor (~> 0.18)
byebug (9.0.6) byebug (9.1.0)
capybara (2.15.1) capybara (2.16.1)
addressable addressable
mini_mime (>= 0.1.3) mini_mime (>= 0.1.3)
nokogiri (>= 1.3.3) nokogiri (>= 1.3.3)
rack (>= 1.0.0) rack (>= 1.0.0)
rack-test (>= 0.5.4) rack-test (>= 0.5.4)
xpath (~> 2.0) xpath (~> 2.0)
capybara-screenshot (1.0.14) capybara-screenshot (1.0.22)
capybara (>= 1.0, < 3) capybara (>= 1.0, < 4)
launchy launchy
carrierwave (1.2.3) carrierwave (1.3.1)
activemodel (>= 4.0.0) activemodel (>= 4.0.0)
activesupport (>= 4.0.0) activesupport (>= 4.0.0)
mime-types (>= 1.16) mime-types (>= 1.16)
@ -148,7 +148,7 @@ GEM
css_parser (1.5.0) css_parser (1.5.0)
addressable addressable
daemons (1.2.6) daemons (1.2.6)
database_cleaner (1.5.3) database_cleaner (1.7.0)
debug_inspector (0.0.3) debug_inspector (0.0.3)
debugger-ruby_core_source (1.3.8) debugger-ruby_core_source (1.3.8)
deckar01-task_list (2.0.0) deckar01-task_list (2.0.0)
@ -298,7 +298,7 @@ GEM
gettext_i18n_rails (>= 0.7.1) gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0) po_to_json (>= 1.0.0)
rails (>= 3.2.0) rails (>= 3.2.0)
gitaly-proto (1.3.0) gitaly-proto (1.5.0)
grpc (~> 1.0) grpc (~> 1.0)
github-markup (1.7.0) github-markup (1.7.0)
gitlab-default_value_for (3.1.1) gitlab-default_value_for (3.1.1)
@ -408,7 +408,7 @@ GEM
json (~> 1.8) json (~> 1.8)
multi_xml (>= 0.5.2) multi_xml (>= 0.5.2)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.1.1) i18n (1.2.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
icalendar (2.4.1) icalendar (2.4.1)
ice_nine (0.11.2) ice_nine (0.11.2)
@ -431,7 +431,7 @@ GEM
bindata bindata
json-schema (2.8.0) json-schema (2.8.0)
addressable (>= 2.4) addressable (>= 2.4)
jwt (1.5.6) jwt (2.1.0)
kaminari (1.0.1) kaminari (1.0.1)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
kaminari-actionview (= 1.0.1) kaminari-actionview (= 1.0.1)
@ -477,7 +477,7 @@ GEM
loofah (2.2.3) loofah (2.2.3)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.7.0) mail (2.7.1)
mini_mime (>= 0.1.1) mini_mime (>= 0.1.1)
mail_room (0.9.1) mail_room (0.9.1)
memoist (0.16.0) memoist (0.16.0)
@ -491,7 +491,7 @@ GEM
mini_magick (4.8.0) mini_magick (4.8.0)
mini_mime (1.0.1) mini_mime (1.0.1)
mini_portile2 (2.3.0) mini_portile2 (2.3.0)
minitest (5.7.0) minitest (5.11.3)
msgpack (1.2.4) msgpack (1.2.4)
multi_json (1.13.1) multi_json (1.13.1)
multi_xml (0.6.0) multi_xml (0.6.0)
@ -501,6 +501,7 @@ GEM
mustermann (~> 1.0.0) mustermann (~> 1.0.0)
mysql2 (0.4.10) mysql2 (0.4.10)
nakayoshi_fork (0.0.4) nakayoshi_fork (0.0.4)
net-dns (0.9.0)
net-ldap (0.16.0) net-ldap (0.16.0)
net-ntp (2.1.3) net-ntp (2.1.3)
net-ssh (5.0.1) net-ssh (5.0.1)
@ -512,24 +513,24 @@ GEM
nokogiri nokogiri
numerizer (0.1.1) numerizer (0.1.1)
oauth (0.5.4) oauth (0.5.4)
oauth2 (1.4.0) oauth2 (1.4.1)
faraday (>= 0.8, < 0.13) faraday (>= 0.8, < 0.16.0)
jwt (~> 1.0) jwt (>= 1.0, < 3.0)
multi_json (~> 1.3) multi_json (~> 1.3)
multi_xml (~> 0.5) multi_xml (~> 0.5)
rack (>= 1.2, < 3) rack (>= 1.2, < 3)
octokit (4.9.0) octokit (4.9.0)
sawyer (~> 0.8.0, >= 0.5.3) sawyer (~> 0.8.0, >= 0.5.3)
omniauth (1.8.1) omniauth (1.9.0)
hashie (>= 3.4.6, < 3.6.0) hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3) rack (>= 1.6.2, < 3)
omniauth-auth0 (2.0.0) omniauth-auth0 (2.0.0)
omniauth-oauth2 (~> 1.4) omniauth-oauth2 (~> 1.4)
omniauth-authentiq (0.3.3) omniauth-authentiq (0.3.3)
jwt (>= 1.5) jwt (>= 1.5)
omniauth-oauth2 (>= 1.5) omniauth-oauth2 (>= 1.5)
omniauth-azure-oauth2 (0.0.9) omniauth-azure-oauth2 (0.0.10)
jwt (~> 1.0) jwt (>= 1.0, < 3.0)
omniauth (~> 1.0) omniauth (~> 1.0)
omniauth-oauth2 (~> 1.4) omniauth-oauth2 (~> 1.4)
omniauth-cas3 (1.1.4) omniauth-cas3 (1.1.4)
@ -544,8 +545,8 @@ GEM
omniauth-gitlab (1.0.3) omniauth-gitlab (1.0.3)
omniauth (~> 1.0) omniauth (~> 1.0)
omniauth-oauth2 (~> 1.0) omniauth-oauth2 (~> 1.0)
omniauth-google-oauth2 (0.5.3) omniauth-google-oauth2 (0.6.0)
jwt (>= 1.5) jwt (>= 2.0)
omniauth (>= 1.1.1) omniauth (>= 1.1.1)
omniauth-oauth2 (>= 1.5) omniauth-oauth2 (>= 1.5)
omniauth-kerberos (0.3.0) omniauth-kerberos (0.3.0)
@ -556,9 +557,9 @@ GEM
omniauth-oauth (1.1.0) omniauth-oauth (1.1.0)
oauth oauth
omniauth (~> 1.0) omniauth (~> 1.0)
omniauth-oauth2 (1.5.0) omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1) oauth2 (~> 1.1)
omniauth (~> 1.2) omniauth (~> 1.9)
omniauth-oauth2-generic (0.2.2) omniauth-oauth2-generic (0.2.2)
omniauth-oauth2 (~> 1.0) omniauth-oauth2 (~> 1.0)
omniauth-saml (1.10.0) omniauth-saml (1.10.0)
@ -587,8 +588,9 @@ GEM
railties (>= 4.0.0) railties (>= 4.0.0)
peek-gc (0.0.2) peek-gc (0.0.2)
peek peek
peek-mysql2 (1.1.0) peek-mysql2 (1.2.0)
atomic (>= 1.0.0) concurrent-ruby
concurrent-ruby-ext
mysql2 mysql2
peek peek
peek-pg (1.3.0) peek-pg (1.3.0)
@ -623,8 +625,8 @@ GEM
pry (0.11.3) pry (0.11.3)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.9.0) method_source (~> 0.9.0)
pry-byebug (3.4.3) pry-byebug (3.5.1)
byebug (>= 9.0, < 9.1) byebug (~> 9.1)
pry (~> 0.10) pry (~> 0.10)
pry-rails (0.3.6) pry-rails (0.3.6)
pry (>= 0.10.4) pry (>= 0.10.4)
@ -652,17 +654,17 @@ GEM
rack rack
rack-test (0.6.3) rack-test (0.6.3)
rack (>= 1.0) rack (>= 1.0)
rails (5.0.7) rails (5.0.7.1)
actioncable (= 5.0.7) actioncable (= 5.0.7.1)
actionmailer (= 5.0.7) actionmailer (= 5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
actionview (= 5.0.7) actionview (= 5.0.7.1)
activejob (= 5.0.7) activejob (= 5.0.7.1)
activemodel (= 5.0.7) activemodel (= 5.0.7.1)
activerecord (= 5.0.7) activerecord (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
bundler (>= 1.3.0) bundler (>= 1.3.0)
railties (= 5.0.7) railties (= 5.0.7.1)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.2) rails-controller-testing (1.0.2)
actionpack (~> 5.x, >= 5.0.1) actionpack (~> 5.x, >= 5.0.1)
@ -678,15 +680,15 @@ GEM
rails-i18n (5.1.1) rails-i18n (5.1.1)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
railties (>= 5.0, < 6) railties (>= 5.0, < 6)
railties (5.0.7) railties (5.0.7.1)
actionpack (= 5.0.7) actionpack (= 5.0.7.1)
activesupport (= 5.0.7) activesupport (= 5.0.7.1)
method_source method_source
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rainbow (3.0.0) rainbow (3.0.0)
raindrops (0.18.0) raindrops (0.18.0)
rake (12.3.1) rake (12.3.2)
rb-fsevent (0.10.2) rb-fsevent (0.10.2)
rb-inotify (0.9.10) rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2) ffi (>= 0.5.0, < 2)
@ -992,9 +994,9 @@ DEPENDENCIES
browser (~> 2.5) browser (~> 2.5)
bullet (~> 5.5.0) bullet (~> 5.5.0)
bundler-audit (~> 0.5.0) bundler-audit (~> 0.5.0)
capybara (~> 2.15) capybara (~> 2.16.1)
capybara-screenshot (~> 1.0.0) capybara-screenshot (~> 1.0.18)
carrierwave (= 1.2.3) carrierwave (~> 1.3)
charlock_holmes (~> 0.7.5) charlock_holmes (~> 0.7.5)
chronic (~> 0.10.2) chronic (~> 0.10.2)
chronic_duration (~> 0.10.6) chronic_duration (~> 0.10.6)
@ -1002,7 +1004,7 @@ DEPENDENCIES
concurrent-ruby (~> 1.1) concurrent-ruby (~> 1.1)
connection_pool (~> 2.0) connection_pool (~> 2.0)
creole (~> 0.5.0) creole (~> 0.5.0)
database_cleaner (~> 1.5.0) database_cleaner (~> 1.7.0)
deckar01-task_list (= 2.0.0) deckar01-task_list (= 2.0.0)
device_detector device_detector
devise (~> 4.4) devise (~> 4.4)
@ -1041,7 +1043,7 @@ DEPENDENCIES
gettext (~> 3.2.2) gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3) gettext_i18n_rails_js (~> 1.3)
gitaly-proto (~> 1.3.0) gitaly-proto (~> 1.5.0)
github-markup (~> 1.7.0) github-markup (~> 1.7.0)
gitlab-default_value_for (~> 3.1.1) gitlab-default_value_for (~> 3.1.1)
gitlab-license (~> 1.0) gitlab-license (~> 1.0)
@ -1076,7 +1078,7 @@ DEPENDENCIES
jquery-atwho-rails (~> 1.3.2) jquery-atwho-rails (~> 1.3.2)
js_regex (~> 2.2.1) js_regex (~> 2.2.1)
json-schema (~> 2.8.0) json-schema (~> 2.8.0)
jwt (~> 1.5.6) jwt (~> 2.1.0)
kaminari (~> 1.0) kaminari (~> 1.0)
knapsack (~> 1.17) knapsack (~> 1.17)
kubeclient (~> 4.0.0) kubeclient (~> 4.0.0)
@ -1089,13 +1091,14 @@ DEPENDENCIES
method_source (~> 0.8) method_source (~> 0.8)
mimemagic (~> 0.3.2) mimemagic (~> 0.3.2)
mini_magick mini_magick
minitest (~> 5.7.0) minitest (~> 5.11.0)
mysql2 (~> 0.4.10) mysql2 (~> 0.4.10)
nakayoshi_fork (~> 0.0.4) nakayoshi_fork (~> 0.0.4)
net-dns (~> 0.9.0)
net-ldap net-ldap
net-ntp net-ntp
net-ssh (~> 5.0) net-ssh (~> 5.0)
nokogiri (~> 1.8.2) nokogiri (~> 1.8.5)
oauth2 (~> 1.4) oauth2 (~> 1.4)
octokit (~> 4.9) octokit (~> 4.9)
omniauth (~> 1.8) omniauth (~> 1.8)
@ -1106,7 +1109,7 @@ DEPENDENCIES
omniauth-facebook (~> 4.0.0) omniauth-facebook (~> 4.0.0)
omniauth-github (~> 1.3) omniauth-github (~> 1.3)
omniauth-gitlab (~> 1.0.2) omniauth-gitlab (~> 1.0.2)
omniauth-google-oauth2 (~> 0.5.3) omniauth-google-oauth2 (~> 0.6.0)
omniauth-kerberos (~> 0.3.0) omniauth-kerberos (~> 0.3.0)
omniauth-oauth2-generic (~> 0.2.2) omniauth-oauth2-generic (~> 0.2.2)
omniauth-saml (~> 1.10) omniauth-saml (~> 1.10)
@ -1116,14 +1119,14 @@ DEPENDENCIES
org-ruby (~> 0.9.12) org-ruby (~> 0.9.12)
peek (~> 1.0.1) peek (~> 1.0.1)
peek-gc (~> 0.0.2) peek-gc (~> 0.0.2)
peek-mysql2 (~> 1.1.0) peek-mysql2 (~> 1.2.0)
peek-pg (~> 1.3.0) peek-pg (~> 1.3.0)
peek-rblineprof (~> 0.2.0) peek-rblineprof (~> 0.2.0)
peek-redis (~> 1.2.0) peek-redis (~> 1.2.0)
pg (~> 0.18.2) pg (~> 0.18.2)
premailer-rails (~> 1.9.7) premailer-rails (~> 1.9.7)
prometheus-client-mmap (~> 0.9.4) prometheus-client-mmap (~> 0.9.4)
pry-byebug (~> 3.4.1) pry-byebug (~> 3.5.1)
pry-rails (~> 0.3.4) pry-rails (~> 0.3.4)
puma (~> 3.12) puma (~> 3.12)
puma_worker_killer puma_worker_killer
@ -1132,7 +1135,7 @@ DEPENDENCIES
rack-cors (~> 1.0.0) rack-cors (~> 1.0.0)
rack-oauth2 (~> 1.2.1) rack-oauth2 (~> 1.2.1)
rack-proxy (~> 0.6.0) rack-proxy (~> 0.6.0)
rails (= 5.0.7) rails (= 5.0.7.1)
rails-controller-testing rails-controller-testing
rails-deprecated_sanitizer (~> 1.0.3) rails-deprecated_sanitizer (~> 1.0.3)
rails-i18n (~> 5.1) rails-i18n (~> 5.1)
@ -1163,9 +1166,11 @@ DEPENDENCIES
ruby-prof (~> 0.17.0) ruby-prof (~> 0.17.0)
ruby-progressbar ruby-progressbar
ruby_parser (~> 3.8) ruby_parser (~> 3.8)
rubyzip (~> 1.2.2)
rufus-scheduler (~> 3.4) rufus-scheduler (~> 3.4)
rugged (~> 0.27) rugged (~> 0.27)
sanitize (~> 4.6) sanitize (~> 4.6)
sass (~> 3.5)
sass-rails (~> 5.0.6) sass-rails (~> 5.0.6)
scss_lint (~> 0.56.0) scss_lint (~> 0.56.0)
seed-fu (~> 2.3.7) seed-fu (~> 2.3.7)
@ -1206,4 +1211,4 @@ DEPENDENCIES
wikicloth (= 0.8.1) wikicloth (= 0.8.1)
BUNDLED WITH BUNDLED WITH
1.17.1 1.17.3

View File

@ -19,64 +19,64 @@
dependencies = ["actionpack" "nio4r" "websocket-driver"]; dependencies = ["actionpack" "nio4r" "websocket-driver"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0b2znw81zf11f7kqyks80ha4sb4aiqrs1mia0jnf3xfn5zgx28y0"; sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
actionmailer = { actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"]; dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0d9f3kwk1z3p6sa9d8vl7yqa689ihm24cy7lp4h6v478dbr156sz"; sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
actionpack = { actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "15nin3f817dpkjlw94sh4rsvayqy4z6ij7fak82wqdqv5mcd9q08"; sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
actionview = { actionview = {
dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"]; dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "12vvq439jjj4byhkvckrk7ap4krrfsbpw54n5xxfwh7fr5y0087b"; sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activejob = { activejob = {
dependencies = ["activesupport" "globalid"]; dependencies = ["activesupport" "globalid"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1mdqdgwmcx28jznc5mfmqzz42y03mx6i6fs6m4nka0ic61rmp8g8"; sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activemodel = { activemodel = {
dependencies = ["activesupport"]; dependencies = ["activesupport"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "11ycnzi32cd92ylxhqwqfchqk3m7y9z7sfiyf8b7830lzfxv2dgy"; sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activerecord = { activerecord = {
dependencies = ["activemodel" "activesupport" "arel"]; dependencies = ["activemodel" "activesupport" "arel"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ri32lhmmd4waphpynwj53ysy9xlhx743lnlsnp8l499kvarqd66"; sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
activerecord_sane_schema_dumper = { activerecord_sane_schema_dumper = {
dependencies = ["rails"]; dependencies = ["rails"];
@ -91,10 +91,10 @@
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1yx73l984y3ri5ndj37l1dfarcdvbhra7vhz9fcww4za24is95d5"; sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
acts-as-taggable-on = { acts-as-taggable-on = {
dependencies = ["activerecord"]; dependencies = ["activerecord"];
@ -402,37 +402,37 @@
byebug = { byebug = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0"; sha256 = "1vv7s88w8jb1qg4qz3jrs3x3y5d9jfyyl7wfiz78b5x95ydvx41q";
type = "gem"; type = "gem";
}; };
version = "9.0.6"; version = "9.1.0";
}; };
capybara = { capybara = {
dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"]; dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0bahhwrd1rpfhci1x57yz0df9plziipljbw3p4k6mlash4wq6w92"; sha256 = "0hkl6p07gf29952biv07fy88vjz46ng2h37wwx5ks0mk9kn8vvvf";
type = "gem"; type = "gem";
}; };
version = "2.15.1"; version = "2.16.1";
}; };
capybara-screenshot = { capybara-screenshot = {
dependencies = ["capybara" "launchy"]; dependencies = ["capybara" "launchy"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1xy79lf3rwn3602r4hqm9s8a03bhlf6hzwdi6345dzrkmhwwj2ij"; sha256 = "1x90lh7nf3zi54arjf430s9xdxr3c12xjq1l28izgxqdk8s40q7q";
type = "gem"; type = "gem";
}; };
version = "1.0.14"; version = "1.0.22";
}; };
carrierwave = { carrierwave = {
dependencies = ["activemodel" "activesupport" "mime-types"]; dependencies = ["activemodel" "activesupport" "mime-types"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs"; sha256 = "10rz94kajilffp83sb767lr62b5f8l4jzqq80cr92wqxdgbszdks";
type = "gem"; type = "gem";
}; };
version = "1.2.3"; version = "1.3.1";
}; };
cause = { cause = {
source = { source = {
@ -597,10 +597,10 @@
database_cleaner = { database_cleaner = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj"; sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
type = "gem"; type = "gem";
}; };
version = "1.5.3"; version = "1.7.0";
}; };
debug_inspector = { debug_inspector = {
source = { source = {
@ -1173,10 +1173,10 @@
dependencies = ["grpc"]; dependencies = ["grpc"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "17fg29j089k94ssim9hfzpd5lycvhimbpvz12d73ywrbwz7a7680"; sha256 = "1p7c63saysp4ixj08kxrk5c4n94d6zala9wl1fxg7vx8nd84b2c0";
type = "gem"; type = "gem";
}; };
version = "1.3.0"; version = "1.5.0";
}; };
github-markup = { github-markup = {
source = { source = {
@ -1532,10 +1532,10 @@
dependencies = ["concurrent-ruby"]; dependencies = ["concurrent-ruby"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7"; sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr";
type = "gem"; type = "gem";
}; };
version = "1.1.1"; version = "1.2.0";
}; };
icalendar = { icalendar = {
source = { source = {
@ -1633,10 +1633,10 @@
jwt = { jwt = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4"; sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
type = "gem"; type = "gem";
}; };
version = "1.5.6"; version = "2.1.0";
}; };
kaminari = { kaminari = {
dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"]; dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
@ -1774,10 +1774,10 @@
dependencies = ["mini_mime"]; dependencies = ["mini_mime"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz"; sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
type = "gem"; type = "gem";
}; };
version = "2.7.0"; version = "2.7.1";
}; };
mail_room = { mail_room = {
source = { source = {
@ -1864,10 +1864,10 @@
minitest = { minitest = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8"; sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
type = "gem"; type = "gem";
}; };
version = "5.7.0"; version = "5.11.3";
}; };
msgpack = { msgpack = {
source = { source = {
@ -1934,6 +1934,14 @@
}; };
version = "0.0.4"; version = "0.0.4";
}; };
net-dns = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "18d97xjphw21naaqfhgxp95ikr1d79rx708b2df3xm01j6isqy1d";
type = "gem";
};
version = "0.9.0";
};
net-ldap = { net-ldap = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -2012,10 +2020,10 @@
dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"]; dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "094hmmfms8vpm6nwglpl7jmlv85nlfzl0kik4fizgx1rg70a6mr5"; sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh";
type = "gem"; type = "gem";
}; };
version = "1.4.0"; version = "1.4.1";
}; };
octokit = { octokit = {
dependencies = ["sawyer"]; dependencies = ["sawyer"];
@ -2030,10 +2038,10 @@
dependencies = ["hashie" "rack"]; dependencies = ["hashie" "rack"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg"; sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x";
type = "gem"; type = "gem";
}; };
version = "1.8.1"; version = "1.9.0";
}; };
omniauth-auth0 = { omniauth-auth0 = {
dependencies = ["omniauth-oauth2"]; dependencies = ["omniauth-oauth2"];
@ -2057,10 +2065,10 @@
dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ck5616fjik0dw89xvak1mi8ijcv10lsh6n9h4107l5dys2g3jfx"; sha256 = "1a3iqy63l1jd6na4y0bj4a8mlp7gcn3a0awnz9g79fa8n4v2g8n4";
type = "gem"; type = "gem";
}; };
version = "0.0.9"; version = "0.0.10";
}; };
omniauth-cas3 = { omniauth-cas3 = {
dependencies = ["addressable" "nokogiri" "omniauth"]; dependencies = ["addressable" "nokogiri" "omniauth"];
@ -2102,10 +2110,10 @@
dependencies = ["jwt" "omniauth" "omniauth-oauth2"]; dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rvdac08vgrxcblq8w2hqj080v2cwv3cigxdzs11gz4d538zjnym"; sha256 = "03v2gqpsbdhkqaxhvzr83za885awm6pgskv3mkyfvang7mr321df";
type = "gem"; type = "gem";
}; };
version = "0.5.3"; version = "0.6.0";
}; };
omniauth-kerberos = { omniauth-kerberos = {
dependencies = ["omniauth-multipassword" "timfel-krb5-auth"]; dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
@ -2138,10 +2146,10 @@
dependencies = ["oauth2" "omniauth"]; dependencies = ["oauth2" "omniauth"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr"; sha256 = "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79";
type = "gem"; type = "gem";
}; };
version = "1.5.0"; version = "1.6.0";
}; };
omniauth-oauth2-generic = { omniauth-oauth2-generic = {
dependencies = ["omniauth-oauth2"]; dependencies = ["omniauth-oauth2"];
@ -2257,13 +2265,13 @@
version = "0.0.2"; version = "0.0.2";
}; };
peek-mysql2 = { peek-mysql2 = {
dependencies = ["atomic" "mysql2" "peek"]; dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "mysql2" "peek"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0bb2fzx3dwj7k6sc87jwhjk8vzp8dskv49j141xx15vvkg603j8k"; sha256 = "0avmwm3yw0kx0z8gh4cpqj79jb5aicd0h3yzrcdfpzwks56h1k9z";
type = "gem"; type = "gem";
}; };
version = "1.1.0"; version = "1.2.0";
}; };
peek-pg = { peek-pg = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"]; dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
@ -2373,10 +2381,10 @@
dependencies = ["byebug" "pry"]; dependencies = ["byebug" "pry"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0g820bqmlq8vvh78895zgrzgmj3g6n63px7cba11s02lpz56630n"; sha256 = "1f9kj1qp14qb8crg2rdzf22pr6ngxvy4n6ipymla8q1yjr842625";
type = "gem"; type = "gem";
}; };
version = "3.4.3"; version = "3.5.1";
}; };
pry-rails = { pry-rails = {
dependencies = ["pry"]; dependencies = ["pry"];
@ -2494,10 +2502,10 @@
dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"]; dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "117z277m78cw6bm43dyzxhjmx8awpidmqcjjx99kpj4rgqm5m0bn"; sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
rails-controller-testing = { rails-controller-testing = {
dependencies = ["actionpack" "actionview" "activesupport"]; dependencies = ["actionpack" "actionview" "activesupport"];
@ -2548,10 +2556,10 @@
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0j6v5ylwgqmxs4pllgip5yxdsivdqs1w00cs8jfqyw5v7pn9b2z0"; sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr";
type = "gem"; type = "gem";
}; };
version = "5.0.7"; version = "5.0.7.1";
}; };
rainbow = { rainbow = {
source = { source = {
@ -2572,10 +2580,10 @@
rake = { rake = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg"; sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
type = "gem"; type = "gem";
}; };
version = "12.3.1"; version = "12.3.2";
}; };
rb-fsevent = { rb-fsevent = {
source = { source = {

View File

@ -0,0 +1,71 @@
source 'https://rubygems.org'
gem "bundler", ">= 1.5.0"
gem "rails", "5.2.2"
gem "rouge", "~> 3.3.0"
gem "request_store", "1.0.5"
gem "mini_mime", "~> 1.0.1"
gem "actionpack-xml_parser"
gem "roadie-rails", "~> 1.3.0"
gem "mimemagic"
gem "mail", "~> 2.7.1"
gem "csv", "~> 3.0.1" if RUBY_VERSION >= "2.3" && RUBY_VERSION < "2.6"
gem "nokogiri", (RUBY_VERSION >= "2.3" ? "~> 1.10.0" : "~> 1.9.1")
gem "i18n", "~> 0.7.0"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :x64_mingw, :mswin]
gem "rbpdf", "~> 1.19.6"
# Optional gem for LDAP authentication
group :ldap do
gem "net-ldap", "~> 0.16.0"
end
# Optional gem for OpenID authentication
group :openid do
gem "ruby-openid", "~> 2.3.0", :require => "openid"
gem "rack-openid"
end
platforms :mri, :mingw, :x64_mingw do
# Optional gem for exporting the gantt to a PNG file, not supported with jruby
group :rmagick do
gem "rmagick", ">= 2.14.0"
end
# Optional Markdown support, not for JRuby
group :markdown do
gem "redcarpet", "~> 3.4.0"
end
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]
group :development do
gem "yard"
end
group :test do
gem "rails-dom-testing"
gem "mocha"
gem "simplecov", "~> 0.14.1", :require => false
# For running system tests
gem 'puma', '~> 3.7'
gem "capybara", '~> 2.13'
gem "selenium-webdriver"
end
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
if File.exists?(local_gemfile)
eval_gemfile local_gemfile
end
# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
eval_gemfile file
end

View File

@ -0,0 +1,204 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (5.2.2)
actionpack (= 5.2.2)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailer (5.2.2)
actionpack (= 5.2.2)
actionview (= 5.2.2)
activejob (= 5.2.2)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (5.2.2)
actionview (= 5.2.2)
activesupport (= 5.2.2)
rack (~> 2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionpack-xml_parser (2.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
actionview (5.2.2)
activesupport (= 5.2.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (5.2.2)
activesupport (= 5.2.2)
globalid (>= 0.3.6)
activemodel (5.2.2)
activesupport (= 5.2.2)
activerecord (5.2.2)
activemodel (= 5.2.2)
activesupport (= 5.2.2)
arel (>= 9.0)
activestorage (5.2.2)
actionpack (= 5.2.2)
activerecord (= 5.2.2)
marcel (~> 0.3.1)
activesupport (5.2.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
arel (9.0.0)
builder (3.2.3)
capybara (2.18.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (>= 2.0, < 4.0)
childprocess (0.9.0)
ffi (~> 1.0, >= 1.0.11)
concurrent-ruby (1.1.4)
crass (1.0.4)
css_parser (1.6.0)
addressable
csv (3.0.4)
docile (1.1.5)
erubi (1.8.0)
ffi (1.10.0)
globalid (0.4.2)
activesupport (>= 4.2.0)
htmlentities (4.3.4)
i18n (0.7.0)
json (2.1.0)
loofah (2.2.3)
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)
metaclass (0.0.4)
method_source (0.9.2)
mimemagic (0.3.3)
mini_mime (1.0.1)
mini_portile2 (2.4.0)
minitest (5.11.3)
mocha (1.8.0)
metaclass (~> 0.0.1)
mysql2 (0.5.2)
net-ldap (0.16.1)
nio4r (2.3.1)
nokogiri (1.10.1)
mini_portile2 (~> 2.4.0)
pg (1.1.4)
public_suffix (3.0.3)
puma (3.12.0)
rack (2.0.6)
rack-openid (1.4.2)
rack (>= 1.1.0)
ruby-openid (>= 2.1.8)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.2)
actioncable (= 5.2.2)
actionmailer (= 5.2.2)
actionpack (= 5.2.2)
actionview (= 5.2.2)
activejob (= 5.2.2)
activemodel (= 5.2.2)
activerecord (= 5.2.2)
activestorage (= 5.2.2)
activesupport (= 5.2.2)
bundler (>= 1.3.0)
railties (= 5.2.2)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.4)
loofah (~> 2.2, >= 2.2.2)
railties (5.2.2)
actionpack (= 5.2.2)
activesupport (= 5.2.2)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rake (12.3.2)
rbpdf (1.19.8)
htmlentities
rbpdf-font (~> 1.19.0)
rbpdf-font (1.19.1)
redcarpet (3.4.0)
request_store (1.0.5)
rmagick (2.16.0)
roadie (3.4.0)
css_parser (~> 1.4)
nokogiri (~> 1.5)
roadie-rails (1.3.0)
railties (>= 3.0, < 5.3)
roadie (~> 3.1)
rouge (3.3.0)
ruby-openid (2.3.0)
rubyzip (1.2.2)
selenium-webdriver (3.141.0)
childprocess (~> 0.5)
rubyzip (~> 1.2, >= 1.2.2)
simplecov (0.14.1)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
thor (0.20.3)
thread_safe (0.3.6)
tzinfo (1.2.5)
thread_safe (~> 0.1)
websocket-driver (0.7.0)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.18)
PLATFORMS
ruby
DEPENDENCIES
actionpack-xml_parser
bundler (>= 1.5.0)
capybara (~> 2.13)
csv (~> 3.0.1)
i18n (~> 0.7.0)
mail (~> 2.7.1)
mimemagic
mini_mime (~> 1.0.1)
mocha
mysql2 (~> 0.5.0)
net-ldap (~> 0.16.0)
nokogiri (~> 1.10.0)
pg (~> 1.1.4)
puma (~> 3.7)
rack-openid
rails (= 5.2.2)
rails-dom-testing
rbpdf (~> 1.19.6)
redcarpet (~> 3.4.0)
request_store (= 1.0.5)
rmagick (>= 2.14.0)
roadie-rails (~> 1.3.0)
rouge (~> 3.3.0)
ruby-openid (~> 2.3.0)
selenium-webdriver
simplecov (~> 0.14.1)
tzinfo-data
yard
BUNDLED WITH
1.16.3

View File

@ -0,0 +1,43 @@
{ stdenv, fetchurl, bundlerEnv, ruby }:
let
version = "4.0.1";
rubyEnv = bundlerEnv {
name = "redmine-env-${version}";
inherit ruby;
gemdir = ./.;
groups = [ "ldap" "openid" ];
};
in
stdenv.mkDerivation rec {
name = "redmine-${version}";
src = fetchurl {
url = "https://www.redmine.org/releases/${name}.tar.gz";
sha256 = "1zzn9rkh7x1h9f2shcc8qhb693hp0hpah0z53i6gfgg5p8k5hns1";
};
buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
buildPhase = ''
mv config config.dist
mv public/themes public/themes.dist
'';
installPhase = ''
mkdir -p $out/share
cp -r . $out/share/redmine
for i in config files log plugins public/plugin_assets public/themes tmp; do
rm -rf $out/share/redmine/$i
ln -fs /run/redmine/$i $out/share/redmine/$i
done
'';
meta = with stdenv.lib; {
homepage = http://www.redmine.org/;
platforms = platforms.linux;
maintainers = [ maintainers.garbas maintainers.aanderse ];
license = licenses.gpl2;
};
}

View File

@ -0,0 +1,622 @@
{
actioncable = {
dependencies = ["actionpack" "nio4r" "websocket-driver"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0826k5ch0l03f9yrkxy69aiv039z4qi00lnahw2rzywd2iz6r68x";
type = "gem";
};
version = "5.2.2";
};
actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sfpb8s95cmkpp9ybyp2c88r55r5llscmmnkfwcwgasz9ncjiq5n";
type = "gem";
};
version = "5.2.2";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0iwhbqqn0cm39dq040iwq8cfyclqk3kyzwlp5k3j5cz8k2668wws";
type = "gem";
};
version = "5.2.2";
};
actionpack-xml_parser = {
dependencies = ["actionpack" "railties"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rnm6jrw3mzcf2g3q498igmhsn0kfkxq79w0nm532iclx4g4djs0";
type = "gem";
};
version = "2.0.1";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lz04drbi1z0xhvb8jnr14pbf505lilr02arahxq7y3mxiz0rs8z";
type = "gem";
};
version = "5.2.2";
};
activejob = {
dependencies = ["activesupport" "globalid"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jjkl62x2aprg55x9rpm0h2c82vr2qr989hg3l9r21l01q4822ir";
type = "gem";
};
version = "5.2.2";
};
activemodel = {
dependencies = ["activesupport"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xmwi3mw8g4shbjvkhk72ra3r5jccbdsd4piphqka2y1h8s7sxvi";
type = "gem";
};
version = "5.2.2";
};
activerecord = {
dependencies = ["activemodel" "activesupport" "arel"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "19a0sns6a5wz2wym25lb1dv4lbrrl5sd1n15s5ky2636znmhz30y";
type = "gem";
};
version = "5.2.2";
};
activestorage = {
dependencies = ["actionpack" "activerecord" "marcel"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c72837098sw384vk6dmrb2p7q3wx4swnibk6sw9dp4hn1vc4p31";
type = "gem";
};
version = "5.2.2";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1iya7vxqwxysr74s7b4z1x19gmnx5advimzip3cbmsd5bd43wfgz";
type = "gem";
};
version = "5.2.2";
};
addressable = {
dependencies = ["public_suffix"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
type = "gem";
};
version = "2.6.0";
};
arel = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jk7wlmkr61f6g36w9s2sn46nmdg6wn2jfssrhbhirv5x9n95nk0";
type = "gem";
};
version = "9.0.0";
};
builder = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
type = "gem";
};
version = "3.2.3";
};
capybara = {
dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yv77rnsjlvs8qpfn9n5vf1h6b9agxwhxw09gssbiw9zn9j20jh8";
type = "gem";
};
version = "2.18.0";
};
childprocess = {
dependencies = ["ffi"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p";
type = "gem";
};
version = "0.9.0";
};
concurrent-ruby = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1";
type = "gem";
};
version = "1.1.4";
};
crass = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
type = "gem";
};
version = "1.0.4";
};
css_parser = {
dependencies = ["addressable"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61";
type = "gem";
};
version = "1.6.0";
};
csv = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "19m22vlxddva301z2izvg06hldlc37nyzhin3kjjfcnlbb8imj33";
type = "gem";
};
version = "3.0.4";
};
docile = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx";
type = "gem";
};
version = "1.1.5";
};
erubi = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kagnf6ziahj0d781s6ryy6fwqwa3ad4xbzzj84p9m4nv4c2jir1";
type = "gem";
};
version = "1.8.0";
};
ffi = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
type = "gem";
};
version = "1.10.0";
};
globalid = {
dependencies = ["activesupport"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
type = "gem";
};
version = "0.4.2";
};
htmlentities = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
type = "gem";
};
version = "4.3.4";
};
i18n = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
type = "gem";
};
version = "0.7.0";
};
json = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
type = "gem";
};
version = "2.1.0";
};
loofah = {
dependencies = ["crass" "nokogiri"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
type = "gem";
};
version = "2.2.3";
};
mail = {
dependencies = ["mini_mime"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
type = "gem";
};
version = "2.7.1";
};
marcel = {
dependencies = ["mimemagic"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx";
type = "gem";
};
version = "0.3.3";
};
metaclass = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hp99y2b1nh0nr8pc398n3f8lakgci6pkrg4bf2b2211j1f6hsc5";
type = "gem";
};
version = "0.0.4";
};
method_source = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
type = "gem";
};
version = "0.9.2";
};
mimemagic = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "04cp5sfbh1qx82yqxn0q75c7hlcx8y1dr5g3kyzwm4mx6wi2gifw";
type = "gem";
};
version = "0.3.3";
};
mini_mime = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
type = "gem";
};
version = "1.0.1";
};
mini_portile2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
type = "gem";
};
version = "2.4.0";
};
minitest = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
type = "gem";
};
version = "5.11.3";
};
mocha = {
dependencies = ["metaclass"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12aglpiq1h18j5a4rlwvnsvnsi2f3407v5xm59lgcg3ymlyak4al";
type = "gem";
};
version = "1.8.0";
};
mysql2 = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1a2kdjgzwh1p2rkcmxaawy6ibi32b04wbdd5d4wr8i342pq76di4";
type = "gem";
};
version = "0.5.2";
};
net-ldap = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "016igqz81a8zcwqzp5bbhryqmb2skmyf57ij3nb5z8sxwhw22jgh";
type = "gem";
};
version = "0.16.1";
};
nio4r = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1a41ca1kpdmrypjp9xbgvckpy8g26zxphkja9vk7j5wl4n8yvlyr";
type = "gem";
};
version = "2.3.1";
};
nokogiri = {
dependencies = ["mini_portile2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "09zll7c6j7xr6wyvh5mm5ncj6pkryp70ybcsxdbw1nyphx5dh184";
type = "gem";
};
version = "1.10.1";
};
pg = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy";
type = "gem";
};
version = "1.1.4";
};
public_suffix = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l";
type = "gem";
};
version = "3.0.3";
};
puma = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq";
type = "gem";
};
version = "3.12.0";
};
rack = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pcgv8dv4vkaczzlix8q3j68capwhk420cddzijwqgi2qb4lm1zm";
type = "gem";
};
version = "2.0.6";
};
rack-openid = {
dependencies = ["rack" "ruby-openid"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0sg85yn981j3a0iri3ch4znzdwscvz29l7vrk3dafqw4fdg31llc";
type = "gem";
};
version = "1.4.2";
};
rack-test = {
dependencies = ["rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rh8h376mx71ci5yklnpqqn118z3bl67nnv5k801qaqn1zs62h8m";
type = "gem";
};
version = "1.1.0";
};
rails = {
dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m9cszds68dsiycciiayd3c9g90s2yzn1izkr3gpgqkfw6dmvzyr";
type = "gem";
};
version = "5.2.2";
};
rails-dom-testing = {
dependencies = ["activesupport" "nokogiri"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
type = "gem";
};
version = "2.0.3";
};
rails-html-sanitizer = {
dependencies = ["loofah"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gv7vr5d9g2xmgpjfq4nxsqr70r9pr042r9ycqqnfvw5cz9c7jwr";
type = "gem";
};
version = "1.0.4";
};
railties = {
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "00pnylmbz4c46mxw5lhxi8h39lndfg6fs1hpd0qd6swnjhkqsr1l";
type = "gem";
};
version = "5.2.2";
};
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
type = "gem";
};
version = "12.3.2";
};
rbpdf = {
dependencies = ["htmlentities" "rbpdf-font"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fnhcn4z2zz6ic1yvl5hmhwmkdnybh8f8fnk1ni7bvl2s4ig5195";
type = "gem";
};
version = "1.19.8";
};
rbpdf-font = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0pxlr0l4vf785qpy55m439dyii63a26l0sd0yyhbwwcy9zm9hd1v";
type = "gem";
};
version = "1.19.1";
};
redcarpet = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0h9qz2hik4s9knpmbwrzb3jcp3vc5vygp9ya8lcpl7f1l9khmcd7";
type = "gem";
};
version = "3.4.0";
};
request_store = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ky19wb6mpq6dxb81a0h4hnzx7a4ka99n9ay2syi68djbr4bkbbh";
type = "gem";
};
version = "1.0.5";
};
rmagick = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0m9x15cdlkcb9826s3s2jd97hxf50hln22p94x8hcccxi1lwklq6";
type = "gem";
};
version = "2.16.0";
};
roadie = {
dependencies = ["css_parser" "nokogiri"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0l3s80394yijvz0fsvfkw0azsi9yxsdkxd8lpas0bd7wlndjvmxx";
type = "gem";
};
version = "3.4.0";
};
roadie-rails = {
dependencies = ["railties" "roadie"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "02km0ama85mkw7kkn6qif86b781pglfdmqrwx5s6hwjlzk16qih3";
type = "gem";
};
version = "1.3.0";
};
rouge = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1digsi2s8wyzx8vsqcxasw205lg6s7izx8jypl8rrpjwshmv83ql";
type = "gem";
};
version = "3.3.0";
};
ruby-openid = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0yzaf2c1i88757554wk38rxqmj0xzgmwk2zx7gi98w2zx42d17pn";
type = "gem";
};
version = "2.3.0";
};
rubyzip = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj";
type = "gem";
};
version = "1.2.2";
};
selenium-webdriver = {
dependencies = ["childprocess" "rubyzip"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "114hv2ajmh6d186v2w887yqakqcxyxq367l0iakrrpvwviknrhfs";
type = "gem";
};
version = "3.141.0";
};
simplecov = {
dependencies = ["docile" "json" "simplecov-html"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1r9fnsnsqj432cmrpafryn8nif3x0qg9mdnvrcf0wr01prkdlnww";
type = "gem";
};
version = "0.14.1";
};
simplecov-html = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn";
type = "gem";
};
version = "0.10.2";
};
sprockets = {
dependencies = ["concurrent-ruby" "rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
type = "gem";
};
version = "3.7.2";
};
sprockets-rails = {
dependencies = ["actionpack" "activesupport" "sprockets"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1";
type = "gem";
};
version = "3.2.1";
};
thor = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
type = "gem";
};
version = "0.20.3";
};
thread_safe = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
type = "gem";
};
version = "0.3.6";
};
tzinfo = {
dependencies = ["thread_safe"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1fjx9j327xpkkdlxwmkl3a8wqj7i4l4jwlrv3z13mg95z9wl253z";
type = "gem";
};
version = "1.2.5";
};
websocket-driver = {
dependencies = ["websocket-extensions"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1551k3fs3kkb3ghqfj3n5lps0ikb9pyrdnzmvgfdxy8574n4g1dn";
type = "gem";
};
version = "0.7.0";
};
websocket-extensions = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "034sdr7fd34yag5l6y156rkbhiqgmy395m231dwhlpcswhs6d270";
type = "gem";
};
version = "0.1.3";
};
xpath = {
dependencies = ["nokogiri"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd";
type = "gem";
};
version = "3.2.0";
};
yard = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "07fykkfyrwqkfnxx9i5w6adyiadz00h497c516n96rgvs7alc74f";
type = "gem";
};
version = "0.9.18";
};
}

View File

@ -37,7 +37,7 @@ in
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://www.redmine.org/; homepage = http://www.redmine.org/;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.garbas ]; maintainers = [ maintainers.garbas maintainers.aanderse ];
license = licenses.gpl2; license = licenses.gpl2;
}; };
} }

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, fetchFromGitHub, makeWrapper { stdenv, fetchurl, fetchFromGitHub, makeWrapper
, docutils, perl, pkgconfig, python3, which, ffmpeg_4 , docutils, perl, pkgconfig, python3, which, ffmpeg_4
, freefont_ttf, freetype, libass, libpthreadstubs, mujs , freefont_ttf, freetype, libass, libpthreadstubs, mujs
, lua, luasocket, libuchardet, libiconv ? null, darwin , lua, libuchardet, libiconv ? null, darwin
, waylandSupport ? false , waylandSupport ? false
, wayland ? null , wayland ? null
@ -92,6 +92,8 @@ let
"http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ]; "http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia"; sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia";
}; };
luaEnv = lua.withPackages(ps: with ps; [ luasocket]);
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "mpv-${version}"; name = "mpv-${version}";
version = "0.29.1"; version = "0.29.1";
@ -139,7 +141,7 @@ in stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
ffmpeg_4 freetype libass libpthreadstubs ffmpeg_4 freetype libass libpthreadstubs
lua luasocket libuchardet mujs luaEnv libuchardet mujs
] ++ optional alsaSupport alsaLib ] ++ optional alsaSupport alsaLib
++ optional archiveSupport libarchive ++ optional archiveSupport libarchive
++ optional bluraySupport libbluray ++ optional bluraySupport libbluray
@ -183,16 +185,9 @@ in stdenv.mkDerivation rec {
# Ensure youtube-dl is available in $PATH for mpv # Ensure youtube-dl is available in $PATH for mpv
wrapperFlags = wrapperFlags =
let
getPath = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" + ''--prefix PATH : "${luaEnv}/bin" \''
"${luasocket}/share/lua/${lua.luaversion}/?.${type}"; + optionalString youtubeSupport ''
luaPath = getPath "lua";
luaCPath = getPath "so";
in
''
--prefix LUA_PATH : "${luaPath}" \
--prefix LUA_CPATH : "${luaCPath}" \
'' + optionalString youtubeSupport ''
--prefix PATH : "${youtube-dl}/bin" \ --prefix PATH : "${youtube-dl}/bin" \
'' + optionalString vapoursynthSupport '' '' + optionalString vapoursynthSupport ''
--prefix PYTHONPATH : "${vapoursynth}/lib/${python3.libPrefix}/site-packages:$PYTHONPATH" --prefix PYTHONPATH : "${vapoursynth}/lib/${python3.libPrefix}/site-packages:$PYTHONPATH"

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, qmake, qtscript }: { stdenv, fetchurl, qmake, qtscript }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "smplayer-18.10.0"; name = "smplayer-19.1.0";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/smplayer/${name}.tar.bz2"; url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
sha256 = "1sql1rd4h74smkapjf5c686zbdqqaf44h7k7z5bxfvfcsad7rzrd"; sha256 = "0q23nsmmdhj4kb90axaqrzv5pyj7szbwy8l3skl53yi8r4j3sj3s";
}; };
buildInputs = [ qtscript ]; buildInputs = [ qtscript ];

View File

@ -1,13 +1,12 @@
{ stdenv, fetchgit, iasl, flex, bison }: { stdenv, fetchurl, iasl, flex, bison }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "cbfstool-${version}"; name = "cbfstool-${version}";
version = "4.7"; version = "4.9";
src = fetchgit { src = fetchurl {
url = "http://review.coreboot.org/p/coreboot"; url = "https://coreboot.org/releases/coreboot-${version}.tar.xz";
rev = "refs/tags/${version}"; sha256 = "0xkai65d3z9fivwscbkm7ndcw2p9g794xz8fwdv979w77n5qsdij";
sha256 = "02k63013vf7wgsilslj68fs1x81clvqpn91dydaqhv5aymh73zpi";
}; };
nativeBuildInputs = [ flex bison ]; nativeBuildInputs = [ flex bison ];

View File

@ -30,7 +30,9 @@ stdenv.mkDerivation rec {
cp tools/lkl/{cptofs,fs2tar,lklfuse} $out/bin cp tools/lkl/{cptofs,fs2tar,lklfuse} $out/bin
ln -s cptofs $out/bin/cpfromfs ln -s cptofs $out/bin/cpfromfs
cp -r tools/lkl/include $dev/ cp -r tools/lkl/include $dev/
cp tools/lkl/liblkl*.{a,so} $lib/lib cp tools/lkl/liblkl.a \
tools/lkl/lib/liblkl.so \
tools/lkl/lib/hijack/liblkl-hijack.so $lib/lib
''; '';
# We turn off format and fortify because of these errors (fortify implies -O2, which breaks the jitter entropy code): # We turn off format and fortify because of these errors (fortify implies -O2, which breaks the jitter entropy code):

View File

@ -19,7 +19,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "singularity-${version}"; name = "singularity-${version}";
version = "2.6.0"; version = "2.6.1";
enableParallelBuilding = true; enableParallelBuilding = true;
@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
preConfigure = '' preConfigure = ''
sed -i 's/-static//g' src/Makefile.am sed -i 's/-static//g' src/Makefile.am
patchShebangs . patchShebangs .
substituteInPlace libexec/bootstrap-scripts/deffile-sections.sh \
--replace /bin/cp ${coreutils}/bin/cp
''; '';
configureFlags = [ "--localstatedir=/var" ]; configureFlags = [ "--localstatedir=/var" ];
@ -47,7 +49,7 @@ stdenv.mkDerivation rec {
owner = "singularityware"; owner = "singularityware";
repo = "singularity"; repo = "singularity";
rev = version; rev = version;
sha256 = "0bi7acgppbkfbra8r29s1ldq02lazdww0z2h1rfvv8spr8dzzi94"; sha256 = "0q8qq9l3s6mv74km9h8gsn5mpd0m98dhmx8vph1jp6wnrr4xyfqf";
}; };
nativeBuildInputs = [ autoreconfHook makeWrapper ]; nativeBuildInputs = [ autoreconfHook makeWrapper ];

View File

@ -63,7 +63,7 @@ let
gitSource = rec { gitSource = rec {
pname = "compton-git"; pname = "compton-git";
version = "5"; version = "5.1-rc2";
COMPTON_VERSION = "v${version}"; COMPTON_VERSION = "v${version}";
@ -73,7 +73,7 @@ let
owner = "yshui"; owner = "yshui";
repo = "compton"; repo = "compton";
rev = COMPTON_VERSION; rev = COMPTON_VERSION;
sha256 = "1x5r2dch023imgdqhgf1zxi05cc742s7xr7jzpymvl9ldqly8ppa"; sha256 = "1qpy76kkhz8gfby842ry7lanvxkjxh4ckclkcjk4xi2wsmbhyp08";
}; };
buildInputs = [ buildInputs = [

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "i3-${version}"; name = "i3-${version}";
version = "4.16"; version = "4.16.1";
src = fetchurl { src = fetchurl {
url = "https://i3wm.org/downloads/${name}.tar.bz2"; url = "https://i3wm.org/downloads/${name}.tar.bz2";
sha256 = "1d2mnryn7m9c6d69awd7lwzadliapd0ahi5n8d0ppqy533ssaq6c"; sha256 = "0xl56y196vxv001gvx35xwfr25zah8m3xwizp9ycdgdc0rfc4rdb";
}; };
nativeBuildInputs = [ which pkgconfig makeWrapper ]; nativeBuildInputs = [ which pkgconfig makeWrapper ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub { stdenv, fetchFromGitHub
, meson, ninja , meson, ninja
, pkgconfig, scdoc , pkgconfig, scdoc
, wayland, libxkbcommon, pcre, json_c, dbus , wayland, libxkbcommon, pcre, json_c, dbus, libevdev
, pango, cairo, libinput, libcap, pam, gdk_pixbuf , pango, cairo, libinput, libcap, pam, gdk_pixbuf
, wlroots, wayland-protocols , wlroots, wayland-protocols
, buildDocs ? true , buildDocs ? true
@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "sway"; pname = "sway";
version = "1.0-beta.2"; version = "1.0-rc1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "swaywm"; owner = "swaywm";
repo = "sway"; repo = "sway";
rev = version; rev = version;
sha256 = "0f9rniwizbc3vzxdy6rc47749p6gczfbgfdy4r458134rbl551hw"; sha256 = "1zigx2yz0i91iz2r2l6csq33hscaybmaq1p19jgxrazms7z213mz";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -24,14 +24,17 @@ stdenv.mkDerivation rec {
] ++ stdenv.lib.optional buildDocs scdoc; ] ++ stdenv.lib.optional buildDocs scdoc;
buildInputs = [ buildInputs = [
wayland libxkbcommon pcre json_c dbus wayland libxkbcommon pcre json_c dbus libevdev
pango cairo libinput libcap pam gdk_pixbuf pango cairo libinput libcap pam gdk_pixbuf
wlroots wayland-protocols wlroots wayland-protocols
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;
mesonFlags = "-Dsway-version=${version}"; mesonFlags = [
"-Dsway-version=${version}" "-Dxwayland=enabled" "-Dgdk-pixbuf=enabled"
"-Dman-pages=enabled" "-Dtray=enabled"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "i3-compatible window manager for Wayland"; description = "i3-compatible window manager for Wayland";

View File

@ -5,18 +5,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "swayidle-${version}"; name = "swayidle-${version}";
version = "1.1"; version = "1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "swaywm"; owner = "swaywm";
repo = "swayidle"; repo = "swayidle";
rev = version; rev = version;
sha256 = "1xmcd5wajyrxc8171pl7vhxqg4da482k5n1h0x1j9n07wz50wjqm"; sha256 = "0b65flajwn2i6k2kdxxgw25w7ikzzmm595f4j5x1wac1rb0yah9w";
}; };
nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
buildInputs = [ wayland wayland-protocols systemd ]; buildInputs = [ wayland wayland-protocols systemd ];
mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=enabled" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Idle management daemon for Wayland"; description = "Idle management daemon for Wayland";
longDescription = '' longDescription = ''

View File

@ -1,25 +1,25 @@
{ stdenv, fetchFromGitHub { stdenv, fetchFromGitHub
, meson, ninja, pkgconfig, scdoc , meson, ninja, pkgconfig, scdoc
, wayland, wayland-protocols, wlroots, libxkbcommon, cairo, pango, gdk_pixbuf, pam , wayland, wayland-protocols, libxkbcommon, cairo, gdk_pixbuf, pam
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "swaylock-${version}"; name = "swaylock-${version}";
version = "1.2"; version = "1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "swaywm"; owner = "swaywm";
repo = "swaylock"; repo = "swaylock";
rev = version; rev = version;
sha256 = "1nqirrkkdhb6b2hc78ghi2yzblcx9jcgc9qwm1jvnk2iqwqbzclg"; sha256 = "093nv1y9wyg48rfxhd36qdljjry57v1vkzrlc38mkf6zvsq8j7wb";
}; };
nativeBuildInputs = [ meson ninja pkgconfig scdoc ]; nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
buildInputs = [ wayland wayland-protocols wlroots libxkbcommon cairo pango buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk_pixbuf pam ];
gdk_pixbuf pam
];
mesonFlags = "-Dsway-version=${version}"; # TODO: Should probably be swaylock-version mesonFlags = [ "-Dswaylock-version=${version}"
"-Dpam=enabled" "-Dgdk-pixbuf=enabled" "-Dman-pages=enabled"
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Screen locker for Wayland"; description = "Screen locker for Wayland";

View File

@ -964,6 +964,40 @@ rec {
packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
}; };
ubuntu1804i386 = {
name = "ubuntu-18.04-bionic-i386";
fullName = "Ubuntu 18.04 Bionic (i386)";
packagesLists =
[ (fetchurl {
url = mirror://ubuntu/dists/bionic/main/binary-i386/Packages.xz;
sha256 = "0f0v4131kwf7m7f8j3288rlqdxk1k3vqy74b7fcfd6jz9j8d840i";
})
(fetchurl {
url = mirror://ubuntu/dists/bionic/universe/binary-i386/Packages.xz;
sha256 = "1v75c0dqr0wp0dqd4hnci92qqs4hll8frqdbpswadgxm5chn91bw";
})
];
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
};
ubuntu1804x86_64 = {
name = "ubuntu-18.04-bionic-amd64";
fullName = "Ubuntu 18.04 Bionic (amd64)";
packagesLists =
[ (fetchurl {
url = mirror://ubuntu/dists/bionic/main/binary-amd64/Packages.xz;
sha256 = "1ls81bjyvmfz6i919kszl7xks1ibrh1xqhsk6698ackndkm0wp39";
})
(fetchurl {
url = mirror://ubuntu/dists/bionic/universe/binary-amd64/Packages.xz;
sha256 = "1832nqpn4ap95b3sj870xqayrza9in4kih9jkmjax27pq6x15v1r";
})
];
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" "libc-bin" ];
};
debian8i386 = { debian8i386 = {
name = "debian-8.11-jessie-i386"; name = "debian-8.11-jessie-i386";
fullName = "Debian 8.11 Jessie (i386)"; fullName = "Debian 8.11 Jessie (i386)";

View File

@ -0,0 +1,36 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "office-code-pro";
version = "1.004";
src = fetchFromGitHub {
owner = "nathco";
repo = "Office-Code-Pro";
rev = version;
sha256 = "0znmjjyn5q83chiafy252bhsmw49r2nx2ls2cmhjp4ihidfr6cmb";
};
installPhase = ''
fontDir=$out/share/fonts/opentype
docDir=$out/share/doc/${pname}-${version}
mkdir -p $fontDir $docDir
install -Dm644 README.md $docDir
install -t $fontDir -m644 'Fonts/Office Code Pro/OTF/'*.otf
install -t $fontDir -m644 'Fonts/Office Code Pro D/OTF/'*.otf
'';
meta = with stdenv.lib; {
description = "A customized version of Source Code Pro";
longDescription = ''
Office Code Pro is a customized version of Source Code Pro, the monospaced
sans serif originally created by Paul D. Hunt for Adobe Systems
Incorporated. The customizations were made specifically for text editors
and coding environments, but are still very usable in other applications.
'';
homepage = https://github.com/nathco/Office-Code-Pro;
license = licenses.ofl;
maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchzip }:
let
version = "0.37";
in fetchzip rec {
name = "sudo-font-${version}";
url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
sha256 = "16x6vs016wz6rmd4p248ri9fn35xq7r3dc8hv4w2c4rz1xl8c099";
postFetch = ''
mkdir -p $out/share/fonts/truetype/
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/
'';
meta = with stdenv.lib; {
description = "Font for programmers and command line users";
homepage = https://www.kutilek.de/sudo-font/;
license = licenses.ofl;
maintainers = with maintainers; [ dtzWill ];
platforms = platforms.all;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "papirus-icon-theme-${version}"; name = "papirus-icon-theme-${version}";
version = "20190106"; version = "20190203";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam"; owner = "PapirusDevelopmentTeam";
repo = "papirus-icon-theme"; repo = "papirus-icon-theme";
rev = version; rev = version;
sha256 = "0i5dmpqq65nipps800iijxd6krnvrdbnd6zrf7f145dg7r6hfk8p"; sha256 = "02vx8sqpd3rpcypjd99rqkci0fj1bcjznn46p660vpdddpadxya4";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];

View File

@ -1,6 +1,6 @@
{ fetchurl }: { fetchurl }:
fetchurl { fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/c400563a55894c34ae0d7dec415ac8994aa74aa0.tar.gz"; url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e95fefd56a6b8de585e92cd34de4870e31fb7bc7.tar.gz";
sha256 = "0mqgfw8sc0h4p031gcs4m3n6rbd31zrqx2lh1xgplhxldhw5gg8p"; sha256 = "08pzxwsc4incrl5mv8572xs9332206p2cw2mynxks33n7nh98vmx";
} }

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
let let
version = "20151214"; version = "20190116";
pname = "mobile-broadband-provider-info"; pname = "mobile-broadband-provider-info";
name = "${pname}-${version}"; name = "${pname}-${version}";
in in
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.xz";
sha256 = "1905nab1h8p4hx0m1w0rn4mkg9209x680dcr4l77bngy21pmvr4a"; sha256 = "16y5lc7pfdvai9c8xwb825zc3v46039gghbip13fqslf5gw11fic";
}; };
meta = { meta = {

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }: { stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "materia-theme-${version}"; pname = "materia-theme";
version = "20181125"; version = "20190201";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nana-4"; owner = "nana-4";
repo = "materia-theme"; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "17gsgll2m534lwvpffqisdmhhmn0da419wnpq39wv5cjnmk0q3by"; sha256 = "0al6d1ijrdzhia1nflyy178r1jszh82splv81cjpj8cyrq579r32";
}; };
nativeBuildInputs = [ gnome3.glib libxml2 bc ]; nativeBuildInputs = [ gnome3.glib libxml2 bc ];
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A Material Design theme for GNOME/GTK+ based desktop environments"; description = "Material Design theme for GNOME/GTK+ based desktop environments";
homepage = https://github.com/nana-4/materia-theme; homepage = https://github.com/nana-4/materia-theme;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;

View File

@ -0,0 +1,25 @@
{ stdenv, lib, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "1.6.0";
name = "arduino-mk-${version}";
src = fetchFromGitHub {
owner = "sudar";
repo = "Arduino-Makefile";
rev = "${version}";
sha256 = "0flpl97d2231gp51n3y4qvf3y1l8xzafi1sgpwc305vwc2h4dl2x";
};
phases = ["installPhase"];
installPhase = "ln -s $src $out";
meta = {
description = "Makefile for Arduino sketches";
homepage = https://github.com/sudar/Arduino-Makefile;
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.eyjhb ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation ( rec { stdenv.mkDerivation ( rec {
name = "ponyc-${version}"; name = "ponyc-${version}";
version = "0.25.0"; version = "0.26.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ponylang"; owner = "ponylang";
repo = "ponyc"; repo = "ponyc";
rev = version; rev = version;
sha256 = "0ghmjp03q7k58yzfkvnl05xc2i2gmgnzpj3hs6g7ls4ny8n3i6hv"; sha256 = "1k1ysqk7j8kpysndps2ic9hprvp0z0d32d6jvqlapjrfccghy7dh";
}; };
buildInputs = [ llvm makeWrapper which ]; buildInputs = [ llvm makeWrapper which ];

View File

@ -3,16 +3,16 @@
let let
# Note: the version MUST be one version prior to the version we're # Note: the version MUST be one version prior to the version we're
# building # building
version = "1.30.1"; version = "1.31.0";
# fetch hashes by running `print-hashes.sh 1.30.0` # fetch hashes by running `print-hashes.sh 1.31.0`
hashes = { hashes = {
i686-unknown-linux-gnu = "c61655977fb16decf0ceb76043b9ae2190927aa9cc24f013d444384dcab99bbf"; i686-unknown-linux-gnu = "46333e8feec55bc1f99fd03028370f6163ef1e33e483da0389a9c424ec9634ed";
x86_64-unknown-linux-gnu = "a01a493ed8946fc1c15f63e74fc53299b26ebf705938b4d04a388a746dfdbf9e"; x86_64-unknown-linux-gnu = "c8a2016109ffdc12a488660edc5f30c1643729efc15abe311ebb187437e506bf";
armv7-unknown-linux-gnueabihf = "9b3b6df02a2a92757e4993a7357fdd02e07b60101a748b4618e6ae1b90bc1b6b"; armv7-unknown-linux-gnueabihf = "60bb75649b457ad971e94dd14c666b59deeee2176b14ae0f98e2fa435c172c1e";
aarch64-unknown-linux-gnu = "6d87d81561285abd6c1987e07b60b2d723936f037c4b46eedcc12e8566fd3874"; aarch64-unknown-linux-gnu = "4e68c70aba58004d9e86c2b4463e88466affee51242349a038b456cf6f4be5c9";
i686-apple-darwin = "a7c14b18e96406d9f43d69d0f984b2fa6f92cc7b7b37e2bb7b70b6f44b02b083"; i686-apple-darwin = "ec8d08eeea97d78d37430e9b32511e87854aad502f4e3e77e806788246b36e6f";
x86_64-apple-darwin = "3ba1704a7defe3d9a6f0c1f68792c084da83bcba85e936d597bac0c019914b94"; x86_64-apple-darwin = "5d4035e3cecb7df13e728bcff125b52b43b126e91f8311c66b143f353362606f";
}; };
platform = platform =

View File

@ -10,8 +10,8 @@ rustPlatform.buildRustPackage rec {
inherit version src patches; inherit version src patches;
# the rust source tarball already has all the dependencies vendored, no need to fetch them again # the rust source tarball already has all the dependencies vendored, no need to fetch them again
cargoVendorDir = "src/vendor"; cargoVendorDir = "vendor";
preBuild = "cd src; pushd tools/cargo"; preBuild = "pushd src/tools/cargo";
postBuild = "popd"; postBuild = "popd";
passthru.rustc = rustc; passthru.rustc = rustc;
@ -23,10 +23,10 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ cacert file curl python openssl cmake zlib makeWrapper libgit2 ] buildInputs = [ cacert file curl python openssl cmake zlib makeWrapper libgit2 ]
++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ]; ++ stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv ];
LIBGIT2_SYS_USE_PKG_CONFIG=1; LIBGIT2_SYS_USE_PKG_CONFIG = 1;
# fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel # fixes: the cargo feature `edition` requires a nightly version of Cargo, but this is the `stable` channel
RUSTC_BOOTSTRAP=1; RUSTC_BOOTSTRAP = 1;
# FIXME: Use impure version of CoreFoundation because of missing symbols. # FIXME: Use impure version of CoreFoundation because of missing symbols.
# CFURLSetResourcePropertyForKey is defined in the headers but there's no # CFURLSetResourcePropertyForKey is defined in the headers but there's no

View File

@ -7,11 +7,11 @@
let let
rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
version = "1.31.0"; version = "1.32.0";
cargoVersion = "1.31.0"; cargoVersion = "1.32.0";
src = fetchurl { src = fetchurl {
url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
sha256 = "01pg2619bwjnhjbphryrbkwaz0lw8cfffm4xlz35znzipb04vmcs"; sha256 = "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac";
}; };
in rec { in rec {
rustc = callPackage ./rustc.nix { rustc = callPackage ./rustc.nix {
@ -22,11 +22,6 @@ in rec {
# Re-evaluate if this we need to disable this one # Re-evaluate if this we need to disable this one
#./patches/stdsimd-disable-doctest.patch #./patches/stdsimd-disable-doctest.patch
# Fails on hydra - not locally; the exact reason is unknown.
# Comments in the test suggest that some non-reproducible environment
# variables such $RANDOM can make it fail.
./patches/disable-test-inherit-env.patch
]; ];
withBundledLLVM = false; withBundledLLVM = false;

View File

@ -1,10 +0,0 @@
--- rustc-1.26.2-src.org/src/libstd/process.rs 2018-06-01 21:40:11.000000000 +0100
+++ rustc-1.26.2-src/src/libstd/process.rs 2018-06-08 07:50:23.023828658 +0100
@@ -1745,6 +1745,7 @@
}
#[test]
+ #[ignore]
fn test_inherit_env() {
use env;

View File

@ -1,6 +1,6 @@
{ stdenv, targetPackages, removeReferencesTo { stdenv, targetPackages, removeReferencesTo
, fetchurl, fetchgit, fetchzip, file, python2, tzdata, ps , fetchurl, fetchgit, fetchzip, file, python2, tzdata, ps
, llvm, jemalloc, ncurses, darwin, rustPlatform, git, cmake, curl , llvm, ncurses, darwin, rustPlatform, git, cmake, curl
, which, libffi, gdb , which, libffi, gdb
, version , version
, withBundledLLVM ? false , withBundledLLVM ? false
@ -20,8 +20,6 @@ let
llvmShared = llvm.override { enableSharedLibraries = true; }; llvmShared = llvm.override { enableSharedLibraries = true; };
prefixedJemalloc = jemalloc.override { stripPrefix = false; };
target = builtins.replaceStrings [" "] [","] (builtins.toString targets); target = builtins.replaceStrings [" "] [","] (builtins.toString targets);
in in
@ -62,7 +60,6 @@ stdenv.mkDerivation {
configureFlags = configureFlags configureFlags = configureFlags
++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath"
"--enable-vendor" "--enable-vendor"
"--jemalloc-root=${prefixedJemalloc}/lib"
"--default-linker=${targetPackages.stdenv.cc}/bin/cc" ] "--default-linker=${targetPackages.stdenv.cc}/bin/cc" ]
++ optional (!withBundledLLVM) [ "--enable-llvm-link-shared" "--llvm-root=${llvmShared}" ] ++ optional (!withBundledLLVM) [ "--enable-llvm-link-shared" "--llvm-root=${llvmShared}" ]
++ optional (targets != []) "--target=${target}"; ++ optional (targets != []) "--target=${target}";
@ -85,7 +82,6 @@ stdenv.mkDerivation {
patchShebangs src/etc patchShebangs src/etc
${optionalString (!withBundledLLVM) ''rm -rf src/llvm''} ${optionalString (!withBundledLLVM) ''rm -rf src/llvm''}
rm -rf src/jemalloc
# Fix the configure script to not require curl as we won't use it # Fix the configure script to not require curl as we won't use it
sed -i configure \ sed -i configure \
@ -97,7 +93,7 @@ stdenv.mkDerivation {
# https://github.com/rust-lang/rust/issues/39522 # https://github.com/rust-lang/rust/issues/39522
echo removing gdb-version-sensitive tests... echo removing gdb-version-sensitive tests...
find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete find src/test/debuginfo -type f -execdir grep -q ignore-gdb-version '{}' \; -print -delete
rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,gdb-pretty-struct-and-enums-pre-gdb-7-7.rs,generic-enum-with-different-disr-sizes.rs} rm src/test/debuginfo/{borrowed-c-style-enum.rs,c-style-enum-in-composite.rs,generic-enum-with-different-disr-sizes.rs}
# Useful debugging parameter # Useful debugging parameter
# export VERBOSE=1 # export VERBOSE=1

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