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";
name = "Edmund Wu";
};
eamsden = {
email = "edward@blackriversoft.com";
github = "eamsden";
name = "Edward Amsden";
};
earldouglas = {
email = "james@earldouglas.com";
github = "earldouglas";
@ -1500,6 +1505,11 @@
github = "expipiplus1";
name = "Joe Hermaszewski";
};
eyjhb = {
email = "eyjhbb@gmail.com";
github = "eyJhb";
name = "eyJhb";
};
f--t = {
email = "git@f-t.me";
github = "f--t";
@ -3485,6 +3495,11 @@
github = "pesterhazy";
name = "Paulus Esterhazy";
};
petabyteboy = {
email = "me@pbb.lc";
github = "petabyteboy";
name = "Milan Pässler";
};
peterhoeg = {
email = "peter@hoeg.com";
github = "peterhoeg";
@ -5156,4 +5171,9 @@
github = "mredaelli";
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.
</para>
</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>
<para>
The httpd service now saves log files with a .log file extension by default for
@ -471,6 +476,21 @@
</para>
</note>
</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>
</section>
</section>

View File

@ -339,11 +339,11 @@ let
# dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i)
''
mkdir ./contents && cd ./contents
cp -rp "${efiDir}"/* .
cp -rp "${efiDir}"/EFI .
mkdir ./boot
cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \
"${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:]')
# 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"
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"
mcopy -psvm -i "$out" ./* ::
mcopy -psvm -i "$out" ./EFI ./boot ::
# Verify the FAT partition.
${pkgs.dosfstools}/sbin/fsck.vfat -vn "$out"
''; # */

View File

@ -340,6 +340,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
chomp $fs;
my @fields = split / /, $fs;
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;
my @mountOptions = split /,/, $fields[5];
@ -355,6 +357,8 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
my $fsType = $fields[$n];
my $device = $fields[$n + 1];
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.
next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions);

View File

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

View File

@ -4,8 +4,41 @@ with lib;
let
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 = {
services.minecraft-server = {
@ -13,10 +46,32 @@ in
type = types.bool;
default = false;
description = ''
If enabled, start a Minecraft Server. The listening port for
the server is always <literal>25565</literal>. The server
If enabled, start a Minecraft Server. The server
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;
default = "/var/lib/minecraft";
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;
default = false;
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 {
type = types.str;
type = types.separatedString " ";
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 {
users.users.minecraft = {
description = "Minecraft Server Service user";
description = "Minecraft server service user";
home = cfg.dataDir;
createHome = true;
uid = config.ids.uids.minecraft;
@ -57,17 +175,60 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig.Restart = "always";
serviceConfig.User = "minecraft";
script = ''
cd ${cfg.dataDir}
exec ${pkgs.minecraft-server}/bin/minecraft-server ${cfg.jvmOpts}
'';
serviceConfig = {
ExecStart = "${cfg.package}/bin/minecraft-server ${cfg.jvmOpts}";
Restart = "always";
User = "minecraft";
WorkingDirectory = cfg.dataDir;
};
preStart = ''
ln -sf ${eulaFile} eula.txt
'' + (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 {
allowedUDPPorts = [ 25565 ];
allowedTCPPorts = [ 25565 ];
};
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 = {
after = [ "network.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 = {
Type = "simple";
User = cfg.user;

View File

@ -6,9 +6,18 @@ let
cfg = config.services.home-assistant;
# cfg.config != null can be assumed here
configFile = pkgs.writeText "configuration.json"
configJSON = pkgs.writeText "configuration.json"
(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;
@ -45,6 +54,8 @@ let
defaultConfig = {
homeassistant.time_zone = config.time.timeZone;
http.server_port = (toString cfg.port);
} // optionalAttrs (cfg.lovelaceConfig != null) {
lovelace.mode = "yaml";
};
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 {
default = pkgs.home-assistant;
defaultText = "pkgs.home-assistant";
@ -144,12 +202,17 @@ in {
systemd.services.home-assistant = {
description = "Home Assistant";
after = [ "network.target" ];
preStart = lib.optionalString (cfg.config != null) ''
config=${cfg.configDir}/configuration.yaml
rm -f $config
${pkgs.remarshal}/bin/json2yaml -i ${configFile} -o $config
chmod 444 $config
'';
preStart = optionalString (cfg.config != null) (if cfg.configWritable then ''
cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
'' else ''
rm -f "${cfg.configDir}/configuration.yaml"
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 = {
ExecStart = "${package}/bin/hass --config '${cfg.configDir}'";
User = "hass";

View File

@ -30,6 +30,13 @@ let
${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";
unpackPlugin = unpack "plugin";
unpack = id: (name: source:
@ -54,12 +61,20 @@ in
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 {
type = types.package;
default = pkgs.redmine;
default = if versionAtLeast config.system.stateVersion "19.03"
then pkgs.redmine_4
else pkgs.redmine
;
defaultText = "pkgs.redmine";
description = "Which Redmine package to use.";
example = "pkgs.redmine.override { ruby = pkgs.ruby_2_3; }";
description = ''
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 {
@ -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 {
type = types.attrsOf types.path;
default = {};
@ -249,6 +277,9 @@ in
# link in the application configuration
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
rm -rf "${cfg.stateDir}/public/themes/"*

View File

@ -4,7 +4,7 @@
# TODO: LWP/Pg perl libs aren't recognized
# 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-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
# https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum
@ -24,6 +24,8 @@ let
logdir /var/log/munin
rundir /run/munin
${lib.optionalString (cronCfg.extraCSS != "") "staticdir ${customStaticDir}"}
${cronCfg.extraGlobalConfig}
${cronCfg.hosts}
@ -63,6 +65,11 @@ let
[ipmi*]
user root
group root
[munin*]
env.UPDATE_STATSFILE /var/lib/munin/munin-update.stats
${nodeCfg.extraPluginConfig}
'';
pluginConfDir = pkgs.stdenv.mkDerivation {
@ -72,6 +79,54 @@ let
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
{
@ -82,11 +137,12 @@ in
enable = mkOption {
default = false;
type = types.bool;
description = ''
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.
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;
description = ''
<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 = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Enable munin-cron. Takes care of all heavy lifting to collect data from
nodes and draws graphs to html. Runs munin-update, munin-limits,
@ -119,11 +265,12 @@ in
extraGlobalConfig = mkOption {
default = "";
type = types.lines;
description = ''
<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
<link xlink:href='http://munin-monitoring.org/wiki/HowToContact' />
<link xlink:href='http://guide.munin-monitoring.org/en/latest/tutorial/alert.html' />
'';
example = ''
contact.email.command mail -s "Munin notification for ''${var:host}" someone@example.com
@ -131,14 +278,34 @@ in
};
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 = ''
[''${config.networking.hostName}]
address localhost
'';
};
extraCSS = mkOption {
default = "";
type = types.lines;
description = ''
Definitions of hosts of nodes to collect data from. Needs at least one
hosts for cron to succeed. See
<link xlink:href='http://munin-monitoring.org/wiki/munin.conf' />
Custom styling for the HTML that munin-cron generates. This will be
appended to the CSS files used by munin-cron and will thus take
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";
group = "munin";
uid = config.ids.uids.munin;
home = "/var/lib/munin";
}];
users.groups = [{
@ -173,14 +341,27 @@ in
environment.MUNIN_PLUGSTATE = "/run/munin";
environment.MUNIN_LOGDIR = "/var/log/munin";
preStart = ''
echo "updating munin plugins..."
echo "Updating munin plugins..."
mkdir -p /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
# NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak)
rm /etc/munin/plugins/diskstats || true
# Autoconfigure extra plugins
${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 = {
ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}";
@ -192,6 +373,10 @@ in
}) (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 = {
description = "batch Munin master programs";
wantedBy = [ "timers.target" ];

View File

@ -5,43 +5,163 @@ with lib;
let
cfg = config.services.ndppd;
configFile = pkgs.runCommand "ndppd.conf" {} ''
substitute ${pkgs.ndppd}/etc/ndppd.conf $out \
--replace eth0 ${cfg.interface} \
--replace 1111:: ${cfg.network}
'';
in {
options = {
services.ndppd = {
enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
render = s: f: concatStringsSep "\n" (mapAttrsToList f s);
prefer = a: b: if a != null then a else b;
ndppdConf = prefer cfg.configFile (pkgs.writeText "ndppd.conf" ''
route-ttl ${toString cfg.routeTTL}
${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 = {
interface = mkOption {
type = types.string;
default = "eth0";
example = "ens3";
description = "Interface which is on link-level with router.";
};
network = mkOption {
type = types.string;
default = "1111::";
example = "2001:DB8::/32";
description = "Network that we proxy.";
};
configFile = mkOption {
type = types.nullOr types.path;
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;
description = "Path to configuration file.";
};
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";
interface = mkOption {
type = types.nullOr types.str;
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 {
type = types.nullOr types.str;
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 {
type = types.nullOr types.path;
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 {
systemd.packages = [ pkgs.ndppd ];
environment.etc."ndppd.conf".source = if (cfg.configFile != null) then cfg.configFile else configFile;
warnings = mkIf (cfg.interface != null && cfg.network != null) [ ''
The options services.ndppd.interface and services.ndppd.network will probably be removed soon,
please use services.ndppd.proxies.<interface>.rules.<network> instead.
'' ];
services.ndppd.proxies = mkIf (cfg.interface != null && cfg.network != null) {
"${cfg.interface}".rules."${cfg.network}" = {};
};
systemd.services.ndppd = {
serviceConfig.RuntimeDirectory = [ "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}";
};
};
meta.maintainers = with maintainers; [ gnidorah ];
}

View File

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

View File

@ -6,12 +6,14 @@ let
dmcfg = config.services.xserver.displayManager;
ldmcfg = dmcfg.lightdm;
xcfg = config.services.xserver;
cfg = ldmcfg.greeters.gtk;
inherit (pkgs) writeText;
theme = cfg.theme.package;
icons = cfg.iconTheme.package;
cursors = cfg.cursorTheme.package;
# 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
@ -28,7 +30,8 @@ let
--set GTK_EXE_PREFIX "${theme}" \
--set GTK_DATA_PREFIX "${theme}" \
--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
[Desktop Entry]
@ -44,9 +47,12 @@ let
[greeter]
theme-name = ${cfg.theme.name}
icon-theme-name = ${cfg.iconTheme.name}
cursor-theme-name = ${cfg.cursorTheme.name}
cursor-theme-size = ${toString cfg.cursorTheme.size}
background = ${ldmcfg.background}
${optionalString (cfg.clock-format != null) "clock-format = ${cfg.clock-format}"}
${optionalString (cfg.indicators != null) "indicators = ${concatStringsSep ";" cfg.indicators}"}
${optionalString (xcfg.dpi != null) "xft-dpi=${toString xcfg.dpi}"}
${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 {
type = types.nullOr types.str;
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.";
};
options.blkDev = mkOption {
blkDev = mkOption {
default = null;
example = "/dev/sda1";
type = types.nullOr types.str;
description = "Location of the backing encrypted device.";
};
options.label = mkOption {
label = mkOption {
default = null;
example = "rootfs";
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.";
};
options.keyFile = mkOption {
keyFile = mkOption {
default = null;
example = "/mnt-root/root/.swapkey";
type = types.nullOr types.str;

View File

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

View File

@ -129,6 +129,7 @@ in
matrix-synapse = handleTest ./matrix-synapse.nix {};
memcached = handleTest ./memcached.nix {};
mesos = handleTest ./mesos.nix {};
minio = handleTest ./minio.nix {};
misc = handleTest ./misc.nix {};
mongodb = handleTest ./mongodb.nix {};
morty = handleTest ./morty.nix {};
@ -142,6 +143,7 @@ in
nat.firewall = handleTest ./nat.nix { withFirewall = true; };
nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; };
nat.standalone = handleTest ./nat.nix { withFirewall = false; };
ndppd = handleTest ./ndppd.nix {};
neo4j = handleTest ./neo4j.nix {};
netdata = handleTest ./netdata.nix {};
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");
# The config is specified using a Nix attribute set,
# but then converted from JSON to YAML
$hass->succeed("test -f ${configDir}/configuration.yaml");
# converted from JSON to YAML, and linked to the config dir
$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
$hass->waitForOpenPort(8123);

View File

@ -15,9 +15,7 @@ import ./make-test.nix ({ pkgs, ...} : {
munin-node = {
enable = true;
# disable a failing plugin to prevent irrelevant error message, see #23049
extraConfig = ''
ignore_file ^apc_nis$
'';
disabledPlugins = [ "apc_nis" ];
};
munin-cron = {
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;
let
postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs pkgs;
postgresql-versions = import ../../pkgs/servers/sql/postgresql pkgs;
test-sql = pkgs.writeText "postgresql-test" ''
CREATE EXTENSION pgcrypto; -- just to check if lib loading works
CREATE TABLE sth (
@ -67,12 +67,7 @@ let
};
in
(mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // (
# just pick one version for the dump all test
let
first = head (attrNames postgresql-versions);
name = "${first}-backup-all";
in {
${name} = make-postgresql-test name postgresql-versions.${first} true;
}
)
(mapAttrs' (name: package: { inherit name; value=make-postgresql-test name package false;}) postgresql-versions) // {
postgresql_11-backup-all = make-postgresql-test "postgresql_11-backup-all" postgresql-versions.postgresql_11 true;
}

View File

@ -1,40 +1,58 @@
import ./make-test.nix ({ pkgs, lib, ... }:
{ system ? builtins.currentSystem,
config ? {},
pkgs ? import ../.. { inherit system config; }
}:
with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib;
let
redmineTest = package: makeTest {
machine =
{ config, pkgs, ... }:
{ services.mysql.enable = true;
services.mysql.package = pkgs.mariadb;
services.mysql.ensureDatabases = [ "redmine" ];
services.mysql.ensureUsers = [
{ name = "redmine";
ensurePermissions = { "redmine.*" = "ALL PRIVILEGES"; };
}
];
services.redmine.enable = true;
services.redmine.package = package;
services.redmine.database.socket = "/run/mysqld/mysqld.sock";
services.redmine.plugins = {
redmine_env_auth = pkgs.fetchurl {
url = https://github.com/Intera/redmine_env_auth/archive/0.7.zip;
sha256 = "1xb8lyarc7mpi86yflnlgyllh9hfwb9z304f19dx409gqpia99sc";
};
};
services.redmine.themes = {
dkuk-redmine_alex_skin = pkgs.fetchurl {
url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip;
sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl";
};
};
};
testScript = ''
startAll;
$machine->waitForUnit('redmine.service');
$machine->waitForOpenPort('3000');
$machine->succeed("curl --fail http://localhost:3000/");
'';
};
in
{
name = "redmine";
meta.maintainers = [ lib.maintainers.aanderse ];
redmine_3 = redmineTest pkgs.redmine // {
name = "redmine_3";
meta.maintainers = [ maintainers.aanderse ];
};
machine =
{ config, pkgs, ... }:
{ services.mysql.enable = true;
services.mysql.package = pkgs.mariadb;
services.mysql.ensureDatabases = [ "redmine" ];
services.mysql.ensureUsers = [
{ name = "redmine";
ensurePermissions = { "redmine.*" = "ALL PRIVILEGES"; };
}
];
services.redmine.enable = true;
services.redmine.database.socket = "/run/mysqld/mysqld.sock";
services.redmine.plugins = {
redmine_env_auth = pkgs.fetchurl {
url = https://github.com/Intera/redmine_env_auth/archive/0.6.zip;
sha256 = "0yyr1yjd8gvvh832wdc8m3xfnhhxzk2pk3gm2psg5w9jdvd6skak";
};
};
services.redmine.themes = {
dkuk-redmine_alex_skin = pkgs.fetchurl {
url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip;
sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl";
};
};
};
testScript = ''
startAll;
$machine->waitForUnit('redmine.service');
$machine->waitForOpenPort('3000');
$machine->succeed("curl --fail http://localhost:3000/");
'';
})
redmine_4 = redmineTest pkgs.redmine_4 // {
name = "redmine_4";
meta.maintainers = [ maintainers.aanderse ];
};
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -9,7 +9,7 @@
let
pname = "kdevelop";
version = "5.2.4";
version = "5.3.1";
qtVersion = "5.${lib.versions.minor qtbase.version}";
in
mkDerivation rec {
@ -17,7 +17,7 @@ mkDerivation rec {
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "1jbks7nh9rybz4kg152l39hfj2x0p6mjins8x9mz03bbv8jf8gic";
sha256 = "1098ra7qpal6578hsv20kvxc63v47sp85wjhqr5rgzr2fm7jf6fr";
};
nativeBuildInputs = [
@ -37,6 +37,12 @@ mkDerivation rec {
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 = ''
# The kdevelop! script (shell environment) needs qdbus and kioclient5 in PATH.
wrapProgram "$out/bin/kdevelop!" \

View File

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

View File

@ -5,7 +5,7 @@
}:
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
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags pkgconfig
@ -35,14 +35,15 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://qgis.org/downloads/${name}.tar.bz2";
sha256 = "00b3a2hfn3i7bdx7x96vz2nj0976vpkhid4ss7n8c33fdvw3k82a";
sha256 = "18pijqls1isd2bpg0mkrw07jqvdfaiwwb9mvz7p2xrgqcjx7dxsq";
};
patches = [
# https://github.com/qgis/QGIS/pull/7765
# already merged upstream in QGIS-3.*, but needs to be backported to QGIS-2
(fetchpatch {
url = "https://github.com/qgis/QGIS/commit/6b61ef361a77f057dc29eb07463007bd9012b253.patch";
sha256 = "1xibcahm18n7nxff1xvwwzjf505hvhiw5dk12is7aclv49h0rdf7";
url = "https://patch-diff.githubusercontent.com/raw/qgis/QGIS/pull/7263.patch";
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 }:
stdenv.mkDerivation rec {
name = "chirp-daily-${version}";
version = "20181018";
pname = "chirp-daily";
version = "20190201";
src = fetchurl {
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
sha256 = "0jd7xi6q09b3djn1k7pj1sbqvw24kn7dcp9r6abvxily4pc1xhdr";
url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${pname}-${version}.tar.gz";
sha256 = "1ag3qzdq39zhpagviq9gpwk4y3h11z0j40nccsnhlq8h8bxpvwlf";
};
nativeBuildInputs = [ makeWrapper ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, glib, gtk2, pkgconfig, hamlib }:
stdenv.mkDerivation rec {
name = "xlog-${version}";
version = "2.0.15";
pname = "xlog";
version = "2.0.17";
src = fetchurl {
url = "https://download.savannah.gnu.org/releases/xlog/${name}.tar.gz";
sha256 = "0an883wqw3zwpw8nqinm9cb17hp2xw9vf603k4l2345p61jqdw2j";
url = "https://download.savannah.gnu.org/releases/xlog/${pname}-${version}.tar.gz";
sha256 = "0vmn8518zk7qk1mbp1h8dm0f8fx0z0jvmy42c1n15il714lj7vsl";
};
buildInputs = [ glib pkgconfig gtk2 hamlib ];
@ -18,12 +18,11 @@ stdenv.mkDerivation rec {
and EDI (ARRL VHF/UHF contest format) and can import twlog, editest and OH1AA logbook files.
Xlog is able to do DXCC lookups and will display country information, CQ and ITU zone,
location in latitude and longitude and distance and heading in kilometers or miles,
both for short and long path.
both for short and long path.
'';
homepage = https://www.nongnu.org/xlog;
maintainers = [ maintainers.mafo ];
license = licenses.gpl3;
platforms = platforms.unix;
};
}

View File

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

View File

@ -1,11 +1,6 @@
{ stdenv, fetchFromGitHub, fetchurl, gzip, ... }:
{ stdenv, fetchFromGitHub, fetchurl, gzip }:
let
serviceFile = fetchurl {
url = "https://raw.githubusercontent.com/DanielAdolfsson/ndppd/f37e8eb33dc68b3385ecba9b36a5efd92755580f/ndppd.service";
sha256 = "1zf54pzjfj9j9gr48075njqrgad4myd3dqmhvzxmjy4gjy9ixmyh";
};
in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
name = "ndppd-${version}";
version = "0.2.5";
@ -27,11 +22,6 @@ in stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $out/etc
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 = {

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 {
pname = "qownnotes";
version = "19.1.8";
version = "19.2.0";
src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Can grab official version like so:
# $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
sha256 = "873ed9e3a711bc19744a13b98ac5cb3659bd97e753c7e089fbc49bd044cec4fb";
sha256 = "0n60cnzdfvwn126k8mh5m3wms9avjrnzfrpsvyfhg6l7vm6sbhdi";
};
nativeBuildInputs = [ qmake qttools ];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,19 +3,17 @@
stdenv.mkDerivation rec {
name = "gitlab-workhorse-${version}";
version = "7.6.0";
version = "8.0.1";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-workhorse";
rev = "v${version}";
sha256 = "13wr2az3bp6qnb05505sb5qn0fl2syaclc40dwjcdwwmhaalj2m4";
sha256 = "1aslcadag1q2rdirf9m0dl5vfaz8v3yy1232mvyjyvy1wb51pf4q";
};
buildInputs = [ git go ];
patches = [ ./remove-hardcoded-paths.patch ];
makeFlags = [ "PREFIX=$(out)" "VERSION=${version}" ];
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'
gem 'rails', gem_versions['rails']
gem 'rails', '5.0.7.1'
gem 'rails-deprecated_sanitizer', '~> 1.0.3'
# Improves copy-on-write performance for MRI
@ -28,11 +12,7 @@ gem 'responders', '~> 2.0'
gem 'sprockets', '~> 3.7.0'
# Default values for AR models
if rails5?
gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
else
gem 'default_value_for', '~> 3.0.0'
end
gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
# Supported DBs
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-github', '~> 1.3'
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-oauth2-generic', '~> 0.2.2'
gem 'omniauth-saml', '~> 1.10'
@ -63,7 +43,7 @@ gem 'omniauth-twitter', '~> 1.4'
gem 'omniauth_crowd', '~> 2.2.0'
gem 'omniauth-authentiq', '~> 0.3.3'
gem 'rack-oauth2', '~> 1.2.1'
gem 'jwt', '~> 1.5.6'
gem 'jwt', '~> 2.1.0'
# Spam and anti-bot protection
gem 'recaptcha', '~> 3.0', require: 'recaptcha/rails'
@ -77,6 +57,7 @@ gem 'u2f', '~> 0.2.1'
# GitLab Pages
gem 'validates_hostname', '~> 1.0.6'
gem 'rubyzip', '~> 1.2.2', require: 'zip'
# Browser detection
gem 'browser', '~> 2.5'
@ -109,9 +90,7 @@ gem 'kaminari', '~> 1.0'
gem 'hamlit', '~> 2.8.8'
# Files attachments
# Locked until https://github.com/carrierwaveuploader/carrierwave/pull/2332/files is merged.
# config/initializers/carrierwave_patch.rb can be removed once that change is released.
gem 'carrierwave', '= 1.2.3'
gem 'carrierwave', '~> 1.3'
gem 'mini_magick'
# for backups
@ -149,7 +128,7 @@ gem 'asciidoctor-plantuml', '0.0.8'
gem 'rouge', '~> 3.1'
gem 'truncato', '~> 0.7.9'
gem 'bootstrap_form', '~> 2.7.0'
gem 'nokogiri', '~> 1.8.2'
gem 'nokogiri', '~> 1.8.5'
gem 'escape_utils', '~> 1.1'
# Calendar rendering
@ -159,7 +138,10 @@ gem 'icalendar'
gem 'diffy', '~> 3.1.0'
# 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
gem 'unicorn', '~> 5.1.0'
@ -278,6 +260,7 @@ gem 'webpack-rails', '~> 0.9.10'
gem 'rack-proxy', '~> 0.6.0'
gem 'sass-rails', '~> 5.0.6'
gem 'sass', '~> 3.5'
gem 'uglifier', '~> 2.7.2'
gem 'addressable', '~> 2.5.2'
@ -297,7 +280,7 @@ gem 'premailer-rails', '~> 1.9.7'
# I18n
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_js', '~> 1.3'
gem 'gettext', '~> 3.2.2', require: false, group: :development
@ -307,7 +290,7 @@ gem 'batch-loader', '~> 1.2.2'
# Perf bar
gem 'peek', '~> 1.0.1'
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-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0'
@ -340,13 +323,13 @@ end
group :development, :test do
gem 'bootsnap', '~> 1.3'
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 'awesome_print', require: false
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 'rspec-rails', '~> 3.7.0'
gem 'rspec-retry', '~> 0.4.5'
@ -355,13 +338,13 @@ group :development, :test do
gem 'rspec-parameterized', require: false
# 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
gem 'ffaker', '~> 2.10'
gem 'capybara', '~> 2.15'
gem 'capybara-screenshot', '~> 1.0.0'
gem 'capybara', '~> 2.16.1'
gem 'capybara-screenshot', '~> 1.0.18'
gem 'selenium-webdriver', '~> 3.12'
gem 'spring', '~> 2.0.0'
@ -382,7 +365,7 @@ group :development, :test do
gem 'license_finder', '~> 5.4', require: false
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
@ -396,8 +379,7 @@ group :test do
gem 'email_spec', '~> 2.2.0'
gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 2.3.2'
gem 'rails-controller-testing' if rails5? # Rails5 only gem.
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 'rails-controller-testing'
gem 'sham_rack', '~> 1.3.6'
gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 0.2.5'
@ -435,7 +417,7 @@ group :ed25519 do
end
# 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 'google-protobuf', '~> 3.6'

View File

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

View File

@ -19,64 +19,64 @@
dependencies = ["actionpack" "nio4r" "websocket-driver"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0b2znw81zf11f7kqyks80ha4sb4aiqrs1mia0jnf3xfn5zgx28y0";
sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0d9f3kwk1z3p6sa9d8vl7yqa689ihm24cy7lp4h6v478dbr156sz";
sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15nin3f817dpkjlw94sh4rsvayqy4z6ij7fak82wqdqv5mcd9q08";
sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
actionview = {
dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12vvq439jjj4byhkvckrk7ap4krrfsbpw54n5xxfwh7fr5y0087b";
sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
activejob = {
dependencies = ["activesupport" "globalid"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mdqdgwmcx28jznc5mfmqzz42y03mx6i6fs6m4nka0ic61rmp8g8";
sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
activemodel = {
dependencies = ["activesupport"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11ycnzi32cd92ylxhqwqfchqk3m7y9z7sfiyf8b7830lzfxv2dgy";
sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
activerecord = {
dependencies = ["activemodel" "activesupport" "arel"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ri32lhmmd4waphpynwj53ysy9xlhx743lnlsnp8l499kvarqd66";
sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
activerecord_sane_schema_dumper = {
dependencies = ["rails"];
@ -91,10 +91,10 @@
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1yx73l984y3ri5ndj37l1dfarcdvbhra7vhz9fcww4za24is95d5";
sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
acts-as-taggable-on = {
dependencies = ["activerecord"];
@ -367,37 +367,37 @@
byebug = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0";
sha256 = "1vv7s88w8jb1qg4qz3jrs3x3y5d9jfyyl7wfiz78b5x95ydvx41q";
type = "gem";
};
version = "9.0.6";
version = "9.1.0";
};
capybara = {
dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "xpath"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bahhwrd1rpfhci1x57yz0df9plziipljbw3p4k6mlash4wq6w92";
sha256 = "0hkl6p07gf29952biv07fy88vjz46ng2h37wwx5ks0mk9kn8vvvf";
type = "gem";
};
version = "2.15.1";
version = "2.16.1";
};
capybara-screenshot = {
dependencies = ["capybara" "launchy"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1xy79lf3rwn3602r4hqm9s8a03bhlf6hzwdi6345dzrkmhwwj2ij";
sha256 = "1x90lh7nf3zi54arjf430s9xdxr3c12xjq1l28izgxqdk8s40q7q";
type = "gem";
};
version = "1.0.14";
version = "1.0.22";
};
carrierwave = {
dependencies = ["activemodel" "activesupport" "mime-types"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k9kla5ncygm97vn33lsrs7ch5zy4qqhhvc8m3khm986yaqh75qs";
sha256 = "10rz94kajilffp83sb767lr62b5f8l4jzqq80cr92wqxdgbszdks";
type = "gem";
};
version = "1.2.3";
version = "1.3.1";
};
cause = {
source = {
@ -562,10 +562,10 @@
database_cleaner = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj";
sha256 = "05i0nf2aj70m61y3fspypdkc6d1qgibf5kav05a71b5gjz0k7y5x";
type = "gem";
};
version = "1.5.3";
version = "1.7.0";
};
debug_inspector = {
source = {
@ -1085,10 +1085,10 @@
dependencies = ["grpc"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17fg29j089k94ssim9hfzpd5lycvhimbpvz12d73ywrbwz7a7680";
sha256 = "1p7c63saysp4ixj08kxrk5c4n94d6zala9wl1fxg7vx8nd84b2c0";
type = "gem";
};
version = "1.3.0";
version = "1.5.0";
};
github-markup = {
source = {
@ -1427,10 +1427,10 @@
dependencies = ["concurrent-ruby"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr";
type = "gem";
};
version = "1.1.1";
version = "1.2.0";
};
icalendar = {
source = {
@ -1520,10 +1520,10 @@
jwt = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "124zz1142bi2if7hl5pcrcamwchv4icyr5kaal9m2q6wqbdl6aw4";
sha256 = "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky";
type = "gem";
};
version = "1.5.6";
version = "2.1.0";
};
kaminari = {
dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
@ -1661,10 +1661,10 @@
dependencies = ["mini_mime"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10dyifazss9mgdzdv08p47p344wmphp5pkh5i73s7c04ra8y6ahz";
sha256 = "00wwz6ys0502dpk8xprwcqfwyf3hmnx6lgxaiq6vj43mkx43sapc";
type = "gem";
};
version = "2.7.0";
version = "2.7.1";
};
mail_room = {
source = {
@ -1751,10 +1751,10 @@
minitest = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0rxqfakp629mp3vwda7zpgb57lcns5znkskikbfd0kriwv8i1vq8";
sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
type = "gem";
};
version = "5.7.0";
version = "5.11.3";
};
msgpack = {
source = {
@ -1891,10 +1891,10 @@
dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "094hmmfms8vpm6nwglpl7jmlv85nlfzl0kik4fizgx1rg70a6mr5";
sha256 = "0av6nlb5y2sm6m8fx669ywrqa9858yqaqfqzny75nqp3anag89qh";
type = "gem";
};
version = "1.4.0";
version = "1.4.1";
};
octokit = {
dependencies = ["sawyer"];
@ -1909,10 +1909,10 @@
dependencies = ["hashie" "rack"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1msqr4qq7mfdvl3rg89529isrv595hvjpj2gi0say4b8nwqfggmg";
sha256 = "1p16h1rp8by05k8gfw17xjhgwp60dk8qmj1xalv1n23kmxfsxb1x";
type = "gem";
};
version = "1.8.1";
version = "1.9.0";
};
omniauth-auth0 = {
dependencies = ["omniauth-oauth2"];
@ -1936,10 +1936,10 @@
dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ck5616fjik0dw89xvak1mi8ijcv10lsh6n9h4107l5dys2g3jfx";
sha256 = "1a3iqy63l1jd6na4y0bj4a8mlp7gcn3a0awnz9g79fa8n4v2g8n4";
type = "gem";
};
version = "0.0.9";
version = "0.0.10";
};
omniauth-cas3 = {
dependencies = ["addressable" "nokogiri" "omniauth"];
@ -1981,10 +1981,10 @@
dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rvdac08vgrxcblq8w2hqj080v2cwv3cigxdzs11gz4d538zjnym";
sha256 = "03v2gqpsbdhkqaxhvzr83za885awm6pgskv3mkyfvang7mr321df";
type = "gem";
};
version = "0.5.3";
version = "0.6.0";
};
omniauth-kerberos = {
dependencies = ["omniauth-multipassword" "timfel-krb5-auth"];
@ -2017,10 +2017,10 @@
dependencies = ["oauth2" "omniauth"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kscjf1y0lnggsl4z3w5bwllqshqjlsl5kmcya5haydajdnzvdjr";
sha256 = "11mi36l9d97r77q99jnafdc1yaa0a9wahhpp7dj7ank8q52g7g79";
type = "gem";
};
version = "1.5.0";
version = "1.6.0";
};
omniauth-oauth2-generic = {
dependencies = ["omniauth-oauth2"];
@ -2136,13 +2136,13 @@
version = "0.0.2";
};
peek-mysql2 = {
dependencies = ["atomic" "mysql2" "peek"];
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "mysql2" "peek"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bb2fzx3dwj7k6sc87jwhjk8vzp8dskv49j141xx15vvkg603j8k";
sha256 = "0avmwm3yw0kx0z8gh4cpqj79jb5aicd0h3yzrcdfpzwks56h1k9z";
type = "gem";
};
version = "1.1.0";
version = "1.2.0";
};
peek-pg = {
dependencies = ["concurrent-ruby" "concurrent-ruby-ext" "peek" "pg"];
@ -2252,10 +2252,10 @@
dependencies = ["byebug" "pry"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0g820bqmlq8vvh78895zgrzgmj3g6n63px7cba11s02lpz56630n";
sha256 = "1f9kj1qp14qb8crg2rdzf22pr6ngxvy4n6ipymla8q1yjr842625";
type = "gem";
};
version = "3.4.3";
version = "3.5.1";
};
pry-rails = {
dependencies = ["pry"];
@ -2373,10 +2373,10 @@
dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "117z277m78cw6bm43dyzxhjmx8awpidmqcjjx99kpj4rgqm5m0bn";
sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
rails-controller-testing = {
dependencies = ["actionpack" "actionview" "activesupport"];
@ -2427,10 +2427,10 @@
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0j6v5ylwgqmxs4pllgip5yxdsivdqs1w00cs8jfqyw5v7pn9b2z0";
sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr";
type = "gem";
};
version = "5.0.7";
version = "5.0.7.1";
};
rainbow = {
source = {
@ -2451,10 +2451,10 @@
rake = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1idi53jay34ba9j68c3mfr9wwkg3cd9qh0fn9cg42hv72c6q8dyg";
sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
type = "gem";
};
version = "12.3.1";
version = "12.3.2";
};
rb-fsevent = {
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'
gem 'rails', gem_versions['rails']
gem 'rails', '5.0.7.1'
gem 'rails-deprecated_sanitizer', '~> 1.0.3'
# Improves copy-on-write performance for MRI
@ -28,11 +12,7 @@ gem 'responders', '~> 2.0'
gem 'sprockets', '~> 3.7.0'
# Default values for AR models
if rails5?
gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
else
gem 'default_value_for', '~> 3.0.0'
end
gem 'gitlab-default_value_for', '~> 3.1.1', require: 'default_value_for'
# Supported DBs
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-github', '~> 1.3'
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-oauth2-generic', '~> 0.2.2'
gem 'omniauth-saml', '~> 1.10'
@ -63,7 +43,7 @@ gem 'omniauth-twitter', '~> 1.4'
gem 'omniauth_crowd', '~> 2.2.0'
gem 'omniauth-authentiq', '~> 0.3.3'
gem 'rack-oauth2', '~> 1.2.1'
gem 'jwt', '~> 1.5.6'
gem 'jwt', '~> 2.1.0'
# Kerberos authentication. EE-only
gem 'gssapi', group: :kerberos
@ -80,6 +60,7 @@ gem 'u2f', '~> 0.2.1'
# GitLab Pages
gem 'validates_hostname', '~> 1.0.6'
gem 'rubyzip', '~> 1.2.2', require: 'zip'
# Browser detection
gem 'browser', '~> 2.5'
@ -112,9 +93,7 @@ gem 'kaminari', '~> 1.0'
gem 'hamlit', '~> 2.8.8'
# Files attachments
# Locked until https://github.com/carrierwaveuploader/carrierwave/pull/2332/files is merged.
# config/initializers/carrierwave_patch.rb can be removed once that change is released.
gem 'carrierwave', '= 1.2.3'
gem 'carrierwave', '~> 1.3'
gem 'mini_magick'
# for backups
@ -159,7 +138,7 @@ gem 'asciidoctor-plantuml', '0.0.8'
gem 'rouge', '~> 3.1'
gem 'truncato', '~> 0.7.9'
gem 'bootstrap_form', '~> 2.7.0'
gem 'nokogiri', '~> 1.8.2'
gem 'nokogiri', '~> 1.8.5'
gem 'escape_utils', '~> 1.1'
# Calendar rendering
@ -169,7 +148,10 @@ gem 'icalendar'
gem 'diffy', '~> 3.1.0'
# 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
gem 'unicorn', '~> 5.1.0'
@ -288,6 +270,7 @@ gem 'webpack-rails', '~> 0.9.10'
gem 'rack-proxy', '~> 0.6.0'
gem 'sass-rails', '~> 5.0.6'
gem 'sass', '~> 3.5'
gem 'uglifier', '~> 2.7.2'
gem 'addressable', '~> 2.5.2'
@ -309,7 +292,7 @@ gem 'premailer-rails', '~> 1.9.7'
# I18n
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_js', '~> 1.3'
gem 'gettext', '~> 3.2.2', require: false, group: :development
@ -319,7 +302,7 @@ gem 'batch-loader', '~> 1.2.2'
# Perf bar
gem 'peek', '~> 1.0.1'
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-rblineprof', '~> 0.2.0'
gem 'peek-redis', '~> 1.2.0'
@ -352,13 +335,13 @@ end
group :development, :test do
gem 'bootsnap', '~> 1.3'
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 'awesome_print', require: false
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 'rspec-rails', '~> 3.7.0'
gem 'rspec-retry', '~> 0.4.5'
@ -367,13 +350,13 @@ group :development, :test do
gem 'rspec-parameterized', require: false
# 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
gem 'ffaker', '~> 2.10'
gem 'capybara', '~> 2.15'
gem 'capybara-screenshot', '~> 1.0.0'
gem 'capybara', '~> 2.16.1'
gem 'capybara-screenshot', '~> 1.0.18'
gem 'selenium-webdriver', '~> 3.12'
gem 'spring', '~> 2.0.0'
@ -394,7 +377,7 @@ group :development, :test do
gem 'license_finder', '~> 5.4', require: false
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
@ -408,8 +391,7 @@ group :test do
gem 'email_spec', '~> 2.2.0'
gem 'json-schema', '~> 2.8.0'
gem 'webmock', '~> 2.3.2'
gem 'rails-controller-testing' if rails5? # Rails5 only gem.
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 'rails-controller-testing'
gem 'sham_rack', '~> 1.3.6'
gem 'concurrent-ruby', '~> 1.1'
gem 'test-prof', '~> 0.2.5'
@ -450,7 +432,7 @@ group :ed25519 do
end
# 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 'google-protobuf', '~> 3.6'
@ -465,3 +447,6 @@ gem 'flipper-active_support_cache_store', '~> 0.13.0'
# Structured logging
gem 'lograge', '~> 0.5'
gem 'grape_logging', '~> 1.7'
# DNS Lookup
gem 'net-dns', '~> 0.9.0'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -30,7 +30,9 @@ stdenv.mkDerivation rec {
cp tools/lkl/{cptofs,fs2tar,lklfuse} $out/bin
ln -s cptofs $out/bin/cpfromfs
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):

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,25 +1,25 @@
{ stdenv, fetchFromGitHub
, 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 {
name = "swaylock-${version}";
version = "1.2";
version = "1.3";
src = fetchFromGitHub {
owner = "swaywm";
repo = "swaylock";
rev = version;
sha256 = "1nqirrkkdhb6b2hc78ghi2yzblcx9jcgc9qwm1jvnk2iqwqbzclg";
sha256 = "093nv1y9wyg48rfxhd36qdljjry57v1vkzrlc38mkf6zvsq8j7wb";
};
nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
buildInputs = [ wayland wayland-protocols wlroots libxkbcommon cairo pango
gdk_pixbuf pam
];
buildInputs = [ wayland wayland-protocols libxkbcommon cairo 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; {
description = "Screen locker for Wayland";

View File

@ -964,6 +964,40 @@ rec {
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 = {
name = "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 {
name = "papirus-icon-theme-${version}";
version = "20190106";
version = "20190203";
src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam";
repo = "papirus-icon-theme";
rev = version;
sha256 = "0i5dmpqq65nipps800iijxd6krnvrdbnd6zrf7f145dg7r6hfk8p";
sha256 = "02vx8sqpd3rpcypjd99rqkci0fj1bcjznn46p660vpdddpadxya4";
};
nativeBuildInputs = [ gtk3 ];

View File

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

View File

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

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, gnome3, libxml2, gtk-engine-murrine, gdk_pixbuf, librsvg, bc }:
stdenv.mkDerivation rec {
name = "materia-theme-${version}";
version = "20181125";
pname = "materia-theme";
version = "20190201";
src = fetchFromGitHub {
owner = "nana-4";
repo = "materia-theme";
repo = pname;
rev = "v${version}";
sha256 = "17gsgll2m534lwvpffqisdmhhmn0da419wnpq39wv5cjnmk0q3by";
sha256 = "0al6d1ijrdzhia1nflyy178r1jszh82splv81cjpj8cyrq579r32";
};
nativeBuildInputs = [ gnome3.glib libxml2 bc ];
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
'';
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;
license = licenses.gpl2;
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 {
name = "ponyc-${version}";
version = "0.25.0";
version = "0.26.0";
src = fetchFromGitHub {
owner = "ponylang";
repo = "ponyc";
rev = version;
sha256 = "0ghmjp03q7k58yzfkvnl05xc2i2gmgnzpj3hs6g7ls4ny8n3i6hv";
sha256 = "1k1ysqk7j8kpysndps2ic9hprvp0z0d32d6jvqlapjrfccghy7dh";
};
buildInputs = [ llvm makeWrapper which ];

View File

@ -3,16 +3,16 @@
let
# Note: the version MUST be one version prior to the version we're
# 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 = {
i686-unknown-linux-gnu = "c61655977fb16decf0ceb76043b9ae2190927aa9cc24f013d444384dcab99bbf";
x86_64-unknown-linux-gnu = "a01a493ed8946fc1c15f63e74fc53299b26ebf705938b4d04a388a746dfdbf9e";
armv7-unknown-linux-gnueabihf = "9b3b6df02a2a92757e4993a7357fdd02e07b60101a748b4618e6ae1b90bc1b6b";
aarch64-unknown-linux-gnu = "6d87d81561285abd6c1987e07b60b2d723936f037c4b46eedcc12e8566fd3874";
i686-apple-darwin = "a7c14b18e96406d9f43d69d0f984b2fa6f92cc7b7b37e2bb7b70b6f44b02b083";
x86_64-apple-darwin = "3ba1704a7defe3d9a6f0c1f68792c084da83bcba85e936d597bac0c019914b94";
i686-unknown-linux-gnu = "46333e8feec55bc1f99fd03028370f6163ef1e33e483da0389a9c424ec9634ed";
x86_64-unknown-linux-gnu = "c8a2016109ffdc12a488660edc5f30c1643729efc15abe311ebb187437e506bf";
armv7-unknown-linux-gnueabihf = "60bb75649b457ad971e94dd14c666b59deeee2176b14ae0f98e2fa435c172c1e";
aarch64-unknown-linux-gnu = "4e68c70aba58004d9e86c2b4463e88466affee51242349a038b456cf6f4be5c9";
i686-apple-darwin = "ec8d08eeea97d78d37430e9b32511e87854aad502f4e3e77e806788246b36e6f";
x86_64-apple-darwin = "5d4035e3cecb7df13e728bcff125b52b43b126e91f8311c66b143f353362606f";
};
platform =

View File

@ -10,8 +10,8 @@ rustPlatform.buildRustPackage rec {
inherit version src patches;
# the rust source tarball already has all the dependencies vendored, no need to fetch them again
cargoVendorDir = "src/vendor";
preBuild = "cd src; pushd tools/cargo";
cargoVendorDir = "vendor";
preBuild = "pushd src/tools/cargo";
postBuild = "popd";
passthru.rustc = rustc;
@ -23,10 +23,10 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ cacert file curl python openssl cmake zlib makeWrapper libgit2 ]
++ 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
RUSTC_BOOTSTRAP=1;
RUSTC_BOOTSTRAP = 1;
# FIXME: Use impure version of CoreFoundation because of missing symbols.
# CFURLSetResourcePropertyForKey is defined in the headers but there's no

View File

@ -7,11 +7,11 @@
let
rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
version = "1.31.0";
cargoVersion = "1.31.0";
version = "1.32.0";
cargoVersion = "1.32.0";
src = fetchurl {
url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
sha256 = "01pg2619bwjnhjbphryrbkwaz0lw8cfffm4xlz35znzipb04vmcs";
sha256 = "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac";
};
in rec {
rustc = callPackage ./rustc.nix {
@ -22,11 +22,6 @@ in rec {
# Re-evaluate if this we need to disable this one
#./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;

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
, 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
, version
, withBundledLLVM ? false
@ -20,8 +20,6 @@ let
llvmShared = llvm.override { enableSharedLibraries = true; };
prefixedJemalloc = jemalloc.override { stripPrefix = false; };
target = builtins.replaceStrings [" "] [","] (builtins.toString targets);
in
@ -62,7 +60,6 @@ stdenv.mkDerivation {
configureFlags = configureFlags
++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath"
"--enable-vendor"
"--jemalloc-root=${prefixedJemalloc}/lib"
"--default-linker=${targetPackages.stdenv.cc}/bin/cc" ]
++ optional (!withBundledLLVM) [ "--enable-llvm-link-shared" "--llvm-root=${llvmShared}" ]
++ optional (targets != []) "--target=${target}";
@ -85,7 +82,6 @@ stdenv.mkDerivation {
patchShebangs src/etc
${optionalString (!withBundledLLVM) ''rm -rf src/llvm''}
rm -rf src/jemalloc
# Fix the configure script to not require curl as we won't use it
sed -i configure \
@ -97,7 +93,7 @@ stdenv.mkDerivation {
# https://github.com/rust-lang/rust/issues/39522
echo removing gdb-version-sensitive tests...
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
# export VERBOSE=1

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