riot-desktop: use yarn2nix-moretea

Now that we have yarn2nix-moretea in the tree, we can use that instead of the vendored version that was introduced when yarn2nix was removed previously. Also add an update script.
This commit is contained in:
Milan Pässler 2019-08-26 19:07:24 +02:00
parent bfcab98074
commit a9ae2c055c
4 changed files with 26 additions and 460 deletions

View file

@ -1,7 +1,6 @@
{fetchurl, linkFarm}: rec {
{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
offline_cache = linkFarm "offline" packages;
packages = [
{
name = "_types_node___node_9.6.45.tgz";
path = fetchurl {
@ -10,7 +9,6 @@
sha1 = "a9e5cfd026a3abaaf17e3c0318a470da9f2f178e";
};
}
{
name = "ajv___ajv_6.10.0.tgz";
path = fetchurl {
@ -19,7 +17,6 @@
sha1 = "90d0d54439da587cd7e843bfb7045f50bd22bdf1";
};
}
{
name = "applescript___applescript_1.0.0.tgz";
path = fetchurl {
@ -28,7 +25,6 @@
sha1 = "bb87af568cad034a4e48c4bdaf6067a3a2701317";
};
}
{
name = "asn1___asn1_0.2.4.tgz";
path = fetchurl {
@ -37,7 +33,6 @@
sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
};
}
{
name = "assert_plus___assert_plus_1.0.0.tgz";
path = fetchurl {
@ -46,7 +41,6 @@
sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
};
}
{
name = "asynckit___asynckit_0.4.0.tgz";
path = fetchurl {
@ -55,7 +49,6 @@
sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
};
}
{
name = "auto_launch___auto_launch_5.0.5.tgz";
path = fetchurl {
@ -64,7 +57,6 @@
sha1 = "d14bd002b1ef642f85e991a6195ff5300c8ad3c0";
};
}
{
name = "aws_sign2___aws_sign2_0.7.0.tgz";
path = fetchurl {
@ -73,7 +65,6 @@
sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
};
}
{
name = "aws4___aws4_1.8.0.tgz";
path = fetchurl {
@ -82,7 +73,6 @@
sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
};
}
{
name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
path = fetchurl {
@ -91,7 +81,6 @@
sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
};
}
{
name = "bignumber.js___bignumber.js_2.4.0.tgz";
path = fetchurl {
@ -100,7 +89,6 @@
sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
};
}
{
name = "bmp_js___bmp_js_0.0.3.tgz";
path = fetchurl {
@ -109,7 +97,6 @@
sha1 = "64113e9c7cf1202b376ed607bf30626ebe57b18a";
};
}
{
name = "buffer_equal___buffer_equal_0.0.1.tgz";
path = fetchurl {
@ -118,7 +105,6 @@
sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
};
}
{
name = "caseless___caseless_0.12.0.tgz";
path = fetchurl {
@ -127,7 +113,6 @@
sha1 = "1b681c21ff84033c826543090689420d187151dc";
};
}
{
name = "combined_stream___combined_stream_1.0.7.tgz";
path = fetchurl {
@ -136,7 +121,6 @@
sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828";
};
}
{
name = "conf___conf_2.2.0.tgz";
path = fetchurl {
@ -145,7 +129,6 @@
sha1 = "ee282efafc1450b61e205372041ad7d866802d9a";
};
}
{
name = "core_util_is___core_util_is_1.0.2.tgz";
path = fetchurl {
@ -154,7 +137,6 @@
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
};
}
{
name = "dashdash___dashdash_1.14.1.tgz";
path = fetchurl {
@ -163,7 +145,6 @@
sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
};
}
{
name = "deep_equal___deep_equal_1.0.1.tgz";
path = fetchurl {
@ -172,7 +153,6 @@
sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
};
}
{
name = "define_properties___define_properties_1.1.3.tgz";
path = fetchurl {
@ -181,7 +161,6 @@
sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
};
}
{
name = "delayed_stream___delayed_stream_1.0.0.tgz";
path = fetchurl {
@ -190,7 +169,6 @@
sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
};
}
{
name = "dom_walk___dom_walk_0.1.1.tgz";
path = fetchurl {
@ -199,7 +177,6 @@
sha1 = "672226dc74c8f799ad35307df936aba11acd6018";
};
}
{
name = "dot_prop___dot_prop_4.2.0.tgz";
path = fetchurl {
@ -208,7 +185,6 @@
sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
};
}
{
name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
path = fetchurl {
@ -217,7 +193,6 @@
sha1 = "3a83a904e54353287874c564b7549386849a98c9";
};
}
{
name = "electron_store___electron_store_2.0.0.tgz";
path = fetchurl {
@ -226,7 +201,6 @@
sha1 = "1035cca2a95409d1f54c7466606345852450d64a";
};
}
{
name = "electron_window_state___electron_window_state_4.1.1.tgz";
path = fetchurl {
@ -235,7 +209,6 @@
sha1 = "6b34fdc31b38514dfec8b7c8f7b5d4addb67632d";
};
}
{
name = "env_paths___env_paths_1.0.0.tgz";
path = fetchurl {
@ -244,7 +217,6 @@
sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
};
}
{
name = "es_abstract___es_abstract_1.13.0.tgz";
path = fetchurl {
@ -253,7 +225,6 @@
sha1 = "ac86145fdd5099d8dd49558ccba2eaf9b88e24e9";
};
}
{
name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
path = fetchurl {
@ -262,7 +233,6 @@
sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
};
}
{
name = "es6_promise___es6_promise_3.3.1.tgz";
path = fetchurl {
@ -271,7 +241,6 @@
sha1 = "a08cdde84ccdbf34d027a1451bc91d4bcd28a613";
};
}
{
name = "exif_parser___exif_parser_0.1.12.tgz";
path = fetchurl {
@ -280,7 +249,6 @@
sha1 = "58a9d2d72c02c1f6f02a0ef4a9166272b7760922";
};
}
{
name = "extend___extend_3.0.2.tgz";
path = fetchurl {
@ -289,7 +257,6 @@
sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
};
}
{
name = "extsprintf___extsprintf_1.3.0.tgz";
path = fetchurl {
@ -298,7 +265,6 @@
sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
};
}
{
name = "extsprintf___extsprintf_1.4.0.tgz";
path = fetchurl {
@ -307,7 +273,6 @@
sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
};
}
{
name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
path = fetchurl {
@ -316,7 +281,6 @@
sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
};
}
{
name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
path = fetchurl {
@ -325,7 +289,6 @@
sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
};
}
{
name = "file_type___file_type_3.9.0.tgz";
path = fetchurl {
@ -334,7 +297,6 @@
sha1 = "257a078384d1db8087bc449d107d52a52672b9e9";
};
}
{
name = "find_up___find_up_2.1.0.tgz";
path = fetchurl {
@ -343,7 +305,6 @@
sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
};
}
{
name = "for_each___for_each_0.3.3.tgz";
path = fetchurl {
@ -352,7 +313,6 @@
sha1 = "69b447e88a0a5d32c3e7084f3f1710034b21376e";
};
}
{
name = "forever_agent___forever_agent_0.6.1.tgz";
path = fetchurl {
@ -361,7 +321,6 @@
sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
};
}
{
name = "form_data___form_data_2.3.3.tgz";
path = fetchurl {
@ -370,7 +329,6 @@
sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
};
}
{
name = "function_bind___function_bind_1.1.1.tgz";
path = fetchurl {
@ -379,7 +337,6 @@
sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
};
}
{
name = "getpass___getpass_0.1.7.tgz";
path = fetchurl {
@ -388,7 +345,6 @@
sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
};
}
{
name = "global___global_4.3.2.tgz";
path = fetchurl {
@ -397,7 +353,6 @@
sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
};
}
{
name = "graceful_fs___graceful_fs_4.1.15.tgz";
path = fetchurl {
@ -406,7 +361,6 @@
sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00";
};
}
{
name = "har_schema___har_schema_2.0.0.tgz";
path = fetchurl {
@ -415,7 +369,6 @@
sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
};
}
{
name = "har_validator___har_validator_5.1.3.tgz";
path = fetchurl {
@ -424,7 +377,6 @@
sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
};
}
{
name = "has_symbols___has_symbols_1.0.0.tgz";
path = fetchurl {
@ -433,7 +385,6 @@
sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
};
}
{
name = "has___has_1.0.3.tgz";
path = fetchurl {
@ -442,7 +393,6 @@
sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
};
}
{
name = "http_signature___http_signature_1.2.0.tgz";
path = fetchurl {
@ -451,7 +401,6 @@
sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
};
}
{
name = "imurmurhash___imurmurhash_0.1.4.tgz";
path = fetchurl {
@ -460,7 +409,6 @@
sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
};
}
{
name = "ip_regex___ip_regex_1.0.3.tgz";
path = fetchurl {
@ -469,7 +417,6 @@
sha1 = "dc589076f659f419c222039a33316f1c7387effd";
};
}
{
name = "is_callable___is_callable_1.1.4.tgz";
path = fetchurl {
@ -478,7 +425,6 @@
sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
};
}
{
name = "is_date_object___is_date_object_1.0.1.tgz";
path = fetchurl {
@ -487,7 +433,6 @@
sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
};
}
{
name = "is_function___is_function_1.0.1.tgz";
path = fetchurl {
@ -496,7 +441,6 @@
sha1 = "12cfb98b65b57dd3d193a3121f5f6e2f437602b5";
};
}
{
name = "is_obj___is_obj_1.0.1.tgz";
path = fetchurl {
@ -505,7 +449,6 @@
sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
};
}
{
name = "is_regex___is_regex_1.0.4.tgz";
path = fetchurl {
@ -514,7 +457,6 @@
sha1 = "5517489b547091b0930e095654ced25ee97e9491";
};
}
{
name = "is_symbol___is_symbol_1.0.2.tgz";
path = fetchurl {
@ -523,7 +465,6 @@
sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
};
}
{
name = "is_typedarray___is_typedarray_1.0.0.tgz";
path = fetchurl {
@ -532,7 +473,6 @@
sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
};
}
{
name = "isstream___isstream_0.1.2.tgz";
path = fetchurl {
@ -541,7 +481,6 @@
sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
};
}
{
name = "jimp___jimp_0.2.28.tgz";
path = fetchurl {
@ -550,7 +489,6 @@
sha1 = "dd529a937190f42957a7937d1acc3a7762996ea2";
};
}
{
name = "jpeg_js___jpeg_js_0.2.0.tgz";
path = fetchurl {
@ -559,7 +497,6 @@
sha1 = "53e448ec9d263e683266467e9442d2c5a2ef5482";
};
}
{
name = "jsbn___jsbn_0.1.1.tgz";
path = fetchurl {
@ -568,7 +505,6 @@
sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
};
}
{
name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
path = fetchurl {
@ -577,7 +513,6 @@
sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
};
}
{
name = "json_schema___json_schema_0.2.3.tgz";
path = fetchurl {
@ -586,7 +521,6 @@
sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
};
}
{
name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
path = fetchurl {
@ -595,7 +529,6 @@
sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
};
}
{
name = "jsonfile___jsonfile_2.4.0.tgz";
path = fetchurl {
@ -604,7 +537,6 @@
sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
};
}
{
name = "jsprim___jsprim_1.4.1.tgz";
path = fetchurl {
@ -613,7 +545,6 @@
sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
};
}
{
name = "load_bmfont___load_bmfont_1.4.0.tgz";
path = fetchurl {
@ -622,7 +553,6 @@
sha1 = "75f17070b14a8c785fe7f5bee2e6fd4f98093b6b";
};
}
{
name = "locate_path___locate_path_2.0.0.tgz";
path = fetchurl {
@ -631,7 +561,6 @@
sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
};
}
{
name = "make_dir___make_dir_1.3.0.tgz";
path = fetchurl {
@ -640,7 +569,6 @@
sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c";
};
}
{
name = "mime_db___mime_db_1.38.0.tgz";
path = fetchurl {
@ -649,7 +577,6 @@
sha1 = "1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad";
};
}
{
name = "mime_types___mime_types_2.1.22.tgz";
path = fetchurl {
@ -658,7 +585,6 @@
sha1 = "fe6b355a190926ab7698c9a0556a11199b2199bd";
};
}
{
name = "mime___mime_1.6.0.tgz";
path = fetchurl {
@ -667,7 +593,6 @@
sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
};
}
{
name = "min_document___min_document_2.19.0.tgz";
path = fetchurl {
@ -676,7 +601,6 @@
sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
};
}
{
name = "minimist___minimist_0.0.8.tgz";
path = fetchurl {
@ -685,7 +609,6 @@
sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
};
}
{
name = "minimist___minimist_1.2.0.tgz";
path = fetchurl {
@ -694,7 +617,6 @@
sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
};
}
{
name = "mkdirp___mkdirp_0.5.1.tgz";
path = fetchurl {
@ -703,7 +625,6 @@
sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
};
}
{
name = "oauth_sign___oauth_sign_0.9.0.tgz";
path = fetchurl {
@ -712,7 +633,6 @@
sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
};
}
{
name = "object_keys___object_keys_1.1.0.tgz";
path = fetchurl {
@ -721,7 +641,6 @@
sha1 = "11bd22348dd2e096a045ab06f6c85bcc340fa032";
};
}
{
name = "p_limit___p_limit_1.3.0.tgz";
path = fetchurl {
@ -730,7 +649,6 @@
sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
};
}
{
name = "p_locate___p_locate_2.0.0.tgz";
path = fetchurl {
@ -739,7 +657,6 @@
sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
};
}
{
name = "p_try___p_try_1.0.0.tgz";
path = fetchurl {
@ -748,7 +665,6 @@
sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
};
}
{
name = "parse_bmfont_ascii___parse_bmfont_ascii_1.0.6.tgz";
path = fetchurl {
@ -757,7 +673,6 @@
sha1 = "11ac3c3ff58f7c2020ab22769079108d4dfa0285";
};
}
{
name = "parse_bmfont_binary___parse_bmfont_binary_1.0.6.tgz";
path = fetchurl {
@ -766,7 +681,6 @@
sha1 = "d038b476d3e9dd9db1e11a0b0e53a22792b69006";
};
}
{
name = "parse_bmfont_xml___parse_bmfont_xml_1.1.4.tgz";
path = fetchurl {
@ -775,7 +689,6 @@
sha1 = "015319797e3e12f9e739c4d513872cd2fa35f389";
};
}
{
name = "parse_headers___parse_headers_2.0.2.tgz";
path = fetchurl {
@ -784,7 +697,6 @@
sha1 = "9545e8a4c1ae5eaea7d24992bca890281ed26e34";
};
}
{
name = "path_exists___path_exists_3.0.0.tgz";
path = fetchurl {
@ -793,7 +705,6 @@
sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
};
}
{
name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
path = fetchurl {
@ -802,7 +713,6 @@
sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
};
}
{
name = "performance_now___performance_now_2.1.0.tgz";
path = fetchurl {
@ -811,7 +721,6 @@
sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
};
}
{
name = "phin___phin_2.9.3.tgz";
path = fetchurl {
@ -820,7 +729,6 @@
sha1 = "f9b6ac10a035636fb65dfc576aaaa17b8743125c";
};
}
{
name = "pify___pify_3.0.0.tgz";
path = fetchurl {
@ -829,7 +737,6 @@
sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
};
}
{
name = "pixelmatch___pixelmatch_4.0.2.tgz";
path = fetchurl {
@ -838,7 +745,6 @@
sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
};
}
{
name = "pkg_up___pkg_up_2.0.0.tgz";
path = fetchurl {
@ -847,7 +753,6 @@
sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
};
}
{
name = "png_to_ico___png_to_ico_1.0.7.tgz";
path = fetchurl {
@ -856,7 +761,6 @@
sha1 = "9346b5f4d6fd7e94cb08fd49eeb585f501c3e5f2";
};
}
{
name = "pngjs___pngjs_3.4.0.tgz";
path = fetchurl {
@ -865,7 +769,6 @@
sha1 = "99ca7d725965fb655814eaf65f38f12bbdbf555f";
};
}
{
name = "process___process_0.5.2.tgz";
path = fetchurl {
@ -874,7 +777,6 @@
sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
};
}
{
name = "psl___psl_1.1.31.tgz";
path = fetchurl {
@ -883,7 +785,6 @@
sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184";
};
}
{
name = "punycode___punycode_1.4.1.tgz";
path = fetchurl {
@ -892,7 +793,6 @@
sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
};
}
{
name = "punycode___punycode_2.1.1.tgz";
path = fetchurl {
@ -901,7 +801,6 @@
sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
};
}
{
name = "qs___qs_6.5.2.tgz";
path = fetchurl {
@ -910,7 +809,6 @@
sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
};
}
{
name = "read_chunk___read_chunk_1.0.1.tgz";
path = fetchurl {
@ -919,7 +817,6 @@
sha1 = "5f68cab307e663f19993527d9b589cace4661194";
};
}
{
name = "request___request_2.88.0.tgz";
path = fetchurl {
@ -928,7 +825,6 @@
sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
};
}
{
name = "safe_buffer___safe_buffer_5.1.2.tgz";
path = fetchurl {
@ -937,7 +833,6 @@
sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
};
}
{
name = "safer_buffer___safer_buffer_2.1.2.tgz";
path = fetchurl {
@ -946,7 +841,6 @@
sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
};
}
{
name = "sax___sax_1.2.4.tgz";
path = fetchurl {
@ -955,7 +849,6 @@
sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
};
}
{
name = "signal_exit___signal_exit_3.0.2.tgz";
path = fetchurl {
@ -964,7 +857,6 @@
sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
};
}
{
name = "sshpk___sshpk_1.16.1.tgz";
path = fetchurl {
@ -973,7 +865,6 @@
sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
};
}
{
name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz";
path = fetchurl {
@ -982,7 +873,6 @@
sha1 = "26799d903ab2025c9bd550ac47171b00f8dd80a9";
};
}
{
name = "stream_to___stream_to_0.2.2.tgz";
path = fetchurl {
@ -991,7 +881,6 @@
sha1 = "84306098d85fdb990b9fa300b1b3ccf55e8ef01d";
};
}
{
name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz";
path = fetchurl {
@ -1000,7 +889,6 @@
sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea";
};
}
{
name = "tinycolor2___tinycolor2_1.4.1.tgz";
path = fetchurl {
@ -1009,7 +897,6 @@
sha1 = "f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8";
};
}
{
name = "tough_cookie___tough_cookie_2.4.3.tgz";
path = fetchurl {
@ -1018,7 +905,6 @@
sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
};
}
{
name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
path = fetchurl {
@ -1027,7 +913,6 @@
sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
};
}
{
name = "tweetnacl___tweetnacl_0.14.5.tgz";
path = fetchurl {
@ -1036,7 +921,6 @@
sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
};
}
{
name = "untildify___untildify_3.0.3.tgz";
path = fetchurl {
@ -1045,7 +929,6 @@
sha1 = "1e7b42b140bcfd922b22e70ca1265bfe3634c7c9";
};
}
{
name = "uri_js___uri_js_4.2.2.tgz";
path = fetchurl {
@ -1054,7 +937,6 @@
sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
};
}
{
name = "url_regex___url_regex_3.2.0.tgz";
path = fetchurl {
@ -1063,7 +945,6 @@
sha1 = "dbad1e0c9e29e105dd0b1f09f6862f7fdb482724";
};
}
{
name = "uuid___uuid_3.3.2.tgz";
path = fetchurl {
@ -1072,7 +953,6 @@
sha1 = "1b4af4955eb3077c501c23872fc6513811587131";
};
}
{
name = "verror___verror_1.10.0.tgz";
path = fetchurl {
@ -1081,7 +961,6 @@
sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
};
}
{
name = "winreg___winreg_1.2.4.tgz";
path = fetchurl {
@ -1090,7 +969,6 @@
sha1 = "ba065629b7a925130e15779108cf540990e98d1b";
};
}
{
name = "write_file_atomic___write_file_atomic_2.4.2.tgz";
path = fetchurl {
@ -1099,7 +977,6 @@
sha1 = "a7181706dfba17855d221140a9c06e15fcdd87b9";
};
}
{
name = "xhr___xhr_2.5.0.tgz";
path = fetchurl {
@ -1108,7 +985,6 @@
sha1 = "bed8d1676d5ca36108667692b74b316c496e49dd";
};
}
{
name = "xml_parse_from_string___xml_parse_from_string_1.0.1.tgz";
path = fetchurl {
@ -1117,7 +993,6 @@
sha1 = "a9029e929d3dbcded169f3c6e28238d95a5d5a28";
};
}
{
name = "xml2js___xml2js_0.4.19.tgz";
path = fetchurl {
@ -1126,7 +1001,6 @@
sha1 = "686c20f213209e94abf0d1bcf1efaa291c7827a7";
};
}
{
name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
path = fetchurl {
@ -1135,7 +1009,6 @@
sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
};
}
{
name = "xtend___xtend_4.0.1.tgz";
path = fetchurl {

View file

@ -1,9 +1,8 @@
{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web }:
{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }:
# Note for maintainers:
# Versions of `riot-web` and `riot-desktop` should be kept in sync.
with (import ./yarn2nix.nix { inherit pkgs; });
# Notes for maintainers:
# * versions of `riot-web` and `riot-desktop` should be kept in sync.
# * the Yarn dependency expression must be updated with `./update-riot-desktop.sh <git release tag>`
let
executableName = "riot-desktop";
@ -15,18 +14,13 @@ let
sha256 = "1nzzxcz4r9932cha80q1bzn1425m67fsl89pn7n7ybrv6y0jnxpc";
};
in mkYarnPackage rec {
in yarn2nix-moretea.mkYarnPackage rec {
name = "riot-desktop-${version}";
inherit version;
src = "${riot-web-src}/electron_app";
# The package manifest should be copied on each update of this package.
# > cp ${riot-web-src}/electron_app/package.json riot-desktop-package.json
packageJSON = ./riot-desktop-package.json;
# The dependency expression can be regenerated using nixos.yarn2nix with the following command:
# > yarn2nix --lockfile=${riot-web-src}/electron_app/yarn.lock > riot-desktop-yarndeps.nix
yarnNix = ./riot-desktop-yarndeps.nix;
nativeBuildInputs = [ makeWrapper ];
@ -36,7 +30,9 @@ in mkYarnPackage rec {
mkdir -p "$out/share/riot"
ln -s '${riot-web}' "$out/share/riot/webapp"
cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
cp -r '.' "$out/share/riot/electron"
cp -r './deps/riot-web' "$out/share/riot/electron"
rm "$out/share/riot/electron/node_modules"
cp -r './node_modules' "$out/share/riot/electron"
# icons
for icon in $out/share/riot/electron/build/icons/*.png; do

View file

@ -0,0 +1,17 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix
set -euo pipefail
if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates the Yarn dependency lock files for the riot-desktop package."
echo "Usage: $0 <git release tag>"
exit 1
fi
RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/riot-web/$1"
wget "$RIOT_WEB_SRC/electron_app/package.json" -O riot-desktop-package.json
wget "$RIOT_WEB_SRC/electron_app/yarn.lock" -O riot-desktop-yarndeps.lock
yarn2nix --lockfile=riot-desktop-yarndeps.lock > riot-desktop-yarndeps.nix
rm riot-desktop-yarndeps.lock

View file

@ -1,320 +0,0 @@
{ pkgs ? import <nixpkgs> {}
, nodejs ? pkgs.nodejs
, yarn ? pkgs.yarn
}:
let
inherit (pkgs) stdenv lib fetchurl linkFarm;
in rec {
# Export yarn again to make it easier to find out which yarn was used.
inherit yarn;
# Re-export pkgs
inherit pkgs;
unlessNull = item: alt:
if item == null then alt else item;
reformatPackageName = pname:
let
# regex adapted from `validate-npm-package-name`
# will produce 3 parts e.g.
# "@someorg/somepackage" -> [ "@someorg/" "someorg" "somepackage" ]
# "somepackage" -> [ null null "somepackage" ]
parts = builtins.tail (builtins.match "^(@([^/]+)/)?([^/]+)$" pname);
# if there is no organisation we need to filter out null values.
non-null = builtins.filter (x: x != null) parts;
in builtins.concatStringsSep "-" non-null;
# https://docs.npmjs.com/files/package.json#license
# TODO: support expression syntax (OR, AND, etc)
spdxLicense = licstr:
if licstr == "UNLICENSED" then
lib.licenses.unfree
else
lib.findFirst
(l: l ? spdxId && l.spdxId == licstr)
{ shortName = licstr; }
(builtins.attrValues lib.licenses);
# Generates the yarn.nix from the yarn.lock file
mkYarnNix = yarnLock:
pkgs.runCommand "yarn.nix" {}
"${yarn2nix}/bin/yarn2nix --lockfile ${yarnLock} --no-patch > $out";
# Loads the generated offline cache. This will be used by yarn as
# the package source.
importOfflineCache = yarnNix:
let
pkg = import yarnNix { inherit fetchurl linkFarm; };
in
pkg.offline_cache;
defaultYarnFlags = [
"--offline"
"--frozen-lockfile"
"--ignore-engines"
"--ignore-scripts"
];
mkYarnModules = {
name,
pname,
packageJSON,
yarnLock,
yarnNix ? mkYarnNix yarnLock,
yarnFlags ? defaultYarnFlags,
pkgConfig ? {},
preBuild ? "",
workspaceDependencies ? [],
}:
let
offlineCache = importOfflineCache yarnNix;
extraBuildInputs = (lib.flatten (builtins.map (key:
pkgConfig.${key} . buildInputs or []
) (builtins.attrNames pkgConfig)));
postInstall = (builtins.map (key:
if (pkgConfig.${key} ? postInstall) then
''
for f in $(find -L -path '*/node_modules/${key}' -type d); do
(cd "$f" && (${pkgConfig.${key}.postInstall}))
done
''
else
""
) (builtins.attrNames pkgConfig));
workspaceJSON = pkgs.writeText
"${name}-workspace-package.json"
(builtins.toJSON { private = true; workspaces = ["deps/**"]; }); # scoped packages need second splat
workspaceDependencyLinks = lib.concatMapStringsSep "\n"
(dep: ''
mkdir -p "deps/${dep.pname}"
ln -sf ${dep.packageJSON} "deps/${dep.pname}/package.json"
'')
workspaceDependencies;
in stdenv.mkDerivation {
inherit preBuild name;
phases = ["configurePhase" "buildPhase"];
buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
configurePhase = ''
# Yarn writes cache directories etc to $HOME.
export HOME=$PWD/yarn_home
'';
buildPhase = ''
runHook preBuild
mkdir -p "deps/${pname}"
cp ${packageJSON} "deps/${pname}/package.json"
cp ${workspaceJSON} ./package.json
cp ${yarnLock} ./yarn.lock
chmod +w ./yarn.lock
yarn config --offline set yarn-offline-mirror ${offlineCache}
# Do not look up in the registry, but in the offline cache.
# TODO: Ask upstream to fix this mess.
sed -i -E '/resolved /{s|https://registry.yarnpkg.com/||;s|[@/:-]|_|g}' yarn.lock
${workspaceDependencyLinks}
yarn install ${lib.escapeShellArgs yarnFlags}
${lib.concatStringsSep "\n" postInstall}
mkdir $out
mv node_modules $out/
mv deps $out/
patchShebangs $out
'';
};
# This can be used as a shellHook in mkYarnPackage. It brings the built node_modules into
# the shell-hook environment.
linkNodeModulesHook = ''
if [[ -d node_modules || -L node_modules ]]; then
echo "./node_modules is present. Replacing."
rm -rf node_modules
fi
ln -s "$node_modules" node_modules
'';
mkYarnWorkspace = {
src,
packageJSON ? src+"/package.json",
yarnLock ? src+"/yarn.lock",
packageOverrides ? {},
...
}@attrs:
let
package = lib.importJSON packageJSON;
packageGlobs = package.workspaces;
globElemToRegex = lib.replaceStrings ["*"] [".*"];
# PathGlob -> [PathGlobElem]
splitGlob = lib.splitString "/";
# Path -> [PathGlobElem] -> [Path]
# Note: Only directories are included, everything else is filtered out
expandGlobList = base: globElems:
let
elemRegex = globElemToRegex (lib.head globElems);
rest = lib.tail globElems;
children = lib.attrNames (lib.filterAttrs (name: type: type == "directory") (builtins.readDir base));
matchingChildren = lib.filter (child: builtins.match elemRegex child != null) children;
in if globElems == []
then [ base ]
else lib.concatMap (child: expandGlobList (base+("/"+child)) rest) matchingChildren;
# Path -> PathGlob -> [Path]
expandGlob = base: glob: expandGlobList base (splitGlob glob);
packagePaths = lib.concatMap (expandGlob src) packageGlobs;
packages = lib.listToAttrs (map (src:
let
packageJSON = src+"/package.json";
package = lib.importJSON packageJSON;
allDependencies = lib.foldl (a: b: a // b) {} (map (field: lib.attrByPath [field] {} package) ["dependencies" "devDependencies"]);
in rec {
name = reformatPackageName package.name;
value = mkYarnPackage (builtins.removeAttrs attrs ["packageOverrides"] // {
inherit src packageJSON yarnLock;
workspaceDependencies = lib.mapAttrsToList (name: version: packages.${name})
(lib.filterAttrs (name: version: packages ? ${name}) allDependencies);
} // lib.attrByPath [name] {} packageOverrides);
}) packagePaths);
in packages;
mkYarnPackage = {
name ? null,
src,
packageJSON ? src + "/package.json",
yarnLock ? src + "/yarn.lock",
yarnNix ? mkYarnNix yarnLock,
yarnFlags ? defaultYarnFlags,
yarnPreBuild ? "",
pkgConfig ? {},
extraBuildInputs ? [],
publishBinsFor ? null,
workspaceDependencies ? [],
...
}@attrs:
let
package = lib.importJSON packageJSON;
pname = package.name;
safeName = reformatPackageName pname;
version = package.version;
baseName = unlessNull name "${safeName}-${version}";
deps = mkYarnModules {
name = "${safeName}-modules-${version}";
preBuild = yarnPreBuild;
workspaceDependencies = workspaceDependenciesTransitive;
inherit packageJSON pname yarnLock yarnNix yarnFlags pkgConfig;
};
publishBinsFor_ = unlessNull publishBinsFor [pname];
linkDirFunction = ''
linkDirToDirLinks() {
target=$1
if [ ! -f "$target" ]; then
mkdir -p "$target"
elif [ -L "$target" ]; then
local new=$(mktemp -d)
trueSource=$(realpath "$target")
if [ "$(ls $trueSource | wc -l)" -gt 0 ]; then
ln -s $trueSource/* $new/
fi
rm -r "$target"
mv "$new" "$target"
fi
}
'';
workspaceDependenciesTransitive = lib.unique ((lib.flatten (builtins.map (dep: dep.workspaceDependencies) workspaceDependencies)) ++ workspaceDependencies);
workspaceDependencyCopy = lib.concatMapStringsSep "\n"
(dep: ''
# ensure any existing scope directory is not a symlink
linkDirToDirLinks "$(dirname node_modules/${dep.pname})"
mkdir -p "deps/${dep.pname}"
tar -xf "${dep}/tarballs/${dep.name}.tgz" --directory "deps/${dep.pname}" --strip-components=1
if [ ! -e "deps/${dep.pname}/node_modules" ]; then
ln -s "${deps}/deps/${dep.pname}/node_modules" "deps/${dep.pname}/node_modules"
fi
'')
workspaceDependenciesTransitive;
in stdenv.mkDerivation (builtins.removeAttrs attrs ["pkgConfig" "workspaceDependencies"] // {
inherit src;
name = baseName;
buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
node_modules = deps + "/node_modules";
configurePhase = attrs.configurePhase or ''
runHook preConfigure
for localDir in npm-packages-offline-cache node_modules; do
if [[ -d $localDir || -L $localDir ]]; then
echo "$localDir dir present. Removing."
rm -rf $localDir
fi
done
mkdir -p "deps/${pname}"
shopt -s extglob
cp -r !(deps) "deps/${pname}"
shopt -u extglob
ln -s ${deps}/deps/${pname}/node_modules "deps/${pname}/node_modules"
cp -r $node_modules node_modules
chmod -R +w node_modules
${linkDirFunction}
linkDirToDirLinks "$(dirname node_modules/${pname})"
ln -s "deps/${pname}" "node_modules/${pname}"
${workspaceDependencyCopy}
# Help yarn commands run in other phases find the package
echo "--cwd deps/${pname}" > .yarnrc
runHook postConfigure
'';
# Replace this phase on frontend packages where only the generated
# files are an interesting output.
installPhase = attrs.installPhase or ''
runHook preInstall
mkdir -p $out/{bin,libexec/${pname}}
mv node_modules $out/libexec/${pname}/node_modules
mv deps $out/libexec/${pname}/deps
node ${./nix/fixup_bin.js} $out/bin $out/libexec/${pname}/node_modules ${lib.concatStringsSep " " publishBinsFor_}
runHook postInstall
'';
doDist = true;
distPhase = attrs.distPhase or ''
# pack command ignores cwd option
rm -f .yarnrc
cd $out/libexec/${pname}/deps/${pname}
mkdir -p $out/tarballs/
yarn pack --ignore-scripts --filename $out/tarballs/${baseName}.tgz
'';
passthru = {
inherit pname package packageJSON deps;
workspaceDependencies = workspaceDependenciesTransitive;
} // (attrs.passthru or {});
meta = {
inherit (nodejs.meta) platforms;
description = packageJSON.description or "";
homepage = packageJSON.homepage or "";
version = packageJSON.version or "";
license = if packageJSON ? license then spdxLicense packageJSON.license else "";
} // (attrs.meta or {});
});
yarn2nix = mkYarnPackage {
src = ./.;
# yarn2nix is the only package that requires the yarnNix option.
# All the other projects can auto-generate that file.
yarnNix = ./yarn.nix;
};
}