Merge remote-tracking branch 'upstream/master' into wrapper-pname-support
This commit is contained in:
@@ -11,13 +11,15 @@ import click
|
||||
import requests
|
||||
from pyquery import PyQuery as pq
|
||||
|
||||
def map_dict (f, d):
|
||||
for k,v in d.items():
|
||||
d[k] = f(v)
|
||||
|
||||
maintainers_json = subprocess.check_output([
|
||||
'nix-instantiate', '-E', 'import ./maintainers/maintainer-list.nix {}', '--eval', '--json'
|
||||
'nix-instantiate', '-A', 'lib.maintainers', '--eval', '--strict', '--json'
|
||||
])
|
||||
maintainers = json.loads(maintainers_json)
|
||||
MAINTAINERS = {v: k for k, v in maintainers.items()}
|
||||
|
||||
MAINTAINERS = map_dict(lambda v: v.get('github', None), maintainers)
|
||||
|
||||
def get_response_text(url):
|
||||
return pq(requests.get(url).text) # IO
|
||||
@@ -38,30 +40,39 @@ def get_maintainers(attr_name):
|
||||
'-A',
|
||||
'.'.join(nixname[1:]) + '.meta',
|
||||
EVAL_FILE[nixname[0]],
|
||||
'--arg',
|
||||
'nixpkgs',
|
||||
'./.',
|
||||
'--json'])
|
||||
meta = json.loads(meta_json)
|
||||
if meta.get('maintainers'):
|
||||
return [MAINTAINERS[name] for name in meta['maintainers'] if MAINTAINERS.get(name)]
|
||||
return meta.get('maintainers', [])
|
||||
except:
|
||||
return []
|
||||
|
||||
def filter_github_users(maintainers):
|
||||
github_only = []
|
||||
for i in maintainers:
|
||||
if i.get('github'):
|
||||
github_only.append(i)
|
||||
return github_only
|
||||
|
||||
def print_build(table_row):
|
||||
a = pq(table_row)('a')[1]
|
||||
print("- [ ] [{}]({})".format(a.text, a.get('href')), flush=True)
|
||||
|
||||
maintainers = get_maintainers(a.text)
|
||||
if maintainers:
|
||||
print(" - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers))))
|
||||
|
||||
job_maintainers = filter_github_users(get_maintainers(a.text))
|
||||
if job_maintainers:
|
||||
print(" - maintainers: {}".format(" ".join(map(lambda u: '@' + u.get('github'), job_maintainers))))
|
||||
# TODO: print last three persons that touched this file
|
||||
# TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?
|
||||
|
||||
|
||||
sys.stdout.flush()
|
||||
|
||||
@click.command()
|
||||
@click.option(
|
||||
'--jobset',
|
||||
default="nixos/release-17.09",
|
||||
help='Hydra project like nixos/release-17.09')
|
||||
default="nixos/release-19.09",
|
||||
help='Hydra project like nixos/release-19.09')
|
||||
def cli(jobset):
|
||||
"""
|
||||
Given a Hydra project, inspect latest evaluation
|
||||
@@ -93,6 +104,7 @@ def cli(jobset):
|
||||
print_build(tr)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
cli()
|
||||
|
||||
@@ -37,14 +37,17 @@ lua-zlib,,,,,koral
|
||||
lua_cliargs,,,,,
|
||||
luabitop,,,,,
|
||||
luacheck,,,,,
|
||||
luacov,,,,,
|
||||
luadbi,,,,,
|
||||
luadbi-mysql,,,,,
|
||||
luadbi-postgresql,,,,,
|
||||
luadbi-sqlite3,,,,,
|
||||
luadoc,,,,,
|
||||
luaevent,,,,,
|
||||
luaexpat,,,1.3.0-1,,arobyn flosse
|
||||
luaffi,,http://luarocks.org/dev,,,
|
||||
luafilesystem,,,1.7.0-2,,flosse vcunat
|
||||
lualogging,,,,,
|
||||
luaossl,,,,lua5_1,vcunat
|
||||
luaposix,,,,,vyp lblasc
|
||||
luasec,,,,,flosse
|
||||
@@ -68,3 +71,4 @@ say,,,,,
|
||||
std__debug,std._debug,,,,
|
||||
std_normalize,std.normalize,,,,
|
||||
stdlib,,,,,vyp
|
||||
pulseaudio,,,,,doronbehar
|
||||
|
||||
|
@@ -226,7 +226,7 @@ sub pkg_to_attr {
|
||||
|
||||
sub get_pkg_name {
|
||||
my ($module) = @_;
|
||||
return $module->package_name . '-' . $module->package_version;
|
||||
return ( $module->package_name, $module->package_version =~ s/^v(\d)/$1/r );
|
||||
}
|
||||
|
||||
sub read_meta {
|
||||
@@ -375,13 +375,13 @@ die "module $module_name not found\n" if scalar @modules == 0;
|
||||
die "multiple packages that match module $module_name\n" if scalar @modules > 1;
|
||||
my $module = $modules[0];
|
||||
|
||||
my $pkg_name = get_pkg_name $module;
|
||||
my ($pkg_name, $pkg_version) = get_pkg_name $module;
|
||||
my $attr_name = pkg_to_attr $module;
|
||||
|
||||
INFO( "attribute name: ", $attr_name );
|
||||
INFO( "module: ", $module->module );
|
||||
INFO( "version: ", $module->version );
|
||||
INFO( "package: ", $module->package, " (", $pkg_name, ", ", $attr_name, ")" );
|
||||
INFO( "package: ", $module->package, " (", "$pkg_name-$pkg_version", ", ", $attr_name, ")" );
|
||||
INFO( "path: ", $module->path );
|
||||
|
||||
my $tar_path = $module->fetch();
|
||||
@@ -436,10 +436,11 @@ my $build_fun = -e "$pkg_path/Build.PL"
|
||||
print STDERR "===\n";
|
||||
|
||||
print <<EOF;
|
||||
${\(is_reserved($attr_name) ? "\"$attr_name\"" : $attr_name)} = $build_fun rec {
|
||||
name = "$pkg_name";
|
||||
${\(is_reserved($attr_name) ? "\"$attr_name\"" : $attr_name)} = $build_fun {
|
||||
pname = "$pkg_name";
|
||||
version = "$pkg_version";
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/${\$module->path}/\${name}.${\$module->package_extension}";
|
||||
url = "mirror://cpan/${\$module->path}/${\$module->package}";
|
||||
sha256 = "${\$module->status->checksum_value}";
|
||||
};
|
||||
EOF
|
||||
|
||||
@@ -6,7 +6,7 @@ exec >${1:?usage: $0 <output-file>}
|
||||
|
||||
cat <<EOF
|
||||
{ branch ? "stable", pkgs }:
|
||||
|
||||
# Generated by /maintainers/scripts/update-discord
|
||||
let
|
||||
inherit (pkgs) callPackage fetchurl;
|
||||
in {
|
||||
@@ -16,7 +16,7 @@ for branch in "" ptb canary; do
|
||||
url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
|
||||
version=${url##https://dl*.discordapp.net/apps/linux/}
|
||||
version=${version%%/*.tar.gz}
|
||||
echo " ${branch:-stable} = callPackage ./base.nix {"
|
||||
echo " ${branch:-stable} = callPackage ./base.nix rec {"
|
||||
echo " pname = \"discord${branch:+-}${branch}\";"
|
||||
case $branch in
|
||||
"") suffix="" ;;
|
||||
@@ -27,7 +27,7 @@ for branch in "" ptb canary; do
|
||||
echo " desktopName = \"Discord${suffix:+ }${suffix}\";"
|
||||
echo " version = \"${version}\";"
|
||||
echo " src = fetchurl {"
|
||||
echo " url = \"${url}\";"
|
||||
echo " url = \"${url//${version}/\$\{version\}}\";"
|
||||
echo " sha256 = \"$(nix-prefetch-url "$url")\";"
|
||||
echo " };"
|
||||
echo " };"
|
||||
|
||||
Reference in New Issue
Block a user