mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-02 11:53:27 +00:00
e0816431a2
Otherwise references to the Python interpreter inside the set are wrong, as demonstrated by: ``` nix with import <nixpkgs> { }; let python' = python3.override { packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337"; }); }; }; in python'.pkgs.python.pkgs.requests ``` which returns the _non_ overriden requests. And the same with `self`: ``` with import <nixpkgs> { }; let python' = python3.override { self = python'; packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337"; }); }; }; in python'.pkgs.python.pkgs.requests ``` which returns the overriden requests. This can manifest itself as file collisions when constructing environments or as subtly incorrect dependency graphs.
55 lines
1.3 KiB
Nix
55 lines
1.3 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchPypi
|
|
}:
|
|
|
|
let
|
|
python' = python3.override {
|
|
self = python';
|
|
packageOverrides = final: prev: rec {
|
|
# tvdb_api v3.1.0 has a hard requirement on requests-cache < 0.6
|
|
requests-cache = prev.requests-cache.overridePythonAttrs (oldAttrs: rec {
|
|
version = "0.5.2";
|
|
src = fetchPypi {
|
|
inherit (oldAttrs) pname;
|
|
inherit version;
|
|
sha256 = "sha256-gTAjJpaGBF+OAeIonMHn6a5asi3dHihJqQk6s6tycOs=";
|
|
};
|
|
|
|
nativeBuildInputs = with final; [
|
|
setuptools
|
|
];
|
|
|
|
# too many changes have been made to requests-cache based on version 0.6 so
|
|
# simply disable tests
|
|
doCheck = false;
|
|
});
|
|
};
|
|
};
|
|
|
|
pypkgs = python'.pkgs;
|
|
|
|
in
|
|
pypkgs.buildPythonApplication rec {
|
|
pname = "tvnamer";
|
|
version = "3.0.4";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "dc2ea8188df6ac56439343630466b874c57756dd0b2538dd8e7905048f425f04";
|
|
};
|
|
|
|
propagatedBuildInputs = with pypkgs; [ tvdb-api ];
|
|
|
|
# no tests from pypi
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
description = "Automatic TV episode file renamer, uses data from thetvdb.com via tvdb_api";
|
|
homepage = "https://github.com/dbr/tvnamer";
|
|
license = licenses.unlicense;
|
|
maintainers = with maintainers; [ peterhoeg ];
|
|
mainProgram = "tvnamer";
|
|
};
|
|
}
|