summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick van Pelt <yorick@yorickvanpelt.nl>2022-05-24 13:49:28 +0200
committerAlyssa Ross <hi@alyssa.is>2022-05-30 12:46:57 +0000
commit99633af7af361f997d23ae2cc83b707ddac7ad5f (patch)
tree2a3ef089039f03cc6e4f78ace3b04fcdb4a7f4e2
parentMerge pull request #175472 from helsinki-systems/feat/mark-broken (diff)
downloadnixpkgs-99633af7af361f997d23ae2cc83b707ddac7ad5f.tar.gz
asterisk: update updateScript to include python deps
(cherry picked from commit 237b5838d3b34b8a48dc6b65f7abd6538e26ec12)
-rw-r--r--pkgs/servers/asterisk/default.nix12
-rwxr-xr-xpkgs/servers/asterisk/update.py9
2 files changed, 18 insertions, 3 deletions
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index eb8560a98b35..8c07b6f91acd 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -4,6 +4,7 @@
lua, speex, libopus, opusfile, libogg,
srtp, wget, curl, iksemel, pkg-config,
autoconf, libtool, automake,
+ python39, writeScript,
withOpus ? true,
}:
@@ -120,6 +121,12 @@ let
};
}) (lib.importJSON ./versions.json);
+ updateScript_python = python39.withPackages (p: with p; [ packaging beautifulsoup4 requests ]);
+ updateScript = writeScript "asterisk-update" ''
+ #!/usr/bin/env bash
+ exec ${updateScript_python}/bin/python ${toString ./update.py}
+ '';
+
in {
# Supported releases (as of 2022-04-05).
# Source: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
@@ -131,6 +138,9 @@ in {
# 19.x Standard 2021-11-02 2022-11-02 2023-11-02
asterisk-lts = versions.asterisk_18;
asterisk-stable = versions.asterisk_19;
- asterisk = versions.asterisk_19;
+ asterisk = versions.asterisk_19.overrideAttrs (o: let
+ in {
+ passthru = (o.passthru or {}) // { inherit updateScript; };
+ });
} // versions
diff --git a/pkgs/servers/asterisk/update.py b/pkgs/servers/asterisk/update.py
index 5a7fabf9d676..f8804744956f 100755
--- a/pkgs/servers/asterisk/update.py
+++ b/pkgs/servers/asterisk/update.py
@@ -1,8 +1,11 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python3 -p python39 python39.pkgs.packaging python39.pkgs.beautifulsoup4 python39.pkgs.requests
+# mirrored in ./default.nix
from packaging import version
from bs4 import BeautifulSoup
import re, requests, json
+import os, sys
+from pathlib import Path
URL = "https://downloads.asterisk.org/pub/telephony/asterisk"
@@ -23,8 +26,10 @@ for mv in major_versions.keys():
"sha256": sha
}
+versions_path = Path(sys.argv[0]).parent / "versions.json"
+
try:
- with open("versions.json", "r") as in_file:
+ with open(versions_path, "r") as in_file:
in_data = json.loads(in_file.read())
for v in in_data.keys():
print(v + ":", in_data[v]["version"], "->", out[v]["version"])
@@ -32,5 +37,5 @@ except:
# nice to have for the PR, not a requirement
pass
-with open("versions.json", "w") as out_file:
+with open(versions_path, "w") as out_file:
out_file.write(json.dumps(out, sort_keys=True, indent=2) + "\n")