sabnzbd: override sabctools version and add updateScript

This commit is contained in:
Adam Stephens 2024-07-12 09:19:21 -04:00
parent aaa57ba41a
commit 1eefa87b71
No known key found for this signature in database
3 changed files with 40 additions and 4 deletions

View file

@ -3,6 +3,7 @@
stdenv,
coreutils,
fetchFromGitHub,
fetchPypi,
python3,
par2cmdline-turbo,
unzip,
@ -14,6 +15,9 @@
}:
let
sabctoolsVersion = "8.2.0";
sabctoolsHash = "sha256-dOMNZoKWQxHJt6yHiNKVtpnYvLJkK8nktOm+djsSTcM=";
pythonEnv = python3.withPackages (
ps: with ps; [
apprise
@ -42,7 +46,15 @@ let
python-dateutil
pytz
rebulk
sabctools
# sabnzbd requires a specific version of sabctools
(sabctools.overridePythonAttrs (old: {
version = sabctoolsVersion;
src = fetchPypi {
pname = "sabctools";
version = sabctoolsVersion;
hash = sabctoolsHash;
};
}))
sabyenc3
sgmllib3k
six
@ -86,8 +98,9 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.tests = {
smoke-test = nixosTests.sabnzbd;
passthru = {
tests.smoke-test = nixosTests.sabnzbd;
updateScript = ./update.sh;
};
meta = with lib; {

View file

@ -0,0 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix common-updater-scripts gnugrep gnused nurl
# shellcheck shell=bash
set -euo pipefail
latestVersion=$(list-git-tags --url=https://github.com/sabnzbd/sabnzbd | grep -E '^[0-9.]+$' | sort --reverse --numeric-sort | head -n 1)
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; sabnzbd.version or (lib.getVersion sabnzbd)" | tr -d '"')
if [[ "$latestVersion" == "$currentVersion" ]]; then
echo "sabnzbd already latest version $latestVersion"
exit 0
fi
echo "sabnzbd updating $currentVersion -> $latestVersion"
update-source-version sabnzbd "$latestVersion"
sabctoolsVersion=$(curl -s "https://raw.githubusercontent.com/sabnzbd/sabnzbd/$latestVersion/requirements.txt" | grep sabctools | cut -f 3 -d =)
sabctoolsHash=$(nurl --hash https://pypi.org/project/sabctools "$sabctoolsVersion")
sed -i -E -e "s#sabctoolsVersion = \".*\"#sabctoolsVersion = \"$sabctoolsVersion\"#" ./pkgs/by-name/sa/sabnzbd/package.nix
sed -i -E -e "s#sabctoolsHash = \".*\"#sabctoolsHash = \"$sabctoolsHash\"#" ./pkgs/by-name/sa/sabnzbd/package.nix

View file

@ -7,7 +7,7 @@
}:
buildPythonPackage rec {
pname = "sabctools";
version = "8.2.3"; # needs to match version sabnzbd expects, e.g. https://github.com/sabnzbd/sabnzbd/blob/4.0.x/requirements.txt#L3
version = "8.2.3";
pyproject = true;
src = fetchPypi {