ecwolf: add passthru.updateScript
Before this change, nixpkgs-update had to rely on on Repology in order to determine if there was an ECWolf update. When it comes to ECWolf updates, Repology is a tertiary source of information. This change allows nixpkgs-update (and any other tools) to use debian.drdteam.org to determine if there is an ECWolf update. When it comes to ECWolf updates, debian.drdteam.org is a primary source of information.
This commit is contained in:
parent
573cead3dd
commit
10ac919955
@ -12,6 +12,9 @@
|
|||||||
, SDL2_net
|
, SDL2_net
|
||||||
, SDL2_mixer
|
, SDL2_mixer
|
||||||
, gtk3
|
, gtk3
|
||||||
|
, writers
|
||||||
|
, python3Packages
|
||||||
|
, nix-update
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -41,6 +44,33 @@ stdenv.mkDerivation rec {
|
|||||||
makeWrapper $out/{Applications/ecwolf.app/Contents/MacOS,bin}/ecwolf
|
makeWrapper $out/{Applications/ecwolf.app/Contents/MacOS,bin}/ecwolf
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = let
|
||||||
|
updateScriptPkg = writers.writePython3 "ecwolf_update_script" {
|
||||||
|
libraries = with python3Packages; [ debian-inspector requests ];
|
||||||
|
} ''
|
||||||
|
from os import execl
|
||||||
|
from sys import argv
|
||||||
|
|
||||||
|
from debian_inspector.debcon import get_paragraphs_data
|
||||||
|
from requests import get
|
||||||
|
|
||||||
|
# The debian.drdteam.org repo is a primary source of information. It’s
|
||||||
|
# run by Blzut3, the creator and primary developer of ECWolf. It’s also
|
||||||
|
# listed on ECWolf’s download page:
|
||||||
|
# <https://maniacsvault.net/ecwolf/download.php>.
|
||||||
|
url = 'https://debian.drdteam.org/dists/stable/multiverse/binary-amd64/Packages' # noqa: E501
|
||||||
|
response = get(url)
|
||||||
|
packages = get_paragraphs_data(response.text)
|
||||||
|
for package in packages:
|
||||||
|
if package['package'] == 'ecwolf':
|
||||||
|
latest_version = package['version']
|
||||||
|
break
|
||||||
|
nix_update_path = argv[1]
|
||||||
|
|
||||||
|
execl(nix_update_path, nix_update_path, '--version', latest_version)
|
||||||
|
'';
|
||||||
|
in [ updateScriptPkg (lib.getExe nix-update) ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Enhanched SDL-based port of Wolfenstein 3D for various platforms";
|
description = "Enhanched SDL-based port of Wolfenstein 3D for various platforms";
|
||||||
homepage = "https://maniacsvault.net/ecwolf/";
|
homepage = "https://maniacsvault.net/ecwolf/";
|
||||||
|
Loading…
Reference in New Issue
Block a user