python3Packages.orderedmultidict: modernize (#418591)

This commit is contained in:
dotlambda
2025-07-03 11:19:24 -07:00
committed by GitHub
2 changed files with 29 additions and 22 deletions
@@ -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 ];
};
}
@@ -3,29 +3,33 @@
buildPythonPackage,
fetchPypi,
flake8,
pytestCheckHook,
setuptools,
six,
pythonOlder,
importlib-metadata,
}:
buildPythonPackage rec {
pname = "orderedmultidict";
version = "1.0.1";
format = "setuptools";
pyproject = true;
src = fetchPypi {
inherit pname version;
sha256 = "1bc2v0yflsxjyyjx4q9wqx0j3bvzcw9z87d5pz4iqac7bsxhn1q4";
hash = "sha256-BAcLu16HKRzJv6Ud9BNnf68hQcc8YdKl97Jr6jzYgq0=";
};
nativeCheckInputs = [ flake8 ];
build-system = [ setuptools ];
propagatedBuildInputs = [ six ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
dependencies = [ six ];
meta = with lib; {
pythonImportsCheck = [ "orderedmultidict" ];
nativeCheckInputs = [ pytestCheckHook ];
meta = {
description = "Ordered Multivalue Dictionary";
homepage = "https://github.com/gruns/orderedmultidict";
license = licenses.publicDomain;
maintainers = with maintainers; [ vanzef ];
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [ vanzef ];
};
}