diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-02-22 10:43:06 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-03-11 16:17:56 +0000 |
commit | ca1aada113c0ebda1ab8667199f6453f8e01c4fc (patch) | |
tree | 55e402280096f62eb0bc8bcad5ce6050c5a0aec7 /nixpkgs/maintainers | |
parent | e4df5a52a6a6531f32626f57205356a773ac2975 (diff) | |
parent | 93883402a445ad467320925a0a5dbe43a949f25b (diff) | |
download | nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.gz nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.bz2 nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.lz nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.xz nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.zst nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.zip |
Merge commit '93883402a445ad467320925a0a5dbe43a949f25b'
Conflicts: nixpkgs/nixos/modules/programs/ssh.nix nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix nixpkgs/pkgs/data/fonts/noto-fonts/default.nix nixpkgs/pkgs/development/go-modules/generic/default.nix nixpkgs/pkgs/development/interpreters/ruby/default.nix nixpkgs/pkgs/development/libraries/mesa/default.nix
Diffstat (limited to 'nixpkgs/maintainers')
-rw-r--r-- | nixpkgs/maintainers/maintainer-list.nix | 618 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/pluginupdate.py | 283 | ||||
-rw-r--r-- | nixpkgs/maintainers/team-list.nix | 22 |
3 files changed, 737 insertions, 186 deletions
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix index c78ac6d69b43..f70ea32e02c2 100644 --- a/nixpkgs/maintainers/maintainer-list.nix +++ b/nixpkgs/maintainers/maintainer-list.nix @@ -95,6 +95,12 @@ githubId = 7414843; name = "Nicholas von Klitzing"; }; + _13r0ck = { + name = "Brock Szuszczewicz"; + email = "bnr@tuta.io"; + github = "13r0ck"; + githubId = 58987761; + }; _3noch = { email = "eacameron@gmail.com"; github = "3noch"; @@ -139,6 +145,12 @@ githubId = 16829510; name = "Aaron Janse"; }; + aaronjheng = { + email = "wentworth@outlook.com"; + github = "aaronjheng"; + githubId = 806876; + name = "Aaron Jheng"; + }; aaronschif = { email = "aaronschif@gmail.com"; github = "aaronschif"; @@ -507,10 +519,6 @@ githubId = 38869148; name = "Alex Eyre"; }; - algorith = { - email = "dries_van_daele@telenet.be"; - name = "Dries Van Daele"; - }; alibabzo = { email = "alistair.bill@gmail.com"; github = "alibabzo"; @@ -593,6 +601,12 @@ githubId = 15623522; name = "Amar Paul"; }; + amarshall = { + email = "andrew@johnandrewmarshall.com"; + github = "amarshall"; + githubId = 153175; + name = "Andrew Marshall"; + }; ambroisie = { email = "bruno.nixpkgs@belanyi.fr"; github = "ambroisie"; @@ -757,13 +771,6 @@ githubId = 11699655; name = "Stanislas Lange"; }; - angustrau = { - name = "Angus Trau"; - email = "nix@angus.ws"; - matrix = "@angustrau:matrix.org"; - github = "angustrau"; - githubId = 13267947; - }; anhdle14 = { name = "Le Anh Duc"; email = "anhdle14@icloud.com"; @@ -946,6 +953,12 @@ githubId = 59696216; name = "Arnold Farkas"; }; + arnoutkroeze = { + email = "nixpkgs@arnoutkroeze.nl"; + github = "arnoutkroeze"; + githubId = 37151054; + name = "Arnout Kroeze"; + }; arobyn = { email = "shados@shados.net"; github = "shados"; @@ -1069,6 +1082,12 @@ githubId = 55833; name = "Troels Henriksen"; }; + atila = { + name = "Átila Saraiva"; + email = "atilasaraiva@gmail.com"; + github = "AtilaSaraiva"; + githubId = 29521461; + }; atkinschang = { email = "atkinschang+nixpkgs@gmail.com"; github = "AtkinsChang"; @@ -1171,14 +1190,14 @@ name = "Artturi N"; }; azahi = { - email = "azahi@teknik.io"; - matrix = "@azahi:matrix.org"; + name = "Azat Bahawi"; + email = "azat@bahawi.net"; + matrix = "@azahi:azahi.cc"; github = "azahi"; githubId = 22211000; - name = "Azat Bahawi"; keys = [{ - longkeyid = "rsa2048/0xB40FCB6608BBE3B6"; - fingerprint = "E9F3 483F 31C7 29B4 4CA2 7C38 B40F CB66 08BB E3B6"; + longkeyid = "rsa4096/0xC8C6BDDB3847F72B"; + fingerprint = "2688 0377 C31D 9E81 9BDF 83A8 C8C6 BDDB 3847 F72B"; }]; }; ayazhafiz = { @@ -1187,6 +1206,12 @@ githubId = 262763; name = "Ayaz Hafiz"; }; + azuwis = { + email = "azuwis@gmail.com"; + github = "azuwis"; + githubId = 9315; + name = "Zhong Jianxin"; + }; b4dm4n = { email = "fabianm88@gmail.com"; github = "B4dM4n"; @@ -1888,6 +1913,13 @@ githubId = 495429; name = "Claas Augner"; }; + cawilliamson = { + email = "home@chrisaw.com"; + github = "cawilliamson"; + githubId = 1141769; + matrix = "@cawilliamson:nixos.dev"; + name = "Christopher A. Williamson"; + }; cbley = { email = "claudio.bley@gmail.com"; github = "avdv"; @@ -1899,12 +1931,10 @@ github = "cburstedde"; githubId = 109908; name = "Carsten Burstedde"; - keys = [ - { - longkeyid = "rsa2048/0x0704CD9E550A6BCD"; - fingerprint = "1127 A432 6524 BF02 737B 544E 0704 CD9E 550A 6BCD"; - } - ]; + keys = [{ + longkeyid = "rsa2048/0x0704CD9E550A6BCD"; + fingerprint = "1127 A432 6524 BF02 737B 544E 0704 CD9E 550A 6BCD"; + }]; }; cdepillabout = { email = "cdep.illabout@gmail.com"; @@ -1931,6 +1961,12 @@ githubId = 543423; name = "Alex Wied"; }; + cfhammill = { + email = "cfhammill@gmail.com"; + github = "cfhammill"; + githubId = 7467038; + name = "Chris Hammill"; + }; cfouche = { email = "chaddai.fouche@gmail.com"; github = "Chaddai"; @@ -2081,12 +2117,6 @@ githubId = 399718; name = "Chris Martin"; }; - chrisaw = { - email = "home@chrisaw.com"; - github = "cawilliamson"; - githubId = 1141769; - name = "Christopher A. Williamson"; - }; chrisjefferson = { email = "chris@bubblescope.net"; github = "chrisjefferson"; @@ -2272,6 +2302,12 @@ githubId = 34317; name = "Corey O'Connor"; }; + CodeLongAndProsper90 = { + github = "CodeLongAndProsper90"; + githubId = 50145141; + email = "jupiter@m.rdis.dev"; + name = "Scott Little"; + }; codsl = { email = "codsl@riseup.net"; github = "codsl"; @@ -2284,6 +2320,13 @@ githubId = 5561189; name = "Cody Opel"; }; + Cogitri = { + email = "oss@cogitri.dev"; + github = "Cogitri"; + githubId = 8766773; + matrix = "@cogitri:cogitri.dev"; + name = "Rasmus Thomsen"; + }; cohei = { email = "a.d.xvii.kal.mai@gmail.com"; github = "cohei"; @@ -2356,6 +2399,13 @@ githubId = 11145016; name = "J.C."; }; + congee = { + email = "changshengwu@pm.me"; + matrix = "@congeec:matrix.org"; + github = "congee"; + name = "Changsheng Wu"; + githubId = 2083950; + }; contrun = { email = "uuuuuu@protonmail.com"; github = "contrun"; @@ -2662,6 +2712,12 @@ email = "christoph.senjak@googlemail.com"; name = "Christoph-Simon Senjak"; }; + datafoo = { + email = "34766150+datafoo@users.noreply.github.com"; + github = "datafoo"; + githubId = 34766150; + name = "datafoo"; + }; davhau = { email = "d.hauer.it@gmail.com"; name = "David Hauer"; @@ -2799,6 +2855,12 @@ email = "d4delta@outlook.fr"; name = "Delta"; }; + deltadelta = { + email = "contact@libellules.eu"; + name = "Dara Ly"; + github = "tournemire"; + githubId = 20159432; + }; deltaevo = { email = "deltaduartedavid@gmail.com"; github = "DeltaEvo"; @@ -2829,12 +2891,24 @@ githubId = 706758; name = "Christian Gerbrandt"; }; + derekcollison = { + email = "derek@nats.io"; + github = "derekcollison"; + githubId = 90097; + name = "Derek Collison"; + }; DerGuteMoritz = { email = "moritz@twoticketsplease.de"; github = "DerGuteMoritz"; githubId = 19733; name = "Moritz Heidkamp"; }; + DerickEddington = { + email = "derick.eddington@pm.me"; + github = "DerickEddington"; + githubId = 4731128; + name = "Derick Eddington"; + }; dermetfan = { email = "serverkorken@gmail.com"; github = "dermetfan"; @@ -3163,6 +3237,12 @@ githubId = 24791219; name = "Jakob Neufeld"; }; + dsalaza4 = { + email = "podany270895@gmail.com"; + github = "dsalaza4"; + githubId = 11205987; + name = "Daniel Salazar"; + }; dschrempf = { name = "Dominik Schrempf"; email = "dominik.schrempf@gmail.com"; @@ -3313,12 +3393,6 @@ github = "edlimerkaj"; githubId = 71988351; }; - edibopp = { - email = "eduard.bopp@aepsil0n.de"; - github = "edibopp"; - githubId = 3098430; - name = "Eduard Bopp"; - }; emantor = { email = "rouven+nixos@czerwinskis.de"; github = "emantor"; @@ -3337,6 +3411,12 @@ githubId = 18535642; name = "Emily"; }; + emilytrau = { + name = "Emily Trau"; + email = "nix@angus.ws"; + github = "emilytrau"; + githubId = 13267947; + }; enderger = { email = "endergeryt@gmail.com"; github = "enderger"; @@ -3410,6 +3490,12 @@ githubId = 4742; name = "Aaron Bull Schaefer"; }; + elatov = { + email = "elatov@gmail.com"; + github = "elatov"; + githubId = 7494394; + name = "Karim Elatov"; + }; eleanor = { email = "dejan@proteansec.com"; github = "proteansec"; @@ -3496,7 +3582,7 @@ name = "Leo Maroni"; }; emmanuelrosa = { - email = "emmanuel_rosa@aol.com"; + email = "emmanuelrosa@protonmail.com"; matrix = "@emmanuelrosa:matrix.org"; github = "emmanuelrosa"; githubId = 13485450; @@ -3686,6 +3772,12 @@ githubId = 222467; name = "Dmitry Ivanov"; }; + Etjean = { + email = "et.jean@outlook.fr"; + github = "Etjean"; + githubId = 32169529; + name = "Etienne Jean"; + }; etu = { email = "elis@hirwing.se"; matrix = "@etu:semi.social"; @@ -3868,6 +3960,12 @@ githubId = 1276854; name = "Florian Peter"; }; + fbeffa = { + email = "beffa@fbengineering.ch"; + github = "fedeinthemix"; + githubId = 7670450; + name = "Federico Beffa"; + }; fbrs = { email = "yuuki@protonmail.com"; github = "cideM"; @@ -3960,6 +4058,12 @@ github = "fitzgibbon"; githubId = 617048; }; + fkautz = { + name = "Frederick F. Kautz IV"; + email = "fkautz@alumni.cmu.edu"; + github = "fkautz"; + githubId = 135706; + }; Flakebi = { email = "flakebi@t-online.de"; github = "Flakebi"; @@ -4091,12 +4195,6 @@ githubId = 7551358; name = "Frede Emil"; }; - freepotion = { - email = "42352817+freepotion@users.noreply.github.com"; - github = "freepotion"; - githubId = 42352817; - name = "Free Potion"; - }; freezeboy = { email = "freezeboy@users.noreply.github.com"; github = "freezeboy"; @@ -4219,6 +4317,16 @@ githubId = 1313787; name = "Gabriel Gonzalez"; }; + gador = { + email = "florian.brandes@posteo.de"; + github = "gador"; + githubId = 1883533; + name = "Florian Brandes"; + keys = [{ + longkeyid = "rsa4096/0xBBB3E40E53797FD9"; + fingerprint = "0200 3EF8 8D2B CF2D 8F00 FFDC BBB3 E40E 5379 7FD9"; + }]; + }; gal_bolle = { email = "florent.becker@ens-lyon.org"; github = "FlorentBecker"; @@ -4342,6 +4450,12 @@ githubId = 27668; name = "Tobias Pflug"; }; + gin66 = { + email = "jochen@kiemes.de"; + github = "gin66"; + githubId = 5549373; + name = "Jochen Kiemes"; + }; giogadi = { email = "lgtorres42@gmail.com"; github = "giogadi"; @@ -4418,6 +4532,16 @@ githubId = 1621335; name = "Andrew Trachenko"; }; + gordias = { + name = "Gordias"; + email = "gordias@disroot.org"; + github = "gordiasdot"; + githubId = 94724133; + keys = [{ + longkeyid = "ed25519/0x5D47284830FAA4FA"; + fingerprint = "C006 B8A0 0618 F3B6 E0E4 2ECD 5D47 2848 30FA A4FA"; + }]; + }; govanify = { name = "Gauvain 'GovanifY' Roussel-Tarbouriech"; email = "gauvain@govanify.com"; @@ -4508,6 +4632,12 @@ githubId = 343415; name = "Greg Roodt"; }; + gruve-p = { + email = "groestlcoin@gmail.com"; + github = "gruve-p"; + githubId = 11212268; + name = "gruve-p"; + }; gschwartz = { email = "gsch@pennmedicine.upenn.edu"; github = "GregorySchwartz"; @@ -4759,6 +4889,12 @@ github = "higebu"; githubId = 733288; }; + hiljusti = { + name = "J.R. Hill"; + email = "hiljusti@so.dang.cool"; + github = "hiljusti"; + githubId = 17605298; + }; hinton = { email = "t@larkery.com"; name = "Tom Hinton"; @@ -5380,6 +5516,12 @@ githubId = 221929; name = "Jean-Baptiste Giraudeau"; }; + jc = { + name = "Josh Cooper"; + email = "josh@cooper.is"; + github = "joshua-cooper"; + githubId = 35612334; + }; jceb = { name = "jceb"; email = "jceb@e-jc.de"; @@ -5508,6 +5650,16 @@ githubId = 143075; name = "James Felix Black"; }; + jfchevrette = { + email = "jfchevrette@gmail.com"; + github = "jfchevrette"; + githubId = 3001; + name = "Jean-Francois Chevrette"; + keys = [{ + longkeyid = "rsa4096/0x67A0585801290DC6"; + fingerprint = "B612 96A9 498E EECD D5E9 C0F0 67A0 5858 0129 0DC6"; + }]; + }; jflanglois = { email = "yourstruly@julienlanglois.me"; github = "jflanglois"; @@ -5640,6 +5792,24 @@ githubId = 8900; name = "Johan Magnus Jonsson"; }; + jmc-figueira = { + email = "business+nixos@jmc-figueira.dev"; + github = "jmc-figueira"; + githubId = 6634716; + name = "João Figueira"; + keys = [ + # GitHub signing key + { + longkeyid = "rsa4096/0xDC7AE56AE98E02D7"; + fingerprint = "EC08 7AA3 DEAD A972 F015 6371 DC7A E56A E98E 02D7"; + } + # Email encryption + { + longkeyid = "ed25519/0x197F9A632D139E30"; + fingerprint = "816D 23F5 E672 EC58 7674 4A73 197F 9A63 2D13 9E30"; + } + ]; + }; jmettes = { email = "jonathan@jmettes.com"; github = "jmettes"; @@ -5872,6 +6042,12 @@ githubId = 4611077; name = "Raymond Gauthier"; }; + jrpotter = { + email = "jrpotter2112@gmail.com"; + github = "jrpotter"; + githubId = 3267697; + name = "Joshua Potter"; + }; jschievink = { email = "jonasschievink@gmail.com"; matrix = "@jschievink:matrix.org"; @@ -5891,6 +6067,13 @@ githubId = 107689; name = "Josh Holland"; }; + jsierles = { + email = "joshua@hey.com"; + matrix = "@jsierles:matrix.org"; + name = "Joshua Sierles"; + github = "jsierles"; + githubId = 82; + }; jtcoolen = { email = "jtcoolen@pm.me"; name = "Julien Coolen"; @@ -5920,12 +6103,24 @@ githubId = 810075; name = "Juan Rodal"; }; + juboba = { + email = "juboba@gmail.com"; + github = "juboba"; + githubId = 1189739; + name = "Julio Borja Barra"; + }; juliendehos = { email = "dehos@lisic.univ-littoral.fr"; github = "juliendehos"; githubId = 11947756; name = "Julien Dehos"; }; + julienmalka = { + email = "julien.malka@me.com"; + github = "JulienMalka"; + githubId = 1792886; + name = "Julien Malka"; + }; julm = { email = "julm+nixpkgs@sourcephile.fr"; github = "ju1m"; @@ -5962,6 +6157,16 @@ githubId = 2396926; name = "Justin Woo"; }; + jvanbruegge = { + email = "supermanitu@gmail.com"; + github = "jvanbruegge"; + githubId = 1529052; + name = "Jan van Brügge"; + keys = [{ + longkeyid = "rsa4096/0x366572BE7D6C78A2"; + fingerprint = "3513 5CE5 77AD 711F 3825 9A99 3665 72BE 7D6C 78A2"; + }]; + }; jwatt = { email = "jwatt@broken.watch"; github = "jjwatt"; @@ -6024,6 +6229,13 @@ github = "k4leg"; githubId = 39882583; }; + k900 = { + name = "Ilya K."; + email = "me@0upti.me"; + github = "K900"; + githubId = 386765; + matrix = "@k900:0upti.me"; + }; kaction = { name = "Dmitry Bogatov"; email = "KAction@disroot.org"; @@ -6150,6 +6362,12 @@ githubId = 209729; name = "Kevin Griffin"; }; + kevink = { + email = "kevin@kevink.dev"; + github = "Unkn0wnCat"; + githubId = 8211181; + name = "Kevin Kandlbinder"; + }; kfollesdal = { email = "kfollesdal@gmail.com"; github = "kfollesdal"; @@ -6265,7 +6483,7 @@ keys = [{ longkeyid = "rsa4096/0x7248991EFA8EFBEE"; fingerprint = "01F5 0A29 D4AA 9117 5A11 BDB1 7248 991E FA8E FBEE"; - }]; + }]; }; kiwi = { email = "envy1988@gmail.com"; @@ -6330,7 +6548,7 @@ }; kmein = { - email = "kieran.meinhardt@gmail.com"; + email = "kmein@posteo.de"; name = "Kierán Meinhardt"; github = "kmein"; githubId = 10352507; @@ -6413,6 +6631,12 @@ githubId = 787421; name = "Kevin Quick"; }; + kradalby = { + name = "Kristoffer Dalby"; + email = "kristoffer@dalby.cc"; + github = "kradalby"; + githubId = 98431; + }; kraem = { email = "me@kraem.xyz"; github = "kraem"; @@ -6528,7 +6752,7 @@ }; kylesferrazza = { name = "Kyle Sferrazza"; - email = "kyle.sferrazza@gmail.com"; + email = "nixpkgs@kylesferrazza.com"; github = "kylesferrazza"; githubId = 6677292; @@ -6572,6 +6796,12 @@ githubId = 55911173; name = "Gwendolyn Quasebarth"; }; + lammermann = { + email = "k.o.b.e.r@web.de"; + github = "lammermann"; + githubId = 695526; + name = "Benjamin Kober"; + }; larsr = { email = "Lars.Rasmusson@gmail.com"; github = "larsr"; @@ -6712,6 +6942,17 @@ fingerprint = "CC50 F82C 985D 2679 0703 AF15 19B0 82B3 DEFE 5451"; }]; }; + leixb = { + email = "abone9999+nixpkgs@gmail.com"; + matrix = "@leix_b:matrix.org"; + github = "LeixB"; + githubId = 17183803; + name = "Aleix Boné"; + keys = [{ + longkeyid = "rsa4096/0xFC035BB2BB28E15D"; + fingerprint = "63D3 F436 EDE8 7E1F 1292 24AF FC03 5BB2 BB28 E15D"; + }]; + }; lejonet = { email = "daniel@kuehn.se"; github = "lejonet"; @@ -6837,12 +7078,6 @@ githubId = 36448130; name = "Michael Brantley"; }; - linarcx = { - email = "linarcx@gmail.com"; - github = "linarcx"; - githubId = 10884422; - name = "Kaveh Ahangar"; - }; linc01n = { email = "git@lincoln.hk"; github = "linc01n"; @@ -6899,6 +7134,18 @@ githubId = 22085373; name = "Luis Hebendanz"; }; + lunarequest = { + email = "nullarequest@vivlaid.net"; + github = "Lunarequest"; + githubId = 30698906; + name = "Luna D Dragon"; + }; + LunNova = { + email = "nixpkgs-maintainer@lunnova.dev"; + github = "LunNova"; + githubId = 782440; + name = "Luna Nova"; + }; lionello = { email = "lio@lunesu.com"; github = "lionello"; @@ -7088,6 +7335,12 @@ githubId = 13791; name = "Luke Gorrie"; }; + luker = { + email = "luker@fenrirproject.org"; + github = "LucaFulchir"; + githubId = 2486026; + name = "Luca Fulchir"; + }; lumi = { email = "lumi@pew.im"; github = "lumi-me-not"; @@ -7139,6 +7392,12 @@ email = "wheatdoge@gmail.com"; name = "Tim Liou"; }; + m00wl = { + name = "Moritz Lumme"; + email = "moritz.lumme@gmail.com"; + github = "m00wl"; + githubId = 46034439; + }; m1cr0man = { email = "lucas+nix@m1cr0man.com"; github = "m1cr0man"; @@ -7358,16 +7617,6 @@ githubId = 29855073; name = "Michael Colicchia"; }; - matdsoupe = { - github = "matdsoupe"; - githubId = 44469426; - name = "Matheus de Souza Pessanha"; - email = "matheus_pessanha2001@outlook.com"; - keys = [{ - longkeyid = "rsa4096/0x2671964AB1E06A08"; - fingerprint = "2F32 CFEF E11A D73B A740 FA47 2671 964A B1E0 6A08"; - }]; - }; matejc = { email = "cotman.matej@gmail.com"; github = "matejc"; @@ -7768,6 +8017,12 @@ fingerprint = "FEF0 AE2D 5449 3482 5F06 40AA 186A 1EDA C5C6 3F83"; }]; }; + mihnea-s = { + email = "mihn.stn@gmail.com"; + github = "mihnea-s"; + githubId = 43088426; + name = "Mihnea Stoian"; + }; mikefaille = { email = "michael@faille.io"; github = "mikefaille"; @@ -7808,6 +8063,12 @@ githubId = 38543128; name = "Miles Breslin"; }; + milibopp = { + email = "contact@ebopp.de"; + github = "milibopp"; + githubId = 3098430; + name = "Emilia Bopp"; + }; millerjason = { email = "mailings-github@millerjason.com"; github = "millerjason"; @@ -7876,13 +8137,6 @@ githubId = 1001112; name = "Marcin Janczyk"; }; - mjlbach = { - email = "m.j.lbach@gmail.com"; - matrix = "@atrius:matrix.org"; - github = "mjlbach"; - githubId = 13316262; - name = "Michael Lingelbach"; - }; mjp = { email = "mike@mythik.co.uk"; github = "MikePlayle"; @@ -8201,6 +8455,12 @@ githubId = 4996739; name = "Masayuki Takeda"; }; + mtesseract = { + email = "moritz@stackrox.com"; + github = "mtesseract"; + githubId = 11706080; + name = "Moritz Clasmeier"; + }; MtP = { email = "marko.nixos@poikonen.de"; github = "MtP76"; @@ -8382,6 +8642,12 @@ githubId = 3747396; name = "Nathan Isom"; }; + nelsonjeppesen = { + email = "nix@jeppesen.io"; + github = "NelsonJeppesen"; + githubId = 50854675; + name = "Nelson Jeppesen"; + }; neonfuz = { email = "neonfuz@gmail.com"; github = "neonfuz"; @@ -8430,10 +8696,16 @@ name = "Xinhao Luo"; }; newam = { - email = "alexmgit@protonmail.com"; + email = "alex@thinglab.org"; github = "newAM"; githubId = 7845120; - name = "Alex M."; + name = "Alex Martens"; + }; + nialov = { + email = "nikolasovaskainen@gmail.com"; + github = "nialov"; + githubId = 47318483; + name = "Nikolas Ovaskainen"; }; nikitavoloboev = { email = "nikita.voloboev@gmail.com"; @@ -8673,9 +8945,9 @@ githubId = 2946283; name = "Brian Cohen"; }; - novoxudonoser = { + novoxd = { email = "radnovox@gmail.com"; - github = "novoxudonoser"; + github = "novoxd"; githubId = 6052922; name = "Kirill Struokov"; }; @@ -8837,6 +9109,12 @@ githubId = 72201; name = "Ole Jørgen Brønner"; }; + ollieB = { + email = "1237862+oliverbunting@users.noreply.github.com"; + github = "oliverbunting"; + githubId = 1237862; + name = "Ollie Bunting"; + }; olynch = { email = "owen@olynch.me"; github = "olynch"; @@ -9614,6 +9892,12 @@ githubId = 20524473; name = "Psyanticy"; }; + psydvl = { + email = "psydvl@fea.st"; + github = "psydvl"; + githubId = 43755002; + name = "Dmitriy P"; + }; ptival = { email = "valentin.robert.42@gmail.com"; github = "Ptival"; @@ -9740,6 +10024,13 @@ githubId = 1016742; name = "Rafael García"; }; + raitobezarius = { + email = "ryan@lahfa.xyz"; + matrix = "@raitobezarius:matrix.org"; + github = "RaitoBezarius"; + githubId = 314564; + name = "Ryan Lahfa"; + }; raquelgb = { email = "raquel.garcia.bautista@gmail.com"; github = "raquelgb"; @@ -9841,6 +10132,20 @@ githubId = 16624; name = "Maxim Ivanov"; }; + reckenrode = { + name = "Randy Eckenrode"; + email = "randy@largeandhighquality.com"; + matrix = "@reckenrode:matrix.org"; + github = "reckenrode"; + githubId = 7413633; + keys = [ + # compare with https://keybase.io/reckenrode + { + longkeyid = "ed25519/0xFBF19A982CCE0048"; + fingerprint = "01D7 5486 3A6D 64EA AC77 0D26 FBF1 9A98 2CCE 0048"; + } + ]; + }; redfish64 = { email = "engler@gmail.com"; github = "redfish64"; @@ -9983,6 +10288,13 @@ githubId = 16779; name = "Rickard Nilsson"; }; + ricochet = { + email = "behayes2@gmail.com"; + github = "ricochet"; + githubId = 974323; + matrix = "@ricochetcode:matrix.org"; + name = "Bailey Hayes"; + }; riey = { email = "creeper844@gmail.com"; github = "Riey"; @@ -10451,14 +10763,20 @@ name = "Samuel Dionne-Riel"; }; samuelgrf = { - email = "git@samuelgrf.com"; + email = "s@muel.gr"; github = "samuelgrf"; githubId = 67663538; name = "Samuel Gräfenstein"; - keys = [{ - longkeyid = "rsa4096/0xEF76A063F15C63C8"; - fingerprint = "FF24 5832 8FAF 4660 18C6 186E EF76 A063 F15C 63C8"; - }]; + keys = [ + { + longkeyid = "rsa4096/0xDE75F92E318123F0"; + fingerprint = "6F2E 2A90 423C 8111 BFF2 895E DE75 F92E 3181 23F0"; + } + { + longkeyid = "rsa4096/0xEF76A063F15C63C8"; + fingerprint = "FF24 5832 8FAF 4660 18C6 186E EF76 A063 F15C 63C8"; + } + ]; }; samuelrivas = { email = "samuelrivas@gmail.com"; @@ -10744,6 +11062,16 @@ githubId = 6720672; name = "Shane Pearlman"; }; + shanesveller = { + email = "shane@sveller.dev"; + github = "shanesveller"; + githubId = 831; + keys = [{ + longkeyid = "rsa4096/0x9210C218023C15CD"; + fingerprint = "F83C 407C ADC4 5A0F 1F2F 44E8 9210 C218 023C 15CD"; + }]; + name = "Shane Sveller"; + }; shawndellysse = { email = "sdellysse@gmail.com"; github = "shawndellysse"; @@ -10786,6 +11114,16 @@ github = "shikanime"; githubId = 22115108; }; + shiryel = { + email = "contact@shiryel.com"; + name = "Shiryel"; + github = "shiryel"; + githubId = 35617139; + keys = [{ + longkeyid = "ed25519/0xC4041EA6B32633DE"; + fingerprint = "AB63 4CD9 3322 BD42 6231 F764 C404 1EA6 B326 33DE"; + }]; + }; shlevy = { email = "shea@shealevy.com"; github = "shlevy"; @@ -10857,7 +11195,7 @@ name = "Yann Hodique"; }; sikmir = { - email = "sikmir@gmail.com"; + email = "sikmir@disroot.org"; github = "sikmir"; githubId = 688044; name = "Nikolay Korotkiy"; @@ -11002,6 +11340,12 @@ fingerprint = "4242 834C D401 86EF 8281 4093 86E3 0E5A 0F5F C59C"; }]; }; + smasher164 = { + email = "aindurti@gmail.com"; + github = "smasher164"; + githubId = 12636891; + name = "Akhil Indurti"; + }; smironov = { email = "grrwlf@gmail.com"; github = "grwlf"; @@ -11323,10 +11667,10 @@ name = "Justus K"; }; SubhrajyotiSen = { - email = "subhrajyoti12@gmail.com"; - github = "SubhrajyotiSen"; - githubId = 12984845; - name = "Subhrajyoti Sen"; + email = "subhrajyoti12@gmail.com"; + github = "SubhrajyotiSen"; + githubId = 12984845; + name = "Subhrajyoti Sen"; }; suhr = { email = "suhr@i2pmail.org"; @@ -11346,6 +11690,13 @@ githubId = 2666479; name = "Y Nguyen"; }; + superherointj = { + name = "Sérgio G."; + email = "5861043+superherointj@users.noreply.github.com"; + matrix = "@superherointj:matrix.org"; + github = "superherointj"; + githubId = 5861043; + }; SuperSandro2000 = { email = "sandro.jaeckel@gmail.com"; matrix = "@sandro:supersandro.de"; @@ -11586,6 +11937,13 @@ githubId = 863327; name = "Tyler Benster"; }; + tboerger = { + email = "thomas@webhippie.de"; + matrix = "@tboerger:matrix.org"; + github = "tboerger"; + githubId = 156964; + name = "Thomas Boerger"; + }; tcbravo = { email = "tomas.bravo@protonmail.ch"; github = "tcbravo"; @@ -11598,6 +11956,12 @@ githubId = 2389333; name = "Andy Tockman"; }; + techknowlogick = { + email = "techknowlogick@gitea.io"; + github = "techknowlogick"; + githubId = 164197; + name = "techknowlogick"; + }; Technical27 = { email = "38222826+Technical27@users.noreply.github.com"; github = "Technical27"; @@ -11677,6 +12041,12 @@ githubId = 378734; name = "TG ⊗ Θ"; }; + tgunnoe = { + email = "t@gvno.net"; + github = "tgunnoe"; + githubId = 7254833; + name = "Taylor Gunnoe"; + }; th0rgal = { email = "thomas.marchand@tuta.io"; github = "Th0rgal"; @@ -11836,7 +12206,7 @@ name = "Tiago Castro"; }; tilcreator = { - name = "Tilman Jackel"; + name = "TilCreator"; email = "contact.nixos@tc-j.de"; matrix = "@tilcreator:matrix.org"; github = "TilCreator"; @@ -11933,6 +12303,7 @@ }; toastal = { email = "toastal+nix@posteo.net"; + matrix = "@toastal:matrix.org"; github = "toastal"; githubId = 561087; name = "toastal"; @@ -12075,6 +12446,12 @@ githubId = 1183303; name = "Jakob Klepp"; }; + trundle = { + name = "Andreas Stührk"; + email = "andy@hammerhartes.de"; + github = "Trundle"; + githubId = 332418; + }; tscholak = { email = "torsten.scholak@googlemail.com"; github = "tscholak"; @@ -12560,6 +12937,16 @@ githubId = 3889405; name = "vyp"; }; + wackbyte = { + name = "wackbyte"; + email = "wackbyte@pm.me"; + github = "wackbyte"; + githubId = 29505620; + keys = [{ + longkeyid = "rsa4096/0x937F2AE5CCEFBF59"; + fingerprint = "E595 7FE4 FEF6 714B 1AD3 1483 937F 2AE5 CCEF BF59"; + }]; + }; wakira = { name = "Sheng Wang"; email = "sheng@a64.work"; @@ -12592,6 +12979,12 @@ email = "kirill.wedens@gmail.com"; name = "wedens"; }; + wegank = { + name = "Weijia Wang"; + email = "contact@weijia.wang"; + github = "wegank"; + githubId = 9713184; + }; weihua = { email = "luwh364@gmail.com"; github = "weihua-lu"; @@ -12652,6 +13045,12 @@ email = "tim.williams.public@gmail.com"; name = "Tim Philip Williams"; }; + willcohen = { + email = "willcohen@users.noreply.github.com"; + github = "willcohen"; + githubId = 5185341; + name = "Will Cohen"; + }; winden = { email = "windenntw@gmail.com"; name = "Antonio Vargas Gonzalez"; @@ -12765,7 +13164,7 @@ name = "Wayne Scott"; }; wucke13 = { - email = "info@wucke13.de"; + email = "wucke13@gmail.com"; github = "wucke13"; githubId = 20400405; name = "Wucke"; @@ -12844,6 +13243,12 @@ githubId = 1297598; name = "Konrad Borowski"; }; + xgroleau = { + email = "xgroleau@gmail.com"; + github = "xgroleau"; + githubId = 31734358; + name = "Xavier Groleau"; + }; xiorcale = { email = "quentin.vaucher@pm.me"; github = "xiorcale"; @@ -12900,7 +13305,7 @@ }; yana = { email = "yana@riseup.net"; - github = "alpakido"; + github = "sowelisuwi"; githubId = 1643293; name = "Yana Timoshenko"; }; @@ -13354,10 +13759,10 @@ github = "nagisa"; githubId = 679122; }; - yevhenshymotiuk = { + yshym = { name = "Yevhen Shymotiuk"; - email = "yevhenshymotiuk@gmail.com"; - github = "yevhenshymotiuk"; + email = "yshym@pm.me"; + github = "yshym"; githubId = 44244245; }; hmenke = { @@ -13481,6 +13886,16 @@ github = "zeri42"; githubId = 68825133; }; + zoedsoupe = { + github = "zoedsoupe"; + githubId = 44469426; + name = "Zoey de Souza Pessanha"; + email = "zoey.spessanha@outlook.com"; + keys = [{ + longkeyid = "rsa4096/0x1E1E889CDBD6A315"; + fingerprint = "EAA1 51DB 472B 0122 109A CB17 1E1E 889C DBD6 A315"; + }]; + }; zombiezen = { name = "Ross Light"; email = "ross@zombiezen.com"; @@ -13521,10 +13936,39 @@ github = "jpagex"; githubId = 635768; }; + portothree = { + name = "Gustavo Porto"; + email = "gustavoporto@ya.ru"; + github = "portothree"; + githubId = 3718120; + }; pwoelfel = { name = "Philipp Woelfel"; email = "philipp.woelfel@gmail.com"; github = "PhilippWoelfel"; githubId = 19400064; }; + qbit = { + name = "Aaron Bieber"; + email = "aaron@bolddaemon.com"; + github = "qbit"; + githubId = 68368; + matrix = "@qbit:tapenet.org"; + keys = [{ + longkeyid = "rsa4096/0x1F81112D62A9ADCE"; + fingerprint = "3586 3350 BFEA C101 DB1A 4AF0 1F81 112D 62A9 ADCE"; + }]; + }; + ameer = { + name = "Ameer Taweel"; + email = "ameertaweel2002@gmail.com"; + github = "AmeerTaweel"; + githubId = 20538273; + }; + nigelgbanks = { + name = "Nigel Banks"; + email = "nigel.g.banks@gmail.com"; + github = "nigelgbanks"; + githubId = 487373; + }; } diff --git a/nixpkgs/maintainers/scripts/pluginupdate.py b/nixpkgs/maintainers/scripts/pluginupdate.py index 9eabcfcebc6e..0fad92481bba 100644 --- a/nixpkgs/maintainers/scripts/pluginupdate.py +++ b/nixpkgs/maintainers/scripts/pluginupdate.py @@ -73,42 +73,90 @@ def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: floa return deco_retry +@dataclass +class FetchConfig: + proc: int + github_token: str + -def make_request(url: str) -> urllib.request.Request: - token = os.getenv("GITHUB_API_TOKEN") +def make_request(url: str, token=None) -> urllib.request.Request: headers = {} if token is not None: headers["Authorization"] = f"token {token}" return urllib.request.Request(url, headers=headers) -@dataclass -class PluginDesc: - owner: str - repo: str - branch: str - alias: Optional[str] - - class Repo: def __init__( - self, owner: str, name: str, branch: str, alias: Optional[str] + self, uri: str, branch: str, alias: Optional[str] ) -> None: - self.owner = owner - self.name = name + self.uri = uri + '''Url to the repo''' self.branch = branch self.alias = alias self.redirect: Dict[str, str] = {} + self.token = "dummy_token" - def url(self, path: str) -> str: - return urljoin(f"https://github.com/{self.owner}/{self.name}/", path) + @property + def name(self): + return self.uri.split('/')[-1] def __repr__(self) -> str: - return f"Repo({self.owner}, {self.name})" + return f"Repo({self.name}, {self.uri})" + + @retry(urllib.error.URLError, tries=4, delay=3, backoff=2) + def has_submodules(self) -> bool: + return True + + @retry(urllib.error.URLError, tries=4, delay=3, backoff=2) + def latest_commit(self) -> Tuple[str, datetime]: + loaded = self._prefetch(None) + updated = datetime.strptime(loaded['date'], "%Y-%m-%dT%H:%M:%S%z") + + return loaded['rev'], updated + + def _prefetch(self, ref: Optional[str]): + cmd = ["nix-prefetch-git", "--quiet", "--fetch-submodules", self.uri] + if ref is not None: + cmd.append(ref) + log.debug(cmd) + data = subprocess.check_output(cmd) + loaded = json.loads(data) + return loaded + + def prefetch(self, ref: Optional[str]) -> str: + loaded = self._prefetch(ref) + return loaded["sha256"] + + def as_nix(self, plugin: "Plugin") -> str: + return f'''fetchgit {{ + url = "{self.uri}"; + rev = "{plugin.commit}"; + sha256 = "{plugin.sha256}"; + }}''' + + +class RepoGitHub(Repo): + def __init__( + self, owner: str, repo: str, branch: str, alias: Optional[str] + ) -> None: + self.owner = owner + self.repo = repo + self.token = None + '''Url to the repo''' + super().__init__(self.url(""), branch, alias) + log.debug("Instantiating github repo %s/%s", self.owner, self.repo) + + @property + def name(self): + return self.repo + + def url(self, path: str) -> str: + return urljoin(f"https://github.com/{self.owner}/{self.name}/", path) @retry(urllib.error.URLError, tries=4, delay=3, backoff=2) def has_submodules(self) -> bool: try: - req = make_request(self.url(f"blob/{self.branch}/.gitmodules")) + req = make_request(self.url(f"blob/{self.branch}/.gitmodules"), self.token) urllib.request.urlopen(req, timeout=10).close() except urllib.error.HTTPError as e: if e.code == 404: @@ -120,9 +168,9 @@ class Repo: @retry(urllib.error.URLError, tries=4, delay=3, backoff=2) def latest_commit(self) -> Tuple[str, datetime]: commit_url = self.url(f"commits/{self.branch}.atom") - commit_req = make_request(commit_url) + commit_req = make_request(commit_url, self.token) with urllib.request.urlopen(commit_req, timeout=10) as req: - self.check_for_redirect(commit_url, req) + self._check_for_redirect(commit_url, req) xml = req.read() root = ET.fromstring(xml) latest_entry = root.find(ATOM_ENTRY) @@ -137,7 +185,7 @@ class Repo: updated = datetime.strptime(updated_tag.text, "%Y-%m-%dT%H:%M:%SZ") return Path(str(url.path)).name, updated - def check_for_redirect(self, url: str, req: http.client.HTTPResponse): + def _check_for_redirect(self, url: str, req: http.client.HTTPResponse): response_url = req.geturl() if url != response_url: new_owner, new_name = ( @@ -150,11 +198,13 @@ class Repo: new_plugin = plugin_line.format(owner=new_owner, name=new_name) self.redirect[old_plugin] = new_plugin - def prefetch_git(self, ref: str) -> str: - data = subprocess.check_output( - ["nix-prefetch-git", "--fetch-submodules", self.url(""), ref] - ) - return json.loads(data)["sha256"] + + def prefetch(self, commit: str) -> str: + if self.has_submodules(): + sha256 = super().prefetch(commit) + else: + sha256 = self.prefetch_github(commit) + return sha256 def prefetch_github(self, ref: str) -> str: data = subprocess.check_output( @@ -162,6 +212,33 @@ class Repo: ) return data.strip().decode("utf-8") + def as_nix(self, plugin: "Plugin") -> str: + if plugin.has_submodules: + submodule_attr = "\n fetchSubmodules = true;" + else: + submodule_attr = "" + + return f'''fetchFromGitHub {{ + owner = "{self.owner}"; + repo = "{self.repo}"; + rev = "{plugin.commit}"; + sha256 = "{plugin.sha256}";{submodule_attr} + }}''' + + +@dataclass +class PluginDesc: + repo: Repo + branch: str + alias: Optional[str] + + @property + def name(self): + if self.alias is None: + return self.repo.name + else: + return self.alias + class Plugin: def __init__( @@ -193,6 +270,7 @@ class Plugin: return copy + class Editor: """The configuration of the update script.""" @@ -219,15 +297,41 @@ class Editor: """To fill the cache""" return get_current_plugins(self) - def load_plugin_spec(self, plugin_file) -> List[PluginDesc]: - return load_plugin_spec(plugin_file) + def load_plugin_spec(self, config: FetchConfig, plugin_file) -> List[PluginDesc]: + plugins = [] + with open(plugin_file) as f: + for line in f: + if line.startswith("#"): + continue + plugin = parse_plugin_line(config, line) + plugins.append(plugin) + return plugins def generate_nix(self, plugins, outfile: str): '''Returns nothing for now, writes directly to outfile''' raise NotImplementedError() - def get_update(self, input_file: str, outfile: str, proc: int): - return get_update(input_file, outfile, proc, editor=self) + def get_update(self, input_file: str, outfile: str, config: FetchConfig): + cache: Cache = Cache(self.get_current_plugins(), self.cache_file) + _prefetch = functools.partial(prefetch, cache=cache) + + def update() -> dict: + plugin_names = self.load_plugin_spec(config, input_file) + + try: + pool = Pool(processes=config.proc) + results = pool.map(_prefetch, plugin_names) + finally: + cache.store() + + plugins, redirects = check_results(results) + + self.generate_nix(plugins, outfile) + + return redirects + + return update + @property def attr_path(self): @@ -241,9 +345,9 @@ class Editor: def create_parser(self): parser = argparse.ArgumentParser( - description=( - f"Updates nix derivations for {self.name} plugins" - f"By default from {self.default_in} to {self.default_out}" + description=(f""" + Updates nix derivations for {self.name} plugins.\n + By default from {self.default_in} to {self.default_out}""" ) ) parser.add_argument( @@ -273,7 +377,15 @@ class Editor: dest="proc", type=int, default=30, - help="Number of concurrent processes to spawn.", + help="Number of concurrent processes to spawn. Setting --github-token allows higher values.", + ) + parser.add_argument( + "--github-token", + "-t", + type=str, + default=os.getenv("GITHUB_API_TOKEN"), + help="""Allows to set --proc to higher values. + Uses GITHUB_API_TOKEN environment variables as the default value.""", ) parser.add_argument( "--no-commit", "-n", action="store_true", default=False, @@ -305,7 +417,7 @@ class CleanEnvironment(object): def get_current_plugins(editor: Editor) -> List[Plugin]: with CleanEnvironment(): - cmd = ["nix", "eval", "--impure", "--json", "--expr", editor.get_plugins] + cmd = ["nix", "eval", "--extra-experimental-features", "nix-command", "--impure", "--json", "--expr", editor.get_plugins] log.debug("Running command %s", cmd) out = subprocess.check_output(cmd) data = json.loads(out) @@ -320,26 +432,24 @@ def prefetch_plugin( p: PluginDesc, cache: "Optional[Cache]" = None, ) -> Tuple[Plugin, Dict[str, str]]: - user, repo_name, branch, alias = p.owner, p.repo, p.branch, p.alias - log.info(f"Fetching last commit for plugin {user}/{repo_name}@{branch}") - repo = Repo(user, repo_name, branch, alias) + repo, branch, alias = p.repo, p.branch, p.alias + name = alias or p.repo.name + commit = None + log.info(f"Fetching last commit for plugin {name} from {repo.uri}@{branch}") commit, date = repo.latest_commit() - has_submodules = repo.has_submodules() cached_plugin = cache[commit] if cache else None if cached_plugin is not None: log.debug("Cache hit !") - cached_plugin.name = alias or repo_name + cached_plugin.name = name cached_plugin.date = date return cached_plugin, repo.redirect - print(f"prefetch {user}/{repo_name}") - if has_submodules: - sha256 = repo.prefetch_git(commit) - else: - sha256 = repo.prefetch_github(commit) + has_submodules = repo.has_submodules() + print(f"prefetch {name}") + sha256 = repo.prefetch(commit) return ( - Plugin(alias or repo_name, commit, has_submodules, sha256, date=date), + Plugin(name, commit, has_submodules, sha256, date=date), repo.redirect, ) @@ -360,16 +470,17 @@ def print_download_error(plugin: str, ex: Exception): def check_results( - results: List[Tuple[str, str, Union[Exception, Plugin], Dict[str, str]]] -) -> Tuple[List[Tuple[str, str, Plugin]], Dict[str, str]]: + results: List[Tuple[PluginDesc, Union[Exception, Plugin], Dict[str, str]]] +) -> Tuple[List[Tuple[PluginDesc, Plugin]], Dict[str, str]]: + ''' ''' failures: List[Tuple[str, Exception]] = [] plugins = [] redirects: Dict[str, str] = {} - for (owner, name, result, redirect) in results: + for (pdesc, result, redirect) in results: if isinstance(result, Exception): - failures.append((name, result)) + failures.append((pdesc.name, result)) else: - plugins.append((owner, name, result)) + plugins.append((pdesc, result)) redirects.update(redirect) print(f"{len(results) - len(failures)} plugins were checked", end="") @@ -384,32 +495,30 @@ def check_results( sys.exit(1) -def parse_plugin_line(line: str) -> PluginDesc: +def make_repo(uri, branch, alias) -> Repo: + '''Instantiate a Repo with the correct specialization depending on server (gitub spec)''' + # dumb check to see if it's of the form owner/repo (=> github) or https://... + res = uri.split('/') + if len(res) <= 2: + repo = RepoGitHub(res[0], res[1], branch, alias) + else: + repo = Repo(uri.strip(), branch, alias) + return repo + +def parse_plugin_line(config: FetchConfig, line: str) -> PluginDesc: branch = "HEAD" alias = None - name, repo = line.split("/") - if " as " in repo: - repo, alias = repo.split(" as ") + uri = line + if " as " in uri: + uri, alias = uri.split(" as ") alias = alias.strip() - if "@" in repo: - repo, branch = repo.split("@") + if "@" in uri: + uri, branch = uri.split("@") - return PluginDesc(name.strip(), repo.strip(), branch.strip(), alias) + repo = make_repo(uri.strip(), branch.strip(), alias) + repo.token = config.github_token - -def load_plugin_spec(plugin_file: str) -> List[PluginDesc]: - plugins = [] - with open(plugin_file) as f: - for line in f: - if line.startswith("#"): - continue - plugin = parse_plugin_line(line) - if not plugin.owner: - msg = f"Invalid repository {line}, must be in the format owner/repo[ as alias]" - print(msg, file=sys.stderr) - sys.exit(1) - plugins.append(plugin) - return plugins + return PluginDesc(repo, branch.strip(), alias) def get_cache_path(cache_file_name: str) -> Optional[Path]: @@ -467,14 +576,13 @@ class Cache: def prefetch( pluginDesc: PluginDesc, cache: Cache -) -> Tuple[str, str, Union[Exception, Plugin], dict]: - owner, repo = pluginDesc.owner, pluginDesc.repo +) -> Tuple[PluginDesc, Union[Exception, Plugin], dict]: try: plugin, redirect = prefetch_plugin(pluginDesc, cache) cache[plugin.commit] = plugin - return (owner, repo, plugin, redirect) + return (pluginDesc, plugin, redirect) except Exception as e: - return (owner, repo, e, {}) + return (pluginDesc, e, {}) def rewrite_input( @@ -522,40 +630,21 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None: print("no changes in working tree to commit") -def get_update(input_file: str, outfile: str, proc: int, editor: Editor): - cache: Cache = Cache(editor.get_current_plugins(), editor.cache_file) - _prefetch = functools.partial(prefetch, cache=cache) - - def update() -> dict: - plugin_names = editor.load_plugin_spec(input_file) - - try: - pool = Pool(processes=proc) - results = pool.map(_prefetch, plugin_names) - finally: - cache.store() - - plugins, redirects = check_results(results) - - editor.generate_nix(plugins, outfile) - - return redirects - - return update - def update_plugins(editor: Editor, args): """The main entry function of this module. All input arguments are grouped in the `Editor`.""" log.setLevel(LOG_LEVELS[args.debug]) log.info("Start updating plugins") - update = editor.get_update(args.input_file, args.outfile, args.proc) + fetch_config = FetchConfig(args.proc, args.github_token) + update = editor.get_update(args.input_file, args.outfile, fetch_config) redirects = update() editor.rewrite_input(args.input_file, editor.deprecated, redirects) autocommit = not args.no_commit + nixpkgs_repo = None if autocommit: nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True) commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile]) diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix index 0743c80ec4f6..c586254d7096 100644 --- a/nixpkgs/maintainers/team-list.nix +++ b/nixpkgs/maintainers/team-list.nix @@ -166,6 +166,17 @@ with lib.maintainers; { scope = "Maintain Jitsi."; }; + kubernetes = { + members = [ + johanot + offline + saschagrunert + srhb + zowoq + ]; + scope = "Maintain the Kubernetes package and module"; + }; + kodi = { members = [ aanderse @@ -203,7 +214,6 @@ with lib.maintainers; { mguentner ekleog ralith - mjlbach dandellion sumnerevans ]; @@ -212,7 +222,7 @@ with lib.maintainers; { openstack = { members = [ - angustrau + emilytrau SuperSandro2000 ]; scope = "Maintain the ecosystem around OpenStack"; @@ -229,6 +239,7 @@ with lib.maintainers; { php = { members = [ aanderse + drupol etu globin ma27 @@ -266,6 +277,13 @@ with lib.maintainers; { scope = "Maintain SageMath and the dependencies that are likely to break it."; }; + sphinx = { + members = [ + SuperSandro2000 + ]; + scope = "Maintain Sphinx related packages."; + }; + serokell = { # Verify additions by approval of an already existing member of the team. members = [ |