diff options
author | Robert Schütz <robert.schuetz@stud.uni-heidelberg.de> | 2018-02-10 23:18:41 +0100 |
---|---|---|
committer | Robert Schütz <robert.schuetz@stud.uni-heidelberg.de> | 2018-02-10 23:18:41 +0100 |
commit | b1603e951effe2dd1149d8ade015b757a7fb4c72 (patch) | |
tree | c2350f73b43f80d2745367bf72f31ca64e945119 /pkgs/servers/home-assistant/parse-requirements.py | |
parent | 0577bc4832d67e77a9f224c8b04aef1d80c9ed8b (diff) | |
download | nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.tar nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.tar.gz nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.tar.bz2 nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.tar.lz nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.tar.xz nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.tar.zst nixlib-b1603e951effe2dd1149d8ade015b757a7fb4c72.zip |
home-assistant: make parse-requirements.py detect more packages
Diffstat (limited to 'pkgs/servers/home-assistant/parse-requirements.py')
-rwxr-xr-x | pkgs/servers/home-assistant/parse-requirements.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index aa293921e871..5af794e75fa4 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -52,10 +52,16 @@ packages = json.loads(output) def name_to_attr_path(req): attr_paths = [] - pattern = re.compile('python3\\.6-{}-\\d'.format(req), re.I) - for attr_path, package in packages.items(): - if pattern.match(package['name']): - attr_paths.append(attr_path) + names = [req] + # E.g. python-mpd2 is actually called python3.6-mpd2 + # instead of python-3.6-python-mpd2 inside Nixpkgs + if req.startswith('python-'): + names.append(req[len('python-'):]) + for name in names: + pattern = re.compile('^python\\d\\.\\d-{}-\\d'.format(name), re.I) + for attr_path, package in packages.items(): + if pattern.match(package['name']): + attr_paths.append(attr_path) # Let's hope there's only one derivation with a matching name assert(len(attr_paths) <= 1) if attr_paths: @@ -64,6 +70,7 @@ def name_to_attr_path(req): return None version = get_version() +print('Generating component-packages.nix for version {}'.format(version)) requirements = fetch_reqs(version=version) build_inputs = {} for component, reqs in requirements.items(): |