mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-15 22:36:23 +01:00
sabnzbd: override sabctools version and add updateScript
This commit is contained in:
parent
aaa57ba41a
commit
1eefa87b71
3 changed files with 40 additions and 4 deletions
|
@ -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; {
|
||||
|
|
23
pkgs/by-name/sa/sabnzbd/update.sh
Executable file
23
pkgs/by-name/sa/sabnzbd/update.sh
Executable 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
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue