python3{11,12}Packages.boto: drop (#343727)

This commit is contained in:
Pol Dellaiera
2024-09-22 22:31:55 +02:00
committed by GitHub
15 changed files with 9 additions and 496 deletions
@@ -19,13 +19,13 @@ let
};
plugins = ps: _super: with ps; rec {
nixops-aws = callPackage ./plugins/nixops-aws.nix { };
nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { };
nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { };
nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { };
nixops-vbox = callPackage ./plugins/nixops-vbox.nix { };
nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { };
nixops-aws = throw "nixops-aws was broken and was removed from nixpkgs";
nixops-gce = throw "nixops-gce was broken and was removed from nixpkgs";
nixops-libvirtd = throw "nixops-libvirtd was broken and was removed from nixpkgs";
nixops-hetzner = throw "nixops-hetzner was broken and was removed from nixpkgs";
@@ -42,7 +42,7 @@ let
selectedPlugins = [];
# selector is a function mapping pythonPackages to a list of plugins
# e.g. nixops_unstable.withPlugins (ps: with ps; [ nixops-aws ])
# e.g. nixops_unstable.withPlugins (ps: with ps; [ nixops-digitalocean ])
withPlugins = selector:
this.extend (this: _old: {
selectedPlugins = selector this.availablePlugins;
@@ -109,8 +109,6 @@ in
# Not recommended; too fragile.
nixops_unstable_full = minimal.withPlugins (ps: [
# currently broken
# ps.nixops-aws
ps.nixops-digitalocean
ps.nixops-encrypted-links
ps.nixops-hercules-ci
@@ -1,59 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, unstableGitUpdater
, poetry-core
, boto
, boto3
, nixops
, nixos-modules-contrib
, typing-extensions
}:
buildPythonPackage {
pname = "nixops-aws";
version = "1.0.0-unstable-2024-02-29";
pyproject = true;
src = fetchFromGitHub {
owner = "NixOS";
repo = "nixops-aws";
rev = "d173b2f14ec767d782ceab45fb22b32fe3b5a1f7";
hash = "sha256-ocTtc7POt1bugb9Bki2ew2Eh5uc933GftNw1twoOJsc=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace poetry.masonry.api poetry.core.masonry.api \
--replace "poetry>=" "poetry-core>="
'';
nativeBuildInputs = [
poetry-core
];
buildInputs = [
nixops
];
propagatedBuildInputs = [
boto
boto3
nixos-modules-contrib
typing-extensions
];
pythonImportsCheck = [ "nixops_aws" ];
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
};
meta = with lib; {
description = "AWS plugin for NixOps";
homepage = "https://github.com/NixOS/nixops-aws";
license = licenses.lgpl3Only;
broken = true; # fails with `nose-1.3.7 not supported for interpreter python3.12`
maintainers = nixops.meta.maintainers;
};
}
@@ -1,90 +0,0 @@
{ lib
, fetchFromGitHub
, python3
, rsync
}:
python3.pkgs.buildPythonApplication rec {
pname = "toil";
version = "5.12.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "DataBiosphere";
repo = pname;
rev = "refs/tags/releases/${version}";
hash = "sha256-cTpbQo9tPZifUO59vbnIa3XUinFJ2/5Slfe4yszglFM=";
};
propagatedBuildInputs = with python3.pkgs; [
addict
dill
docker
enlighten
psutil
py-tes
pypubsub
python-dateutil
pytz
pyyaml
requests
typing-extensions
];
nativeCheckInputs = [
rsync
] ++ (with python3.pkgs; [
boto
botocore
flask
pytestCheckHook
stubserver
]);
pytestFlagsArray = [
"src/toil/test"
];
pythonImportsCheck = [
"toil"
];
disabledTestPaths = [
# Tests are reaching their timeout
"src/toil/test/docs/scriptsTest.py"
"src/toil/test/jobStores/jobStoreTest.py"
"src/toil/test/provisioners/aws/awsProvisionerTest.py"
"src/toil/test/src"
"src/toil/test/wdl"
"src/toil/test/utils/utilsTest.py"
"src/toil/test/cwl/cwlTest.py"
"src/toil/test/lib/test_ec2.py"
"src/toil/test/lib/aws/test_iam.py"
"src/toil/test/lib/aws/test_s3.py"
];
disabledTests = [
# Tests fail starting with 5.7.1
"testServices"
"testConcurrencyWithDisk"
"testJobConcurrency"
"testNestedResourcesDoNotBlock"
"test_omp_threads"
"testFileSingle"
"testFileSingle10000"
"testFileSingleCheckpoints"
"testFileSingleNonCaching"
"testFetchJobStoreFiles"
"testFetchJobStoreFilesWSymlinks"
"testJobStoreContents"
"test_cwl_on_arm"
"test_cwl_toil_kill"
];
meta = with lib; {
description = "Workflow engine written in pure Python";
homepage = "https://toil.ucsc-cgl.org/";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ veprbl ];
};
}
@@ -1,21 +0,0 @@
From: Jochen Sprickerhof <jspricke@debian.org>
Date: Thu, 15 Dec 2022 07:44:54 +0100
Subject: Don't mock list subclass
---
tests/unit/ec2/test_volume.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/unit/ec2/test_volume.py b/tests/unit/ec2/test_volume.py
index 81d7f55..d4d8e4f 100644
--- a/tests/unit/ec2/test_volume.py
+++ b/tests/unit/ec2/test_volume.py
@@ -55,7 +55,7 @@ class VolumeTests(unittest.TestCase):
@mock.patch("boto.resultset.ResultSet")
def test_startElement_with_name_tagSet_calls_ResultSet(self, ResultSet, startElement):
startElement.return_value = None
- result_set = mock.Mock(ResultSet([("item", Tag)]))
+ result_set = ResultSet([("item", Tag)])
volume = Volume()
volume.tags = result_set
retval = volume.startElement("tagSet", None, None)
@@ -1,53 +0,0 @@
Index: python-boto/tests/unit/utils/test_utils.py
===================================================================
--- python-boto.orig/tests/unit/utils/test_utils.py
+++ python-boto/tests/unit/utils/test_utils.py
@@ -85,7 +85,7 @@ class TestPassword(unittest.TestCase):
def hmac_hashfunc(cls, msg):
if not isinstance(msg, bytes):
msg = msg.encode('utf-8')
- return hmac.new(b'mysecretkey', msg)
+ return hmac.new(b'mysecretkey', msg, digestmod='sha256')
class HMACPassword(Password):
hashfunc = hmac_hashfunc
@@ -95,15 +95,15 @@ class TestPassword(unittest.TestCase):
password.set('foo')
self.assertEquals(str(password),
- hmac.new(b'mysecretkey', b'foo').hexdigest())
+ hmac.new(b'mysecretkey', b'foo', digestmod='sha256').hexdigest())
def test_constructor(self):
- hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg)
+ hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg, digestmod='sha256')
password = Password(hashfunc=hmac_hashfunc)
password.set('foo')
self.assertEquals(password.str,
- hmac.new(b'mysecretkey', b'foo').hexdigest())
+ hmac.new(b'mysecretkey', b'foo', digestmod='sha256').hexdigest())
class TestPythonizeName(unittest.TestCase):
Index: python-boto/boto/ecs/item.py
===================================================================
--- python-boto.orig/boto/ecs/item.py
+++ python-boto/boto/ecs/item.py
@@ -22,6 +22,7 @@
import xml.sax
import cgi
+from html import escape
from boto.compat import six, StringIO
class ResponseGroup(xml.sax.ContentHandler):
@@ -67,7 +68,7 @@ class ResponseGroup(xml.sax.ContentHandl
return None
def endElement(self, name, value, connection):
- self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;amp;", "&amp;"), name))
+ self._xml.write("%s</%s>" % (escape(value).replace("&amp;amp;", "&amp;"), name))
if len(self._nodepath) == 0:
return
obj = None
@@ -1,66 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
python,
nose,
mock,
requests,
httpretty,
}:
buildPythonPackage rec {
pname = "boto";
version = "2.49.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a";
};
patches = [
# fixes hmac tests
# https://sources.debian.org/src/python-boto/2.49.0-4/debian/patches/bug-953970_python3.8-compat.patch/
./bug-953970_python3.8-compat.patch
# fixes test_startElement_with_name_tagSet_calls_ResultSet
# https://sources.debian.org/src/python-boto/2.49.0-4.1/debian/patches/0005-Don-t-mock-list-subclass.patch/
./0005-Don-t-mock-list-subclass.patch
];
# boto is deprecated by upstream as of 2021-05-27 (https://github.com/boto/boto/commit/4980ac58764c3d401cb0b9552101f9c61c18f445)
# this patch is a bit simpler than https://github.com/boto/boto/pull/3898
# as we don't have to take care of pythonOlder "3.3".
postPatch = ''
substituteInPlace boto/dynamodb/types.py --replace 'from collections import Mapping' 'from collections.abc import Mapping'
substituteInPlace boto/mws/connection.py --replace 'import collections' 'import collections.abc as collections'
'';
checkPhase = ''
${python.interpreter} tests/test.py default
'';
nativeCheckInputs = [
nose
mock
];
propagatedBuildInputs = [
requests
httpretty
];
meta = with lib; {
homepage = "https://github.com/boto/boto";
license = licenses.mit;
description = "Python interface to Amazon Web Services";
longDescription = ''
The boto module is an integrated interface to current and
future infrastructural services offered by Amazon Web
Services. This includes S3, SQS, EC2, among others.
'';
maintainers = [ ];
# Unmaintained since 2020, archived in the beginning of May 2024 and broken
# https://github.com/boto/boto/issues/3951
broken = true;
};
}
@@ -1,7 +1,6 @@
{
lib,
azure-storage-blob,
boto,
buildPythonPackage,
fetchpatch,
fetchFromGitHub,
@@ -53,7 +52,6 @@ buildPythonPackage rec {
];
optional-dependencies = {
aws = [ boto ];
azure = [ azure-storage-blob ];
};
@@ -1,61 +0,0 @@
{
lib,
boto,
buildPythonPackage,
fetchFromGitHub,
freezegun,
google-reauth,
httplib2,
oauth2client,
pyopenssl,
pytestCheckHook,
pythonOlder,
retry-decorator,
rsa,
six,
}:
buildPythonPackage rec {
pname = "gcs-oauth2-boto-plugin";
version = "3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "GoogleCloudPlatform";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-slTxh2j9VhLiSyiTmJIFFakzpzH/+mgilDRxx0VqqKQ=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "rsa==4.7.2" "rsa" \
--replace "version='2.7'" "version='${version}'"
'';
propagatedBuildInputs = [
boto
freezegun
google-reauth
httplib2
oauth2client
pyopenssl
retry-decorator
rsa
six
];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "gcs_oauth2_boto_plugin" ];
meta = with lib; {
description = "Auth plugin allowing use the use of OAuth 2.0 credentials for Google Cloud Storage";
homepage = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin";
changelog = "https://github.com/GoogleCloudPlatform/gcs-oauth2-boto-plugin/releases/tag/v${version}";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
};
}
@@ -1,51 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
boto,
inflection,
requests,
six,
urllib3,
mock,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "qds-sdk";
version = "1.16.1";
pyproject = true;
src = fetchFromGitHub {
owner = "qubole";
repo = "qds-sdk-py";
rev = "refs/tags/V${version}";
hash = "sha256-8aPIE2E3Fy2EiBM2FPRyjnJolIBdOzafI3Fvlod5hxU=";
};
nativeBuildInputs = [ setuptools ];
propagatedBuildInputs = [
boto
inflection
requests
six
urllib3
];
nativeCheckInputs = [
pytestCheckHook
mock
];
pythonImportsCheck = [ "qds_sdk" ];
meta = with lib; {
description = "Python module that provides the tools you need to authenticate with, and use the Qubole Data Service API";
homepage = "https://github.com/qubole/qds-sdk-py";
license = licenses.asl20;
maintainers = with maintainers; [ shahrukh330 ];
mainProgram = "qds.py";
};
}
-37
View File
@@ -1,37 +0,0 @@
{ lib, fetchFromGitHub, python3Packages, lzop, postgresql, pv }:
python3Packages.buildPythonApplication rec {
pname = "wal-e";
version = "1.1.1";
namePrefix = "";
src = fetchFromGitHub {
owner = "wal-e";
repo = "wal-e";
rev = "v${version}";
hash = "sha256-I6suHkAYzDtlNFNPH4SziY93Ryp+NTHkCBuojDvv+U4=";
};
# needs tox
doCheck = false;
propagatedBuildInputs = (with python3Packages; [
boto
gevent
google-cloud-storage
]) ++ [
postgresql
lzop
pv
];
meta = {
description = "Postgres WAL-shipping disaster recovery and replication toolkit";
mainProgram = "wal-e";
homepage = "https://github.com/wal-e/wal-e";
maintainers = [ ];
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
};
}
-39
View File
@@ -1,39 +0,0 @@
{ lib, fetchurl, python3Packages }:
with python3Packages;
buildPythonApplication rec {
version = "0.4.8";
pname = "kargo";
src = fetchurl {
url = "mirror://pypi/k/kargo/${pname}-${version}.tar.gz";
sha256 = "1iq3vrmglag9gpsir03yz7556m0bz99nwb2mf594378cqzbr6db3";
};
propagatedBuildInputs = [
ansible-core
boto
cffi
cryptography
libcloud
markupsafe
netaddr
pyasn1
requests
setuptools
];
checkPhase = ''
HOME=$TMPDIR $out/bin/kargo -v
'';
meta = with lib; {
homepage = "https://github.com/kubespray/kargo-cli";
description = "Tool helps to deploy a kubernetes cluster with Ansible";
platforms = platforms.all;
license = licenses.gpl3;
maintainers = [ ];
mainProgram = "kargo";
};
}
+3
View File
@@ -756,6 +756,7 @@ mapAliases {
kube3d = k3d; # Added 2022-0705
kafkacat = kcat; # Added 2021-10-07
kak-lsp = kakoune-lsp; # Added 2024-04-01
kargo = throw "kargo was removed as it is deprecated upstream and depends on the removed boto package"; # Added 2024-09-22
kdbplus = throw "'kdbplus' has been removed from nixpkgs"; # Added 2024-05-06
kdeconnect = plasma5Packages.kdeconnect-kde; # Added 2020-10-28
keepassx = throw "KeePassX is no longer actively developed. Please consider KeePassXC as a maintained alternative."; # Added 2023-02-17
@@ -1546,6 +1547,7 @@ mapAliases {
tightvnc = throw "'tightvnc' has been removed as the version 1.3 is not maintained upstream anymore and is insecure"; # Added 2024-08-22
tixati = throw "'tixati' has been removed from nixpkgs as it is unfree and unmaintained"; # Added 2023-03-17
tkcvs = tkrev; # Added 2022-03-07
toil = throw "toil was removed as it was broken and requires obsolete versions of libraries"; # Added 2024-09-22
tokodon = plasma5Packages.tokodon;
tokyo-night-gtk = tokyonight-gtk-theme; # Added 2024-01-28
tomcat_connectors = apacheHttpdPackages.mod_jk; # Added 2024-06-07
@@ -1640,6 +1642,7 @@ mapAliases {
### W ###
wakatime = wakatime-cli; # 2024-05-30
wal_e = throw "wal_e was removed as it is unmaintained upstream and depends on the removed boto package; upstream recommends using wal-g or pgbackrest"; # Added 2024-09-22
waybar-hyprland = throw "waybar-hyprland has been removed: hyprland support is now built into waybar by default."; # Added 2023-08-21
wayfireApplications-unwrapped = throw ''
'wayfireApplications-unwrapped.wayfire' has been renamed to/replaced by 'wayfire'
+1 -7
View File
@@ -9034,8 +9034,6 @@ with pkgs;
k2pdfopt = callPackage ../applications/misc/k2pdfopt { };
kargo = callPackage ../tools/misc/kargo { };
kazam = callPackage ../applications/video/kazam { };
kalibrate-rtl = callPackage ../applications/radio/kalibrate-rtl { };
@@ -13572,8 +13570,6 @@ with pkgs;
wego = callPackage ../applications/misc/wego { };
wal_e = callPackage ../tools/backup/wal-e { };
wander = callPackage ../tools/admin/wander { };
watchexec = callPackage ../tools/misc/watchexec {
@@ -18797,8 +18793,6 @@ with pkgs;
todoist-electron = callPackage ../applications/misc/todoist-electron { };
toil = callPackage ../applications/science/misc/toil { };
travis = callPackage ../development/tools/misc/travis { };
tree-sitter = makeOverridable (callPackage ../development/tools/parsing/tree-sitter) {
@@ -37814,7 +37808,7 @@ with pkgs;
# Not recommended; too fragile
nixops_unstable_full;
# Useful with ofborg, e.g. commit prefix `nixops_unstablePlugins.nixops-aws: ...` to trigger automatically.
# Useful with ofborg, e.g. commit prefix `nixops_unstablePlugins.nixops-digitalocean: ...` to trigger automatically.
nixops_unstablePlugins = recurseIntoAttrs nixops_unstable_minimal.availablePlugins;
/*
+3
View File
@@ -76,6 +76,7 @@ mapAliases ({
blessings = throw "blessings has been removed in favor of blessed, as it was unmaintained"; # added 2024-08-20
BlinkStick = blinkstick; # added 2023-02-19
blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
boto = throw "boto was removed as it is deprecated upstream, had not been updated since 2018, and failed to build; please use boto3 and botocore"; # Added 2024-09-22
bsblan = python-bsblan; # added 2022-11-04
btchip = btchip-python; # added 2023-03-03
buildbot = throw "use pkgs.buildbot instead"; # added 2022-04-07
@@ -220,6 +221,7 @@ mapAliases ({
fritzprofiles = throw "fritzprofiles was removed from nixpkgs, because it was removed as dependency of home-assistant for which it was pacakged."; # added 2024-01-05
garages-amsterdam = throw "garages-amsterdam has been renamed odp-amsterdam."; # added 2023-01-04
garminconnect-ha = garminconnect; # added 2022-02-05
gcs-oauth2-boto-plugin = throw "gcs-oauth2-boto-plugin was removed as it depends on the removed boto package"; # Added 2024-09-22
gdtoolkit = throw "gdtoolkit has been promoted to a top-level attribute name: `pkgs.gdtoolkit`"; # added 2023-02-15
GeoIP = geoip; # added 2023-02-19
gigalixir = throw "gigalixir has been promoted to a top-level attribute name: `pkgs.gigalixir`"; # Added 2022-10-02
@@ -523,6 +525,7 @@ mapAliases ({
pyxb = throw "pyxb has been removed, its last release was in 2017 and it has finally been archived in April 2023."; # added 2024-01-05
pyzufall = throw "pyzufall was removed, because it is no longer maintained"; # added 2024-05-14
qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
qds-sdk = throw "qds-sdk was removed as it is unmaintained upstream and depends on the removed boto package"; # Added 2024-09-22
qds_sdk = qds-sdk; # added 2023-10-21
Quandl = quandl; # added 2023-02-19
querystring_parser = querystring-parser; # added 2024-01-07
-6
View File
@@ -1788,8 +1788,6 @@ self: super: with self; {
boto3-stubs = callPackage ../development/python-modules/boto3-stubs { };
boto = callPackage ../development/python-modules/boto { };
botocore = callPackage ../development/python-modules/botocore { };
botocore-stubs = callPackage ../development/python-modules/botocore-stubs { };
@@ -4869,8 +4867,6 @@ self: super: with self; {
gcovr = callPackage ../development/python-modules/gcovr { };
gcs-oauth2-boto-plugin = callPackage ../development/python-modules/gcs-oauth2-boto-plugin { };
gcsa = callPackage ../development/python-modules/gcsa { };
gcsfs = callPackage ../development/python-modules/gcsfs { };
@@ -13145,8 +13141,6 @@ self: super: with self; {
qdrant-client = callPackage ../development/python-modules/qdrant-client { };
qds-sdk = callPackage ../development/python-modules/qds-sdk { };
qgrid = callPackage ../development/python-modules/qgrid { };
qemu = callPackage ../development/python-modules/qemu {