mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 07:01:54 +00:00
redmine: 3.4.8 -> 4.0.1 (#55234)
* redmine: 3.4.8 -> 4.0.1 * nixos/redmine: update nixos test to run against both redmine 3.x and 4.x series * nixos/redmine: default new installs from 19.03 onward to redmine 4.x series, while keeping existing installs on redmine 3.x series * nixos/redmine: add comment about default redmine package to 19.03 release notes * redmine: add aandersea as a maintainer
This commit is contained in:
parent
7fff567ee9
commit
b8a9c3fbfd
@ -484,6 +484,13 @@
|
||||
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>
|
||||
|
@ -61,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 < 19.03</literal> and version 4.x
|
||||
otherwise.
|
||||
'';
|
||||
example = "pkgs.redmine_4.override { ruby = pkgs.ruby_2_4; }";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
71
pkgs/applications/version-management/redmine/4.x/Gemfile
Normal file
71
pkgs/applications/version-management/redmine/4.x/Gemfile
Normal 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
|
204
pkgs/applications/version-management/redmine/4.x/Gemfile.lock
Normal file
204
pkgs/applications/version-management/redmine/4.x/Gemfile.lock
Normal 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
|
43
pkgs/applications/version-management/redmine/4.x/default.nix
Normal file
43
pkgs/applications/version-management/redmine/4.x/default.nix
Normal 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;
|
||||
};
|
||||
}
|
622
pkgs/applications/version-management/redmine/4.x/gemset.nix
Normal file
622
pkgs/applications/version-management/redmine/4.x/gemset.nix
Normal 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";
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -5086,6 +5086,8 @@ in
|
||||
redir = callPackage ../tools/networking/redir { };
|
||||
|
||||
redmine = callPackage ../applications/version-management/redmine { ruby = pkgs.ruby_2_4; };
|
||||
# failed to build websocket-driver gem with ruby 2.6, so sticking to 2.5 for now
|
||||
redmine_4 = callPackage ../applications/version-management/redmine/4.x { ruby = pkgs.ruby_2_5; };
|
||||
|
||||
redsocks = callPackage ../tools/networking/redsocks { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user