diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-02-16 19:35:16 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2024-02-16 19:35:16 +0000 |
| commit | 21184535f1aeed4066b3fb00248c90c1835dd453 (patch) | |
| tree | 2ebcd1b95508cbe6200444b5e22a657a75bda6aa /dev-python | |
| parent | 484b38ba94446adf3cbc8cee9325d6e1cd52a8de (diff) | |
| download | baldeagleos-repo-21184535f1aeed4066b3fb00248c90c1835dd453.tar.gz baldeagleos-repo-21184535f1aeed4066b3fb00248c90c1835dd453.tar.xz baldeagleos-repo-21184535f1aeed4066b3fb00248c90c1835dd453.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/github3-py/github3-py-4.0.1.ebuild | 10 | ||||
| -rw-r--r-- | dev-python/moto/moto-5.0.1.ebuild | 12 | ||||
| -rw-r--r-- | dev-python/netaddr/metadata.xml | 1 | ||||
| -rw-r--r-- | dev-python/netaddr/netaddr-1.1.0.ebuild | 3 | ||||
| -rw-r--r-- | dev-python/oslo-utils/oslo-utils-7.0.0-r1.ebuild (renamed from dev-python/oslo-utils/oslo-utils-7.0.0.ebuild) | 1 | ||||
| -rw-r--r-- | dev-python/pyside6-tools/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild | 76 | ||||
| -rw-r--r-- | dev-python/pyside6/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pyside6/pyside6-6.6.2.ebuild | 247 | ||||
| -rw-r--r-- | dev-python/shiboken6/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/shiboken6/shiboken6-6.6.2.ebuild | 174 | ||||
| -rw-r--r-- | dev-python/urllib3/files/urllib3-2.2.0-pytest-8.patch | 112 | ||||
| -rw-r--r-- | dev-python/urllib3/files/urllib3-2.2.0-revert.patch | 42 | ||||
| -rw-r--r-- | dev-python/urllib3/urllib3-2.2.0-r1.ebuild (renamed from dev-python/urllib3/urllib3-2.2.0.ebuild) | 7 | ||||
| -rw-r--r-- | dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch | 40 | ||||
| -rw-r--r-- | dev-python/vcrpy/vcrpy-6.0.1.ebuild | 5 |
16 files changed, 718 insertions, 15 deletions
diff --git a/dev-python/github3-py/github3-py-4.0.1.ebuild b/dev-python/github3-py/github3-py-4.0.1.ebuild index b81a8d263ed2..fe610b14c1e0 100644 --- a/dev-python/github3-py/github3-py-4.0.1.ebuild +++ b/dev-python/github3-py/github3-py-4.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -41,5 +41,13 @@ BDEPEND=" distutils_enable_tests pytest python_test() { + local EPYTEST_DESELECT=( + # betamax / urllib3 problem + # upstream marked these tests xfail... + # https://github.com/sigmavirus24/github3.py/commit/9d6124c09b0997b5e83579549bcf22b3e901d7e5 + tests/integration/test_repos_repo.py::TestRepoCommit::test_{diff,patch} + tests/integration/test_repos_repo.py::TestComparison::test_{diff,patch} + ) + epytest -o addopts= } diff --git a/dev-python/moto/moto-5.0.1.ebuild b/dev-python/moto/moto-5.0.1.ebuild index 0629a89f14e3..876c973aac85 100644 --- a/dev-python/moto/moto-5.0.1.ebuild +++ b/dev-python/moto/moto-5.0.1.ebuild @@ -93,18 +93,6 @@ python_test() { # require py_partiql_parser tests/test_s3/test_s3_select.py tests/test_dynamodb/test_dynamodb_statements.py - # broken by new urllib3 - tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data - tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests - tests/test_moto_api/recorder/test_recorder.py::TestThreadedMotoServer::test_server - tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers - tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers - tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body - tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url - tests/test_s3/test_s3_bucket_policy.py::TestBucketPolicy::test_block_all_actions - tests/test_s3/test_s3_bucket_policy.py::TestBucketPolicy::test_block_all_with_different_principal - tests/test_s3/test_s3_bucket_policy.py::TestBucketPolicy::test_block_or_allow_get_object - tests/test_s3/test_s3_bucket_policy.py::TestBucketPolicy::test_block_put_object ) local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 diff --git a/dev-python/netaddr/metadata.xml b/dev-python/netaddr/metadata.xml index 337742a2ed4b..dee90aa52b49 100644 --- a/dev-python/netaddr/metadata.xml +++ b/dev-python/netaddr/metadata.xml @@ -6,7 +6,6 @@ <name>Python</name> </maintainer> <upstream> - <changelog>https://github.com/netaddr/netaddr/blob/master/CHANGELOG</changelog> <bugs-to>https://github.com/netaddr/netaddr/issues</bugs-to> <doc>https://netaddr.readthedocs.io/</doc> </upstream> diff --git a/dev-python/netaddr/netaddr-1.1.0.ebuild b/dev-python/netaddr/netaddr-1.1.0.ebuild index 7b3ac3f1f2fc..b0589dbf1b74 100644 --- a/dev-python/netaddr/netaddr-1.1.0.ebuild +++ b/dev-python/netaddr/netaddr-1.1.0.ebuild @@ -25,7 +25,8 @@ RDEPEND=" " distutils_enable_sphinx docs/source \ - dev-python/furo + dev-python/furo \ + dev-python/sphinx-issues distutils_enable_tests pytest src_prepare() { diff --git a/dev-python/oslo-utils/oslo-utils-7.0.0.ebuild b/dev-python/oslo-utils/oslo-utils-7.0.0-r1.ebuild index bbd53325dbd9..a80ab80f1075 100644 --- a/dev-python/oslo-utils/oslo-utils-7.0.0.ebuild +++ b/dev-python/oslo-utils/oslo-utils-7.0.0-r1.ebuild @@ -25,6 +25,7 @@ RDEPEND=" >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}] >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + <dev-python/netaddr-1[${PYTHON_USEDEP}] >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}] >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest index 7e173a3c10b3..6e0eca01cd41 100644 --- a/dev-python/pyside6-tools/Manifest +++ b/dev-python/pyside6-tools/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.6.1.tar.xz 13887704 BLAKE2B 14a75cb6d20dced9b1edf79b8bb40ce44ecb7642f45743e59bc2d55b3e6fa5a742a0a0e5712b8f8cd4d908cc0f5103ac823390db968f42d0782818242c6f77e5 SHA512 3516f3e4595f1ba4ebbc680c5a94f9f939e04c0a3257720ebdd7ed12307bb007d1c73824029f51ec71c41a335268f34834250a5e87b3c4356d9e0a6f1d6b1f71 +DIST pyside-setup-everywhere-src-6.6.2.tar.xz 13975896 BLAKE2B b4572e58613e5446692e8c4cef28156fd0126ecda0c6334652ce49c6c7ce4614dbf2400c693addaa38e9b6cca9e331b9fe84c83ddb26e7014b8603afe2c54ad6 SHA512 1d23d27a4cbe74434ec5d391172416d324b4c92181401444821b456b4e27dabbdb3dcaad685a22b62c09f750555a4e626bbb6406a2fbde1cf4ec5c8bbb64cda5 diff --git a/dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild new file mode 100644 index 000000000000..69a33589d002 --- /dev/null +++ b/dev-python/pyside6-tools/pyside6-tools-6.6.2.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +LLVM_COMPAT=( {15..17} ) + +inherit cmake llvm-r1 python-r1 + +MY_PN="pyside-setup-everywhere-src" + +DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz" +S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside-tools" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] + ~dev-python/pyside6-${PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] +" +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') +" + +src_prepare() { + cmake_src_prepare + + python_copy_sources +} + +src_configure() { + pyside-tools_configure() { + local mycmakeargs=( + # If this is enabled cmake just makes copies of /lib64/qt6/bin/* + -DNO_QT_TOOLS=yes + ) + cmake_src_configure + } + + python_foreach_impl pyside-tools_configure +} + +src_compile() { + pyside-tools_compile() { + cmake_src_compile + } + + python_foreach_impl pyside-tools_compile +} + +src_install() { + pyside-tools_install() { + # This replicates the contents of the PySide6 pypi wheel + DESTDIR="${BUILD_DIR}" cmake_build install + cp __init__.py "${BUILD_DIR}/usr/bin" || die + rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die + python_moduleinto PySide6/scripts + python_domodule "${BUILD_DIR}/usr/bin/." + } + + python_foreach_impl pyside-tools_install + + einstalldocs +} diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest index 7e173a3c10b3..6e0eca01cd41 100644 --- a/dev-python/pyside6/Manifest +++ b/dev-python/pyside6/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.6.1.tar.xz 13887704 BLAKE2B 14a75cb6d20dced9b1edf79b8bb40ce44ecb7642f45743e59bc2d55b3e6fa5a742a0a0e5712b8f8cd4d908cc0f5103ac823390db968f42d0782818242c6f77e5 SHA512 3516f3e4595f1ba4ebbc680c5a94f9f939e04c0a3257720ebdd7ed12307bb007d1c73824029f51ec71c41a335268f34834250a5e87b3c4356d9e0a6f1d6b1f71 +DIST pyside-setup-everywhere-src-6.6.2.tar.xz 13975896 BLAKE2B b4572e58613e5446692e8c4cef28156fd0126ecda0c6334652ce49c6c7ce4614dbf2400c693addaa38e9b6cca9e331b9fe84c83ddb26e7014b8603afe2c54ad6 SHA512 1d23d27a4cbe74434ec5d391172416d324b4c92181401444821b456b4e27dabbdb3dcaad685a22b62c09f750555a4e626bbb6406a2fbde1cf4ec5c8bbb64cda5 diff --git a/dev-python/pyside6/pyside6-6.6.2.ebuild b/dev-python/pyside6/pyside6-6.6.2.ebuild new file mode 100644 index 000000000000..13d711636034 --- /dev/null +++ b/dev-python/pyside6/pyside6-6.6.2.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +LLVM_COMPAT=( {15..17} ) + +inherit cmake llvm-r1 python-r1 virtualx + +# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects" +# USE flag after an external "dev-qt/qtremoteobjects" package has been created. +# TODO: Add conditional support for apidoc generation via a new "doc" USE flag. +# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once +# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support. +# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note +# that the "PySide6/QtGui/CMakeLists.txt" and +# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by +# testing whether the "Qt5::Gui" list property defined by +# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation +# time contains the substring "opengles2". Since cmake does not permit +# properties to be overridden from the command line, these files must instead +# be conditionally patched to avoid these tests. An issue should be filed with +# upstream requesting a CLI-settable variable to control this. + +MY_PN="pyside-setup-everywhere-src" + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz" +S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside6" + +# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details. +# Shall we allow essential modules to be disabled? They are: +# (core), gui, widgets, printsupport, sql, network, testlib, concurrent, +# x11extras (for X) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )" +SLOT="0" +KEYWORDS="~amd64" +IUSE=" + 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location + multimedia +network network-auth nfc positioning +opengl pdfium positioning + +printsupport qml quick quick3d serialport scxml sensors spatialaudio speech + +sql svg test +testlib webchannel webengine websockets +widgets +xml +" + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt +# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module. +REQUIRED_USE="${PYTHON_REQUIRED_USE} + 3d? ( gui network ) + charts? ( gui widgets ) + designer? ( widgets ) + gles2-only? ( gui ) + gui? ( dbus opengl ) + help? ( network sql widgets ) + location? ( gui network positioning quick ) + multimedia? ( gui network ) + network-auth? ( network ) + opengl? ( gui ) + pdfium? ( gui ) + printsupport? ( widgets ) + qml? ( network ) + quick? ( gui network opengl qml ) + quick3d? ( gui network opengl qml quick ) + spatialaudio? ( multimedia ) + speech? ( multimedia ) + sql? ( widgets ) + svg? ( gui ) + testlib? ( widgets ) + webchannel? ( qml ) + webengine? ( network gui printsupport quick webchannel ) + websockets? ( network ) + widgets? ( gui ) +" + +# Tests fail pretty bad and I'm not fixing them right now +RESTRICT="test" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +RDEPEND="${PYTHON_DEPS} + ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] + =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] + 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] ) + bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + charts? ( =dev-qt/qtcharts-${QT_PV} ) + designer? ( =dev-qt/qttools-${QT_PV}[designer] ) + gui? ( + =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)] + x11-libs/libxkbcommon + ) + help? ( =dev-qt/qttools-${QT_PV}[assistant] ) + location? ( =dev-qt/qtlocation-${QT_PV} ) + multimedia? ( =dev-qt/qtmultimedia-${QT_PV} ) + network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} ) + nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] ) + pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] ) + positioning? ( =dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] ) + qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] ) + quick3d? ( =dev-qt/qtquick3d-${QT_PV} ) + scxml? ( =dev-qt/qtscxml-${QT_PV} ) + sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( =dev-qt/qtspeech-${QT_PV} ) + serialport? ( =dev-qt/qtserialport-${QT_PV} ) + svg? ( =dev-qt/qtsvg-${QT_PV} ) + testlib? ( =dev-qt/qtbase-${QT_PV}[gui] ) + webchannel? ( =dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( || ( + =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?] + =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?] + ) + ) + websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) +" +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" +# testlib is toggled by the gui flag on qtbase + +PATCHES=( + "${FILESDIR}/${PN}-6.3.1-no-strip.patch" + # References files not present in our dev-qt/qtbase + "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch" +) + +src_configure() { + # See collect_module_if_found macros in PySideHelpers.cmake + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d) + #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets)) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets) + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets) + #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml) + # try to avoid pre-stripping + -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes + -DQFP_NO_STRIP=yes + + ) + + pyside6_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPYTHON_EXECUTABLE="${PYTHON}" + -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)" + -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}" + ) + cmake_src_configure + } + python_foreach_impl pyside6_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + local -x PYTHONDONTWRITEBYTECODE + python_foreach_impl virtx cmake_src_test +} + +src_install() { + pyside6_install() { + cmake_src_install + python_optimize + + # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig + # file for the current Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ + "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die + + # Uniquify the PySide6 pkgconfig file for the current Python target, + # preserving an unversioned "pyside6.pc" file arbitrarily associated + # with the last Python target. (See the previously linked issue.) + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + } + python_foreach_impl pyside6_install + + # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., pyside6-tools) to target one + # "libpyside6-*.so" library linked to one Python interpreter. See also: + # https://bugreports.qt.io/browse/PYSIDE-1053 + # https://github.com/leycec/raiagent/issues/74 + sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die +} diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest index 7e173a3c10b3..6e0eca01cd41 100644 --- a/dev-python/shiboken6/Manifest +++ b/dev-python/shiboken6/Manifest @@ -1 +1,2 @@ DIST pyside-setup-everywhere-src-6.6.1.tar.xz 13887704 BLAKE2B 14a75cb6d20dced9b1edf79b8bb40ce44ecb7642f45743e59bc2d55b3e6fa5a742a0a0e5712b8f8cd4d908cc0f5103ac823390db968f42d0782818242c6f77e5 SHA512 3516f3e4595f1ba4ebbc680c5a94f9f939e04c0a3257720ebdd7ed12307bb007d1c73824029f51ec71c41a335268f34834250a5e87b3c4356d9e0a6f1d6b1f71 +DIST pyside-setup-everywhere-src-6.6.2.tar.xz 13975896 BLAKE2B b4572e58613e5446692e8c4cef28156fd0126ecda0c6334652ce49c6c7ce4614dbf2400c693addaa38e9b6cca9e331b9fe84c83ddb26e7014b8603afe2c54ad6 SHA512 1d23d27a4cbe74434ec5d391172416d324b4c92181401444821b456b4e27dabbdb3dcaad685a22b62c09f750555a4e626bbb6406a2fbde1cf4ec5c8bbb64cda5 diff --git a/dev-python/shiboken6/shiboken6-6.6.2.ebuild b/dev-python/shiboken6/shiboken6-6.6.2.ebuild new file mode 100644 index 000000000000..6a7c30b84b70 --- /dev/null +++ b/dev-python/shiboken6/shiboken6-6.6.2.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# TODO: Split the "/usr/bin/shiboken6" binding generator from the +# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former +# requires everything (including Clang) at runtime; the latter only requires +# Qt and Python at runtime. Note that "pip" separates these two as well. See: +# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding +# Once split, the PySide6 ebuild should be revised to require +# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime. +# TODO: Add PyPy once officially supported. See also: +# https://bugreports.qt.io/browse/PYSIDE-535 +PYTHON_COMPAT=( python3_{8,9,10,11,12} ) + +LLVM_COMPAT=( {15..17} ) + +inherit cmake llvm-r1 python-r1 toolchain-funcs + +MY_PN="pyside-setup-everywhere-src" + +DESCRIPTION="Python binding generator for C++ libraries" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz" +S="${WORKDIR}/${MY_PN}-${PV}/sources/shiboken6" + +# The "sources/shiboken6/libshiboken" directory is triple-licensed under the +# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3 +# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be +# arbitrarily relicensed. (TODO) +LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+docstrings numpy test vulkan" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# Tests fail pretty bad and I'm not fixing them right now +RESTRICT="test" + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +# Since Clang is required at both build- and runtime, BDEPEND is omitted here. +RDEPEND="${PYTHON_DEPS} + =dev-qt/qtbase-${QT_PV} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + docstrings? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) + vulkan? ( dev-util/vulkan-headers ) +" +DEPEND="${RDEPEND} + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" +# testlib is toggled by the gui flag on qtbase + +DOCS=( AUTHORS ) + +PATCHES=( + "${FILESDIR}/${PN}-6.3.1-no-strip.patch" +) + +src_prepare() { + # TODO: File upstream issue requesting a sane way to disable NumPy support. + if ! use numpy; then + sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \ + libshiboken/CMakeLists.txt || die + fi + + # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include" + # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan". + if use vulkan; then + sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \ + ApiExtractor/clangparser/compilersupport.cpp || die + fi + + local clangver="$(CPP=clang clang-major-version)" + + # Clang 15 and older used the full version as a directory name. + if [[ ${clangver} -lt 16 ]]; then + clangver="$(CPP=clang clang-fullversion)" + fi + + # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/" + # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the + # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is + # the largest version specifier that exists under the "/usr/lib/clang/" + # subdirectory. This assumption is false in edge cases, including when + # users downgrade from newer Clang versions but fail to remove those + # versions with "emerge --depclean". See also: + # https://github.com/leycec/raiagent/issues/85 + # + # Sadly, the clang-* family of functions exported by the "toolchain-funcs" + # eclass are defective, returning nonsensical placeholder strings if the + # end user has *NOT* explicitly configured their C++ compiler to be Clang. + # PySide6 does *NOT* care whether the end user has done so or not, as + # PySide6 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \ + ApiExtractor/clangparser/compilersupport.cpp || die + + cmake_src_prepare +} + +src_configure() { + # Minimal tests for now, 2 failing with the extended version + # FIXME Subscripted generics cannot be used with class and instance checks + local mycmakeargs=( + -DBUILD_TESTS=$(usex test) + -DDISABLE_DOCSTRINGS=$(usex !docstrings) + ) + + shiboken6_configure() { + local mycmakeargs=( + "${mycmakeargs[@]}" + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPYTHON_EXECUTABLE="${PYTHON}" + -DUSE_PYTHON_VERSION="${EPYTHON#python}" + ) + # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable. + local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)" + cmake_src_configure + } + python_foreach_impl shiboken6_configure +} + +src_compile() { + python_foreach_impl cmake_src_compile +} + +src_test() { + python_foreach_impl cmake_src_test +} + +src_install() { + shiboken6_install() { + cmake_src_install + python_optimize + + # Uniquify the "shiboken6" executable for the current Python target, + # preserving an unversioned "shiboken6" file arbitrarily associated + # with the last Python target. + cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die + + # Uniquify the Shiboken6 pkgconfig file for the current Python target, + # preserving an unversioned "shiboken6.pc" file arbitrarily associated + # with the last Python target. See also: + # https://github.com/leycec/raiagent/issues/73 + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + } + python_foreach_impl shiboken6_install + + # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing + # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so" + # library and one "shiboken6" executable linked to one Python interpreter. + # See also: + # https://bugreports.qt.io/browse/PYSIDE-1053 + # https://github.com/leycec/raiagent/issues/74 + sed -i \ + -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \ + -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \ + "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die + + # Remove the broken "shiboken_tool.py" script. By inspection, this script + # reduces to a noop. Moreover, this script raises the following exception: + # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py' + rm "${ED}"/usr/bin/shiboken_tool.py || die +} diff --git a/dev-python/urllib3/files/urllib3-2.2.0-pytest-8.patch b/dev-python/urllib3/files/urllib3-2.2.0-pytest-8.patch new file mode 100644 index 000000000000..9baa3379a7c9 --- /dev/null +++ b/dev-python/urllib3/files/urllib3-2.2.0-pytest-8.patch @@ -0,0 +1,112 @@ +From aa8d3dd2535cc125e123e5c2bca38738d6864b2a Mon Sep 17 00:00:00 2001 +From: Ruben Laguna <ruben.laguna@gmail.com> +Date: Mon, 5 Feb 2024 15:29:35 +0100 +Subject: [PATCH] Fix ssl_version tests for upcoming migration to pytest 8 + +--- + dev-requirements.txt | 2 +- + test/contrib/test_pyopenssl.py | 1 - + test/with_dummyserver/test_https.py | 35 ++++++++++++++++++++--------- + 3 files changed, 26 insertions(+), 12 deletions(-) + +diff --git a/test/contrib/test_pyopenssl.py b/test/contrib/test_pyopenssl.py +index b4799ce802..eaca77ba6f 100644 +--- a/test/contrib/test_pyopenssl.py ++++ b/test/contrib/test_pyopenssl.py +@@ -38,7 +38,6 @@ def teardown_module() -> None: + from ..test_ssl import TestSSL # noqa: E402, F401 + from ..test_util import TestUtilSSL # noqa: E402, F401 + from ..with_dummyserver.test_https import ( # noqa: E402, F401 +- TestHTTPS, + TestHTTPS_IPV4SAN, + TestHTTPS_IPV6SAN, + TestHTTPS_TLSv1, +diff --git a/test/with_dummyserver/test_https.py b/test/with_dummyserver/test_https.py +index aa22f11879..b8353d758b 100644 +--- a/test/with_dummyserver/test_https.py ++++ b/test/with_dummyserver/test_https.py +@@ -65,7 +65,7 @@ + CLIENT_CERT = CLIENT_INTERMEDIATE_PEM + + +-class TestHTTPS(HTTPSHypercornDummyServerTestCase): ++class BaseTestHTTPS(HTTPSHypercornDummyServerTestCase): + tls_protocol_name: str | None = None + + def tls_protocol_not_default(self) -> bool: +@@ -83,11 +83,17 @@ def tls_version(self) -> ssl.TLSVersion: + def ssl_version(self) -> int: + if self.tls_protocol_name is None: + return pytest.skip("Skipping base test class") +- attribute = f"PROTOCOL_{self.tls_protocol_name.replace('.', '_')}" +- ssl_version = getattr(ssl, attribute, None) +- if ssl_version is None: +- return pytest.skip(f"ssl.{attribute} isn't available") +- return ssl_version # type: ignore[no-any-return] ++ ++ if self.tls_protocol_name == "TLSv1.3" and ssl.HAS_TLSv1_3: ++ return ssl.PROTOCOL_TLS_CLIENT ++ if self.tls_protocol_name == "TLSv1.2" and ssl.HAS_TLSv1_2: ++ return ssl.PROTOCOL_TLSv1_2 ++ if self.tls_protocol_name == "TLSv1.1" and ssl.HAS_TLSv1_1: ++ return ssl.PROTOCOL_TLSv1_1 ++ if self.tls_protocol_name == "TLSv1" and ssl.HAS_TLSv1: ++ return ssl.PROTOCOL_TLSv1 ++ else: ++ return pytest.skip(f"{self.tls_protocol_name} isn't available") + + @classmethod + def setup_class(cls) -> None: +@@ -797,6 +803,10 @@ def test_tls_protocol_name_of_socket(self) -> None: + def test_ssl_version_is_deprecated(self) -> None: + if self.tls_protocol_name is None: + pytest.skip("Skipping base test class") ++ if self.ssl_version() == ssl.PROTOCOL_TLS_CLIENT: ++ pytest.skip( ++ "Skipping because ssl_version=ssl.PROTOCOL_TLS_CLIENT is not deprecated" ++ ) + + with HTTPSConnectionPool( + self.host, self.port, ca_certs=DEFAULT_CA, ssl_version=self.ssl_version() +@@ -964,6 +974,11 @@ def test_default_ssl_context_ssl_min_max_versions(self) -> None: + assert ctx.maximum_version == expected_maximum_version + + def test_ssl_context_ssl_version_uses_ssl_min_max_versions(self) -> None: ++ if self.ssl_version() == ssl.PROTOCOL_TLS_CLIENT: ++ pytest.skip( ++ "Skipping because ssl_version=ssl.PROTOCOL_TLS_CLIENT is not deprecated" ++ ) ++ + with pytest.warns( + DeprecationWarning, + match=r"'ssl_version' option is deprecated and will be removed in " +@@ -977,25 +992,25 @@ def test_ssl_context_ssl_version_uses_ssl_min_max_versions(self) -> None: + + + @pytest.mark.usefixtures("requires_tlsv1") +-class TestHTTPS_TLSv1(TestHTTPS): ++class TestHTTPS_TLSv1(BaseTestHTTPS): + tls_protocol_name = "TLSv1" + certs = TLSv1_CERTS + + + @pytest.mark.usefixtures("requires_tlsv1_1") +-class TestHTTPS_TLSv1_1(TestHTTPS): ++class TestHTTPS_TLSv1_1(BaseTestHTTPS): + tls_protocol_name = "TLSv1.1" + certs = TLSv1_1_CERTS + + + @pytest.mark.usefixtures("requires_tlsv1_2") +-class TestHTTPS_TLSv1_2(TestHTTPS): ++class TestHTTPS_TLSv1_2(BaseTestHTTPS): + tls_protocol_name = "TLSv1.2" + certs = TLSv1_2_CERTS + + + @pytest.mark.usefixtures("requires_tlsv1_3") +-class TestHTTPS_TLSv1_3(TestHTTPS): ++class TestHTTPS_TLSv1_3(BaseTestHTTPS): + tls_protocol_name = "TLSv1.3" + certs = TLSv1_3_CERTS + diff --git a/dev-python/urllib3/files/urllib3-2.2.0-revert.patch b/dev-python/urllib3/files/urllib3-2.2.0-revert.patch new file mode 100644 index 000000000000..14175ecec58b --- /dev/null +++ b/dev-python/urllib3/files/urllib3-2.2.0-revert.patch @@ -0,0 +1,42 @@ +From 49b2ddaf07ec9ef65ef12d0218117f20e739ee6e Mon Sep 17 00:00:00 2001 +From: Quentin Pradet <quentin.pradet@gmail.com> +Date: Fri, 16 Feb 2024 11:35:30 +0400 +Subject: [PATCH] Stop casting request headers to HTTPHeaderDict (#3344) + +While this was done to fix a mypy error, we did not notice the +consequences: + + * This breaks boto3 that subclasses HTTPConnection because + HTTPHeaderDict does not support bytes values yet. + * When proxying, headers are still a dictionary by default. + +We can decide to reintroduce a forced conversion to HTTPHeaderDict in +urllib3 3.0 if the above issues are fixed. +--- + changelog/3343.bugfix.rst | 1 + + src/urllib3/connectionpool.py | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + create mode 100644 changelog/3343.bugfix.rst + +diff --git a/changelog/3343.bugfix.rst b/changelog/3343.bugfix.rst +new file mode 100644 +index 0000000000..4f2df9e7a4 +--- /dev/null ++++ b/changelog/3343.bugfix.rst +@@ -0,0 +1 @@ ++Fixed ``HTTPConnectionPool.urlopen`` to stop automatically casting non-proxy headers to ``HTTPHeaderDict``. This change was premature as it did not apply to proxy headers and ``HTTPHeaderDict`` does not handle byte header values correctly yet. +diff --git a/src/urllib3/connectionpool.py b/src/urllib3/connectionpool.py +index 1036f0d718..bd58ff14dd 100644 +--- a/src/urllib3/connectionpool.py ++++ b/src/urllib3/connectionpool.py +@@ -751,8 +751,8 @@ def urlopen( # type: ignore[override] + # have to copy the headers dict so we can safely change it without those + # changes being reflected in anyone else's copy. + if not http_tunnel_required: +- headers = HTTPHeaderDict(headers) +- headers.update(self.proxy_headers) ++ headers = headers.copy() # type: ignore[attr-defined] ++ headers.update(self.proxy_headers) # type: ignore[union-attr] + + # Must keep the exception bound to a separate variable or else Python 3 + # complains about UnboundLocalError. diff --git a/dev-python/urllib3/urllib3-2.2.0.ebuild b/dev-python/urllib3/urllib3-2.2.0-r1.ebuild index fb2fc467f430..35b1a6099418 100644 --- a/dev-python/urllib3/urllib3-2.2.0.ebuild +++ b/dev-python/urllib3/urllib3-2.2.0-r1.ebuild @@ -66,6 +66,13 @@ BDEPEND=" " src_prepare() { + local PATCHES=( + # https://github.com/urllib3/urllib3/commit/49b2ddaf07ec9ef65ef12d0218117f20e739ee6e + "${FILESDIR}/${P}-revert.patch" + # https://github.com/urllib3/urllib3/commit/aa8d3dd2535cc125e123e5c2bca38738d6864b2a + "${FILESDIR}/${P}-pytest-8.patch" + ) + # upstream considers 0.5 s to be "long" for a timeout # we get tons of test failures on *fast* systems because of that sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die diff --git a/dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch b/dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch new file mode 100644 index 000000000000..4e2a91cb4bac --- /dev/null +++ b/dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch @@ -0,0 +1,40 @@ +From e60dafb8dce589e7deb63fec552f5c05bd19ac6d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Fri, 16 Feb 2024 19:33:41 +0100 +Subject: [PATCH] Improve test compatibility with legacy httpbin index + +Make the tests slightly more flexible to match both the flasgger-based +and legacy httpbin index. This is needed for compatibility with +https://github.com/psf/httpbin/pull/44 when flasgger is not installed +(e.g. on architectures that are not supported by Rust). +--- + tests/integration/test_basic.py | 2 +- + tests/integration/test_register_persister.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/integration/test_basic.py b/tests/integration/test_basic.py +index bfad6153..99121456 100644 +--- a/tests/integration/test_basic.py ++++ b/tests/integration/test_basic.py +@@ -39,7 +39,7 @@ def test_basic_json_use(tmpdir, httpbin): + test_fixture = str(tmpdir.join("synopsis.json")) + with vcr.use_cassette(test_fixture, serializer="json"): + response = urlopen(httpbin.url).read() +- assert b"A simple HTTP Request & Response Service." in response ++ assert b"HTTP Request & Response Service" in response + + + def test_patched_content(tmpdir, httpbin): +diff --git a/tests/integration/test_register_persister.py b/tests/integration/test_register_persister.py +index e904197c..375f14be 100644 +--- a/tests/integration/test_register_persister.py ++++ b/tests/integration/test_register_persister.py +@@ -66,7 +66,7 @@ def test_load_cassette_with_custom_persister(tmpdir, httpbin): + + with my_vcr.use_cassette(test_fixture, serializer="json"): + response = urlopen(httpbin.url).read() +- assert b"A simple HTTP Request & Response Service." in response ++ assert b"HTTP Request & Response Service" in response + + + def test_load_cassette_persister_exception_handling(tmpdir, httpbin): diff --git a/dev-python/vcrpy/vcrpy-6.0.1.ebuild b/dev-python/vcrpy/vcrpy-6.0.1.ebuild index d8863b3d1fd6..910a05a43f34 100644 --- a/dev-python/vcrpy/vcrpy-6.0.1.ebuild +++ b/dev-python/vcrpy/vcrpy-6.0.1.ebuild @@ -38,6 +38,11 @@ BDEPEND=" distutils_enable_tests pytest +PATCHES=( + # https://github.com/kevin1024/vcrpy/pull/823 + "${FILESDIR}/${P}-httpbin-compat.patch" +) + python_test() { local EPYTEST_DESELECT=( # these tests are failing with recent dev-python/werkzeug; losely related: |
