python3Packages.furl: modernize

This commit is contained in:
Robert Schütz 2025-06-20 18:02:32 -07:00
parent 27e00a8743
commit bbca52fd99

View File

@ -1,38 +1,40 @@
{
lib,
buildPythonPackage,
fetchPypi,
pythonAtLeast,
flake8,
fetchFromGitHub,
orderedmultidict,
pytestCheckHook,
setuptools,
six,
}:
buildPythonPackage rec {
pname = "furl";
version = "2.1.4";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-h3ZXUBJmySkmlzn7X1mAU0pBq9a7q8s2fBNtHTsqYBU=";
src = fetchFromGitHub {
owner = "gruns";
repo = "furl";
tag = "v${version}";
hash = "sha256-NRkOJlluZjscM4ZhxHoXIzV2A0+mrkaw7rcxfklGCHs=";
};
# With python 3.11.4, invalid IPv6 address does throw ValueError
# https://github.com/gruns/furl/issues/164#issuecomment-1595637359
postPatch = ''
substituteInPlace tests/test_furl.py \
--replace '[0:0:0:0:0:0:0:1:1:1:1:1:1:1:1:9999999999999]' '[2001:db8::9999]'
--replace-fail '[0:0:0:0:0:0:0:1:1:1:1:1:1:1:1:9999999999999]' '[2001:db8::9999]'
'';
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
orderedmultidict
six
];
nativeCheckInputs = [
flake8
pytestCheckHook
];
@ -44,10 +46,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "furl" ];
meta = with lib; {
meta = {
changelog = "https://github.com/gruns/furl/releases/tag/${src.tag}";
description = "Python library that makes parsing and manipulating URLs easy";
homepage = "https://github.com/gruns/furl";
license = licenses.unlicense;
maintainers = with maintainers; [ vanzef ];
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ vanzef ];
};
}