summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-04 23:01:41 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-04 23:01:41 +0000
commitb3bfc7186e4f820493aa2eb8cc65f0efba7ed6f6 (patch)
treee60d25f1e0a33dacce9044e179c8dc93f596bb2a /dev-python
parent4c552e09a1ece7792f2a20ccf4322348acbe3139 (diff)
gentoo auto-resync : 04:12:2023 - 23:01:41
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin271049 -> 271056 bytes
-rw-r--r--dev-python/PyQt6/Manifest2
-rw-r--r--dev-python/PyQt6/PyQt6-6.6.1.ebuild175
-rw-r--r--dev-python/olefile/Manifest2
-rw-r--r--dev-python/olefile/olefile-0.47.ebuild28
-rw-r--r--dev-python/python-openstackclient/Manifest3
-rw-r--r--dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch254
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild5
8 files changed, 468 insertions, 1 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 48eff8ed47ed..b774da1cf855 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
index dc1c7b272ac9..9ef613a5de3c 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1,6 +1,8 @@
AUX PyQt6-6.5.2-qt660.patch 767 BLAKE2B ec6c345ad8a7f2b1029291bc76b8ccd3df6b0661761c1c6e2d1c8eeb033189f0ffa04c9a509a160bdd86768c5f89bfcd556602e9545404bdd5e7b67976ad2a0a SHA512 975bbb18dd39c9b4f232695210283e9d28da92945a80c22cc1e490d805bdef1ea70904b86af74ca7abdafcdb6b3cea5ffdbd58e7d6bd3e77f5d7c43414f3232c
DIST PyQt6-6.5.3.tar.gz 1039271 BLAKE2B 965efa73daa83e46fbb1428b27f8bfc8e5cbfd4cfa5481b50835fdcc58f475416207a670882d47a0cc724e4dc06e0a00a512c5f83c4918134c2f1303aecda20e SHA512 a502693cc9e1887011466132cd85e232ce653bfc38519aed99a77332413bdb65a01ecad4680b831eb76365b086e6a3b52fa69017b39d95933a6372d2e7e8e4bb
DIST PyQt6-6.6.0.tar.gz 1043298 BLAKE2B 1e0412e5f73734de625f5eb3f148d675c44909d56694e47e029a3ae91fd28f17e1edb2469f7af03baec52ad5636c3dba120d1328664f4f0557b7a9658b1e6cf1 SHA512 2fe8640b1dc82aa1da6064da2ef6c4ee81216ed34f28211b69d22c5ea00f782298f5a6a94d32ab00c3ee095abf15d2182a17324cd132458580f5659e789686e3
+DIST PyQt6-6.6.1.tar.gz 1043203 BLAKE2B dd2b6988ebeabaae47fe57c5c0d17fbe4b62c377262b4bb360adb7fd6724ccb6a67ba5c2bd7498df98db3ce6b00978f936b11a43b464c3c7af169f25b30ee1a6 SHA512 c2ff8c47c9b0e43c009d0c90f565a54344e6f384c67dd30c2d422465d0702c07713acc0095c8b67827d1146675611c07d548ba282a26e41bb60a0a21977a7a64
EBUILD PyQt6-6.5.3.ebuild 5585 BLAKE2B 4613e566f035e50b2d3ce07c460cd863a391f1df8a758a7178697da18bfddd25befd512f506f0dd65976ee7acd6e245126c3f3917ebfef849f5e4f6303e0d697 SHA512 68ca15ce30fb2297bfee0eba3a7839ddbe96bec3653107459982d2b20fd87a33653dad8135ed9665d18f9d9a32ae783a20d940d638221c081a476a62dc35231a
EBUILD PyQt6-6.6.0-r1.ebuild 5534 BLAKE2B ec7f209c98a2efa834e174465d93f60c5fef1aa0ce90e14a82fae393d9774389539071b95a6df5fb95b5837956cd950f073556439538940d81a6942d63ab4e3c SHA512 cfdba1d97e3485f72fc1c742bb2bfb0f259cc436e7d6f63db4510da456a6cca5756316bafeea8ed7d35798872d432f71110a16a89a9dc66d4a7425a04c62807c
+EBUILD PyQt6-6.6.1.ebuild 5534 BLAKE2B ec7f209c98a2efa834e174465d93f60c5fef1aa0ce90e14a82fae393d9774389539071b95a6df5fb95b5837956cd950f073556439538940d81a6942d63ab4e3c SHA512 cfdba1d97e3485f72fc1c742bb2bfb0f259cc436e7d6f63db4510da456a6cca5756316bafeea8ed7d35798872d432f71110a16a89a9dc66d4a7425a04c62807c
MISC metadata.xml 2391 BLAKE2B 16eecbd105ced07699632a4b294f7da74b59ff931e39afb8a21f67f073bfc90ff613d753a67bcd303ea9f2bf35d7b91c1c7a56ece044c421c4e45b5951f5efe3 SHA512 1d595e07e201891c8c7d5635d39db36ccb65c7333cb27c1cd5384a76029b987959df05795283a4474a41a997bf951e577570b7d3a52a9a2975d563767651efae
diff --git a/dev-python/PyQt6/PyQt6-6.6.1.ebuild b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
new file mode 100644
index 000000000000..4dee14aeda33
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.6.1.ebuild
@@ -0,0 +1,175 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+# 'can' work with older Qt depending on features, but keeping it simple
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+# defaults match what is provided with qtbase by default (except testlib),
+# reduces the need to set flags but does increase build time a fair amount
+IUSE="
+ bluetooth +dbus debug designer examples gles2-only +gui help
+ multimedia +network nfc opengl pdfium positioning +printsupport
+ qml quick quick3d serialport sensors spatialaudio speech +sql
+ +ssl svg testlib webchannel websockets +widgets +xml
+"
+# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
+REQUIRED_USE="
+ designer? ( gui widgets )
+ help? ( gui widgets )
+ multimedia? ( gui network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( gui widgets )
+ qml? ( network )
+ quick3d? ( gui qml )
+ quick? ( gui qml )
+ spatialaudio? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( gui widgets )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# may use qt private symbols wrt qtbase's :=
+DEPEND="
+ >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
+ bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ )
+ designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+ help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ opengl? (
+ gles2-only? ( media-libs/libglvnd )
+ )
+ pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+ quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? ( >=dev-qt/qtspeech-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.7.12[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: qmake queries g++ or clang++ for info depending on which qtbase was
+ # built with, but ignores CHOST failing with -native-symlinks (bug #726112)
+ # and potentially using wrong information when cross-compiling
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable gui QtGui)
+ #--disable=QtLocation # force-disabled in project.py
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable qml QtQml)
+ $(pyqt_use_enable quick QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable quick3d QtQuick3D)
+ --disable=QtRemoteObjects # not packaged
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable xml QtXml)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/olefile/Manifest b/dev-python/olefile/Manifest
index 78696a36341a..85c0bc60f723 100644
--- a/dev-python/olefile/Manifest
+++ b/dev-python/olefile/Manifest
@@ -1,3 +1,5 @@
DIST olefile-0.46.gh.tar.gz 97587 BLAKE2B e6dbadda6f18ec287f5b1b59ab4b92ceee25b4ca47499ed31a03992ae4e3a7269ba0c641f631c4beafdfe43eccab4881d06f7ba372ec47b376b5eb3ed788f45d SHA512 e70975cdda11004ab331908085e0cbd9cf3e44f49fa1453a7af5373bfed0a98729bb7600fee7a1042be6c40c58649f3650972d9e4520bbab218cf715f6264f98
+DIST olefile-0.47.gh.tar.gz 102116 BLAKE2B d3b3e8349901b7bf4a4facd0a784e9fa01f3acc50412f3952e85d59e6816321cd41d65cca83731cf280a6a83c3a4bf4e9ae9ee84662f0883e138dc2ceb22798d SHA512 efd73092f4fb428a91066c11fd319a60fa43e46f7abc4e7ba38627f11e19a6fbba227d1307ee308d1297e97b3fff30e6e497c50d7f708204e20122ea01dddfd8
EBUILD olefile-0.46-r2.ebuild 756 BLAKE2B 371002c5f6a0c83e10864700f91f840de475b55a6315462f481fe5d5a85266995cbe3bd18858c41870f9afddd878bfefa14cb48261d6614fa6a2fd7c1efde26a SHA512 d31b7fab535deb96399629a727661e24edfced746b6df16dbf232926cbcde1b2216dc53efcf609bd68e79959ad150d3f1a43fcc16e22b062c01da84f4ae97b11
+EBUILD olefile-0.47.ebuild 764 BLAKE2B deaeadf554a52c8692e5bc1aa03d997f482eb21a2eefaae5e523af3030dee5c30301909957e8e2e7e9d89b4a7d3e0372214b274f84f6b34ba2fb9f351359caa9 SHA512 f75ef58d0c3828bc65e7de7122ff6f387bfde1da564d585ba3ccf72d7237fc0c77b89cf3e1472705e6050d4cd3f994987464c87dd3702fdbf7997a7c7dc19e09
MISC metadata.xml 405 BLAKE2B 0624bf86d3688ac305571048b0dd8229d8789c7c28cd8d3e5536a7e653390400a2aa7615da7b2b32dc54eb11762d9c72db9d3b5cd19518fb52c4ec479a42f15d SHA512 2dfba1b0cb3bd235952c0ecad910354a1589243f66a2d04ff93a9975aa3395e50cea3230947e8db884442951a8871c1457c1a9b99e8657a04432185b3e9acaaa
diff --git a/dev-python/olefile/olefile-0.47.ebuild b/dev-python/olefile/olefile-0.47.ebuild
new file mode 100644
index 000000000000..71181806677f
--- /dev/null
+++ b/dev-python/olefile/olefile-0.47.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package to parse, read and write Microsoft OLE2 files"
+HOMEPAGE="
+ https://www.decalage.info/olefile/
+ https://github.com/decalage2/olefile/
+ https://pypi.org/project/olefile/
+"
+SRC_URI="
+ https://github.com/decalage2/olefile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests unittest
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index a0b4aac93c3b..c15f80c10f56 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1,3 +1,4 @@
+AUX python-openstackclient-6.3.0-test.patch 9399 BLAKE2B f4f599e28f6408137d2bbf47cd8eee46042235e4ef83fb38502ae4198ea19c2aad8014f8bbff1dd396e200ef0c9900e781fa4e27f9e9dc19efe0cab0407db0a3 SHA512 2a8f243eb19cdb83fd8585d9520efd0e4cbafac1cded158c3674d176a0d9499f652f1ba5bb80ce679fb293cc282f897e2ba524aca96ecfc2727cb99b2ce193e1
DIST python-openstackclient-6.3.0.tar.gz 899811 BLAKE2B 9dd1b174d23f4bfe0f4e54e1e72fc92f28989b7007981132ab3d60050e1c7c19be820388c9453e004f0847ad67c1bf6eadfccd26fd391e5c1b6c62185e2132c9 SHA512 da03e92208ec82920bb3fae3be0c3ecb834f3046cf709cff626a2336ca875976bcc72a41593bfee28b988ab5e89e49dbfc466362ab6200f90c91f949ce1feb06
-EBUILD python-openstackclient-6.3.0.ebuild 1851 BLAKE2B e1aa956f05a61aa0b8afc1cdf79d7030de2a3a2917ba3fe3997084ddef931b1ac3550a396b771f9cf6c0663d9aea45dc00bd8af627662394540fe6962f355623 SHA512 af5ac57f866087a4b9506e045ee0044ac751ddb52d472df8dc5c3846fd47a146fb7ddc1e3a5be83e2925fa3f59f2a7d634ddb0c0f395afc0e9ca6e89c3c500fd
+EBUILD python-openstackclient-6.3.0.ebuild 1929 BLAKE2B 68d225193fb3777c040c6f0dda877b220ab56372929e03ecb1916434b1c9c628fc050618c6e00e52d5e8be383c85d9f97053fbfdcad9f8d24f465b55909c1baf SHA512 e008ecc63afdf08bf161a2e9d6a2adfae0f762df40c8ef23882e8d7711bfb358379136013f73cb64e38c9af1501970894c6bf6c05960fac7b46ef97fb7c43baa
MISC metadata.xml 562 BLAKE2B e4f7a3fccc9c2c798962efb6dda973ad71c19e5db8efd57869b6a8cd565784d5f4a6c581bf11a28eed826bb8c3451b5938e43974b91291609d177050fc654603 SHA512 3fdb3a9300dcaa310ec02266127a998ac4587fa9fde5e381342a5c18d0435442dfdafd0b326730e1cee26f72b43fccb6a15df7d5d1fd8f5a9bb3783983b0dcca
diff --git a/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch
new file mode 100644
index 000000000000..b82097f36ae7
--- /dev/null
+++ b/dev-python/python-openstackclient/files/python-openstackclient-6.3.0-test.patch
@@ -0,0 +1,254 @@
+From fb2e0ced6e2413f5641e65bdc44ff1350a172a24 Mon Sep 17 00:00:00 2001
+From: Stephen Finucane <stephenfin@redhat.com>
+Date: Mon, 11 Sep 2023 10:46:23 +0100
+Subject: [PATCH] tests: Explicitly specify port fields for output
+
+Rather than excluding the few fields we don't want, explicitly indicate
+the ones we do want. We were already in-effect doing this in our tests,
+so this is simply moving the definition from tests to the main code.
+
+Note that this is a problem in the tests for virtually all commands
+that will be seen as the SDK continues to evolve and new fields are
+added to existing resources. This is a problem that be solved over
+time though, rather than in a big bang commit.
+
+Change-Id: Iaa64e97450f5c73cab2e2c3b0c741aec1495b4f1
+Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
+---
+ openstackclient/network/v2/port.py | 52 +++++++++++++++----
+ .../tests/unit/network/v2/test_port.py | 36 ++++++-------
+ 2 files changed, 59 insertions(+), 29 deletions(-)
+
+diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
+index 6ca069bb..710e8fe3 100644
+--- a/openstackclient/network/v2/port.py
++++ b/openstackclient/network/v2/port.py
+@@ -55,18 +55,48 @@ _formatters = {
+
+
+ def _get_columns(item):
+- column_map = {
+- 'binding:host_id': 'binding_host_id',
+- 'binding:profile': 'binding_profile',
+- 'binding:vif_details': 'binding_vif_details',
+- 'binding:vif_type': 'binding_vif_type',
+- 'binding:vnic_type': 'binding_vnic_type',
+- 'is_admin_state_up': 'admin_state_up',
+- 'is_port_security_enabled': 'port_security_enabled',
++ column_data_mapping = {
++ 'admin_state_up': 'is_admin_state_up',
++ 'allowed_address_pairs': 'allowed_address_pairs',
++ 'binding_host_id': 'binding_host_id',
++ 'binding_profile': 'binding_profile',
++ 'binding_vif_details': 'binding_vif_details',
++ 'binding_vif_type': 'binding_vif_type',
++ 'binding_vnic_type': 'binding_vnic_type',
++ 'created_at': 'created_at',
++ 'data_plane_status': 'data_plane_status',
++ 'description': 'description',
++ 'device_id': 'device_id',
++ 'device_owner': 'device_owner',
++ 'device_profile': 'device_profile',
++ 'dns_assignment': 'dns_assignment',
++ 'dns_domain': 'dns_domain',
++ 'dns_name': 'dns_name',
++ 'extra_dhcp_opts': 'extra_dhcp_opts',
++ 'fixed_ips': 'fixed_ips',
++ 'hints': 'hints',
++ 'id': 'id',
++ 'ip_allocation': 'ip_allocation',
++ 'mac_address': 'mac_address',
++ 'name': 'name',
++ 'network_id': 'network_id',
++ 'numa_affinity_policy': 'numa_affinity_policy',
++ 'port_security_enabled': 'is_port_security_enabled',
++ 'project_id': 'project_id',
++ 'propagate_uplink_status': 'propagate_uplink_status',
++ 'resource_request': 'resource_request',
++ 'revision_number': 'revision_number',
++ 'qos_network_policy_id': 'qos_network_policy_id',
++ 'qos_policy_id': 'qos_policy_id',
++ 'security_group_ids': 'security_group_ids',
++ 'status': 'status',
++ 'tags': 'tags',
++ 'trunk_details': 'trunk_details',
++ 'updated_at': 'updated_at',
+ }
+- hidden_columns = ['location', 'tenant_id']
+- return utils.get_osc_show_columns_for_sdk_resource(
+- item, column_map, hidden_columns
++ return (
++ tuple(column_data_mapping.keys()),
++ tuple(column_data_mapping.values()),
+ )
+
+
+diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py
+index 59755bb9..c897a1af 100644
+--- a/openstackclient/tests/unit/network/v2/test_port.py
++++ b/openstackclient/tests/unit/network/v2/test_port.py
+@@ -172,7 +172,7 @@ class TestCreatePort(TestPort):
+ )
+ self.assertFalse(self.network_client.set_tags.called)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_full_options(self):
+@@ -245,7 +245,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_invalid_json_binding_profile(self):
+@@ -309,7 +309,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_security_group(self):
+@@ -347,7 +347,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_dns_name(self):
+@@ -380,7 +380,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_security_groups(self):
+@@ -420,7 +420,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_no_security_groups(self):
+@@ -449,7 +449,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_no_fixed_ips(self):
+@@ -478,7 +478,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_allowed_address_pair_ipaddr(self):
+@@ -520,7 +520,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_allowed_address_pair(self):
+@@ -571,7 +571,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_with_qos(self):
+@@ -608,7 +608,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_port_security_enabled(self):
+@@ -738,7 +738,7 @@ class TestCreatePort(TestPort):
+ else:
+ self.assertFalse(self.network_client.set_tags.called)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_tags(self):
+@@ -787,7 +787,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_uplink_status_propagation_enabled(self):
+@@ -893,7 +893,7 @@ class TestCreatePort(TestPort):
+ create_args['numa_affinity_policy'] = numa_affinity_policy
+ self.network_client.create_port.assert_called_once_with(**create_args)
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_with_numa_affinity_policy_required(self):
+@@ -940,7 +940,7 @@ class TestCreatePort(TestPort):
+ 'device_profile': 'cyborg_device_profile_1',
+ }
+ self.network_client.create_port.assert_called_once_with(**create_args)
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_hints_invalid_json(self):
+@@ -1032,7 +1032,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+ def test_create_hints_valid_json(self):
+@@ -1067,7 +1067,7 @@ class TestCreatePort(TestPort):
+ }
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+
+@@ -2496,7 +2496,7 @@ class TestShowPort(TestPort):
+ self._port.name, ignore_missing=False
+ )
+
+- self.assertEqual(set(self.columns), set(columns))
++ self.assertCountEqual(self.columns, columns)
+ self.assertCountEqual(self.data, data)
+
+
+--
+2.43.0
+
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
index 90321acb3163..a331211dd91a 100644
--- a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
+++ b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
@@ -50,6 +50,11 @@ BDEPEND="
distutils_enable_tests unittest
src_prepare() {
+ local PATCHES=(
+ # backport from master
+ "${FILESDIR}/${P}-test.patch"
+ )
+
# Depends on specific runner
sed -e 's/test_command_has_logger/_&/' -i openstackclient/tests/unit/common/test_command.py || die