diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-09-08 17:57:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-09-13 11:31:47 +0000 |
commit | ee7984efa14902a2ddd820c937457667a4f40c6a (patch) | |
tree | c9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/maintainers | |
parent | ffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff) | |
parent | b3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff) | |
download | nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2 nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip |
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/maintainers')
-rw-r--r-- | nixpkgs/maintainers/maintainer-list.nix | 296 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/haskell/mark-broken.sh | 7 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh | 21 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/luarocks-packages.csv | 173 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/pluginupdate.py | 189 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/update-luarocks-packages | 332 | ||||
-rw-r--r-- | nixpkgs/maintainers/scripts/update-luarocks-shell.nix | 7 | ||||
-rwxr-xr-x | nixpkgs/maintainers/scripts/update-ruby-packages | 5 | ||||
-rw-r--r-- | nixpkgs/maintainers/team-list.nix | 23 |
9 files changed, 732 insertions, 321 deletions
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix index f6bc656610f8..09c65a77fde0 100644 --- a/nixpkgs/maintainers/maintainer-list.nix +++ b/nixpkgs/maintainers/maintainer-list.nix @@ -80,6 +80,12 @@ githubId = 791309; name = "Jan Hrnko"; }; + _1000teslas = { + name = "Kevin Tran"; + email = "47207223+1000teslas@users.noreply.github.com"; + github = "1000teslas"; + githubId = 47207223; + }; _3699n = { email = "nicholas@nvk.pm"; github = "3699n"; @@ -390,6 +396,12 @@ githubId = 1318982; name = "Anders Claesson"; }; + akho = { + name = "Alexander Khodyrev"; + email = "a@akho.name"; + github = "akho"; + githubId = 104951; + }; akru = { email = "mail@akru.me"; github = "akru"; @@ -1312,6 +1324,12 @@ githubId = 7346933; name = "betaboon"; }; + bew = { + email = "benoit.dechezelles@gmail.com"; + github = "bew"; + githubId = 9730330; + name = "Benoit de Chezelles"; + }; bfortz = { email = "bernard.fortz@gmail.com"; github = "bfortz"; @@ -1412,6 +1430,12 @@ githubId = 10221570; name = "Bo Bakker"; }; + bobby285271 = { + name = "Bobby Rong"; + email = "rjl931189261@126.com"; + github = "bobby285271"; + githubId = 20080233; + }; bobvanderlinden = { email = "bobvanderlinden@gmail.com"; github = "bobvanderlinden"; @@ -1530,6 +1554,12 @@ githubId = 1111035; name = "Break Yang"; }; + brecht = { + email = "brecht.savelkoul@alumni.lse.ac.uk"; + github = "brechtcs"; + githubId = 6107054; + name = "Brecht Savelkoul"; + }; brettlyons = { email = "blyons@fastmail.com"; github = "brettlyons"; @@ -1899,6 +1929,12 @@ githubId = 811527; name = "Christopher Jefferson"; }; + chrispickard = { + email = "chrispickard9@gmail.com"; + github = "chrispickard"; + githubId = 1438690; + name = "Chris Pickard"; + }; chrisrosset = { email = "chris@rosset.org.uk"; github = "chrisrosset"; @@ -2265,6 +2301,12 @@ fingerprint = "1C4E F4FE 7F8E D8B7 1E88 CCDF BAB1 D15F B7B4 D4CE"; }]; }; + d-xo = { + email = "hi@d-xo.org"; + github = "d-xo"; + githubId = 6689924; + name = "David Terry"; + }; dadada = { name = "dadada"; email = "dadada@dadada.li"; @@ -3219,6 +3261,12 @@ fingerprint = "2D37 1AD2 7E2B BC77 97E1 B759 6C79 278F 3FCD CC02"; }]; }; + ereslibre = { + email = "ereslibre@ereslibre.es"; + github = "ereslibre"; + githubId = 8706; + name = "Rafael Fernández López"; + }; ericbmerritt = { email = "eric@afiniate.com"; github = "ericbmerritt"; @@ -3383,6 +3431,12 @@ githubId = 454695; name = "Artur Taranchiev"; }; + exarkun = { + email = "exarkun@twistedmatrix.com"; + github = "exarkun"; + githubId = 254565; + name = "Jean-Paul Calderone"; + }; exfalso = { email = "0slemi0@gmail.com"; github = "exfalso"; @@ -3441,6 +3495,12 @@ fingerprint = "2F6C 930F D3C4 7E38 6AFA 4EB4 E23C D2DD 36A4 397F"; }]; }; + fabiangd = { + email = "fabian.g.droege@gmail.com"; + name = "Fabian G. Dröge"; + github = "FabianGD"; + githubId = 40316600; + }; fabianhauser = { email = "fabian.nixos@fh2.ch"; github = "fabianhauser"; @@ -3573,6 +3633,12 @@ fingerprint = "2F93 661D AC17 EA98 A104 F780 ECC7 55EE 583C 1672"; }]; }; + flexagoon = { + email = "flexagoon@pm.me"; + github = "flexagoon"; + githubId = 66178592; + name = "Pavel Zolotarevskiy"; + }; flexw = { email = "felix.weilbach@t-online.de"; github = "FlexW"; @@ -3989,6 +4055,16 @@ fingerprint = "5214 2D39 A7CE F8FA 872B CA7F DE62 E1E2 A614 5556"; }]; }; + gpanders = { + name = "Gregory Anders"; + email = "greg@gpanders.com"; + github = "gpanders"; + githubId = 8965202; + keys = [{ + longkeyid = "rsa2048/0x56E93C2FB6B08BDB"; + fingerprint = "B9D5 0EDF E95E ECD0 C135 00A9 56E9 3C2F B6B0 8BDB"; + }]; + }; gpyh = { email = "yacine.hmito@gmail.com"; github = "yacinehmito"; @@ -4195,6 +4271,16 @@ githubId = 147689; name = "Hans-Christian Esperer"; }; + hdhog = { + name = "Serg Larchenko"; + email = "hdhog@hdhog.ru"; + github = "hdhog"; + githubId = 386666; + keys = [{ + longkeyid = "rsa496/952EACB76703BA63"; + fingerprint = "A25F 6321 AAB4 4151 4085 9924 952E ACB7 6703 BA63"; + }]; + }; hectorj = { email = "hector.jusforgues+nixos@gmail.com"; github = "hectorj"; @@ -4249,6 +4335,12 @@ githubId = 131599; name = "Martin Weinelt"; }; + hexagonal-sun = { + email = "dev@mattleach.net"; + github = "hexagonal-sun"; + githubId = 222664; + name = "Matthew Leach"; + }; hh = { email = "hh@m-labs.hk"; github = "HarryMakes"; @@ -4529,6 +4621,12 @@ githubId = 592849; name = "Ilya Kolpakov"; }; + ilyakooo0 = { + name = "Ilya Kostyuchenko"; + email = "ilyakooo0@gmail.com"; + github = "ilyakooo0"; + githubId = 6209627; + }; imalison = { email = "IvanMalison@gmail.com"; github = "IvanMalison"; @@ -4697,6 +4795,12 @@ githubId = 40566146; name = "Jonas Braun"; }; + j-hui = { + email = "j-hui@cs.columbia.edu"; + github = "j-hui"; + githubId = 11800204; + name = "John Hui"; + }; j-keck = { email = "jhyphenkeck@gmail.com"; github = "j-keck"; @@ -4857,6 +4961,12 @@ github = "jduan"; githubId = 452450; }; + jecaro = { + email = "jeancharles.quillet@gmail.com"; + github = "jecaro"; + githubId = 17029738; + name = "Jean-Charles Quillet"; + }; jefdaj = { email = "jefdaj@gmail.com"; github = "jefdaj"; @@ -4927,6 +5037,12 @@ fingerprint = "7EB1 C02A B62B B464 6D7C E4AE D1D0 9DE1 69EA 19A0"; }]; }; + jgart = { + email = "jgart@dismail.de"; + github = "jgarte"; + githubId = 47760695; + name = "Jorge Gomez"; + }; jgeerds = { email = "jascha@geerds.org"; github = "jgeerds"; @@ -5216,6 +5332,12 @@ githubId = 20675; name = "Joël Perras"; }; + jpetrucciani = { + email = "j@cobi.dev"; + github = "jpetrucciani"; + githubId = 8117202; + name = "Jacobi Petrucciani"; + }; jpierre03 = { email = "nix@prunetwork.fr"; github = "jpierre03"; @@ -5282,7 +5404,7 @@ }; juaningan = { email = "juaningan@gmail.com"; - github = "juaningan"; + github = "uningan"; githubId = 810075; name = "Juan Rodal"; }; @@ -5592,6 +5714,16 @@ githubId = 148352; name = "Jim Fowler"; }; + kittywitch = { + email = "kat@kittywit.ch"; + github = "kittywitch"; + githubId = 67870215; + name = "kat witch"; + keys = [{ + longkeyid = "rsa4096/0x7248991EFA8EFBEE"; + fingerprint = "01F5 0A29 D4AA 9117 5A11 BDB1 7248 991E FA8E FBEE"; + }]; + }; kiwi = { email = "envy1988@gmail.com"; github = "Kiwi"; @@ -5791,6 +5923,12 @@ githubId = 278013; name = "Tomasz Kontusz"; }; + kurnevsky = { + email = "kurnevsky@gmail.com"; + github = "kurnevsky"; + githubId = 2943605; + name = "Evgeny Kurnevsky"; + }; kuznero = { email = "roman@kuznero.com"; github = "kuznero"; @@ -5918,6 +6056,12 @@ githubId = 1104419; name = "Lucas Hoffmann"; }; + lde = { + email = "lilian.deloche@puck.fr"; + github = "lde"; + githubId = 1447020; + name = "Lilian Deloche"; + }; ldelelis = { email = "ldelelis@est.frba.utn.edu.ar"; github = "ldelelis"; @@ -6568,6 +6712,22 @@ githubId = 775189; name = "Jordi Masip"; }; + MaskedBelgian = { + email = "michael.colicchia@imio.be"; + github = "MaskedBelgian"; + 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"; @@ -6646,6 +6806,12 @@ githubId = 35892750; name = "Maxine Aubrey"; }; + maxhille = { + email = "mh@lambdasoup.com"; + github = "maxhille"; + githubId = 693447; + name = "Max Hille"; + }; maxhbr = { email = "nixos@maxhbr.dev"; github = "maxhbr"; @@ -6768,16 +6934,6 @@ fingerprint = "D709 03C8 0BE9 ACDC 14F0 3BFB 77BF E531 397E DE94"; }]; }; - mdsp = { - github = "Mdsp9070"; - githubId = 44469426; - name = "Matheus de Souza Pessanha"; - email = "matheus_pessanha2001@outlook.com"; - keys = [{ - longkeyid = "rsa4096/6DFD656220A3B849"; - fingerprint = "2D4D 488F 17FB FF75 664E C016 6DFD 6562 20A3 B849"; - }]; - }; meatcar = { email = "nixpkgs@denys.me"; github = "meatcar"; @@ -6901,6 +7057,12 @@ fingerprint = "3DEE 1C55 6E1C 3DC5 54F5 875A 003F 2096 411B 5F92"; }]; }; + michaeladler = { + email = "therisen06@gmail.com"; + github = "michaeladler"; + githubId = 1575834; + name = "Michael Adler"; + }; michaelpj = { email = "michaelpj@gmail.com"; github = "michaelpj"; @@ -7307,6 +7469,16 @@ name = "Maxim Schuwalow"; email = "maxim.schuwalow@gmail.com"; }; + msfjarvis = { + github = "msfjarvis"; + githubId = 3348378; + name = "Harsh Shandilya"; + email = "nixos@msfjarvis.dev"; + keys = [{ + longkeyid = "rsa4096/0xB7843F823355E9B9"; + fingerprint = "8F87 050B 0F9C B841 1515 7399 B784 3F82 3355 E9B9"; + }]; + }; msiedlarek = { email = "mikolaj@siedlarek.pl"; github = "msiedlarek"; @@ -7447,6 +7619,12 @@ email = "natedevv@gmail.com"; name = "Nathan Moore"; }; + nathanruiz = { + email = "nathanruiz@protonmail.com"; + github = "nathanruiz"; + githubId = 18604892; + name = "Nathan Ruiz"; + }; nathan-gs = { email = "nathan@nathan.gs"; github = "nathan-gs"; @@ -7511,6 +7689,12 @@ githubId = 628342; name = "Tim Steinbach"; }; + nerdypepper = { + email = "nerdy@peppe.rs"; + github = "nerdypepper"; + githubId = 23743547; + name = "Akshay Oppiliappan"; + }; nessdoor = { name = "Tomas Antonio Lopez"; email = "entropy.overseer@protonmail.com"; @@ -7802,6 +7986,12 @@ githubId = 1839979; name = "Niklas Thörne"; }; + nukaduka = { + email = "ksgokte@gmail.com"; + github = "NukaDuka"; + githubId = 22592293; + name = "Kartik Gokte"; + }; nullx76 = { email = "nix@xirion.net"; github = "NULLx76"; @@ -8492,6 +8682,12 @@ github = "polygon"; githubId = 51489; }; + polykernel = { + email = "81340136+polykernel@users.noreply.github.com"; + github = "polykernel"; + githubId = 81340136; + name = "polykernel"; + }; polyrod = { email = "dc1mdp@gmail.com"; github = "polyrod"; @@ -8662,6 +8858,12 @@ githubId = 5636; name = "Steve Purcell"; }; + putchar = { + email = "slim.cadoux@gmail.com"; + github = "putchar"; + githubId = 8208767; + name = "Slim Cadoux"; + }; puzzlewolf = { email = "nixos@nora.pink"; github = "puzzlewolf"; @@ -9574,6 +9776,18 @@ githubId = 1567527; name = "Sebastian Hyberts"; }; + sebbel = { + email = "hej@sebastian-ball.de"; + github = "sebbel"; + githubId = 1940568; + name = "Sebastian Ball"; + }; + sebtm = { + email = "mail@sebastian-sellmeier.de"; + github = "sebtm"; + githubId = 17243347; + name = "Sebastian Sellmeier"; + }; sellout = { email = "greg@technomadic.org"; github = "sellout"; @@ -9894,6 +10108,12 @@ fingerprint = "6F8A 18AE 4101 103F 3C54 24B9 6AA2 3A11 93B7 064B"; }]; }; + smancill = { + email = "smancill@smancill.dev"; + github = "smancill"; + githubId = 238528; + name = "Sebastián Mancilla"; + }; smaret = { email = "sebastien.maret@icloud.com"; github = "smaret"; @@ -10064,6 +10284,12 @@ githubId = 8668915; name = "Stephane Schitter"; }; + staccato = { + name = "staccato"; + email = "moveq@riseup.net"; + github = "staccato"; + githubId = 86573128; + }; steell = { email = "steve@steellworks.com"; github = "Steell"; @@ -10128,6 +10354,12 @@ githubId = 1829294; name = "Steve Chávez"; }; + stevebob = { + email = "stephen@sherra.tt"; + github = "stevebob"; + githubId = 417118; + name = "Stephen Sherratt"; + }; steveej = { email = "mail@stefanjunker.de"; github = "steveej"; @@ -10964,6 +11196,12 @@ fingerprint = "E631 8869 586F 99B4 F6E6 D785 5942 58F0 389D 2802"; }]; }; + twitchyliquid64 = { + name = "Tom"; + email = "twitchyliquid64@ciphersink.net"; + github = "twitchyliquid64"; + githubId = 6328589; + }; typetetris = { email = "ericwolf42@mail.com"; github = "typetetris"; @@ -11153,7 +11391,7 @@ }; vel = { email = "llathasa@outlook.com"; - github = "llathasa-veleth"; + github = "q60"; githubId = 61933599; name = "vel"; }; @@ -11175,6 +11413,12 @@ githubId = 335406; name = "David Asabina"; }; + vidister = { + email = "v@vidister.de"; + github = "vidister"; + githubId = 11413574; + name = "Fiona Weber"; + }; vifino = { email = "vifino@tty.sh"; github = "vifino"; @@ -11286,10 +11530,6 @@ githubId = 3413119; name = "Vonfry"; }; - vozz = { - email = "oliver.huntuk@gmail.com"; - name = "Oliver Hunt"; - }; vq = { email = "vq@erq.se"; name = "Daniel Nilsson"; @@ -11620,12 +11860,6 @@ githubId = 1962985; name = "Vincenzo Mantova"; }; - xwvvvvwx = { - email = "davidterry@posteo.de"; - github = "xwvvvvwx"; - githubId = 6689924; - name = "David Terry"; - }; xzfc = { email = "xzfcpw@gmail.com"; github = "xzfc"; @@ -11650,6 +11884,12 @@ githubId = 3705333; name = "Dmitry V."; }; + yayayayaka = { + email = "nixpkgs@uwu.is"; + github = "yayayayaka"; + githubId = 73759599; + name = "Lara A."; + }; yegortimoshenko = { email = "yegortimoshenko@riseup.net"; github = "yegortimoshenko"; @@ -11668,6 +11908,12 @@ githubId = 26011724; name = "Burim Augustin Berisa"; }; + yl3dy = { + email = "aleksandr.kiselyov@gmail.com"; + github = "yl3dy"; + githubId = 1311192; + name = "Alexander Kiselyov"; + }; yochai = { email = "yochai@titat.info"; github = "yochai"; @@ -12178,4 +12424,10 @@ github = "zupo"; githubId = 311580; }; + rski = { + name = "rski"; + email = "rom.skiad+nix@gmail.com"; + github = "rski"; + githubId = 2960312; + }; } diff --git a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh index 71568ef6f200..97dd5be8aaa6 100755 --- a/nixpkgs/maintainers/scripts/haskell/mark-broken.sh +++ b/nixpkgs/maintainers/scripts/haskell/mark-broken.sh @@ -30,9 +30,10 @@ EOF # clear environment here to avoid things like allowing broken builds in sort -iu "$tmpfile" >> "$broken_config" -env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh -env -i maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh -env -i maintainers/scripts/haskell/regenerate-hackage-packages.sh +clear="env -u HOME -u NIXPKGS_CONFIG" +$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh +$clear maintainers/scripts/haskell/regenerate-transitive-broken-packages.sh +$clear maintainers/scripts/haskell/regenerate-hackage-packages.sh if [[ "${1:-}" == "--do-commit" ]]; then git add $broken_config diff --git a/nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh b/nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh new file mode 100755 index 000000000000..9e243052f25a --- /dev/null +++ b/nixpkgs/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh @@ -0,0 +1,21 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p nix curl gnused -I nixpkgs=. + +# On Hackage every package description shows a category "Distributions" which +# lists a "NixOS" version. +# This script uploads a csv to hackage which will update the displayed versions +# based on the current versions in nixpkgs. This happens with a simple http +# request. + +# For authorization you just need to have any valid hackage account. This +# script uses the `username` and `password-command` field from your +# ~/.cabal/config file. + +# e.g. username: maralorn +# password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression. Like cabal we only read the first output line and ignore the rest.) +# Those fields are specified under `upload` on the `cabal` man page. + +package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv" +username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //") +password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //") +curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv diff --git a/nixpkgs/maintainers/scripts/luarocks-packages.csv b/nixpkgs/maintainers/scripts/luarocks-packages.csv index a387430245ab..1cb6a83d42ae 100644 --- a/nixpkgs/maintainers/scripts/luarocks-packages.csv +++ b/nixpkgs/maintainers/scripts/luarocks-packages.csv @@ -1,87 +1,86 @@ -# nix name, luarocks name, server, version,luaversion,maintainers -alt-getopt,,,,,arobyn -ansicolors,,,,, -argparse,,,,, -basexx,,,,, -binaryheap,,,,,vcunat -bit32,,,,lua5_1,lblasc -busted,,,,, -cassowary,,,,,marsam alerque -cjson,lua-cjson,,,, -compat53,,,,,vcunat -cosmo,,,,,marsam -coxpcall,,,1.17.0-1,, -cqueues,,,,,vcunat -cyrussasl,,,,, -digestif,,,,lua5_3, -dkjson,,,,, -fifo,,,,, -http,,,,,vcunat -inspect,,,,, -ldbus,,http://luarocks.org/dev,,, -ldoc,,,,, -lgi,,,,, -linenoise,,,,, -ljsyscall,,,,lua5_1,lblasc -lpeg,,,,,vyp -lpeg_patterns,,,,, -lpeglabel,,,,, -lpty,,,,, -lrexlib-gnu,,,,, -lrexlib-pcre,,,,,vyp -lrexlib-posix,,,,, -ltermbox,,,,, -lua-cmsgpack,,,,, -lua-iconv,,,,, -lua-lsp,,http://luarocks.org/dev,,, -lua-messagepack,,,,, -lua-resty-http,,,,, -lua-resty-jwt,,,,, -lua-resty-openidc,,,,, -lua-resty-openssl,,,,, -lua-resty-session,,,,, -lua-term,,,,, -lua-toml,,,,, -lua-zlib,,,,,koral -lua_cliargs,,,,, -luabitop,,,,, -luacheck,,,,, -luacov,,,,, -luadbi,,,,, -luadbi-mysql,,,,, -luadbi-postgresql,,,,, -luadbi-sqlite3,,,,, -luadoc,,,,, -luaepnf,,,,, -luaevent,,,,, -luaexpat,,,1.3.0-1,,arobyn flosse -luaffi,,http://luarocks.org/dev,,, -luafilesystem,,,1.7.0-2,,flosse -lualogging,,,,, -luaossl,,,,lua5_1, -luaposix,,,,,vyp lblasc -luarepl,,,,, -luasec,,,,,flosse -luasocket,,,,, -luasql-sqlite3,,,,,vyp -luassert,,,,, -luasystem,,,,, -luautf8,,,,,pstn -luazip,,,,, -lua-yajl,,,,,pstn -luuid,,,,, -luv,,,,, -lyaml,,,,,lblasc -markdown,,,,, -mediator_lua,,,,, -mpack,,,,, -moonscript,,,,,arobyn -nvim-client,,,,, -penlight,,,,, -rapidjson,,,,, -readline,,,,, -say,,,,, -std__debug,std._debug,,,, -std_normalize,std.normalize,,,, -stdlib,,,,,vyp -vstruct,,,,, +name,src,ref,server,version,luaversion,maintainers +alt-getopt,,,,,,arobyn +bit32,,,,5.3.0-1,lua5_1,lblasc +argparse,https://github.com/luarocks/argparse.git,,,,, +basexx,https://github.com/teto/basexx.git,,,,, +binaryheap,https://github.com/Tieske/binaryheap.lua,,,,,vcunat +busted,,,,,, +cassowary,,,,,,marsam alerque +compat53,,,,0.7-1,,vcunat +cosmo,,,,,,marsam +coxpcall,,,,1.17.0-1,, +cqueues,,,,,,vcunat +cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,, +digestif,https://github.com/astoff/digestif.git,,,0.2-1,lua5_3, +dkjson,,,,,, +fifo,,,,,, +gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,lua5_1, +http,,,,0.3-0,,vcunat +inspect,,,,,, +ldbus,,,http://luarocks.org/dev,,, +ldoc,https://github.com/stevedonovan/LDoc.git,,,,, +lgi,,,,,, +linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,, +ljsyscall,,,,,lua5_1,lblasc +lpeg,,,,,,vyp +lpeg_patterns,,,,,, +lpeglabel,,,,,, +lpty,,,,,, +lrexlib-gnu,,,,,, +lrexlib-pcre,,,,,,vyp +lrexlib-posix,,,,,, +lua-cjson,,,,,, +lua-cmsgpack,,,,,, +lua-iconv,,,,,, +lua-lsp,,,,,, +lua-messagepack,,,,,, +lua-resty-http,,,,,, +lua-resty-jwt,,,,,, +lua-resty-openidc,,,,,, +lua-resty-openssl,,,,,, +lua-resty-session,,,,,, +lua-term,,,,,, +lua-toml,,,,,, +lua-zlib,,,,,,koral +lua_cliargs,https://github.com/amireh/lua_cliargs.git,,,,, +luabitop,https://github.com/teto/luabitop.git,,,,, +luacheck,,,,,, +luacov,,,,,, +luadbi,,,,,, +luadbi-mysql,,,,,, +luadbi-postgresql,,,,,, +luadbi-sqlite3,,,,,, +luaepnf,,,,,, +luaevent,,,,,, +luaexpat,,,,1.3.0-1,,arobyn flosse +luaffi,,,http://luarocks.org/dev,,, +luafilesystem,,,,1.7.0-2,,flosse +lualogging,,,,,, +luaossl,,,,,lua5_1, +luaposix,,,,34.1.1-1,,vyp lblasc +luarepl,,,,,, +luasec,,,,,,flosse +luasocket,,,,,, +luasql-sqlite3,,,,,,vyp +luassert,,,,,, +luasystem,,,,,, +luautf8,,,,,,pstn +luazip,,,,,, +lua-yajl,,,,,,pstn +luuid,,,,,, +luv,,,,1.30.0-0,, +lyaml,,,,,,lblasc +markdown,,,,,, +mediator_lua,,,,,, +mpack,,,,,, +moonscript,,,,,,arobyn +nvim-client,https://github.com/neovim/lua-client.git,,,,, +penlight,https://github.com/Tieske/Penlight.git,,,,, +plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,lua5_1, +rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,, +readline,,,,,, +say,https://github.com/Olivine-Labs/say.git,,,,, +std._debug,https://github.com/lua-stdlib/_debug.git,,,,, +std.normalize,git://github.com/lua-stdlib/normalize.git,,,,, +stdlib,,,,41.2.2,,vyp +vstruct,https://github.com/ToxicFrog/vstruct.git,,,,, diff --git a/nixpkgs/maintainers/scripts/pluginupdate.py b/nixpkgs/maintainers/scripts/pluginupdate.py index 91c5214d1539..2a9a2d4c0a23 100644 --- a/nixpkgs/maintainers/scripts/pluginupdate.py +++ b/nixpkgs/maintainers/scripts/pluginupdate.py @@ -28,6 +28,7 @@ from pathlib import Path from typing import Dict, List, Optional, Tuple, Union, Any, Callable from urllib.parse import urljoin, urlparse from tempfile import NamedTemporaryFile +from dataclasses import dataclass import git @@ -41,8 +42,6 @@ LOG_LEVELS = { } log = logging.getLogger() -log.addHandler(logging.StreamHandler()) - def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2): """Retry calling the decorated function using an exponential backoff. @@ -82,6 +81,13 @@ def make_request(url: str) -> urllib.request.Request: 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__( @@ -195,21 +201,92 @@ class Editor: name: str, root: Path, get_plugins: str, - generate_nix: Callable[[List[Tuple[str, str, Plugin]], str], None], default_in: Optional[Path] = None, default_out: Optional[Path] = None, deprecated: Optional[Path] = None, cache_file: Optional[str] = None, ): + log.debug("get_plugins:", get_plugins) self.name = name self.root = root self.get_plugins = get_plugins - self.generate_nix = generate_nix self.default_in = default_in or root.joinpath(f"{name}-plugin-names") self.default_out = default_out or root.joinpath("generated.nix") self.deprecated = deprecated or root.joinpath("deprecated.json") self.cache_file = cache_file or f"{name}-plugin-cache.json" + def get_current_plugins(self): + """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 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) + + @property + def attr_path(self): + return self.name + "Plugins" + + def get_drv_name(self, name: str): + return self.attr_path + "." + name + + def rewrite_input(self, *args, **kwargs): + return rewrite_input(*args, **kwargs) + + 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}" + ) + ) + parser.add_argument( + "--add", + dest="add_plugins", + default=[], + action="append", + help=f"Plugin to add to {self.attr_path} from Github in the form owner/repo", + ) + parser.add_argument( + "--input-names", + "-i", + dest="input_file", + default=self.default_in, + help="A list of plugins in the form owner/repo", + ) + parser.add_argument( + "--out", + "-o", + dest="outfile", + default=self.default_out, + help="Filename to save generated nix code", + ) + parser.add_argument( + "--proc", + "-p", + dest="proc", + type=int, + default=30, + help="Number of concurrent processes to spawn.", + ) + parser.add_argument( + "--no-commit", "-n", action="store_true", default=False, + help="Whether to autocommit changes" + ) + parser.add_argument( + "--debug", "-d", choices=LOG_LEVELS.keys(), + default=logging.getLevelName(logging.WARN), + help="Adjust log level" + ) + return parser + + class CleanEnvironment(object): def __enter__(self) -> None: @@ -228,7 +305,9 @@ class CleanEnvironment(object): def get_current_plugins(editor: Editor) -> List[Plugin]: with CleanEnvironment(): - out = subprocess.check_output(["nix", "eval", "--json", editor.get_plugins]) + cmd = ["nix", "eval", "--json", editor.get_plugins] + log.debug("Running command %s", cmd) + out = subprocess.check_output(cmd) data = json.loads(out) plugins = [] for name, attr in data.items(): @@ -238,18 +317,17 @@ def get_current_plugins(editor: Editor) -> List[Plugin]: def prefetch_plugin( - user: str, - repo_name: str, - branch: str, - alias: Optional[str], + p: PluginDesc, cache: "Optional[Cache]" = None, ) -> Tuple[Plugin, Dict[str, str]]: - log.info("Prefetching plugin %s", repo_name) + 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) 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.date = date return cached_plugin, repo.redirect @@ -267,7 +345,7 @@ def prefetch_plugin( def fetch_plugin_from_pluginline(plugin_line: str) -> Plugin: - plugin, _ = prefetch_plugin(*parse_plugin_line(plugin_line)) + plugin, _ = prefetch_plugin(parse_plugin_line(plugin_line)) return plugin @@ -306,8 +384,7 @@ def check_results( sys.exit(1) - -def parse_plugin_line(line: str) -> Tuple[str, str, str, Optional[str]]: +def parse_plugin_line(line: str) -> PluginDesc: branch = "master" alias = None name, repo = line.split("/") @@ -317,15 +394,15 @@ def parse_plugin_line(line: str) -> Tuple[str, str, str, Optional[str]]: if "@" in repo: repo, branch = repo.split("@") - return (name.strip(), repo.strip(), branch.strip(), alias) + return PluginDesc(name.strip(), repo.strip(), branch.strip(), alias) -def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str, str, Optional[str]]]: +def load_plugin_spec(plugin_file: str) -> List[PluginDesc]: plugins = [] with open(plugin_file) as f: for line in f: plugin = parse_plugin_line(line) - if not plugin[0]: + 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) @@ -387,12 +464,11 @@ class Cache: def prefetch( - args: Tuple[str, str, str, Optional[str]], cache: Cache + pluginDesc: PluginDesc, cache: Cache ) -> Tuple[str, str, Union[Exception, Plugin], dict]: - assert len(args) == 4 - owner, repo, branch, alias = args + owner, repo = pluginDesc.owner, pluginDesc.repo try: - plugin, redirect = prefetch_plugin(owner, repo, branch, alias, cache) + plugin, redirect = prefetch_plugin(pluginDesc, cache) cache[plugin.commit] = plugin return (owner, repo, plugin, redirect) except Exception as e: @@ -434,54 +510,6 @@ def rewrite_input( f.writelines(lines) -def parse_args(editor: Editor): - parser = argparse.ArgumentParser( - description=( - f"Updates nix derivations for {editor.name} plugins" - f"By default from {editor.default_in} to {editor.default_out}" - ) - ) - parser.add_argument( - "--add", - dest="add_plugins", - default=[], - action="append", - help=f"Plugin to add to {editor.name}Plugins from Github in the form owner/repo", - ) - parser.add_argument( - "--input-names", - "-i", - dest="input_file", - default=editor.default_in, - help="A list of plugins in the form owner/repo", - ) - parser.add_argument( - "--out", - "-o", - dest="outfile", - default=editor.default_out, - help="Filename to save generated nix code", - ) - parser.add_argument( - "--proc", - "-p", - dest="proc", - type=int, - default=30, - help="Number of concurrent processes to spawn.", - ) - parser.add_argument( - "--no-commit", "-n", action="store_true", default=False, - help="Whether to autocommit changes" - ) - parser.add_argument( - "--debug", "-d", choices=LOG_LEVELS.keys(), - default=logging.getLevelName(logging.WARN), - help="Adjust log level" - ) - return parser.parse_args() - - def commit(repo: git.Repo, message: str, files: List[Path]) -> None: repo.index.add([str(f.resolve()) for f in files]) @@ -493,11 +521,11 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None: def get_update(input_file: str, outfile: str, proc: int, editor: Editor): - cache: Cache = Cache(get_current_plugins(editor), editor.cache_file) + cache: Cache = Cache(editor.get_current_plugins(), editor.cache_file) _prefetch = functools.partial(prefetch, cache=cache) def update() -> dict: - plugin_names = load_plugin_spec(input_file) + plugin_names = editor.load_plugin_spec(input_file) try: pool = Pool(processes=proc) @@ -514,42 +542,41 @@ def get_update(input_file: str, outfile: str, proc: int, editor: Editor): return update -def update_plugins(editor: Editor): +def update_plugins(editor: Editor, args): """The main entry function of this module. All input arguments are grouped in the `Editor`.""" - args = parse_args(editor) log.setLevel(LOG_LEVELS[args.debug]) - log.info("Start updating plugins") - nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True) - update = get_update(args.input_file, args.outfile, args.proc, editor) + update = editor.get_update(args.input_file, args.outfile, args.proc) redirects = update() - rewrite_input(args.input_file, editor.deprecated, redirects) + editor.rewrite_input(args.input_file, editor.deprecated, redirects) autocommit = not args.no_commit if autocommit: - commit(nixpkgs_repo, f"{editor.name}Plugins: update", [args.outfile]) + nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True) + commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile]) if redirects: update() if autocommit: commit( nixpkgs_repo, - f"{editor.name}Plugins: resolve github repository redirects", + f"{editor.attr_path}: resolve github repository redirects", [args.outfile, args.input_file, editor.deprecated], ) for plugin_line in args.add_plugins: - rewrite_input(args.input_file, editor.deprecated, append=(plugin_line + "\n",)) + editor.rewrite_input(args.input_file, editor.deprecated, append=(plugin_line + "\n",)) update() plugin = fetch_plugin_from_pluginline(plugin_line) if autocommit: commit( nixpkgs_repo, - "{editor}Plugins.{name}: init at {version}".format( - editor=editor.name, name=plugin.normalized_name, version=plugin.version + "{drv_name}: init at {version}".format( + drv_name=editor.get_drv_name(plugin.normalized_name), + version=plugin.version ), [args.outfile, args.input_file], ) diff --git a/nixpkgs/maintainers/scripts/update-luarocks-packages b/nixpkgs/maintainers/scripts/update-luarocks-packages index da4d224bd330..a465031b9112 100755 --- a/nixpkgs/maintainers/scripts/update-luarocks-packages +++ b/nixpkgs/maintainers/scripts/update-luarocks-packages @@ -1,136 +1,222 @@ #!/usr/bin/env nix-shell -#!nix-shell update-luarocks-shell.nix -i bash - -# You'll likely want to use -# `` -# nixpkgs $ maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix -# `` -# to update all libraries in that folder. -# to debug, redirect stderr to stdout with 2>&1 - -# stop the script upon C-C -set -eu -o pipefail - -CSV_FILE="maintainers/scripts/luarocks-packages.csv" +#!nix-shell update-luarocks-shell.nix -i python3 + +# format: +# $ nix run nixpkgs.python3Packages.black -c black update.py +# type-check: +# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py +# linted: +# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py + +import inspect +import os +import tempfile +import shutil +from dataclasses import dataclass +import subprocess +import csv +import logging +import textwrap +from multiprocessing.dummy import Pool + +from typing import List, Tuple, Optional +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 +from pluginupdate import Editor, update_plugins, PluginDesc, CleanEnvironment, LOG_LEVELS, Cache + +PKG_LIST="maintainers/scripts/luarocks-packages.csv" TMP_FILE="$(mktemp)" -# Set in the update-luarocks-shell.nix -NIXPKGS_PATH="$LUAROCKS_NIXPKGS_PATH" -export LUAROCKS_CONFIG="$NIXPKGS_PATH/maintainers/scripts/luarocks-config.lua" +GENERATED_NIXFILE="pkgs/development/lua-modules/generated-packages.nix" +LUAROCKS_CONFIG="$NIXPKGS_PATH/maintainers/scripts/luarocks-config.lua" -# 10 is a pretty arbitrary number of simultaneous jobs, but it is generally -# impolite to hit a webserver with *too* many simultaneous connections :) -PARALLEL_JOBS=1 - -exit_trap() { - local lc="$BASH_COMMAND" rc=$? - test $rc -eq 0 || echo -e "*** error $rc: $lc.\nGenerated temporary file in $TMP_FILE" >&2 -} - -print_help() { - echo "Usage: $0 <GENERATED_FILE>" - echo "(most likely pkgs/development/lua-modules/generated-packages.nix)" - echo "" - echo " -c <CSV_FILE> to set the list of luarocks package to generate" - exit 1 -} - -if [ $# -lt 1 ]; then - print_help - exit 1 -fi - -trap exit_trap EXIT - -while getopts ":hc:" opt; do - case $opt in - h) - print_help - ;; - c) - echo "Loading package list from $OPTARG !" >&2 - CSV_FILE="$OPTARG" - ;; - \?) - echo "Invalid option: -$OPTARG" >&2 - ;; - esac - shift $((OPTIND - 1)) -done - -GENERATED_NIXFILE="$1" - -HEADER=" -/* ${GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! +HEADER = """ +/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! Regenerate it with: -nixpkgs$ ${0} ${GENERATED_NIXFILE} +nixpkgs$ ./maintainers/scripts/update-luarocks-packages -These packages are manually refined in lua-overrides.nix +You can customize the generated packages in pkgs/development/lua-modules/overrides.nix */ -{ self, stdenv, lib, fetchurl, fetchgit, pkgs, ... } @ args: -self: super: -with self; -{ -" +""".format(GENERATED_NIXFILE=GENERATED_NIXFILE) -FOOTER=" -} -/* GENERATED */ -" - -function convert_pkg() { - nix_pkg_name="$1" - lua_pkg_name="$2" - server="$3" - pkg_version="$4" - lua_version="$5" - maintainers="$6" - - if [ "${nix_pkg_name:0:1}" == "#" ]; then - echo "Skipping comment ${*}" >&2 - return - fi - if [ -z "$lua_pkg_name" ]; then - echo "Using nix_name as lua_pkg_name for '$nix_pkg_name'" >&2 - lua_pkg_name="$nix_pkg_name" - fi - - echo "Building expression for $lua_pkg_name (version $pkg_version) from server [$server]" >&2 - luarocks_args=(nix) - if [[ -n $server ]]; then - luarocks_args+=("--only-server=$server") - fi - if [[ -n $maintainers ]]; then - luarocks_args+=("--maintainers=$maintainers") - fi - if [[ -n $lua_version ]]; then - lua_drv_path=$(nix-build --no-out-link "$NIXPKGS_PATH" -A "$lua_version") - luarocks_args+=("--lua-dir=$lua_drv_path/bin") - fi - luarocks_args+=("$lua_pkg_name") - if [[ -n $pkg_version ]]; then - luarocks_args+=("$pkg_version") - fi - echo "Running 'luarocks ${luarocks_args[*]}'" >&2 - if drv="$nix_pkg_name = $(luarocks "${luarocks_args[@]}")"; then - echo "$drv" - else - echo "Failed to convert $nix_pkg_name" >&2 - return 1 - fi +FOOTER=""" } +/* GENERATED - do not edit this file */ +""" + +@dataclass +class LuaPlugin: + name: str + '''Name of the plugin, as seen on luarocks.org''' + src: str + '''address to the git repository''' + ref: Optional[str] + '''git reference (branch name/tag)''' + version: Optional[str] + '''Set it to pin a package ''' + server: Optional[str] + '''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''' + maintainers: Optional[str] + ''' Optional string listing maintainers separated by spaces''' + + @property + def normalized_name(self) -> str: + return self.name.replace(".", "-") + +# rename Editor to LangUpdate/ EcosystemUpdater +class LuaEditor(Editor): + def get_current_plugins(self): + return [] + + def load_plugin_spec(self, input_file) -> List[LuaPlugin]: + luaPackages = [] + csvfilename=input_file + log.info("Loading package descriptions from %s", csvfilename) + + with open(csvfilename, newline='') as csvfile: + reader = csv.DictReader(csvfile,) + for row in reader: + # name,server,version,luaversion,maintainers + plugin = LuaPlugin(**row) + luaPackages.append(plugin) + return luaPackages + + 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( + """ + { self, stdenv, lib, fetchurl, fetchgit, ... } @ args: + self: super: + with self; + { + """) + f.write(header2) + for (plugin, nix_expr) in results: + f.write(f"{plugin.normalized_name} = {nix_expr}") + f.write(FOOTER) + f.flush() + + # if everything went fine, move the generated file to its destination + # using copy since move doesn't work across disks + shutil.copy(f.name, outfilename) + + print(f"updated {outfilename}") + + @property + def attr_path(self): + return "luaPackages" + + def get_update(self, input_file: str, outfile: str, proc: int): + _prefetch = generate_pkg_nix + + def update() -> dict: + plugin_specs = self.load_plugin_spec(input_file) + sorted_plugin_specs = sorted(plugin_specs, key=lambda v: v.name.lower()) + + try: + pool = Pool(processes=proc) + results = pool.map(_prefetch, sorted_plugin_specs) + finally: + pass + + self.generate_nix(results, outfile) + + redirects = [] + return redirects + + return update + + def rewrite_input(self, input_file: str, *args, **kwargs): + # vim plugin reads the file before update but that shouldn't be our case + # not implemented yet + # fieldnames = ['name', 'server', 'version', 'luaversion', 'maintainers'] + # input_file = "toto.csv" + # with open(input_file, newline='') as csvfile: + # writer = csv.DictWriter(csvfile, fieldnames=fieldnames) + # writer.writeheader() + # for row in reader: + # # name,server,version,luaversion,maintainers + # plugin = LuaPlugin(**row) + # 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) + cmd = [ "luarocks", "nix"] + + + if plug.maintainers: + cmd.append(f"--maintainers={plug.maintainers}") + + # updates plugin directly from its repository + print("server: [%s]" % plug.server) + # 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 + log.error(msg) + raise RuntimeError(msg) + log.debug("Updating from source %s", plug.src) + cmd.append(plug.src) + # update the plugin from luarocks + else: + cmd.append(plug.name) + if plug.version and plug.version != "src": + + cmd.append(plug.version) + + # + if plug.server != "src" and plug.server: + cmd.append(f"--only-server={plug.server}") + + + if plug.luaversion: + with CleanEnvironment(): + local_pkgs = str(ROOT.resolve()) + cmd2 = ["nix-build", "--no-out-link", local_pkgs, "-A", f"{plug.luaversion}"] + + log.debug("running %s", ' '.join(cmd2)) + lua_drv_path=subprocess.check_output(cmd2, text=True).strip() + cmd.append(f"--lua-dir={lua_drv_path}/bin") + + log.debug("running %s", ' '.join(cmd)) + output = subprocess.check_output(cmd, text=True) + return (plug, output) + +def main(): + + editor = LuaEditor("lua", ROOT, '', + default_in = ROOT.joinpath(PKG_LIST), + default_out = ROOT.joinpath(GENERATED_NIXFILE) + ) -# params needed when called via callPackage -echo "$HEADER" | tee "$TMP_FILE" + parser = editor.create_parser() + args = parser.parse_args() + log.setLevel(LOG_LEVELS[args.debug]) -# Ensure parallel can run our bash function -export -f convert_pkg -export SHELL=bash -# Read each line in the csv file and run convert_pkg for each, in parallel -parallel --group --keep-order --halt now,fail=1 --jobs "$PARALLEL_JOBS" --colsep ',' convert_pkg {} <"$CSV_FILE" | tee -a "$TMP_FILE" + update_plugins(editor, args) -# close the set -echo "$FOOTER" | tee -a "$TMP_FILE" -cp "$TMP_FILE" "$GENERATED_NIXFILE" +if __name__ == "__main__": + + main() -# vim: set ts=4 sw=4 ft=sh: +# vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 : diff --git a/nixpkgs/maintainers/scripts/update-luarocks-shell.nix b/nixpkgs/maintainers/scripts/update-luarocks-shell.nix index d3f342b07a96..a58674fca8d3 100644 --- a/nixpkgs/maintainers/scripts/update-luarocks-shell.nix +++ b/nixpkgs/maintainers/scripts/update-luarocks-shell.nix @@ -1,12 +1,13 @@ { nixpkgs ? import ../.. { } }: with nixpkgs; +let + pyEnv = python3.withPackages(ps: [ ps.GitPython ]); +in mkShell { packages = [ - bash + pyEnv luarocks-nix nix-prefetch-scripts - parallel ]; - LUAROCKS_NIXPKGS_PATH = toString nixpkgs.path; } diff --git a/nixpkgs/maintainers/scripts/update-ruby-packages b/nixpkgs/maintainers/scripts/update-ruby-packages index fef6b75ded08..60da1a1b5938 100755 --- a/nixpkgs/maintainers/scripts/update-ruby-packages +++ b/nixpkgs/maintainers/scripts/update-ruby-packages @@ -6,7 +6,10 @@ set -euf -o pipefail ( cd pkgs/development/ruby-modules/with-packages rm -f gemset.nix Gemfile.lock - bundle lock + # Since bundler 2+, the lock command generates a platform-dependent + # Gemfile.lock, hence causing to bundix to generate a gemset tied to the + # platform from where it was executed. + BUNDLE_FORCE_RUBY_PLATFORM=1 bundle lock bundix mv gemset.nix ../../../top-level/ruby-packages.nix rm -f Gemfile.lock diff --git a/nixpkgs/maintainers/team-list.nix b/nixpkgs/maintainers/team-list.nix index 939cf159212f..a86af02d2357 100644 --- a/nixpkgs/maintainers/team-list.nix +++ b/nixpkgs/maintainers/team-list.nix @@ -114,8 +114,9 @@ with lib.maintainers; { haskell = { members = [ - maralorn cdepillabout + expipiplus1 + maralorn sternenseemann ]; scope = "Maintain Haskell packages and infrastructure."; @@ -131,6 +132,17 @@ with lib.maintainers; { scope = "Maintain the Home Assistant ecosystem"; }; + iog = { + members = [ + cleverca22 + disassembler + jonringer + maveru + nrdxp + ]; + scope = "Input-Output Global employees, which maintain critical software"; + }; + jitsi = { members = [ petabyteboy @@ -161,10 +173,19 @@ with lib.maintainers; { ralith mjlbach dandellion + sumnerevans ]; scope = "Maintain the ecosystem around Matrix, a decentralized messenger."; }; + pantheon = { + members = [ + davidak + bobby285271 + ]; + scope = "Maintain Pantheon desktop environment and platform."; + }; + php = { members = [ aanderse |