Merge pull request #326551 from adamcstephens/sabnzbd/sabctools
sabnzbd: override sabctools version and add updateScript
This commit is contained in:
commit
70d24a27b7
@ -1,53 +1,77 @@
|
||||
{ lib, stdenv
|
||||
, coreutils
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, par2cmdline-turbo
|
||||
, unzip
|
||||
, unrar
|
||||
, p7zip
|
||||
, util-linux
|
||||
, makeWrapper
|
||||
, nixosTests
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
coreutils,
|
||||
fetchFromGitHub,
|
||||
fetchPypi,
|
||||
python3,
|
||||
par2cmdline-turbo,
|
||||
unzip,
|
||||
unrar,
|
||||
p7zip,
|
||||
util-linux,
|
||||
makeWrapper,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
pythonEnv = python3.withPackages(ps: with ps; [
|
||||
apprise
|
||||
babelfish
|
||||
cffi
|
||||
chardet
|
||||
cheetah3
|
||||
cheroot
|
||||
cherrypy
|
||||
configobj
|
||||
cryptography
|
||||
feedparser
|
||||
guessit
|
||||
jaraco-classes
|
||||
jaraco-collections
|
||||
jaraco-context
|
||||
jaraco-functools
|
||||
jaraco-text
|
||||
more-itertools
|
||||
notify2
|
||||
orjson
|
||||
portend
|
||||
puremagic
|
||||
pycparser
|
||||
pysocks
|
||||
python-dateutil
|
||||
pytz
|
||||
rebulk
|
||||
sabctools
|
||||
sabyenc3
|
||||
sgmllib3k
|
||||
six
|
||||
tempora
|
||||
zc-lockfile
|
||||
]);
|
||||
path = lib.makeBinPath [ coreutils par2cmdline-turbo unrar unzip p7zip util-linux ];
|
||||
in stdenv.mkDerivation rec {
|
||||
sabctoolsVersion = "8.2.0";
|
||||
sabctoolsHash = "sha256-dOMNZoKWQxHJt6yHiNKVtpnYvLJkK8nktOm+djsSTcM=";
|
||||
|
||||
pythonEnv = python3.withPackages (
|
||||
ps: with ps; [
|
||||
apprise
|
||||
babelfish
|
||||
cffi
|
||||
chardet
|
||||
cheetah3
|
||||
cheroot
|
||||
cherrypy
|
||||
configobj
|
||||
cryptography
|
||||
feedparser
|
||||
guessit
|
||||
jaraco-classes
|
||||
jaraco-collections
|
||||
jaraco-context
|
||||
jaraco-functools
|
||||
jaraco-text
|
||||
more-itertools
|
||||
notify2
|
||||
orjson
|
||||
portend
|
||||
puremagic
|
||||
pycparser
|
||||
pysocks
|
||||
python-dateutil
|
||||
pytz
|
||||
rebulk
|
||||
# sabnzbd requires a specific version of sabctools
|
||||
(sabctools.overridePythonAttrs (old: {
|
||||
version = sabctoolsVersion;
|
||||
src = fetchPypi {
|
||||
pname = "sabctools";
|
||||
version = sabctoolsVersion;
|
||||
hash = sabctoolsHash;
|
||||
};
|
||||
}))
|
||||
sabyenc3
|
||||
sgmllib3k
|
||||
six
|
||||
tempora
|
||||
zc-lockfile
|
||||
]
|
||||
);
|
||||
path = lib.makeBinPath [
|
||||
coreutils
|
||||
par2cmdline-turbo
|
||||
unrar
|
||||
unzip
|
||||
p7zip
|
||||
util-linux
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.3.2";
|
||||
pname = "sabnzbd";
|
||||
|
||||
@ -74,8 +98,9 @@ in stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
smoke-test = nixosTests.sabnzbd;
|
||||
passthru = {
|
||||
tests.smoke-test = nixosTests.sabnzbd;
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
@ -83,7 +108,10 @@ in stdenv.mkDerivation rec {
|
||||
homepage = "https://sabnzbd.org";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [ jojosch adamcstephens ];
|
||||
maintainers = with lib.maintainers; [
|
||||
jojosch
|
||||
adamcstephens
|
||||
];
|
||||
mainProgram = "sabnzbd";
|
||||
};
|
||||
}
|
||||
|
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 New Issue
Block a user