diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-10-20 22:09:03 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-10-20 22:09:03 +0000 |
commit | 50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e (patch) | |
tree | f2556b911180125ccbb7ed0e78a54e92da89adce /nixpkgs/maintainers | |
parent | 4c16d4548a98563c9d9ad76f4e5b2202864ccd54 (diff) | |
parent | cfc75eec4603c06503ae750f88cf397e00796ea8 (diff) | |
download | nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.gz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.bz2 nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.lz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.xz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.zst nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.zip |
Merge commit 'cfc75eec4603c06503ae750f88cf397e00796ea8'
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/maintainers')
-rw-r--r-- | nixpkgs/maintainers/maintainer-list.nix | 452 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/all-tarballs.nix | 2 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/fix-maintainers.pl | 14 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/luarocks-packages.csv | 6 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/pluginupdate.py | 47 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/sha-to-sri.py | 228 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/sha256-to-SRI.py | 149 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/update-luarocks-packages | 98 | ||||
-rw-r--r-- | nixpkgs/maintainers/team-list.nix | 14 |
9 files changed, 751 insertions, 259 deletions
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix index 9dfbeb984fce..cba46849dbd1 100644 --- a/nixpkgs/maintainers/maintainer-list.nix +++ b/nixpkgs/maintainers/maintainer-list.nix @@ -19,7 +19,7 @@ where - `handle` is the handle you are going to use in nixpkgs expressions, - - `name` is your, preferably real, name, + - `name` is a name that people would know and recognize you by, - `email` is your maintainer email address, - `matrix` is your Matrix user ID, - `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`), @@ -759,6 +759,12 @@ github = "Alexnortung"; githubId = 1552267; }; + alexoundos = { + email = "alexoundos@gmail.com"; + github = "AleXoundOS"; + githubId = 464913; + name = "Alexander Tomokhov"; + }; alexshpilkin = { email = "ashpilkin@gmail.com"; github = "alexshpilkin"; @@ -787,6 +793,12 @@ githubId = 5053729; name = "Alias Gram"; }; + alias-dev = { + email = "alias-dev@protonmail.com"; + github = "alias-dev"; + githubId = 30437811; + name = "Alex Andrews"; + }; alibabzo = { email = "alistair.bill@gmail.com"; github = "alistairbill"; @@ -823,6 +835,12 @@ githubId = 5892756; name = "Alec Snyder"; }; + allusive = { + email = "jasper@allusive.dev"; + name = "Allusive"; + github = "allusive-dev"; + githubId = 99632976; + }; almac = { email = "alma.cemerlic@gmail.com"; github = "a1mac"; @@ -889,6 +907,12 @@ githubId = 160476; name = "Amanjeev Sethi"; }; + amanse = { + email = "amansetiarjp@gmail.com"; + github = "amanse"; + githubId = 13214574; + name = "Aman Setia"; + }; amar1729 = { email = "amar.paul16@gmail.com"; github = "Amar1729"; @@ -1762,6 +1786,15 @@ githubId = 1222; name = "Aaron VonderHaar"; }; + aviallon = { + email = "antoine-nixos@lesviallon.fr"; + github = "aviallon"; + githubId = 7479436; + name = "Antoine Viallon"; + keys = [{ + fingerprint = "4AC4 A28D 7208 FC6F 2B51 5EA9 D126 B13A B555 E16F"; + }]; + }; avitex = { email = "theavitex@gmail.com"; github = "avitex"; @@ -2336,6 +2369,15 @@ github = "blaggacao"; githubId = 7548295; }; + blankparticle = { + name = "BlankParticle"; + email = "blankparticle@gmail.com"; + github = "BlankParticle"; + githubId = 130567419; + keys = [{ + fingerprint = "1757 64C3 7065 AA8D 614D 41C9 0ACE 126D 7B35 9261"; + }]; + }; blanky0230 = { email = "blanky0230@gmail.com"; github = "blanky0230"; @@ -2566,12 +2608,6 @@ githubId = 200617; name = "Ben Sima"; }; - bstrik = { - email = "dutchman55@gmx.com"; - github = "bstrik"; - githubId = 7716744; - name = "Berno Strik"; - }; btlvr = { email = "btlvr@protonmail.com"; github = "btlvr"; @@ -3653,18 +3689,18 @@ githubId = 398996; name = "Christopher Singley"; }; - cstrahan = { - email = "charles@cstrahan.com"; - github = "cstrahan"; - githubId = 143982; - name = "Charles Strahan"; - }; cswank = { email = "craigswank@gmail.com"; github = "cswank"; githubId = 490965; name = "Craig Swank"; }; + ctron = { + email = "ctron@dentrassi.de"; + github = "ctron"; + githubId = 202474; + name = "Jens Reimann"; + }; cust0dian = { email = "serg@effectful.software"; github = "cust0dian"; @@ -3844,6 +3880,13 @@ githubId = 107034852; name = "Daniyal Suri"; }; + dannixon = { + email = "dan@dan-nixon.com"; + github = "DanNixon"; + githubId = 4037377; + name = "Dan Nixon"; + matrix = "@dannixon:matrix.org"; + }; dansbandit = { github = "dansbandit"; githubId = 4530687; @@ -3932,7 +3975,7 @@ }; davidarmstronglewis = { email = "davidlewis@mac.com"; - github = "davidarmstronglewis"; + github = "oceanlewis"; githubId = 6754950; name = "David Armstrong Lewis"; }; @@ -4382,6 +4425,15 @@ githubId = 14034137; name = "Mostly Void"; }; + ditsuke = { + name = "Tushar"; + email = "hello@ditsuke.com"; + github = "ditsuke"; + githubId = 72784348; + keys = [{ + fingerprint = "8FD2 153F 4889 541A 54F1 E09E 71B6 C31C 8A5A 9D21"; + }]; + }; djacu = { email = "daniel.n.baker@gmail.com"; github = "djacu"; @@ -4549,6 +4601,16 @@ fingerprint = "4749 0887 CF3B 85A1 6355 C671 78C7 DD40 DF23 FB16"; }]; }; + dpc = { + email = "dpc@dpc.pw"; + github = "dpc"; + githubId = 9209; + matrix = "@dpc:matrix.org"; + name = "Dawid Ciężarkiewicz"; + keys = [{ + fingerprint = "0402 11D2 0830 2D71 5792 8197 86BB 1D5B 5575 7D38"; + }]; + }; DPDmancul = { name = "Davide Peressoni"; email = "davide.peressoni@tuta.io"; @@ -4826,6 +4888,12 @@ githubId = 50854; name = "edef"; }; + edeneast = { + email = "edenofest@gmail.com"; + github = "edeneast"; + githubId = 2746374; + name = "edeneast"; + }; ederoyd46 = { email = "matt@ederoyd.co.uk"; github = "ederoyd46"; @@ -5259,6 +5327,11 @@ githubId = 1855930; name = "Ertugrul Söylemez"; }; + esau79p = { + github = "EsAu79p"; + githubId = 21313906; + name = "EsAu"; + }; esclear = { github = "esclear"; githubId = 7432848; @@ -5796,10 +5869,14 @@ githubId = 1618343; }; foo-dogsquared = { - email = "foo.dogsquared@gmail.com"; + email = "foodogsquared@foodogsquared.one"; github = "foo-dogsquared"; githubId = 34962634; + matrix = "@foodogsquared:matrix.org"; name = "Gabriel Arazas"; + keys = [{ + fingerprint = "DDD7 D0BD 602E 564B AA04 FC35 1431 0D91 4115 2B92"; + }]; }; fooker = { email = "fooker@lab.sh"; @@ -5957,6 +6034,15 @@ githubId = 134872; name = "Sergei Lukianov"; }; + fryuni = { + name = "Luiz Ferraz"; + email = "luiz@lferraz.com"; + github = "Fryuni"; + githubId = 11063910; + keys = [{ + fingerprint = "2109 4B0E 560B 031E F539 62C8 2B56 8731 DB24 47EC"; + }]; + }; fsagbuya = { email = "fa@m-labs.ph"; github = "fsagbuya"; @@ -6022,6 +6108,15 @@ githubId = 12715461; name = "Anders Bo Rasmussen"; }; + fwam = { + name = "Legion Orsetti"; + email = "fwam@queereen.dev"; + github = "fwam"; + githubId = 113541944; + keys = [{ + fingerprint = "3822 20B8 57ED 0602 3786 8A7A 18E1 AE22 D704 B4FC"; + }]; + }; fwc = { github = "fwc"; githubId = 29337229; @@ -6238,6 +6333,16 @@ fingerprint = "D0CF 440A A703 E0F9 73CB A078 82BB 70D5 41AE 2DB4"; }]; }; + gepbird = { + email = "gutyina.gergo.2@gmail.com"; + github = "gepbird"; + githubId = 29818440; + name = "Gutyina Gergő"; + keys = [ + { fingerprint = "RoAfvqa6w1l8Vdm3W60TDXurYwJ6h03VEGD+wDNGEwc"; } + { fingerprint = "MP2UpIRtJpbFFqyucP431H/FPCfn58UhEUTro4lXtRs"; } + ]; + }; gerg-l = { email = "gregleyda@proton.me"; github = "Gerg-L"; @@ -6390,6 +6495,10 @@ githubId = 1447245; name = "Robin Gloster"; }; + gm6k = { + email = "nix@quidecco.pl"; + name = "Isidor Zeuner"; + }; gmemstr = { email = "git@gmem.ca"; github = "gmemstr"; @@ -6737,6 +6846,12 @@ githubId = 33523827; name = "Harrison Thorne"; }; + haruki7049 = { + email = "tontonkirikiri@gmail.com"; + github = "haruki7049"; + githubId = 64677724; + name = "haruki7049"; + }; harvidsen = { email = "harvidsen@gmail.com"; github = "harvidsen"; @@ -7102,6 +7217,12 @@ fingerprint = "731A 7A05 AD8B 3AE5 956A C227 4A03 18E0 4E55 5DE5"; }]; }; + hubble = { + name = "Hubble the Wolverine"; + matrix = "@hubofeverything:bark.lgbt"; + github = "the-furry-hubofeverything"; + githubId = 53921912; + }; hufman = { email = "hufman@gmail.com"; github = "hufman"; @@ -7981,6 +8102,12 @@ githubId = 854319; name = "Matt McHenry"; }; + jerrysm64 = { + email = "jerry.starke@icloud.com"; + github = "jerrysm64"; + githubId = 42114389; + name = "Jerry Starke"; + }; jeschli = { email = "jeschli@gmail.com"; github = "0mbi"; @@ -8084,6 +8211,12 @@ githubId = 6445082; name = "Joseph Lukasik"; }; + jgoux = { + email = "hi@jgoux.dev"; + github = "jgoux"; + githubId = 1443499; + name = "Julien Goux"; + }; jhh = { email = "jeff@j3ff.io"; github = "jhh"; @@ -8484,6 +8617,12 @@ github = "jorsn"; githubId = 4646725; }; + joscha = { + name = "Joscha Loos"; + email = "j.loos@posteo.net"; + github = "jooooscha"; + githubId = 57965027; + }; josephst = { name = "Joseph Stahl"; email = "hello@josephstahl.com"; @@ -8526,6 +8665,12 @@ githubId = 1918771; name = "Joe Doyle"; }; + jpentland = { + email = "joe.pentland@gmail.com"; + github = "jpentland"; + githubId = 1135582; + name = "Joe Pentland"; + }; jperras = { email = "joel@nerderati.com"; github = "jperras"; @@ -8658,6 +8803,12 @@ githubId = 1189739; name = "Julio Borja Barra"; }; + jue89 = { + email = "me@jue.yt"; + github = "jue89"; + githubId = 6105784; + name = "Juergen Fitschen"; + }; jugendhacker = { name = "j.r"; email = "j.r@jugendhacker.de"; @@ -8802,6 +8953,15 @@ githubId = 386765; matrix = "@k900:0upti.me"; }; + kachick = { + email = "kachick1@gmail.com"; + github = "kachick"; + githubId = 1180335; + name = "Kenichi Kamiya"; + keys = [{ + fingerprint = "9121 5D87 20CA B405 C63F 24D2 EF6E 574D 040A E2A5"; + }]; + }; kaction = { name = "Dmitry Bogatov"; email = "KAction@disroot.org"; @@ -9889,6 +10049,17 @@ githubId = 3696783; name = "Leroy Hopson"; }; + liketechnik = { + name = "Florian Warzecha"; + + email = "liketechnik@disroot.org"; + github = "liketechnik"; + githubId = 24209689; + + keys = [{ + fingerprint = "92D8 A09D 03DD B774 AABD 53B9 E136 2F07 D750 DB5C"; + }]; + }; lillycham = { email = "lillycat332@gmail.com"; github = "lillycat332"; @@ -10304,12 +10475,6 @@ githubId = 84395723; name = "Lukas Wurzinger"; }; - lukeadams = { - email = "luke.adams@belljar.io"; - github = "lukeadams"; - githubId = 3508077; - name = "Luke Adams"; - }; lukebfox = { email = "lbentley-fox1@sheffield.ac.uk"; github = "lukebfox"; @@ -10770,6 +10935,12 @@ githubId = 7878181; name = "Mateo Diaz"; }; + materus = { + email = "materus@podkos.pl"; + github = "materusPL"; + githubId = 28183516; + name = "Mateusz Słodkowicz"; + }; math-42 = { email = "matheus.4200@gmail.com"; github = "Math-42"; @@ -10927,12 +11098,6 @@ githubId = 4708337; name = "Marcelo A. de L. Santos"; }; - maxhille = { - email = "mh@lambdasoup.com"; - github = "maxhille"; - githubId = 693447; - name = "Max Hille"; - }; maximsmol = { email = "maximsmol@gmail.com"; github = "maximsmol"; @@ -11384,6 +11549,12 @@ githubId = 43088426; name = "Mihnea Stoian"; }; + mikaelfangel = { + email = "nixpkgs.bottle597@passfwd.com"; + github = "MikaelFangel"; + githubId = 34864484; + name = "Mikael Fangel"; + }; mikefaille = { email = "michael@faille.io"; github = "mikefaille"; @@ -11502,6 +11673,15 @@ githubId = 1776903; name = "Andrew Abbott"; }; + mirrorwitch = { + email = "mirrorwitch@transmom.love"; + github = "mirrorwitch"; + githubId = 146672255; + name = "mirrorwitch"; + keys = [{ + fingerprint = "C3E7 F8C4 9CBC 9320 D360 B117 8516 D0FA 7D8F 58FC"; + }]; + }; Misaka13514 = { name = "Misaka13514"; email = "Misaka13514@gmail.com"; @@ -11545,6 +11725,13 @@ githubId = 1001112; name = "Marcin Janczyk"; }; + mjm = { + email = "matt@mattmoriarity.com"; + github = "mjm"; + githubId = 1181; + matrix = "@mjm:beeper.com"; + name = "Matt Moriarity"; + }; mjp = { email = "mike@mythik.co.uk"; github = "MikePlayle"; @@ -11798,6 +11985,13 @@ githubId = 2072185; name = "Marc Scholten"; }; + mrcjkb = { + email = "marc@jakobi.dev"; + matrix = "@mrcjk:matrix.org"; + name = "Marc Jakobi"; + github = "mrcjkb"; + githubId = 12857160; + }; mredaelli = { email = "massimo@typish.io"; github = "mredaelli"; @@ -12038,6 +12232,11 @@ githubId = 59313755; name = "Maxim Karasev"; }; + mxmlnkn = { + github = "mxmlnkn"; + githubId = 6842824; + name = "Maximilian Knespel"; + }; myaats = { email = "mats@mats.sh"; github = "Myaats"; @@ -12387,6 +12586,12 @@ fingerprint = "7BC1 77D9 C222 B1DC FB2F 0484 C061 089E FEBF 7A35"; }]; }; + nicegamer7 = { + name = "Kermina Awad"; + email = "kerminaawad@gmail.com"; + github = "nicegamer7"; + githubId = 8083772; + }; nickcao = { name = "Nick Cao"; email = "nickcao@nichi.co"; @@ -12703,6 +12908,12 @@ githubId = 9939720; name = "Philippe Nguyen"; }; + npulidomateo = { + matrix = "@npulidomateo:matrix.org"; + github = "npulidomateo"; + githubId = 13149442; + name = "Nico Pulido-Mateo"; + }; nrdxp = { email = "tim.deh@pm.me"; matrix = "@timdeh:matrix.org"; @@ -12860,6 +13071,13 @@ fingerprint = "939E F8A5 CED8 7F50 5BB5 B2D0 24BC 2738 5F70 234F"; }]; }; + octodi = { + name = "octodi"; + email = "octodi@proton.me"; + matrix = "@octodi:matrix.org"; + github = "octodi"; + githubId = 127038896; + }; oddlama = { email = "oddlama@oddlama.org"; github = "oddlama"; @@ -12887,6 +13105,11 @@ githubId = 585547; name = "Jaka Hudoklin"; }; + offsetcyan = { + github = "offsetcyan"; + githubId = 49906709; + name = "Dakota"; + }; oida = { email = "oida@posteo.de"; github = "oida"; @@ -13602,6 +13825,12 @@ githubId = 34967; name = "Julius de Bruijn"; }; + pineapplehunter = { + email = "peshogo+nixpkgs@gmail.com"; + github = "pineapplehunter"; + githubId = 8869894; + name = "Shogo Takata"; + }; pingiun = { email = "nixos@pingiun.com"; github = "pingiun"; @@ -13858,7 +14087,7 @@ name = "Pedro Pombeiro"; }; pongo1231 = { - email = "pongo1999712@gmail.com"; + email = "pongo12310@gmail.com"; github = "pongo1231"; githubId = 4201956; name = "pongo1231"; @@ -13993,6 +14222,12 @@ githubId = 406946; name = "Valentin Lorentz"; }; + prominentretail = { + email = "me@jakepark.me"; + github = "ProminentRetail"; + githubId = 94048404; + name = "Jake Park"; + }; proofconstruction = { email = "source@proof.construction"; github = "proofconstruction"; @@ -14234,6 +14469,12 @@ githubId = 1332289; name = "Quentin Machu"; }; + quinn-dougherty = { + email = "quinnd@riseup.net"; + github = "quinn-dougherty"; + githubId = 39039420; + name = "Quinn Dougherty"; + }; qyliss = { email = "hi@alyssa.is"; github = "alyssais"; @@ -14564,6 +14805,12 @@ githubId = 165283; name = "Alexey Kutepov"; }; + rexxDigital = { + email = "joellarssonpriv@gmail.com"; + github = "rexxDigital"; + githubId = 44014925; + name = "Rexx Larsson"; + }; rgnns = { email = "jglievano@gmail.com"; github = "rgnns"; @@ -14636,6 +14883,12 @@ githubId = 42619; name = "Wei-Ming Yang"; }; + rickvanprim = { + email = "me@rickvanprim.com"; + github = "rickvanprim"; + githubId = 13792812; + name = "James Leitch"; + }; rickynils = { email = "rickynils@gmail.com"; github = "rickynils"; @@ -14790,6 +15043,12 @@ githubId = 496447; name = "Robert Hensing"; }; + robert-manchester = { + email = "robert.manchester@gmail.com"; + github = "robert-manchester"; + githubId = 86313040; + name = "Robert Manchester"; + }; robertodr = { email = "roberto.diremigio@gmail.com"; github = "robertodr"; @@ -14956,15 +15215,6 @@ }]; name = "Rahul Butani"; }; - rs0vere = { - email = "rs0vere@proton.me"; - github = "rs0vere"; - githubId = 140035635; - keys = [{ - fingerprint = "C6D8 B5C2 FA79 901B DCCF 95E1 FEC4 5C5A ED00 C58D"; - }]; - name = "Red Star Over Earth"; - }; rski = { name = "rski"; email = "rom.skiad+nix@gmail.com"; @@ -14989,6 +15239,12 @@ githubId = 47790121; name = "Ryan Burns"; }; + rtimush = { + email = "rtimush@gmail.com"; + github = "rtimush"; + githubId = 831307; + name = "Roman Timushev"; + }; rtreffer = { email = "treffer+nixos@measite.de"; github = "rtreffer"; @@ -15006,6 +15262,12 @@ github = "rubyowo"; githubId = 105302757; }; + rudolfvesely = { + name = "Rudolf Vesely"; + email = "i@rudolfvesely.com"; + github = "rudolfvesely"; + githubId = 13966949; + }; Ruixi-rebirth = { name = "Ruixi-rebirth"; email = "ruixirebirth@gmail.com"; @@ -15099,6 +15361,12 @@ fingerprint = "E4F4 1EAB BF0F C785 06D8 62EF EF68 CF41 D42A 593D"; }]; }; + ryangibb = { + email = "ryan@freumh.org"; + github = "ryangibb"; + githubId = 22669046; + name = "Ryan Gibb"; + }; ryanorendorff = { github = "ryanorendorff"; githubId = 12442942; @@ -15212,6 +15480,12 @@ githubId = 171470; name = "Sam Hug"; }; + SamirTalwar = { + email = "lazy.git@functional.computer"; + github = "abstracte"; + githubId = 47852; + name = "Samir Talwar"; + }; samlich = { email = "nixos@samli.ch"; github = "samlich"; @@ -15252,6 +15526,12 @@ githubId = 107703; name = "Samuel Rivas"; }; + samueltardieu = { + email = "nixpkgs@sam.rfc1149.net"; + github = "samueltardieu"; + githubId = 44656; + name = "Samuel Tardieu"; + }; samw = { email = "sam@wlcx.cc"; github = "wlcx"; @@ -15356,6 +15636,12 @@ githubId = 3958212; name = "Tom Sorlie"; }; + schinmai-akamai = { + email = "schinmai@akamai.com"; + github = "schinmai-akamai"; + githubId = 70169773; + name = "Tarun Chinmai Sekar"; + }; schmitthenner = { email = "development@schmitthenner.eu"; github = "fkz"; @@ -15939,6 +16225,12 @@ fingerprint = "B234 EFD4 2B42 FE81 EE4D 7627 F72C 4A88 7F9A 24CA"; }]; }; + sironheart = { + email = "git@beisenherz.dev"; + github = "Sironheart"; + githubId = 13799656; + name = "Steffen Beisenherz"; + }; sirseruju = { email = "sir.seruju@yandex.ru"; github = "SirSeruju"; @@ -16146,6 +16438,16 @@ fingerprint = "E067 520F 5EF2 C175 3F60 50C0 BA46 725F 6A26 7442"; }]; }; + soispha = { + name = "Soispha"; + email = "soispha@vhack.eu"; + matrix = "@soispha:vhack.eu"; + github = "soispha"; + githubId = 132207423; + keys = [{ + fingerprint = "9606 FC74 9FCE 1636 0723 D4AD A5E9 4010 C3A6 42AD"; + }]; + }; solson = { email = "scott@solson.me"; matrix = "@solson:matrix.org"; @@ -16172,6 +16474,16 @@ githubId = 53029739; name = "Joshua Ortiz"; }; + Sorixelle = { + email = "ruby+nixpkgs@srxl.me"; + matrix = "@ruby:isincredibly.gay"; + name = "Ruby Iris Juric"; + github = "Sorixelle"; + githubId = 38685302; + keys = [{ + fingerprint = "2D76 76C7 A28E 16FC 75C7 268D 1B55 6ED8 4B0E 303A"; + }]; + }; sorki = { email = "srk@48.io"; github = "sorki"; @@ -16200,6 +16512,11 @@ fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72"; }]; }; + spacefault = { + github = "spacefault"; + githubId = 74156492; + name = "spacefault"; + }; spacefrogg = { email = "spacefrogg-nixos@meterriblecrew.net"; github = "spacefrogg"; @@ -17595,12 +17912,6 @@ githubId = 10110; name = "Travis B. Hartwell"; }; - travisdavis-ops = { - email = "travisdavismedia@gmail.com"; - github = "TravisDavis-ops"; - githubId = 52011418; - name = "Travis Davis"; - }; traxys = { email = "quentin+dev@familleboyer.net"; github = "traxys"; @@ -17625,6 +17936,13 @@ githubId = 25440339; name = "Tom Repetti"; }; + trevdev = { + email = "trev@trevdev.ca"; + matrix = "@trevdev:matrix.org"; + github = "trev-dev"; + githubId = 28788713; + name = "Trevor Richards"; + }; trevorj = { email = "nix@trevor.joynson.io"; github = "akatrevorjay"; @@ -17803,6 +18121,12 @@ githubId = 1983821; name = "Eric Wolf"; }; + u2x1 = { + email = "u2x1@outlook.com"; + github = "u2x1"; + githubId = 30677291; + name = "u2x1"; + }; uakci = { name = "uakci"; email = "uakci@uakci.pl"; @@ -17821,6 +18145,16 @@ githubId = 1607770; name = "Ulrik Strid"; }; + unclamped = { + name = "Maru"; + email = "clear6860@tutanota.com"; + matrix = "@unhidden0174:matrix.org"; + github = "unclamped"; + githubId = 104658278; + keys = [{ + fingerprint = "57A2 CC43 3068 CB62 89C1 F1DA 9137 BB2E 77AD DE7E"; + }]; + }; unclechu = { name = "Viacheslav Lotsmanov"; email = "lotsmanov89@gmail.com"; @@ -18112,6 +18446,15 @@ githubId = 245573; name = "Dmitry Kalinkin"; }; + vgskye = { + name = "Skye Green"; + email = "me@skye.vg"; + github = "vgskye"; + githubId = 116078858; + keys = [{ + fingerprint = "CDEA 7E04 69E3 0885 A754 4B05 0104 BC05 F41B 77B8"; + }]; + }; victormeriqui = { name = "Victor Meriqui"; email = "victor.meriqui@ororatech.com"; @@ -18390,7 +18733,7 @@ githubId = 60148; }; water-sucks = { - email = "varun@cvte.org"; + email = "varun@snare.dev"; name = "Varun Narravula"; github = "water-sucks"; githubId = 68445574; @@ -18477,6 +18820,12 @@ fingerprint = "F844 80B2 0CA9 D6CC C7F5 2479 A776 D2AD 099E 8BC0"; }]; }; + wexder = { + email = "wexder19@gmail.com"; + github = "wexder"; + githubId = 24979302; + name = "Vladimír Zahradník"; + }; wheelsandmetal = { email = "jakob@schmutz.co.uk"; github = "wheelsandmetal"; @@ -18504,6 +18853,12 @@ githubId = 7121530; name = "Wolf Honoré"; }; + wietsedv = { + email = "wietsedv@proton.me"; + github = "wietsedv"; + githubId = 13139101; + name = "Wietse de Vries"; + }; wigust = { name = "Oleg Pykhalov"; email = "go.wigust@gmail.com"; @@ -18912,7 +19267,7 @@ ]; }; yayayayaka = { - email = "nixpkgs@uwu.is"; + email = "github@uwu.is"; matrix = "@yaya:uwu.is"; github = "yayayayaka"; githubId = 73759599; @@ -19026,6 +19381,13 @@ github = "YorikSar"; githubId = 428074; }; + YoshiRulz = { + name = "YoshiRulz"; + email = "OSSYoshiRulz+Nixpkgs@gmail.com"; + matrix = "@YoshiRulz:matrix.org"; + github = "YoshiRulz"; + githubId = 13409956; + }; yrashk = { email = "yrashk@gmail.com"; github = "yrashk"; diff --git a/nixpkgs/maintainers/scripts/all-tarballs.nix b/nixpkgs/maintainers/scripts/all-tarballs.nix index 6a4de8a4b951..83236e6fa91e 100644 --- a/nixpkgs/maintainers/scripts/all-tarballs.nix +++ b/nixpkgs/maintainers/scripts/all-tarballs.nix @@ -12,5 +12,5 @@ import ../../pkgs/top-level/release.nix scrubJobs = false; # No need to evaluate on i686. supportedSystems = [ "x86_64-linux" ]; - limitedSupportedSystems = []; + bootstrapConfigs = []; } diff --git a/nixpkgs/maintainers/scripts/fix-maintainers.pl b/nixpkgs/maintainers/scripts/fix-maintainers.pl index a83df9ec0cf0..c953cff5cc48 100755 --- a/nixpkgs/maintainers/scripts/fix-maintainers.pl +++ b/nixpkgs/maintainers/scripts/fix-maintainers.pl @@ -13,12 +13,15 @@ STDOUT->autoflush(1); my $ua = LWP::UserAgent->new(); +if (!defined $ENV{GH_TOKEN}) { + die "Set GH_TOKEN before running this script"; +} + keys %$maintainers_json; # reset the internal iterator so a prior each() doesn't affect the loop while(my($k, $v) = each %$maintainers_json) { my $current_user = %$v{'github'}; if (!defined $current_user) { print "$k has no github handle\n"; - next; } my $github_id = %$v{'githubId'}; if (!defined $github_id) { @@ -37,13 +40,16 @@ while(my($k, $v) = each %$maintainers_json) { sleep($ratelimit_reset - time() + 5); } if ($resp->code != 200) { - print $current_user . " likely deleted their github account\n"; + print "$k likely deleted their github account\n"; next; } my $resp_json = from_json($resp->content); my $api_user = %$resp_json{"login"}; - if (lc($current_user) ne lc($api_user)) { - print $current_user . " is now known on github as " . $api_user . ". Editing maintainer-list.nix…\n"; + if (!defined $current_user) { + print "$k is known on github as $api_user.\n"; + } + elsif (lc($current_user) ne lc($api_user)) { + print "$k is now known on github as $api_user. Editing maintainer-list.nix…\n"; my $file = path($maintainers_list_nix); my $data = $file->slurp_utf8; $data =~ s/github = "$current_user";$/github = "$api_user";/m; diff --git a/nixpkgs/maintainers/scripts/luarocks-packages.csv b/nixpkgs/maintainers/scripts/luarocks-packages.csv index 52ac8a934319..5897948a9f83 100644 --- a/nixpkgs/maintainers/scripts/luarocks-packages.csv +++ b/nixpkgs/maintainers/scripts/luarocks-packages.csv @@ -34,7 +34,6 @@ loadkit,,,,,,alerque lpeg,,,,,,vyp lpeg_patterns,,,,,, lpeglabel,,,,1.6.0,, -lpty,,,,,, lrexlib-gnu,,,,,, lrexlib-pcre,,,,,,vyp lrexlib-posix,,,,,, @@ -72,6 +71,7 @@ lualogging,,,,,, luaossl,,,,,5.1, luaposix,,,,34.1.1-1,,vyp lblasc luarepl,,,,,, +luarocks-build-rust-mlua,,,,,,mrcjkb luasec,,,,,,flosse luasocket,,,,,, luasql-sqlite3,,,,,,vyp @@ -89,8 +89,10 @@ lyaml,,,,,,lblasc magick,,,,,,donovanglover markdown,,,,,, mediator_lua,,,,,, +middleclass,,,,,, mpack,,,,,, moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn +nui-nvim,,,,,,mrcjkb nvim-client,https://github.com/neovim/lua-client.git,,,,, nvim-cmp,https://github.com/hrsh7th/nvim-cmp,,,,, penlight,https://github.com/lunarmodules/Penlight.git,,,,,alerque @@ -108,5 +110,7 @@ teal-language-server,,,http://luarocks.org/dev,,, telescope.nvim,,,,,5.1, telescope-manix,,,,,, tl,,,,,,mephistophiles +toml,,,,,,mrcjkb +toml-edit,,,,,5.1,mrcjkb vstruct,https://github.com/ToxicFrog/vstruct.git,,,,, vusted,,,,,,figsoda diff --git a/nixpkgs/maintainers/scripts/pluginupdate.py b/nixpkgs/maintainers/scripts/pluginupdate.py index 6a607eb62480..52e9af399709 100644 --- a/nixpkgs/maintainers/scripts/pluginupdate.py +++ b/nixpkgs/maintainers/scripts/pluginupdate.py @@ -321,8 +321,13 @@ def load_plugins_from_csv( return plugins -def run_nix_expr(expr): - with CleanEnvironment() as nix_path: + +def run_nix_expr(expr, nixpkgs: str): + ''' + :param expr nix expression to fetch current plugins + :param nixpkgs Path towards a nixpkgs checkout + ''' + with CleanEnvironment(nixpkgs) as nix_path: cmd = [ "nix", "eval", @@ -335,8 +340,8 @@ def run_nix_expr(expr): "--nix-path", nix_path, ] - log.debug("Running command %s", " ".join(cmd)) - out = subprocess.check_output(cmd) + log.debug("Running command: %s", " ".join(cmd)) + out = subprocess.check_output(cmd, timeout=90) data = json.loads(out) return data @@ -396,9 +401,9 @@ class Editor: """CSV spec""" print("the update member function should be overriden in subclasses") - def get_current_plugins(self) -> List[Plugin]: + def get_current_plugins(self, nixpkgs) -> List[Plugin]: """To fill the cache""" - data = run_nix_expr(self.get_plugins) + data = run_nix_expr(self.get_plugins, nixpkgs) plugins = [] for name, attr in data.items(): p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"]) @@ -414,7 +419,7 @@ class Editor: raise NotImplementedError() def get_update(self, input_file: str, outfile: str, config: FetchConfig): - cache: Cache = Cache(self.get_current_plugins(), self.cache_file) + cache: Cache = Cache(self.get_current_plugins(self.nixpkgs), self.cache_file) _prefetch = functools.partial(prefetch, cache=cache) def update() -> dict: @@ -454,6 +459,12 @@ class Editor: ), ) common.add_argument( + "--nixpkgs", + type=str, + default=os.getcwd(), + help="Adjust log level", + ) + common.add_argument( "--input-names", "-i", dest="input_file", @@ -541,22 +552,26 @@ class Editor: command = args.command or "update" log.setLevel(LOG_LEVELS[args.debug]) log.info("Chose to run command: %s", command) + self.nixpkgs = args.nixpkgs - if not args.no_commit: - self.nixpkgs_repo = git.Repo(self.root, search_parent_directories=True) + self.nixpkgs_repo = git.Repo(args.nixpkgs, search_parent_directories=True) getattr(self, command)(args) class CleanEnvironment(object): + def __init__(self, nixpkgs): + self.local_pkgs = nixpkgs + def __enter__(self) -> str: - self.old_environ = os.environ.copy() + """ local_pkgs = str(Path(__file__).parent.parent.parent) + """ + self.old_environ = os.environ.copy() self.empty_config = NamedTemporaryFile() self.empty_config.write(b"{}") self.empty_config.flush() - os.environ["NIXPKGS_CONFIG"] = self.empty_config.name - return f"localpkgs={local_pkgs}" + return f"localpkgs={self.local_pkgs}" def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: os.environ.update(self.old_environ) @@ -758,7 +773,8 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None: def update_plugins(editor: Editor, args): - """The main entry function of this module. All input arguments are grouped in the `Editor`.""" + """The main entry function of this module. + All input arguments are grouped in the `Editor`.""" log.info("Start updating plugins") fetch_config = FetchConfig(args.proc, args.github_token) @@ -770,8 +786,11 @@ def update_plugins(editor: Editor, args): autocommit = not args.no_commit if autocommit: + from datetime import date editor.nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True) - commit(editor.nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile]) + updated = date.today().strftime('%m-%d-%Y') + + commit(editor.nixpkgs_repo, f"{editor.attr_path}: updated the {updated}", [args.outfile]) if redirects: update() diff --git a/nixpkgs/maintainers/scripts/sha-to-sri.py b/nixpkgs/maintainers/scripts/sha-to-sri.py new file mode 100755 index 000000000000..1af7ff215ad3 --- /dev/null +++ b/nixpkgs/maintainers/scripts/sha-to-sri.py @@ -0,0 +1,228 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i "python3 -I" -p "python3.withPackages(p: with p; [ rich structlog ])" + +from abc import ABC, abstractclassmethod, abstractmethod +from contextlib import contextmanager +from pathlib import Path +from structlog.contextvars import bound_contextvars as log_context +from typing import ClassVar, List, Tuple + +import hashlib, re, structlog + + +logger = structlog.getLogger("sha-to-SRI") + + +class Encoding(ABC): + alphabet: ClassVar[str] + + @classmethod + @property + def name(cls) -> str: + return cls.__name__.lower() + + def toSRI(self, s: str) -> str: + digest = self.decode(s) + assert len(digest) == self.n + + from base64 import b64encode + return f"{self.hashName}-{b64encode(digest).decode()}" + + @classmethod + def all(cls, h) -> 'List[Encoding]': + return [ c(h) for c in cls.__subclasses__() ] + + def __init__(self, h): + self.n = h.digest_size + self.hashName = h.name + + @property + @abstractmethod + def length(self) -> int: + ... + + @property + def regex(self) -> str: + return f"[{self.alphabet}]{{{self.length}}}" + + @abstractmethod + def decode(self, s: str) -> bytes: + ... + + +class Nix32(Encoding): + alphabet = "0123456789abcdfghijklmnpqrsvwxyz" + inverted = { c: i for i, c in enumerate(alphabet) } + + @property + def length(self): + return 1 + (8 * self.n) // 5 + def decode(self, s: str): + assert len(s) == self.length + out = [ 0 for _ in range(self.n) ] + # TODO: Do better than a list of byte-sized ints + + for n, c in enumerate(reversed(s)): + digit = self.inverted[c] + i, j = divmod(5 * n, 8) + out[i] = out[i] | (digit << j) & 0xff + rem = digit >> (8 - j) + if rem == 0: + continue + elif i < self.n: + out[i+1] = rem + else: + raise ValueError(f"Invalid nix32 hash: '{s}'") + + return bytes(out) + +class Hex(Encoding): + alphabet = "0-9A-Fa-f" + + @property + def length(self): + return 2 * self.n + def decode(self, s: str): + from binascii import unhexlify + return unhexlify(s) + +class Base64(Encoding): + alphabet = "A-Za-z0-9+/" + + @property + def format(self) -> Tuple[int, int]: + """Number of characters in data and padding.""" + i, k = divmod(self.n, 3) + return 4 * i + (0 if k == 0 else k + 1), (3 - k) % 3 + @property + def length(self): + return sum(self.format) + @property + def regex(self): + data, padding = self.format + return f"[{self.alphabet}]{{{data}}}={{{padding}}}" + def decode(self, s): + from base64 import b64decode + return b64decode(s, validate = True) + + +_HASHES = (hashlib.new(n) for n in ('SHA-256', 'SHA-512')) +ENCODINGS = { + h.name: Encoding.all(h) + for h in _HASHES +} + +RE = { + h: "|".join( + (f"({h}-)?" if e.name == 'base64' else '') + + f"(?P<{h}_{e.name}>{e.regex})" + for e in encodings + ) for h, encodings in ENCODINGS.items() +} + +_DEF_RE = re.compile("|".join( + f"(?P<{h}>{h} = (?P<{h}_quote>['\"])({re})(?P={h}_quote);)" + for h, re in RE.items() +)) + + +def defToSRI(s: str) -> str: + def f(m: re.Match[str]) -> str: + try: + for h, encodings in ENCODINGS.items(): + if m.group(h) is None: + continue + + for e in encodings: + s = m.group(f"{h}_{e.name}") + if s is not None: + return f'hash = "{e.toSRI(s)}";' + + raise ValueError(f"Match with '{h}' but no subgroup") + raise ValueError("Match with no hash") + + except ValueError as exn: + logger.error( + "Skipping", + exc_info = exn, + ) + return m.group() + + return _DEF_RE.sub(f, s) + + +@contextmanager +def atomicFileUpdate(target: Path): + '''Atomically replace the contents of a file. + + Guarantees that no temporary files are left behind, and `target` is either + left untouched, or overwritten with new content if no exception was raised. + + Yields a pair `(original, new)` of open files. + `original` is the pre-existing file at `target`, open for reading; + `new` is an empty, temporary file in the same filder, open for writing. + + Upon exiting the context, the files are closed; if no exception was + raised, `new` (atomically) replaces the `target`, otherwise it is deleted. + ''' + # That's mostly copied from noto-emoji.py, should DRY it out + from tempfile import mkstemp + fd, _p = mkstemp( + dir = target.parent, + prefix = target.name, + ) + tmpPath = Path(_p) + + try: + with target.open() as original: + with tmpPath.open('w') as new: + yield (original, new) + + tmpPath.replace(target) + + except Exception: + tmpPath.unlink(missing_ok = True) + raise + + +def fileToSRI(p: Path): + with atomicFileUpdate(p) as (og, new): + for i, line in enumerate(og): + with log_context(line=i): + new.write(defToSRI(line)) + + +_SKIP_RE = re.compile( + "(generated by)|(do not edit)", + re.IGNORECASE +) + +if __name__ == "__main__": + from sys import argv, stderr + logger.info("Starting!") + + for arg in argv[1:]: + p = Path(arg) + with log_context(path=str(p)): + try: + if p.name == "yarn.nix" or p.name.find("generated") != -1: + logger.warning("File looks autogenerated, skipping!") + continue + + with p.open() as f: + for line in f: + if line.strip(): + break + + if _SKIP_RE.search(line): + logger.warning("File looks autogenerated, skipping!") + continue + + fileToSRI(p) + except Exception as exn: + logger.error( + "Unhandled exception, skipping file!", + exc_info = exn, + ) + else: + logger.info("Finished processing file") diff --git a/nixpkgs/maintainers/scripts/sha256-to-SRI.py b/nixpkgs/maintainers/scripts/sha256-to-SRI.py deleted file mode 100755 index dcacb4c58044..000000000000 --- a/nixpkgs/maintainers/scripts/sha256-to-SRI.py +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i "python3 -I" -p "python3.withPackages(p: with p; [ rich structlog ])" - -from contextlib import contextmanager -from pathlib import Path -from structlog.contextvars import bound_contextvars as log_context - -import re, structlog - - -logger = structlog.getLogger("sha256-to-SRI") - - -nix32alphabet = "0123456789abcdfghijklmnpqrsvwxyz" -nix32inverted = { c: i for i, c in enumerate(nix32alphabet) } - -def nix32decode(s: str) -> bytes: - # only support sha256 hashes for now - assert len(s) == 52 - out = [ 0 for _ in range(32) ] - # TODO: Do better than a list of byte-sized ints - - for n, c in enumerate(reversed(s)): - digit = nix32inverted[c] - i, j = divmod(5 * n, 8) - out[i] = out[i] | (digit << j) & 0xff - rem = digit >> (8 - j) - if rem == 0: - continue - elif i < 31: - out[i+1] = rem - else: - raise ValueError(f"Invalid nix32 hash: '{s}'") - - return bytes(out) - - -def toSRI(digest: bytes) -> str: - from base64 import b64encode - assert len(digest) == 32 - return f"sha256-{b64encode(digest).decode()}" - - -RE = { - 'nix32': f"[{nix32alphabet}]" "{52}", - 'hex': "[0-9A-Fa-f]{64}", - 'base64': "[A-Za-z0-9+/]{43}=", -} -RE['sha256'] = '|'.join( - f"{'(sha256-)?' if name == 'base64' else ''}" - f"(?P<{name}>{r})" - for name, r in RE.items() -) - -def sha256toSRI(m: re.Match) -> str: - """Produce the equivalent SRI string for any match of RE['sha256']""" - if m['nix32'] is not None: - return toSRI(nix32decode(m['nix32'])) - if m['hex'] is not None: - from binascii import unhexlify - return toSRI(unhexlify(m['hex'])) - if m['base64'] is not None: - from base64 import b64decode - return toSRI(b64decode(m['base64'])) - - raise ValueError("Got a match where none of the groups captured") - - -# Ohno I used evil, irregular backrefs instead of making 2 variants ^^' -_def_re = re.compile( - "sha256 = (?P<quote>[\"'])" - f"({RE['sha256']})" - "(?P=quote);" -) - -def defToSRI(s: str) -> str: - def f(m: re.Match[str]) -> str: - try: - return f'hash = "{sha256toSRI(m)}";' - - except ValueError as exn: - begin, end = m.span() - match = m.string[begin:end] - - logger.error( - "Skipping", - exc_info = exn, - ) - return match - - return _def_re.sub(f, s) - - -@contextmanager -def atomicFileUpdate(target: Path): - '''Atomically replace the contents of a file. - - Guarantees that no temporary files are left behind, and `target` is either - left untouched, or overwritten with new content if no exception was raised. - - Yields a pair `(original, new)` of open files. - `original` is the pre-existing file at `target`, open for reading; - `new` is an empty, temporary file in the same filder, open for writing. - - Upon exiting the context, the files are closed; if no exception was - raised, `new` (atomically) replaces the `target`, otherwise it is deleted. - ''' - # That's mostly copied from noto-emoji.py, should DRY it out - from tempfile import mkstemp - fd, _p = mkstemp( - dir = target.parent, - prefix = target.name, - ) - tmpPath = Path(_p) - - try: - with target.open() as original: - with tmpPath.open('w') as new: - yield (original, new) - - tmpPath.replace(target) - - except Exception: - tmpPath.unlink(missing_ok = True) - raise - - -def fileToSRI(p: Path): - with atomicFileUpdate(p) as (og, new): - for i, line in enumerate(og): - with log_context(line=i): - new.write(defToSRI(line)) - - -if __name__ == "__main__": - from sys import argv, stderr - - for arg in argv[1:]: - p = Path(arg) - with log_context(path=str(p)): - try: - fileToSRI(p) - except Exception as exn: - logger.error( - "Unhandled exception, skipping file!", - exc_info = exn, - ) - else: - logger.info("Finished processing file") diff --git a/nixpkgs/maintainers/scripts/update-luarocks-packages b/nixpkgs/maintainers/scripts/update-luarocks-packages index 791cd8a1d89d..32c2b44260b3 100755 --- a/nixpkgs/maintainers/scripts/update-luarocks-packages +++ b/nixpkgs/maintainers/scripts/update-luarocks-packages @@ -2,11 +2,11 @@ #!nix-shell update-luarocks-shell.nix -i python3 # format: -# $ nix run nixpkgs.python3Packages.black -c black update.py +# $ nix run nixpkgs#python3Packages.black -- update.py # type-check: -# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py +# $ nix run nixpkgs#python3Packages.mypy -- update.py # linted: -# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py +# $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py import inspect import os @@ -25,14 +25,14 @@ from pathlib import Path log = logging.getLogger() log.addHandler(logging.StreamHandler()) -ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore +ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore import pluginupdate from pluginupdate import update_plugins, FetchConfig, CleanEnvironment -PKG_LIST="maintainers/scripts/luarocks-packages.csv" -TMP_FILE="$(mktemp)" -GENERATED_NIXFILE="pkgs/development/lua-modules/generated-packages.nix" -LUAROCKS_CONFIG="maintainers/scripts/luarocks-config.lua" +PKG_LIST = "maintainers/scripts/luarocks-packages.csv" +TMP_FILE = "$(mktemp)" +GENERATED_NIXFILE = "pkgs/development/lua-modules/generated-packages.nix" +LUAROCKS_CONFIG = "maintainers/scripts/luarocks-config.lua" HEADER = """/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! Regenerate it with: @@ -40,36 +40,40 @@ nixpkgs$ ./maintainers/scripts/update-luarocks-packages You can customize the generated packages in pkgs/development/lua-modules/overrides.nix */ -""".format(GENERATED_NIXFILE=GENERATED_NIXFILE) +""".format( + GENERATED_NIXFILE=GENERATED_NIXFILE +) -FOOTER=""" +FOOTER = """ } /* GENERATED - do not edit this file */ """ + @dataclass class LuaPlugin: name: str - '''Name of the plugin, as seen on luarocks.org''' + """Name of the plugin, as seen on luarocks.org""" src: str - '''address to the git repository''' + """address to the git repository""" ref: Optional[str] - '''git reference (branch name/tag)''' + """git reference (branch name/tag)""" version: Optional[str] - '''Set it to pin a package ''' + """Set it to pin a package """ server: Optional[str] - '''luarocks.org registers packages under different manifests. + """luarocks.org registers packages under different manifests. Its value can be 'http://luarocks.org/dev' - ''' + """ luaversion: Optional[str] - '''Attribue of the lua interpreter if a package is available only for a specific lua version''' + """Attribue of the lua interpreter if a package is available only for a specific lua version""" maintainers: Optional[str] - ''' Optional string listing maintainers separated by spaces''' + """ Optional string listing maintainers separated by spaces""" @property def normalized_name(self) -> str: return self.name.replace(".", "-") + # rename Editor to LangUpdate/ EcosystemUpdater class LuaEditor(pluginupdate.Editor): def get_current_plugins(self): @@ -77,11 +81,13 @@ class LuaEditor(pluginupdate.Editor): def load_plugin_spec(self, input_file) -> List[LuaPlugin]: luaPackages = [] - csvfilename=input_file + csvfilename = input_file log.info("Loading package descriptions from %s", csvfilename) - with open(csvfilename, newline='') as csvfile: - reader = csv.DictReader(csvfile,) + with open(csvfilename, newline="") as csvfile: + reader = csv.DictReader( + csvfile, + ) for row in reader: # name,server,version,luaversion,maintainers plugin = LuaPlugin(**row) @@ -91,23 +97,19 @@ class LuaEditor(pluginupdate.Editor): def update(self, args): update_plugins(self, args) - def generate_nix( - self, - results: List[Tuple[LuaPlugin, str]], - outfilename: str - ): - + def generate_nix(self, results: List[Tuple[LuaPlugin, str]], outfilename: str): with tempfile.NamedTemporaryFile("w+") as f: f.write(HEADER) header2 = textwrap.dedent( - # header2 = inspect.cleandoc( - """ + # header2 = inspect.cleandoc( + """ { self, stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args: final: prev: { - """) + """ + ) f.write(header2) - for (plugin, nix_expr) in results: + for plugin, nix_expr in results: f.write(f"{plugin.normalized_name} = {nix_expr}") f.write(FOOTER) f.flush() @@ -156,19 +158,20 @@ class LuaEditor(pluginupdate.Editor): # luaPackages.append(plugin) pass + def generate_pkg_nix(plug: LuaPlugin): - ''' + """ Generate nix expression for a luarocks package Our cache key associates "p.name-p.version" to its rockspec - ''' + """ log.debug("Generating nix expression for %s", plug.name) custom_env = os.environ.copy() - custom_env['LUAROCKS_CONFIG'] = LUAROCKS_CONFIG + custom_env["LUAROCKS_CONFIG"] = LUAROCKS_CONFIG # we add --dev else luarocks wont find all the "scm" (=dev) versions of the # packages - # , "--dev" - cmd = [ "luarocks", "nix" ] + # , "--dev" + cmd = ["luarocks", "nix"] if plug.maintainers: cmd.append(f"--maintainers={plug.maintainers}") @@ -176,7 +179,10 @@ def generate_pkg_nix(plug: LuaPlugin): # if plug.server == "src": if plug.src != "": if plug.src is None: - msg = "src must be set when 'version' is set to \"src\" for package %s" % plug.name + msg = ( + "src must be set when 'version' is set to \"src\" for package %s" + % plug.name + ) log.error(msg) raise RuntimeError(msg) log.debug("Updating from source %s", plug.src) @@ -185,7 +191,6 @@ def generate_pkg_nix(plug: LuaPlugin): else: cmd.append(plug.name) if plug.version and plug.version != "src": - cmd.append(plug.version) if plug.server != "src" and plug.server: @@ -194,23 +199,26 @@ def generate_pkg_nix(plug: LuaPlugin): if plug.luaversion: cmd.append(f"--lua-version={plug.luaversion}") - log.debug("running %s", ' '.join(cmd)) + log.debug("running %s", " ".join(cmd)) output = subprocess.check_output(cmd, env=custom_env, text=True) output = "callPackage(" + output.strip() + ") {};\n\n" return (plug, output) -def main(): - editor = LuaEditor("lua", ROOT, '', - default_in = ROOT.joinpath(PKG_LIST), - default_out = ROOT.joinpath(GENERATED_NIXFILE) - ) +def main(): + editor = LuaEditor( + "lua", + ROOT, + "", + default_in=ROOT.joinpath(PKG_LIST), + default_out=ROOT.joinpath(GENERATED_NIXFILE), + ) editor.run() -if __name__ == "__main__": +if __name__ == "__main__": main() # vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix index 6b90ce30588b..85a6227634f1 100644 --- a/nixpkgs/maintainers/team-list.nix +++ b/nixpkgs/maintainers/team-list.nix @@ -350,6 +350,7 @@ with lib.maintainers; { mic92 zowoq qbit + mfrw ]; githubTeams = [ "golang" @@ -611,6 +612,7 @@ with lib.maintainers; { minimal-bootstrap = { members = [ + alejandrosame artturin emilytrau ericson2314 @@ -682,6 +684,18 @@ with lib.maintainers; { shortName = "Numtide team"; }; + ocaml = { + members = [ + alizter + ]; + githubTeams = [ + "ocaml" + ]; + scope = "Maintain the OCaml compiler and package set."; + shortName = "OCaml"; + enableFeatureFreezePing = true; + }; + openstack = { members = [ SuperSandro2000 |