diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-04-05 15:57:20 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-04-25 00:04:54 +0200 |
commit | 2bcc666fd591dbf7543fc550ff1772508695a746 (patch) | |
tree | 65bb255cbeba40f4c385211bcc32df4c25e6ea6b /pkgs | |
parent | 27794e1507ab5bd4b0f31278cf8049854790e4a7 (diff) | |
download | NUR-2bcc666fd591dbf7543fc550ff1772508695a746.tar.gz NUR-2bcc666fd591dbf7543fc550ff1772508695a746.tar.zst NUR-2bcc666fd591dbf7543fc550ff1772508695a746.zip |
Upgrade to nixos-unstable
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/crypto/cardano-cli/default.nix | 2 | ||||
-rw-r--r-- | pkgs/crypto/iota-cli-app/default.nix | 4 | ||||
-rw-r--r-- | pkgs/mtop/default.nix | 2 | ||||
-rw-r--r-- | pkgs/note/default.nix | 5 | ||||
-rw-r--r-- | pkgs/python-packages/buildbot/plugins/buildslist/default.nix | 4 | ||||
-rw-r--r-- | pkgs/python-packages/wokkel.nix | 2 | ||||
-rw-r--r-- | pkgs/simp_le/default.nix | 32 | ||||
-rw-r--r-- | pkgs/telegram-cli/default.nix | 3 | ||||
-rw-r--r-- | pkgs/telegram-cli/telegram-cli.json | 10 | ||||
-rw-r--r-- | pkgs/telegram-cli/telegram-cli.patch | 90 | ||||
-rw-r--r-- | pkgs/terminal-velocity/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tiv/default.nix | 2 | ||||
-rw-r--r-- | pkgs/webapps/mediagoblin/default.nix | 2 | ||||
-rw-r--r-- | pkgs/webapps/peertube/default.nix | 2 |
14 files changed, 23 insertions, 141 deletions
diff --git a/pkgs/crypto/cardano-cli/default.nix b/pkgs/crypto/cardano-cli/default.nix index 4bd18d94..3cd5a4cc 100644 --- a/pkgs/crypto/cardano-cli/default.nix +++ b/pkgs/crypto/cardano-cli/default.nix | |||
@@ -11,6 +11,6 @@ rustPlatform.buildRustPackage rec { | |||
11 | fetchSubmodules = true; | 11 | fetchSubmodules = true; |
12 | }; | 12 | }; |
13 | 13 | ||
14 | cargoSha256 = "1jra0635inm95xp7vg8l7s7ybijcy28956cd6jl8qw2p8bw0z1p3"; | 14 | cargoSha256 = "0j68dsqahvgpa9ms62149530lbfa55lmpd56rgdxkrh2z32lshs8"; |
15 | verifyCargoDeps = true; | 15 | verifyCargoDeps = true; |
16 | } | 16 | } |
diff --git a/pkgs/crypto/iota-cli-app/default.nix b/pkgs/crypto/iota-cli-app/default.nix index 1a9d3ed7..17d7714b 100644 --- a/pkgs/crypto/iota-cli-app/default.nix +++ b/pkgs/crypto/iota-cli-app/default.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-8_x }: | 1 | { stdenv, mylibs, fetchurl, fetchgit, callPackage, nodePackages, nodejs-10_x }: |
2 | let | 2 | let |
3 | nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-8_x; }; | 3 | nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs-10_x; }; |
4 | # built using node2nix -8 -l package-lock.json | 4 | # built using node2nix -8 -l package-lock.json |
5 | # and changing "./." to "src" | 5 | # and changing "./." to "src" |
6 | packageEnv = import ./node-packages.nix { | 6 | packageEnv = import ./node-packages.nix { |
diff --git a/pkgs/mtop/default.nix b/pkgs/mtop/default.nix index 4a894303..3f6b6bc8 100644 --- a/pkgs/mtop/default.nix +++ b/pkgs/mtop/default.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { buildPerlPackage, fetchurl, perlPackages, lib }: | 1 | { buildPerlPackage, fetchurl, perlPackages, lib }: |
2 | buildPerlPackage rec { | 2 | buildPerlPackage rec { |
3 | name = "mtop-${version}"; | 3 | pname = "mtop"; |
4 | version = "0.6.6"; | 4 | version = "0.6.6"; |
5 | src = fetchurl { | 5 | src = fetchurl { |
6 | url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; | 6 | url = "http://downloads.sourceforge.net/project/mtop/mtop/v${version}/mtop-${version}.tar.gz"; |
diff --git a/pkgs/note/default.nix b/pkgs/note/default.nix index 0c422bcc..d5fcccd7 100644 --- a/pkgs/note/default.nix +++ b/pkgs/note/default.nix | |||
@@ -1,8 +1,9 @@ | |||
1 | { lib, buildPerlPackage, fetchurl, perlPackages }: | 1 | { lib, buildPerlPackage, fetchurl, perlPackages }: |
2 | buildPerlPackage rec { | 2 | buildPerlPackage rec { |
3 | name = "note-1.3.26"; | 3 | pname = "note"; |
4 | version = "1.3.26"; | ||
4 | src = fetchurl { | 5 | src = fetchurl { |
5 | url = "mirror://cpan/authors/id/T/TL/TLINDEN/${name}.tar.gz"; | 6 | url = "mirror://cpan/authors/id/T/TL/TLINDEN/${pname}-${version}.tar.gz"; |
6 | sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq"; | 7 | sha256 = "1h645rnb5vpms48fcyzvp7cwwcbf9k5xq49w2bpniyzzgk2brjrq"; |
7 | }; | 8 | }; |
8 | outputs = ["out" "man"]; | 9 | outputs = ["out" "man"]; |
diff --git a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix index e5087e4a..dc6104e4 100644 --- a/pkgs/python-packages/buildbot/plugins/buildslist/default.nix +++ b/pkgs/python-packages/buildbot/plugins/buildslist/default.nix | |||
@@ -1,4 +1,4 @@ | |||
1 | { mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, python2, fetchurl, jq, yarn, nodejs }: | 1 | { mylibs, stdenv, runCommand, writeScriptBin, buildBowerComponents, pythonPackages, libsass, python, fetchurl, jq, yarn, nodejs }: |
2 | let | 2 | let |
3 | buildslist_src = mylibs.fetchedGit ./buildslist.json; | 3 | buildslist_src = mylibs.fetchedGit ./buildslist.json; |
4 | packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' | 4 | packagejson = runCommand "package.json" { buildInputs = [ jq ]; } '' |
@@ -6,7 +6,7 @@ let | |||
6 | ''; | 6 | ''; |
7 | nodeHeaders = fetchurl { | 7 | nodeHeaders = fetchurl { |
8 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; | 8 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; |
9 | sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj"; | 9 | sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76"; |
10 | }; | 10 | }; |
11 | buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { | 11 | buildslist_yarn = mylibs.yarn2nixPackage.mkYarnModules rec { |
12 | name = "buildslist-yarn-modules"; | 12 | name = "buildslist-yarn-modules"; |
diff --git a/pkgs/python-packages/wokkel.nix b/pkgs/python-packages/wokkel.nix index b34caecd..3237f2b5 100644 --- a/pkgs/python-packages/wokkel.nix +++ b/pkgs/python-packages/wokkel.nix | |||
@@ -7,5 +7,5 @@ buildPythonPackage rec { | |||
7 | sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; | 7 | sha256 = "1spq44gg8gsviqx1dvlmjpgfc0wk0jpyx4ap01y2pad1ai9cw016"; |
8 | }; | 8 | }; |
9 | propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ]; | 9 | propagatedBuildInputs = [ twisted.extras.tls twisted incremental dateutil ]; |
10 | doChecks = false; | 10 | doCheck = false; |
11 | } | 11 | } |
diff --git a/pkgs/simp_le/default.nix b/pkgs/simp_le/default.nix deleted file mode 100644 index eaefba36..00000000 --- a/pkgs/simp_le/default.nix +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | { stdenv, python3Packages, bash }: | ||
2 | |||
3 | python3Packages.buildPythonApplication rec { | ||
4 | pname = "simp_le-client"; | ||
5 | version = "0.17.0"; | ||
6 | |||
7 | src = python3Packages.fetchPypi { | ||
8 | inherit pname version; | ||
9 | sha256 = "0m1jynar4calaffp2zdxr5yy9vnhw2qf2hsfxwzfwf8fqb5h7bjb"; | ||
10 | }; | ||
11 | |||
12 | postPatch = '' | ||
13 | # drop upper bound of idna requirement | ||
14 | sed -ri "s/'(idna)<[^']+'/'\1'/" setup.py | ||
15 | substituteInPlace simp_le.py \ | ||
16 | --replace "/bin/sh" "${bash}/bin/sh" | ||
17 | ''; | ||
18 | |||
19 | checkPhase = '' | ||
20 | $out/bin/simp_le --test | ||
21 | ''; | ||
22 | |||
23 | propagatedBuildInputs = with python3Packages; [ acme setuptools_scm josepy idna ]; | ||
24 | |||
25 | meta = with stdenv.lib; { | ||
26 | homepage = https://github.com/zenhack/simp_le; | ||
27 | description = "Simple Let's Encrypt client"; | ||
28 | license = licenses.gpl3; | ||
29 | maintainers = with maintainers; [ gebner makefu ]; | ||
30 | platforms = platforms.linux; | ||
31 | }; | ||
32 | } | ||
diff --git a/pkgs/telegram-cli/default.nix b/pkgs/telegram-cli/default.nix index 6987748d..87c93e56 100644 --- a/pkgs/telegram-cli/default.nix +++ b/pkgs/telegram-cli/default.nix | |||
@@ -1,8 +1,5 @@ | |||
1 | { stdenv, mylibs, pkgconfig, libevent, lua, jansson, openssl, readline, zlib, libconfig }: | 1 | { stdenv, mylibs, pkgconfig, libevent, lua, jansson, openssl, readline, zlib, libconfig }: |
2 | stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-cli.json // { | 2 | stdenv.mkDerivation (mylibs.fetchedGithub ./telegram-cli.json // { |
3 | patches = [ | ||
4 | ./telegram-cli.patch | ||
5 | ]; | ||
6 | buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ]; | 3 | buildInputs = [ pkgconfig libevent lua jansson openssl readline zlib libconfig ]; |
7 | preBuild = '' | 4 | preBuild = '' |
8 | sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c | 5 | sed -i -e 's@"/etc/" PROG_NAME "/server.pub"@"'$out'/etc/server.pub"@' main.c |
diff --git a/pkgs/telegram-cli/telegram-cli.json b/pkgs/telegram-cli/telegram-cli.json index 53e0a7b2..2e7ed9a6 100644 --- a/pkgs/telegram-cli/telegram-cli.json +++ b/pkgs/telegram-cli/telegram-cli.json | |||
@@ -1,15 +1,15 @@ | |||
1 | { | 1 | { |
2 | "tag": "6547c0b-master", | 2 | "tag": "3da0e4a-master", |
3 | "meta": { | 3 | "meta": { |
4 | "name": "telegram-cli", | 4 | "name": "telegram-cli", |
5 | "url": "https://github.com/vysheng/tg", | 5 | "url": "https://github.com/kenorb-contrib/tg/", |
6 | "branch": "master" | 6 | "branch": "master" |
7 | }, | 7 | }, |
8 | "github": { | 8 | "github": { |
9 | "owner": "vysheng", | 9 | "owner": "kenorb-contrib", |
10 | "repo": "tg", | 10 | "repo": "tg", |
11 | "rev": "6547c0b21b977b327b3c5e8142963f4bc246187a", | 11 | "rev": "3da0e4a54c3a63cee11aae3c23f2077adfc4949d", |
12 | "sha256": "07sss5cnw2ygd7mp8f5532lmj7qm6ywqf4cjaq5g13i8igzqzwzj", | 12 | "sha256": "0pvswzajipzkk1x5cyf10dw18ka9jalar0aa2i7y23ifm4ddnif4", |
13 | "fetchSubmodules": true | 13 | "fetchSubmodules": true |
14 | } | 14 | } |
15 | } | 15 | } |
diff --git a/pkgs/telegram-cli/telegram-cli.patch b/pkgs/telegram-cli/telegram-cli.patch deleted file mode 100644 index 2d2b7b04..00000000 --- a/pkgs/telegram-cli/telegram-cli.patch +++ /dev/null | |||
@@ -1,90 +0,0 @@ | |||
1 | diff --git a/tgl/crypto/rsa_pem_openssl.c b/tgl/crypto/rsa_pem_openssl.c | ||
2 | index db653f2..5e6a697 100644 | ||
3 | --- a/tgl/crypto/rsa_pem_openssl.c | ||
4 | +++ b/tgl/crypto/rsa_pem_openssl.c | ||
5 | @@ -36,6 +36,12 @@ TGLC_WRAPPER_ASSOC(rsa,RSA) | ||
6 | // TODO: Refactor crucial struct-identity into its own header. | ||
7 | TGLC_WRAPPER_ASSOC(bn,BIGNUM) | ||
8 | |||
9 | +/* | ||
10 | + * Since OpenSSL version 1.1.0 the RSA struct (rsa_st) is opaque, | ||
11 | + * see also https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes | ||
12 | + */ | ||
13 | +#if (OPENSSL_VERSION_NUMBER < 0x10100000L) | ||
14 | + | ||
15 | TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { | ||
16 | RSA *ret = RSA_new (); | ||
17 | ret->e = unwrap_bn (TGLC_bn_new ()); | ||
18 | @@ -47,7 +53,30 @@ TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { | ||
19 | #define RSA_GETTER(M) \ | ||
20 | TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \ | ||
21 | return wrap_bn (unwrap_rsa (key)->M); \ | ||
22 | - } \ | ||
23 | + } | ||
24 | + | ||
25 | +#else // OPENSSL_VERSION_NUMBER | ||
26 | + | ||
27 | +TGLC_rsa *TGLC_rsa_new (unsigned long e, int n_bytes, const unsigned char *n) { | ||
28 | + RSA *ret = RSA_new (); | ||
29 | + BIGNUM *ret_e = unwrap_bn (TGLC_bn_new ()); | ||
30 | + BIGNUM *ret_n = unwrap_bn (TGLC_bn_bin2bn (n, n_bytes, NULL)); | ||
31 | + RSA_set0_key (ret, ret_n, ret_e, NULL); | ||
32 | + TGLC_bn_set_word (wrap_bn (ret_e), e); | ||
33 | + return wrap_rsa (ret); | ||
34 | +} | ||
35 | + | ||
36 | +#define RSA_GETTER(M) \ | ||
37 | +TGLC_bn *TGLC_rsa_ ## M (TGLC_rsa *key) { \ | ||
38 | + BIGNUM *rsa_n, *rsa_e, *rsa_d; \ | ||
39 | + RSA_get0_key(unwrap_rsa (key), \ | ||
40 | + (const BIGNUM **) &rsa_n, \ | ||
41 | + (const BIGNUM **) &rsa_e, \ | ||
42 | + (const BIGNUM **) &rsa_d); \ | ||
43 | + return wrap_bn (rsa_ ## M); \ | ||
44 | +} | ||
45 | + | ||
46 | +#endif // OPENSSL_VERSION_NUMBER | ||
47 | |||
48 | RSA_GETTER(n); | ||
49 | RSA_GETTER(e); | ||
50 | @@ -60,4 +89,4 @@ TGLC_rsa *TGLC_pem_read_RSAPublicKey (FILE *fp) { | ||
51 | return wrap_rsa (PEM_read_RSAPublicKey (fp, NULL, NULL, NULL)); | ||
52 | } | ||
53 | |||
54 | -#endif | ||
55 | +#endif // TGL_AVOID_OPENSSL | ||
56 | diff --git a/tgl/mtproto-utils.c b/tgl/mtproto-utils.c | ||
57 | index 0948bc8..cfdb216 100644 | ||
58 | --- a/tgl/mtproto-utils.c | ||
59 | +++ b/tgl/mtproto-utils.c | ||
60 | @@ -98,7 +98,7 @@ static unsigned long long BN2ull (TGLC_bn *b) { | ||
61 | if (sizeof (unsigned long) == 8) { | ||
62 | return TGLC_bn_get_word (b); | ||
63 | } else if (sizeof (unsigned long long) == 8) { | ||
64 | - assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
65 | +// assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
66 | unsigned long long tmp; | ||
67 | /* Here be dragons, but it should be okay due to be64toh */ | ||
68 | TGLC_bn_bn2bin (b, (unsigned char *) &tmp); | ||
69 | @@ -112,7 +112,7 @@ static void ull2BN (TGLC_bn *b, unsigned long long val) { | ||
70 | if (sizeof (unsigned long) == 8 || val < (1ll << 32)) { | ||
71 | TGLC_bn_set_word (b, val); | ||
72 | } else if (sizeof (unsigned long long) == 8) { | ||
73 | - assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
74 | +// assert (0); // As long as nobody ever uses this code, assume it is broken. | ||
75 | htobe64(val); | ||
76 | /* Here be dragons, but it should be okay due to htobe64 */ | ||
77 | TGLC_bn_bin2bn ((unsigned char *) &val, 8, b); | ||
78 | diff --git a/tgl/tl-parser/tl-parser.c b/tgl/tl-parser/tl-parser.c | ||
79 | index 524b196..aeadbd2 100644 | ||
80 | --- a/tgl/tl-parser/tl-parser.c | ||
81 | +++ b/tgl/tl-parser/tl-parser.c | ||
82 | @@ -1903,7 +1903,7 @@ struct tl_combinator_tree *tl_parse_args134 (struct tree *T) { | ||
83 | //assert (S->data); | ||
84 | char *name = S->data; | ||
85 | if (!name) { | ||
86 | - static char s[20]; | ||
87 | + static char s[21]; | ||
88 | sprintf (s, "%lld", lrand48 () * (1ll << 32) + lrand48 ()); | ||
89 | name = s; | ||
90 | } | ||
diff --git a/pkgs/terminal-velocity/default.nix b/pkgs/terminal-velocity/default.nix index 9e79deea..1a015c04 100644 --- a/pkgs/terminal-velocity/default.nix +++ b/pkgs/terminal-velocity/default.nix | |||
@@ -15,6 +15,10 @@ buildPythonApplication rec { | |||
15 | ./fix_build.patch | 15 | ./fix_build.patch |
16 | ]; | 16 | ]; |
17 | 17 | ||
18 | preCheck = '' | ||
19 | # Needed for urwid test | ||
20 | export LC_ALL=en_US.UTF-8 | ||
21 | ''; | ||
18 | propagatedBuildInputs = [ | 22 | propagatedBuildInputs = [ |
19 | chardet | 23 | chardet |
20 | urwid | 24 | urwid |
diff --git a/pkgs/tiv/default.nix b/pkgs/tiv/default.nix index c03aabe0..3e7a56cd 100644 --- a/pkgs/tiv/default.nix +++ b/pkgs/tiv/default.nix | |||
@@ -1,6 +1,6 @@ | |||
1 | { buildPerlPackage, fetchurl, perlPackages }: | 1 | { buildPerlPackage, fetchurl, perlPackages }: |
2 | buildPerlPackage rec { | 2 | buildPerlPackage rec { |
3 | name = "tiv-${version}"; | 3 | pname = "tiv"; |
4 | version = "2015"; | 4 | version = "2015"; |
5 | src = fetchurl { | 5 | src = fetchurl { |
6 | url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz"; | 6 | url = "http://xyne.archlinux.ca/projects/tiv/src/tiv-${version}.tar.xz"; |
diff --git a/pkgs/webapps/mediagoblin/default.nix b/pkgs/webapps/mediagoblin/default.nix index f6393fe3..c20bcb42 100644 --- a/pkgs/webapps/mediagoblin/default.nix +++ b/pkgs/webapps/mediagoblin/default.nix | |||
@@ -28,6 +28,8 @@ let | |||
28 | inherit (old) pname; | 28 | inherit (old) pname; |
29 | sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; | 29 | sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; |
30 | }; | 30 | }; |
31 | doCheck = false; | ||
32 | doInstallCheck = false; | ||
31 | }); | 33 | }); |
32 | amqp = super.amqp.overridePythonAttrs(old: rec { | 34 | amqp = super.amqp.overridePythonAttrs(old: rec { |
33 | version = "1.4.9"; | 35 | version = "1.4.9"; |
diff --git a/pkgs/webapps/peertube/default.nix b/pkgs/webapps/peertube/default.nix index 89954192..99291060 100644 --- a/pkgs/webapps/peertube/default.nix +++ b/pkgs/webapps/peertube/default.nix | |||
@@ -3,7 +3,7 @@ | |||
3 | let | 3 | let |
4 | nodeHeaders = fetchurl { | 4 | nodeHeaders = fetchurl { |
5 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; | 5 | url = "https://nodejs.org/download/release/v${nodejs.version}/node-v${nodejs.version}-headers.tar.gz"; |
6 | sha256 = "1g6zi96k8sbim8wa8rzskxy44mgpcv1mn2bs8p4mq36w3kwglwyj"; | 6 | sha256 = "1df3yhlwlvai0m9kvjyknjg11hnw0kj0rnhyzbwvsfjnmr6z8r76"; |
7 | }; | 7 | }; |
8 | patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec { | 8 | patchedPackages = stdenv.mkDerivation (mylibs.fetchedGithub ./peertube.json // rec { |
9 | patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ]; | 9 | patches = if ldap then [ ./ldap.patch ././yarn_fix_bluebird_ldap.patch ] else [ ./yarn_fix_bluebird.patch ]; |