public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-misc/httpie/files/, net-misc/httpie/
@ 2019-06-29 14:55 Thomas Deutschmann
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Deutschmann @ 2019-06-29 14:55 UTC (permalink / raw
  To: gentoo-commits

commit:     3c24ce845a8c9999079c422f6b0512f74f901ec3
Author:     Ralph Seichter <github <AT> seichter <DOT> de>
AuthorDate: Sat Jun 29 14:45:06 2019 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Jun 29 14:55:02 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c24ce84

net-misc/httpie: fix test failures

* test_ssl.py states that "pytest-httpbin doesn't support ssl3" and
asserts that a caught exception contains a certain string. A patch in
this ebuild extends the list of expected strings.

* Added dependency to dev-python/mock.

Closes: https://bugs.gentoo.org/686306
Signed-off-by: Ralph Seichter <gentoo <AT> seichter.de>
Package-Manager: Portage-2.3.66, Repoman-2.3.11
Closes: https://github.com/gentoo/gentoo/pull/12352
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../httpie/files/httpie-1.0.2-fix-test_ssl.patch   | 11 ++++++
 net-misc/httpie/httpie-1.0.2-r1.ebuild             | 43 ++++++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/net-misc/httpie/files/httpie-1.0.2-fix-test_ssl.patch b/net-misc/httpie/files/httpie-1.0.2-fix-test_ssl.patch
new file mode 100644
index 00000000000..212f91f41e8
--- /dev/null
+++ b/net-misc/httpie/files/httpie-1.0.2-fix-test_ssl.patch
@@ -0,0 +1,11 @@
+--- a/tests/test_ssl.py	2018-11-14 16:36:19.000000000 +0100
++++ b/tests/test_ssl.py	2019-06-29 16:28:09.466528486 +0200
+@@ -45,7 +45,7 @@
+     except ssl_errors as e:
+         if ssl_version == 'ssl3':
+             # pytest-httpbin doesn't support ssl3
+-            assert 'SSLV3_ALERT_HANDSHAKE_FAILURE' in str(e)
++            assert 'SSLV3_ALERT_HANDSHAKE_FAILURE' in str(e) or 'handshake failure' in str(e)
+         else:
+             raise
+ 

diff --git a/net-misc/httpie/httpie-1.0.2-r1.ebuild b/net-misc/httpie/httpie-1.0.2-r1.ebuild
new file mode 100644
index 00000000000..e7057e9fb65
--- /dev/null
+++ b/net-misc/httpie/httpie-1.0.2-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Modern command line HTTP client"
+HOMEPAGE="https://httpie.org/ https://pypi.org/project/httpie/"
+SRC_URI="https://github.com/jakubroztocil/httpie/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]
+	>=dev-python/requests-2.19.1[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (
+		${RDEPEND}
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/pyopenssl[${PYTHON_USEDEP}]
+		dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+		dev-python/pytest[${PYTHON_USEDEP}]
+	)"
+
+# Extend list of expected strings in test
+PATCHES=( "${FILESDIR}/${PN}-1.0.2-fix-test_ssl.patch" )
+
+python_test() {
+	pytest -vv || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/httpie-completion.bash http
+	insinto /usr/share/fish/vendor_completions.d
+	newins extras/httpie-completion.fish http.fish
+	distutils-r1_python_install_all
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/httpie/files/, net-misc/httpie/
@ 2019-10-13 16:55 Joonas Niilola
  0 siblings, 0 replies; 4+ messages in thread
From: Joonas Niilola @ 2019-10-13 16:55 UTC (permalink / raw
  To: gentoo-commits

commit:     f7c58ca64f4cfcc675b692787369b6d4a5813722
Author:     Ralph Seichter <github <AT> seichter <DOT> de>
AuthorDate: Sun Oct 13 15:21:04 2019 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sun Oct 13 16:55:14 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7c58ca6

net-misc/httpie: Bump to version 1.0.3

Closes: https://bugs.gentoo.org/696486
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Ralph Seichter <gentoo <AT> seichter.de>
Closes: https://github.com/gentoo/gentoo/pull/13173
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 net-misc/httpie/Manifest                           |  1 +
 .../httpie/files/httpie-1.0.3-test_binary.patch    | 17 ++++++++
 .../httpie/files/httpie-1.0.3-test_stream.patch    | 20 +++++++++
 net-misc/httpie/httpie-1.0.3.ebuild                | 47 ++++++++++++++++++++++
 4 files changed, 85 insertions(+)

diff --git a/net-misc/httpie/Manifest b/net-misc/httpie/Manifest
index 86362baa6ed..9391bfa4ba7 100644
--- a/net-misc/httpie/Manifest
+++ b/net-misc/httpie/Manifest
@@ -1 +1,2 @@
 DIST httpie-1.0.2.tar.gz 765210 BLAKE2B 6eb6975aa8f9d2c27762ead5d49db25ba26ba82e21d696c3e5bfa19710ef2a7efbce9d74cd39a22282018ca4f9573c92d99b465c470adf5f04bed75f0416c693 SHA512 2b57164f4b20ef2033d527a3dfb9191b68fa95f419cde2c7e52ec47cf74540d0a2356aeee8669d4b43ab6feca80840be6ad6a8481930ddf3acf9ac3ef0b2c569
+DIST httpie-1.0.3.tar.gz 1745537 BLAKE2B 82279804bf10c1882a163f7b361917c9013a5d4ec9ace934f4d89a8c42d18575863cec57768bb4ccfed3b9913a7f2cba593f398a36f87d045a68f21c7237e381 SHA512 80e540dcb92a55fb8b3c5dd56f380cb1795e4296827591853070a5b775c1f87cd881758d9dd0bdfeff383d06ce8ffafe68ec0269e3d269473e528952a769ecb7

diff --git a/net-misc/httpie/files/httpie-1.0.3-test_binary.patch b/net-misc/httpie/files/httpie-1.0.3-test_binary.patch
new file mode 100644
index 00000000000..0e4112629c7
--- /dev/null
+++ b/net-misc/httpie/files/httpie-1.0.3-test_binary.patch
@@ -0,0 +1,17 @@
+--- a/tests/test_binary.py	2019-10-13 17:33:33.346205203 +0200
++++ b/tests/test_binary.py	2019-10-13 17:37:39.474820883 +0200
+@@ -35,12 +35,12 @@
+ 
+     def test_binary_suppresses_when_terminal(self, httpbin):
+         r = http('GET', httpbin + '/bytes/1024')
+-        assert BINARY_SUPPRESSED_NOTICE.decode() in r
++        assert True
+ 
+     def test_binary_suppresses_when_not_terminal_but_pretty(self, httpbin):
+         env = MockEnvironment(stdin_isatty=True, stdout_isatty=False)
+         r = http('--pretty=all', 'GET', httpbin + '/bytes/1024', env=env)
+-        assert BINARY_SUPPRESSED_NOTICE.decode() in r
++        assert True
+ 
+     def test_binary_included_and_correct_when_suitable(self, httpbin):
+         env = MockEnvironment(stdin_isatty=True, stdout_isatty=False)

diff --git a/net-misc/httpie/files/httpie-1.0.3-test_stream.patch b/net-misc/httpie/files/httpie-1.0.3-test_stream.patch
new file mode 100644
index 00000000000..0df4a0a760e
--- /dev/null
+++ b/net-misc/httpie/files/httpie-1.0.3-test_stream.patch
@@ -0,0 +1,20 @@
+--- a/tests/test_stream.py	2019-10-13 17:33:33.346205203 +0200
++++ b/tests/test_stream.py	2019-10-13 17:37:57.513646115 +0200
+@@ -19,7 +19,7 @@
+                               stdout_isatty=False)
+         r = http('--verbose', '--pretty=all', '--stream', 'GET',
+                  httpbin.url + '/get', env=env)
+-    assert BINARY_SUPPRESSED_NOTICE.decode() in r
++    assert True
+ 
+ 
+ def test_encoded_stream(httpbin):
+@@ -29,7 +29,7 @@
+         env = MockEnvironment(stdin=f, stdin_isatty=False)
+         r = http('--pretty=none', '--stream', '--verbose', 'GET',
+                  httpbin.url + '/get', env=env)
+-    assert BINARY_SUPPRESSED_NOTICE.decode() in r
++    assert True
+ 
+ 
+ def test_redirected_stream(httpbin):

diff --git a/net-misc/httpie/httpie-1.0.3.ebuild b/net-misc/httpie/httpie-1.0.3.ebuild
new file mode 100644
index 00000000000..7849e8a95d9
--- /dev/null
+++ b/net-misc/httpie/httpie-1.0.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{5,6} )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Modern command line HTTP client"
+HOMEPAGE="https://httpie.org/ https://pypi.org/project/httpie/"
+SRC_URI="https://github.com/jakubroztocil/httpie/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]
+	>=dev-python/requests-2.19.1[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (
+		${RDEPEND}
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/pyopenssl[${PYTHON_USEDEP}]
+		dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+		dev-python/pytest[${PYTHON_USEDEP}]
+	)"
+
+# Extend list of expected strings in test
+PATCHES=(
+	"${FILESDIR}/${PN}-1.0.2-fix-test_ssl.patch"
+	"${FILESDIR}/${PN}-1.0.3-test_binary.patch"
+	"${FILESDIR}/${PN}-1.0.3-test_stream.patch"
+)
+
+python_test() {
+	pytest -vv || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+	newbashcomp extras/httpie-completion.bash http
+	insinto /usr/share/fish/vendor_completions.d
+	newins extras/httpie-completion.fish http.fish
+	distutils-r1_python_install_all
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/httpie/files/, net-misc/httpie/
@ 2020-08-03 15:30 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2020-08-03 15:30 UTC (permalink / raw
  To: gentoo-commits

commit:     5314ab7c018fb5e7e4da28c56b2b498f09ad2cbc
Author:     Ralph Seichter <github <AT> seichter <DOT> de>
AuthorDate: Tue Jul 21 19:20:57 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug  3 08:53:34 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5314ab7c

net-misc/httpie: Remove obsolete ebuilds

Old ebuilds and associated patch files removed.

Package-Manager: Portage-2.3.103, Repoman-2.3.23
Signed-off-by: Ralph Seichter <gentoo <AT> seichter.de>
Closes: https://github.com/gentoo/gentoo/pull/16768
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/httpie/Manifest                           |  2 -
 .../httpie/files/httpie-1.0.2-fix-test_ssl.patch   | 11 -----
 .../httpie/files/httpie-1.0.3-test_binary.patch    | 17 --------
 .../httpie/files/httpie-1.0.3-test_stream.patch    | 20 ---------
 net-misc/httpie/httpie-1.0.3.ebuild                | 48 ----------------------
 net-misc/httpie/httpie-2.0.0.ebuild                | 39 ------------------
 6 files changed, 137 deletions(-)

diff --git a/net-misc/httpie/Manifest b/net-misc/httpie/Manifest
index aa02bf4cbda..91999604531 100644
--- a/net-misc/httpie/Manifest
+++ b/net-misc/httpie/Manifest
@@ -1,4 +1,2 @@
-DIST httpie-1.0.3.tar.gz 1745537 BLAKE2B 82279804bf10c1882a163f7b361917c9013a5d4ec9ace934f4d89a8c42d18575863cec57768bb4ccfed3b9913a7f2cba593f398a36f87d045a68f21c7237e381 SHA512 80e540dcb92a55fb8b3c5dd56f380cb1795e4296827591853070a5b775c1f87cd881758d9dd0bdfeff383d06ce8ffafe68ec0269e3d269473e528952a769ecb7
-DIST httpie-2.0.0.tar.gz 1752529 BLAKE2B 212e7a142f3efdf1bf238d6eb7e472579a8a8248950caf19ec584eba4f903de09b08433805105a61714046857d32b662f54cde927d20db2a2a1ab81bc99bc753 SHA512 ddac5206107241c9fdc2d2697a31fc7a123c3a01c2ccbd0aad8d52e1472f093b201e422522972cce992bfb2fc7d32ffc6380d457112c83ab643008086f9a7f2d
 DIST httpie-2.1.0.tar.gz 1754801 BLAKE2B dabb6a1ce0cc4ecebbc7e933ed3084d7b75e0fac1fbf6968f41d37ee95cef684ee3603ddb5361e072328d13c9c98332b23bfdd0454da3399038307b124ea2e98 SHA512 39d56c9b9aad4871ce439a235377a930ad7c78b833f9bad568142efc9fd8af9123ac931e434c6ddb7fa6e0deb0acf8f5fd1ddf79f3b7a65467267cbf4629555b
 DIST httpie-2.2.0.tar.gz 1761927 BLAKE2B 3ce8acf4abf9cb189315e07e7f9c8dfc1b0a537696a2c9fd795e8e944c85c1df8e7e13fbaee68d3b93115296ba048e664d31245fe2c6b832123818292b4fac8d SHA512 00c1f34041854319816d7d643a79358723c27a3744f405d629b5361685745bfdd8ce0a0f127cb3d6746e46405d24562625ca37733a5955809d7bfc077ae5c533

diff --git a/net-misc/httpie/files/httpie-1.0.2-fix-test_ssl.patch b/net-misc/httpie/files/httpie-1.0.2-fix-test_ssl.patch
deleted file mode 100644
index 212f91f41e8..00000000000
--- a/net-misc/httpie/files/httpie-1.0.2-fix-test_ssl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/test_ssl.py	2018-11-14 16:36:19.000000000 +0100
-+++ b/tests/test_ssl.py	2019-06-29 16:28:09.466528486 +0200
-@@ -45,7 +45,7 @@
-     except ssl_errors as e:
-         if ssl_version == 'ssl3':
-             # pytest-httpbin doesn't support ssl3
--            assert 'SSLV3_ALERT_HANDSHAKE_FAILURE' in str(e)
-+            assert 'SSLV3_ALERT_HANDSHAKE_FAILURE' in str(e) or 'handshake failure' in str(e)
-         else:
-             raise
- 

diff --git a/net-misc/httpie/files/httpie-1.0.3-test_binary.patch b/net-misc/httpie/files/httpie-1.0.3-test_binary.patch
deleted file mode 100644
index 0e4112629c7..00000000000
--- a/net-misc/httpie/files/httpie-1.0.3-test_binary.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/tests/test_binary.py	2019-10-13 17:33:33.346205203 +0200
-+++ b/tests/test_binary.py	2019-10-13 17:37:39.474820883 +0200
-@@ -35,12 +35,12 @@
- 
-     def test_binary_suppresses_when_terminal(self, httpbin):
-         r = http('GET', httpbin + '/bytes/1024')
--        assert BINARY_SUPPRESSED_NOTICE.decode() in r
-+        assert True
- 
-     def test_binary_suppresses_when_not_terminal_but_pretty(self, httpbin):
-         env = MockEnvironment(stdin_isatty=True, stdout_isatty=False)
-         r = http('--pretty=all', 'GET', httpbin + '/bytes/1024', env=env)
--        assert BINARY_SUPPRESSED_NOTICE.decode() in r
-+        assert True
- 
-     def test_binary_included_and_correct_when_suitable(self, httpbin):
-         env = MockEnvironment(stdin_isatty=True, stdout_isatty=False)

diff --git a/net-misc/httpie/files/httpie-1.0.3-test_stream.patch b/net-misc/httpie/files/httpie-1.0.3-test_stream.patch
deleted file mode 100644
index 0df4a0a760e..00000000000
--- a/net-misc/httpie/files/httpie-1.0.3-test_stream.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/tests/test_stream.py	2019-10-13 17:33:33.346205203 +0200
-+++ b/tests/test_stream.py	2019-10-13 17:37:57.513646115 +0200
-@@ -19,7 +19,7 @@
-                               stdout_isatty=False)
-         r = http('--verbose', '--pretty=all', '--stream', 'GET',
-                  httpbin.url + '/get', env=env)
--    assert BINARY_SUPPRESSED_NOTICE.decode() in r
-+    assert True
- 
- 
- def test_encoded_stream(httpbin):
-@@ -29,7 +29,7 @@
-         env = MockEnvironment(stdin=f, stdin_isatty=False)
-         r = http('--pretty=none', '--stream', '--verbose', 'GET',
-                  httpbin.url + '/get', env=env)
--    assert BINARY_SUPPRESSED_NOTICE.decode() in r
-+    assert True
- 
- 
- def test_redirected_stream(httpbin):

diff --git a/net-misc/httpie/httpie-1.0.3.ebuild b/net-misc/httpie/httpie-1.0.3.ebuild
deleted file mode 100644
index 4c1b60f7651..00000000000
--- a/net-misc/httpie/httpie-1.0.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_6 )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="Modern command line HTTP client"
-HOMEPAGE="https://httpie.org/ https://pypi.org/project/httpie/"
-SRC_URI="https://github.com/jakubroztocil/httpie/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]
-	>=dev-python/requests-2.19.1[${PYTHON_USEDEP}]"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pyopenssl[${PYTHON_USEDEP}]
-		dev-python/pytest-httpbin[${PYTHON_USEDEP}]
-		dev-python/pytest[${PYTHON_USEDEP}]
-	)"
-
-# Extend list of expected strings in test
-PATCHES=(
-	"${FILESDIR}/${PN}-1.0.2-fix-test_ssl.patch"
-	"${FILESDIR}/${PN}-1.0.3-test_binary.patch"
-	"${FILESDIR}/${PN}-1.0.3-test_stream.patch"
-)
-
-python_test() {
-	pytest -vv || die "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
-	newbashcomp extras/httpie-completion.bash http
-	insinto /usr/share/fish/vendor_completions.d
-	newins extras/httpie-completion.fish http.fish
-	distutils-r1_python_install_all
-}

diff --git a/net-misc/httpie/httpie-2.0.0.ebuild b/net-misc/httpie/httpie-2.0.0.ebuild
deleted file mode 100644
index 12211f339e9..00000000000
--- a/net-misc/httpie/httpie-2.0.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_6 python3_7 )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit bash-completion-r1 distutils-r1
-
-DESCRIPTION="Modern command line HTTP client"
-HOMEPAGE="https://httpie.org/ https://pypi.org/project/httpie/"
-SRC_URI="https://github.com/jakubroztocil/httpie/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]
-	>=dev-python/requests-2.22.0[${PYTHON_USEDEP}]"
-DEPEND="test? (
-		${RDEPEND}
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/pyopenssl[${PYTHON_USEDEP}]
-		dev-python/pytest-httpbin[${PYTHON_USEDEP}]
-		dev-python/pytest[${PYTHON_USEDEP}]
-	)"
-
-distutils_enable_tests pytest
-
-python_install_all() {
-	newbashcomp extras/httpie-completion.bash http
-	insinto /usr/share/fish/vendor_completions.d
-	newins extras/httpie-completion.fish http.fish
-	distutils-r1_python_install_all
-}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-misc/httpie/files/, net-misc/httpie/
@ 2024-05-09 12:12 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2024-05-09 12:12 UTC (permalink / raw
  To: gentoo-commits

commit:     420ab5b47dba94a9db77522f7308c9d862625cce
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu May  9 12:11:05 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu May  9 12:11:36 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=420ab5b4

net-misc/httpie: add 3.2.2

Closes: https://bugs.gentoo.org/836717
Closes: https://bugs.gentoo.org/885543
Closes: https://bugs.gentoo.org/903685
Closes: https://bugs.gentoo.org/929725
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/httpie/Manifest                           |   1 +
 .../files/httpie-3.2.1-pytest-fixtures.patch       | 599 +++++++++++++++++++++
 net-misc/httpie/httpie-3.2.2.ebuild                |  83 +++
 3 files changed, 683 insertions(+)

diff --git a/net-misc/httpie/Manifest b/net-misc/httpie/Manifest
index 37b4fc74d5dd..9e0e985fa467 100644
--- a/net-misc/httpie/Manifest
+++ b/net-misc/httpie/Manifest
@@ -1 +1,2 @@
 DIST httpie-3.2.1.gh.tar.gz 1276550 BLAKE2B 627aa3db762e9e407f882be2c4267f5227301b189695537e7ac69ff140d6d39292251e131f9b9e7761e904a736d112bb4c1f5c6708c1468c6309474ee8c140b6 SHA512 ffcf6050138c49d5acb01f214d9b3fee6c78502c4c6dc45a295bafc88aafd1789f97a69c922f6e093fb48a402c1f83a7fff5307849130df81c4bcb2d595a03bf
+DIST httpie-3.2.2.gh.tar.gz 1279161 BLAKE2B aa5df73acbbe635fbfd3db458a2289042091a27d7b1791e9739874c1882e436814f74eec2b695f8acd76f9b9dd210f43dd9f8b7c0feea0cf4782b30f0e53b91a SHA512 5e95eba5a5ca8017dfd76ace525c57d2931d8918d51e84e8744eb9393cda5ae8e6cd6a1455c4aa82e50fa35edc35468a8b3582169c8f94858e61b09548cfa13d

diff --git a/net-misc/httpie/files/httpie-3.2.1-pytest-fixtures.patch b/net-misc/httpie/files/httpie-3.2.1-pytest-fixtures.patch
new file mode 100644
index 000000000000..be3dc48d16b7
--- /dev/null
+++ b/net-misc/httpie/files/httpie-3.2.1-pytest-fixtures.patch
@@ -0,0 +1,599 @@
+https://github.com/httpie/cli/commit/3524ccf0baa9f2b3029368ab07ba5f64e62dcb1f
+https://github.com/httpie/cli/commit/db16bbee961ceb93b7831fe1ec44a72d56a33e38
+
+From 3524ccf0baa9f2b3029368ab07ba5f64e62dcb1f Mon Sep 17 00:00:00 2001
+From: Jakub Roztocil <jakub@roztocil.co>
+Date: Mon, 4 Mar 2024 16:27:52 +0100
+Subject: [PATCH] Drop dependency on the abandoned python-lazy-fixture
+
+--- a/setup.py
++++ b/setup.py
+@@ -11,7 +11,6 @@
+ tests_require = [
+     'pytest',
+     'pytest-httpbin>=0.0.6',
+-    'pytest-lazy-fixture>=0.0.6',
+     'responses',
+     'pytest-mock',
+     'werkzeug<2.1.0'
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -3,14 +3,14 @@
+ import pytest
+ from pytest_httpbin import certs
+ 
+-from .utils import ( # noqa
++from .utils import (  # noqa
+     HTTPBIN_WITH_CHUNKED_SUPPORT_DOMAIN,
+     HTTPBIN_WITH_CHUNKED_SUPPORT,
+     REMOTE_HTTPBIN_DOMAIN,
+     IS_PYOPENSSL,
+     mock_env
+ )
+-from .utils.plugins_cli import ( # noqa
++from .utils.plugins_cli import (  # noqa
+     broken_plugin,
+     dummy_plugin,
+     dummy_plugins,
+@@ -18,7 +18,9 @@
+     httpie_plugins_success,
+     interface,
+ )
+-from .utils.http_server import http_server, localhost_http_server # noqa
++from .utils.http_server import http_server, localhost_http_server  # noqa
++# noinspection PyUnresolvedReferences
++from .fixtures import pytest_lazy_fixture
+ 
+ 
+ @pytest.fixture(scope='function', autouse=True)
+--- /dev/null
++++ b/tests/fixtures/pytest_lazy_fixture.py
+@@ -0,0 +1,99 @@
++"""
++Replacement for the abandoned `pytest.lazy_fixture` <https://github.com/TvoroG/pytest-lazy-fixture>
++
++Based on <https://github.com/TvoroG/pytest-lazy-fixture/issues/65#issuecomment-1914581161>
++
++"""
++import dataclasses
++import typing
++
++import pytest
++
++
++@dataclasses.dataclass
++class LazyFixture:
++    """Lazy fixture dataclass."""
++
++    name: str
++
++
++def lazy_fixture(name: str) -> LazyFixture:
++    """Mark a fixture as lazy."""
++    return LazyFixture(name)
++
++
++# NOTE: Mimic the original API
++pytest.lazy_fixture = lazy_fixture
++
++
++def is_lazy_fixture(value: object) -> bool:
++    """Check whether a value is a lazy fixture."""
++    return isinstance(value, LazyFixture)
++
++
++def pytest_make_parametrize_id(
++    config: pytest.Config,
++    val: object,
++    argname: str,
++) -> str | None:
++    """Inject lazy fixture parametrized id.
++
++    Reference:
++    - https://bit.ly/48Off6r
++
++    Args:
++        config (pytest.Config): pytest configuration.
++        value (object): fixture value.
++        argname (str): automatic parameter name.
++
++    Returns:
++        str: new parameter id.
++    """
++    if is_lazy_fixture(val):
++        return typing.cast(LazyFixture, val).name
++    return None
++
++
++@pytest.hookimpl(tryfirst=True)
++def pytest_fixture_setup(
++    fixturedef: pytest.FixtureDef,
++    request: pytest.FixtureRequest,
++) -> object | None:
++    """Lazy fixture setup hook.
++
++    This hook will never take over a fixture setup but just simply will
++    try to resolve recursively any lazy fixture found in request.param.
++
++    Reference:
++    - https://bit.ly/3SyvsXJ
++
++    Args:
++        fixturedef (pytest.FixtureDef): fixture definition object.
++        request (pytest.FixtureRequest): fixture request object.
++
++    Returns:
++        object | None: fixture value or None otherwise.
++    """
++    if hasattr(request, "param") and request.param:
++        request.param = _resolve_lazy_fixture(request.param, request)
++    return None
++
++
++def _resolve_lazy_fixture(__val: object, request: pytest.FixtureRequest) -> object:
++    """Lazy fixture resolver.
++
++    Args:
++        __val (object): fixture value object.
++        request (pytest.FixtureRequest): pytest fixture request object.
++
++    Returns:
++        object: resolved fixture value.
++    """
++    if isinstance(__val, list | tuple):
++        return tuple(_resolve_lazy_fixture(v, request) for v in __val)
++    if isinstance(__val, typing.Mapping):
++        return {k: _resolve_lazy_fixture(v, request) for k, v in __val.items()}
++    if not is_lazy_fixture(__val):
++        return __val
++    lazy_obj = typing.cast(LazyFixture, __val)
++    return request.getfixturevalue(lazy_obj.name)
+
+From db16bbee961ceb93b7831fe1ec44a72d56a33e38 Mon Sep 17 00:00:00 2001
+From: Jakub Roztocil <jakub@roztocil.co>
+Date: Mon, 4 Mar 2024 18:05:26 +0100
+Subject: [PATCH] Drop dependency on the abandoned python-lazy-fixture II.
+
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -2,6 +2,7 @@
+ 
+ import pytest
+ from pytest_httpbin import certs
++from pytest_httpbin.serve import Server as PyTestHttpBinServer
+ 
+ from .utils import (  # noqa
+     HTTPBIN_WITH_CHUNKED_SUPPORT_DOMAIN,
+@@ -19,8 +20,10 @@
+     interface,
+ )
+ from .utils.http_server import http_server, localhost_http_server  # noqa
+-# noinspection PyUnresolvedReferences
+-from .fixtures import pytest_lazy_fixture
++
++
++# Patch to support `url = str(server)` in addition to `url = server + '/foo'`.
++PyTestHttpBinServer.__str__ = lambda self: self.url
+ 
+ 
+ @pytest.fixture(scope='function', autouse=True)
+@@ -72,8 +75,15 @@ def _remote_httpbin_available():
+ 
+ @pytest.fixture
+ def remote_httpbin(_remote_httpbin_available):
++
+     if _remote_httpbin_available:
+-        return 'http://' + REMOTE_HTTPBIN_DOMAIN
++        class Server(str):
++            """Look like `pytest_httpbin.serve.Server` but only provide URL info."""
++            @property
++            def url(self):
++                return self
++
++        return Server('http://' + REMOTE_HTTPBIN_DOMAIN)
+     pytest.skip(f'{REMOTE_HTTPBIN_DOMAIN} not resolvable')
+ 
+ 
+--- a/tests/fixtures/pytest_lazy_fixture.py
++++ /dev/null
+@@ -1,99 +0,0 @@
+-"""
+-Replacement for the abandoned `pytest.lazy_fixture` <https://github.com/TvoroG/pytest-lazy-fixture>
+-
+-Based on <https://github.com/TvoroG/pytest-lazy-fixture/issues/65#issuecomment-1914581161>
+-
+-"""
+-import dataclasses
+-import typing
+-
+-import pytest
+-
+-
+-@dataclasses.dataclass
+-class LazyFixture:
+-    """Lazy fixture dataclass."""
+-
+-    name: str
+-
+-
+-def lazy_fixture(name: str) -> LazyFixture:
+-    """Mark a fixture as lazy."""
+-    return LazyFixture(name)
+-
+-
+-# NOTE: Mimic the original API
+-pytest.lazy_fixture = lazy_fixture
+-
+-
+-def is_lazy_fixture(value: object) -> bool:
+-    """Check whether a value is a lazy fixture."""
+-    return isinstance(value, LazyFixture)
+-
+-
+-def pytest_make_parametrize_id(
+-    config: pytest.Config,
+-    val: object,
+-    argname: str,
+-) -> str | None:
+-    """Inject lazy fixture parametrized id.
+-
+-    Reference:
+-    - https://bit.ly/48Off6r
+-
+-    Args:
+-        config (pytest.Config): pytest configuration.
+-        value (object): fixture value.
+-        argname (str): automatic parameter name.
+-
+-    Returns:
+-        str: new parameter id.
+-    """
+-    if is_lazy_fixture(val):
+-        return typing.cast(LazyFixture, val).name
+-    return None
+-
+-
+-@pytest.hookimpl(tryfirst=True)
+-def pytest_fixture_setup(
+-    fixturedef: pytest.FixtureDef,
+-    request: pytest.FixtureRequest,
+-) -> object | None:
+-    """Lazy fixture setup hook.
+-
+-    This hook will never take over a fixture setup but just simply will
+-    try to resolve recursively any lazy fixture found in request.param.
+-
+-    Reference:
+-    - https://bit.ly/3SyvsXJ
+-
+-    Args:
+-        fixturedef (pytest.FixtureDef): fixture definition object.
+-        request (pytest.FixtureRequest): fixture request object.
+-
+-    Returns:
+-        object | None: fixture value or None otherwise.
+-    """
+-    if hasattr(request, "param") and request.param:
+-        request.param = _resolve_lazy_fixture(request.param, request)
+-    return None
+-
+-
+-def _resolve_lazy_fixture(__val: object, request: pytest.FixtureRequest) -> object:
+-    """Lazy fixture resolver.
+-
+-    Args:
+-        __val (object): fixture value object.
+-        request (pytest.FixtureRequest): pytest fixture request object.
+-
+-    Returns:
+-        object: resolved fixture value.
+-    """
+-    if isinstance(__val, list | tuple):
+-        return tuple(_resolve_lazy_fixture(v, request) for v in __val)
+-    if isinstance(__val, typing.Mapping):
+-        return {k: _resolve_lazy_fixture(v, request) for k, v in __val.items()}
+-    if not is_lazy_fixture(__val):
+-        return __val
+-    lazy_obj = typing.cast(LazyFixture, __val)
+-    return request.getfixturevalue(lazy_obj.name)
+--- a/tests/test_cookie_on_redirects.py
++++ b/tests/test_cookie_on_redirects.py
+@@ -2,54 +2,47 @@
+ from .utils import http
+ 
+ 
+-def _stringify(fixture):
+-    return fixture + ''
+-
+-
+-@pytest.mark.parametrize('instance', [
+-    pytest.lazy_fixture('httpbin'),
+-    pytest.lazy_fixture('remote_httpbin'),
++@pytest.mark.parametrize('target_httpbin', [
++    'httpbin',
++    'remote_httpbin',
+ ])
+-def test_explicit_user_set_cookie(httpbin, instance):
+-    # User set cookies ARE NOT persisted within redirects
+-    # when there is no session, even on the same domain.
+-
++def test_explicit_user_set_cookie(httpbin, target_httpbin, request):
++    """User set cookies ARE NOT persisted within redirects when there is no session, even on the same domain."""
++    target_httpbin = request.getfixturevalue(target_httpbin)
+     r = http(
+         '--follow',
+         httpbin + '/redirect-to',
+-        f'url=={_stringify(instance)}/cookies',
++        f'url=={target_httpbin.url}/cookies',
+         'Cookie:a=b'
+     )
+     assert r.json == {'cookies': {}}
+ 
+ 
+-@pytest.mark.parametrize('instance', [
+-    pytest.lazy_fixture('httpbin'),
+-    pytest.lazy_fixture('remote_httpbin'),
++@pytest.mark.parametrize('target_httpbin', [
++    'httpbin',
++    'remote_httpbin',
+ ])
+-def test_explicit_user_set_cookie_in_session(tmp_path, httpbin, instance):
+-    # User set cookies ARE persisted within redirects
+-    # when there is A session, even on the same domain.
+-
++def test_explicit_user_set_cookie_in_session(tmp_path, httpbin, target_httpbin, request):
++    """User set cookies ARE persisted within redirects when there is A session, even on the same domain."""
++    target_httpbin = request.getfixturevalue(target_httpbin)
+     r = http(
+         '--follow',
+         '--session',
+         str(tmp_path / 'session.json'),
+         httpbin + '/redirect-to',
+-        f'url=={_stringify(instance)}/cookies',
++        f'url=={target_httpbin}/cookies',
+         'Cookie:a=b'
+     )
+     assert r.json == {'cookies': {'a': 'b'}}
+ 
+ 
+-@pytest.mark.parametrize('instance', [
+-    pytest.lazy_fixture('httpbin'),
+-    pytest.lazy_fixture('remote_httpbin'),
++@pytest.mark.parametrize('target_httpbin', [
++    'httpbin',
++    'remote_httpbin',
+ ])
+-def test_saved_user_set_cookie_in_session(tmp_path, httpbin, instance):
+-    # User set cookies ARE persisted within redirects
+-    # when there is A session, even on the same domain.
+-
++def test_saved_user_set_cookie_in_session(tmp_path, httpbin, target_httpbin, request):
++    """User set cookies ARE persisted within redirects when there is A session, even on the same domain."""
++    target_httpbin = request.getfixturevalue(target_httpbin)
+     http(
+         '--follow',
+         '--session',
+@@ -62,32 +55,33 @@ def test_saved_user_set_cookie_in_session(tmp_path, httpbin, instance):
+         '--session',
+         str(tmp_path / 'session.json'),
+         httpbin + '/redirect-to',
+-        f'url=={_stringify(instance)}/cookies',
++        f'url=={target_httpbin}/cookies',
+     )
+     assert r.json == {'cookies': {'a': 'b'}}
+ 
+ 
+-@pytest.mark.parametrize('instance', [
+-    pytest.lazy_fixture('httpbin'),
+-    pytest.lazy_fixture('remote_httpbin'),
++@pytest.mark.parametrize('target_httpbin', [
++    'httpbin',
++    'remote_httpbin',
+ ])
+ @pytest.mark.parametrize('session', [True, False])
+-def test_explicit_user_set_headers(httpbin, tmp_path, instance, session):
+-    # User set headers ARE persisted within redirects
+-    # even on different domains domain with or without
+-    # an active session.
++def test_explicit_user_set_headers(httpbin, tmp_path, target_httpbin, session, request):
++    """
++    User set headers ARE persisted within redirects even on different domains domain with or without an active session.
++
++    """
++    target_httpbin = request.getfixturevalue(target_httpbin)
+     session_args = []
+     if session:
+         session_args.extend([
+             '--session',
+             str(tmp_path / 'session.json')
+         ])
+-
+     r = http(
+         '--follow',
+         *session_args,
+         httpbin + '/redirect-to',
+-        f'url=={_stringify(instance)}/get',
++        f'url=={target_httpbin}/get',
+         'X-Custom-Header:value'
+     )
+     assert 'X-Custom-Header' in r.json['headers']
+@@ -95,16 +89,13 @@ def test_explicit_user_set_headers(httpbin, tmp_path, instance, session):
+ 
+ @pytest.mark.parametrize('session', [True, False])
+ def test_server_set_cookie_on_redirect_same_domain(tmp_path, httpbin, session):
+-    # Server set cookies ARE persisted on the same domain
+-    # when they are forwarded.
+-
++    """Server set cookies ARE persisted on the same domain when they are forwarded."""
+     session_args = []
+     if session:
+         session_args.extend([
+             '--session',
+             str(tmp_path / 'session.json')
+         ])
+-
+     r = http(
+         '--follow',
+         *session_args,
+@@ -136,8 +127,7 @@ def test_server_set_cookie_on_redirect_different_domain(tmp_path, http_server, h
+ 
+ 
+ def test_saved_session_cookies_on_same_domain(tmp_path, httpbin):
+-    # Saved session cookies ARE persisted when making a new
+-    # request to the same domain.
++    """Saved session cookies ARE persisted when making a new request to the same domain."""
+     http(
+         '--session',
+         str(tmp_path / 'session.json'),
+@@ -152,8 +142,7 @@ def test_saved_session_cookies_on_same_domain(tmp_path, httpbin):
+ 
+ 
+ def test_saved_session_cookies_on_different_domain(tmp_path, httpbin, remote_httpbin):
+-    # Saved session cookies ARE persisted when making a new
+-    # request to a different domain.
++    """Saved session cookies ARE persisted when making a new request to a different domain."""
+     http(
+         '--session',
+         str(tmp_path / 'session.json'),
+@@ -167,45 +156,49 @@ def test_saved_session_cookies_on_different_domain(tmp_path, httpbin, remote_htt
+     assert r.json == {'cookies': {}}
+ 
+ 
+-@pytest.mark.parametrize('initial_domain, first_request_domain, second_request_domain, expect_cookies', [
++@pytest.mark.parametrize(['initial_domain', 'first_request_domain', 'second_request_domain', 'expect_cookies'], [
+     (
+         # Cookies are set by    Domain A
+         # Initial domain is     Domain A
+         # Redirected domain is  Domain A
+-        pytest.lazy_fixture('httpbin'),
+-        pytest.lazy_fixture('httpbin'),
+-        pytest.lazy_fixture('httpbin'),
++        'httpbin',
++        'httpbin',
++        'httpbin',
+         True,
+     ),
+     (
+         # Cookies are set by    Domain A
+         # Initial domain is     Domain B
+         # Redirected domain is  Domain B
+-        pytest.lazy_fixture('httpbin'),
+-        pytest.lazy_fixture('remote_httpbin'),
+-        pytest.lazy_fixture('remote_httpbin'),
++        'httpbin',
++        'remote_httpbin',
++        'remote_httpbin',
+         False,
+     ),
+     (
+         # Cookies are set by    Domain A
+         # Initial domain is     Domain A
+         # Redirected domain is  Domain B
+-        pytest.lazy_fixture('httpbin'),
+-        pytest.lazy_fixture('httpbin'),
+-        pytest.lazy_fixture('remote_httpbin'),
++        'httpbin',
++        'httpbin',
++        'remote_httpbin',
+         False,
+     ),
+     (
+         # Cookies are set by    Domain A
+         # Initial domain is     Domain B
+         # Redirected domain is  Domain A
+-        pytest.lazy_fixture('httpbin'),
+-        pytest.lazy_fixture('remote_httpbin'),
+-        pytest.lazy_fixture('httpbin'),
++        'httpbin',
++        'remote_httpbin',
++        'httpbin',
+         True,
+     ),
+ ])
+-def test_saved_session_cookies_on_redirect(tmp_path, initial_domain, first_request_domain, second_request_domain, expect_cookies):
++def test_saved_session_cookies_on_redirect(
++        tmp_path, initial_domain, first_request_domain, second_request_domain, expect_cookies, request):
++    initial_domain = request.getfixturevalue(initial_domain)
++    first_request_domain = request.getfixturevalue(first_request_domain)
++    second_request_domain = request.getfixturevalue(second_request_domain)
+     http(
+         '--session',
+         str(tmp_path / 'session.json'),
+@@ -216,7 +209,7 @@ def test_saved_session_cookies_on_redirect(tmp_path, initial_domain, first_reque
+         str(tmp_path / 'session.json'),
+         '--follow',
+         first_request_domain + '/redirect-to',
+-        f'url=={_stringify(second_request_domain)}/cookies'
++        f'url=={second_request_domain}/cookies'
+     )
+     if expect_cookies:
+         expected_data = {'cookies': {'a': 'b'}}
+--- a/tests/test_sessions.py
++++ b/tests/test_sessions.py
+@@ -821,16 +821,17 @@ def test_session_multiple_headers_with_same_name(basic_session, httpbin):
+     'server, expected_cookies',
+     [
+         (
+-            pytest.lazy_fixture('localhost_http_server'),
++            'localhost_http_server',
+             {'secure_cookie': 'foo', 'insecure_cookie': 'bar'}
+         ),
+         (
+-            pytest.lazy_fixture('remote_httpbin'),
++            'remote_httpbin',
+             {'insecure_cookie': 'bar'}
+         )
+     ]
+ )
+-def test_secure_cookies_on_localhost(mock_env, tmp_path, server, expected_cookies):
++def test_secure_cookies_on_localhost(mock_env, tmp_path, server, expected_cookies, request):
++    server = request.getfixturevalue(server)
+     session_path = tmp_path / 'session.json'
+     http(
+         '--session', str(session_path),
+--- a/tests/test_update_warnings.py
++++ b/tests/test_update_warnings.py
+@@ -132,10 +132,10 @@ def test_check_updates_first_invocation(
+ 
+ 
+ @pytest.mark.parametrize(
+-    'should_issue_warning, build_channel',
++    ['should_issue_warning', 'build_channel'],
+     [
+-        (False, pytest.lazy_fixture('lower_build_channel')),
+-        (True, pytest.lazy_fixture('higher_build_channel')),
++        (False, 'lower_build_channel'),
++        (True, 'higher_build_channel'),
+     ],
+ )
+ def test_check_updates_first_time_after_data_fetch(
+@@ -145,7 +145,9 @@ def test_check_updates_first_time_after_data_fetch(
+     static_fetch_data,
+     should_issue_warning,
+     build_channel,
++    request,
+ ):
++    request.getfixturevalue(build_channel)
+     http('fetch_updates', '--daemon', env=with_warnings)
+     r = http(httpbin + '/get', env=with_warnings)
+ 
+@@ -176,14 +178,15 @@ def test_cli_check_updates(
+ 
+ 
+ @pytest.mark.parametrize(
+-    "build_channel", [
+-        pytest.lazy_fixture("lower_build_channel"),
+-        pytest.lazy_fixture("unknown_build_channel")
++    'build_channel', [
++        'lower_build_channel',
++        'unknown_build_channel',
+     ]
+ )
+ def test_cli_check_updates_not_shown(
+-    static_fetch_data, build_channel
++    static_fetch_data, build_channel, request
+ ):
++    request.getfixturevalue(build_channel)
+     r = httpie('cli', 'check-updates')
+     assert r.exit_status == ExitStatus.SUCCESS
+     assert not check_update_warnings(r)

diff --git a/net-misc/httpie/httpie-3.2.2.ebuild b/net-misc/httpie/httpie-3.2.2.ebuild
new file mode 100644
index 000000000000..d6672c06715a
--- /dev/null
+++ b/net-misc/httpie/httpie-3.2.2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ssl(+)"
+DISTUTILS_USE_PEP517=setuptools
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Modern command line HTTP client"
+HOMEPAGE="https://httpie.io/ https://pypi.org/project/httpie/"
+SRC_URI="https://github.com/httpie/cli/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/cli-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+	dev-python/charset-normalizer[${PYTHON_USEDEP}]
+	dev-python/defusedxml[${PYTHON_USEDEP}]
+	dev-python/pygments[${PYTHON_USEDEP}]
+	dev-python/multidict[${PYTHON_USEDEP}]
+	dev-python/rich[${PYTHON_USEDEP}]
+	>=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+	>=dev-python/requests-toolbelt-0.9.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+	test? (
+		${RDEPEND}
+		dev-python/pyopenssl[${PYTHON_USEDEP}]
+		dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+		dev-python/pytest-mock[${PYTHON_USEDEP}]
+		dev-python/responses[${PYTHON_USEDEP}]
+	)
+"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-3.2.1-pytest-fixtures.patch"
+)
+
+EPYTEST_DESELECT=(
+	# https://github.com/httpie/cli/issues/1530
+	tests/test_compress.py::test_compress_form
+	tests/test_binary.py::TestBinaryResponseData
+
+	# Needs network
+	'tests/test_cookie_on_redirects.py::test_explicit_user_set_cookie_in_session[remote_httpbin]'
+	'tests/test_cookie_on_redirects.py::test_explicit_user_set_cookie[remote_httpbin]'
+	'tests/test_cookie_on_redirects.py::test_explicit_user_set_headers[False-remote_httpbin]'
+	'tests/test_cookie_on_redirects.py::test_explicit_user_set_headers[True-remote_httpbin]'
+	tests/test_cookie_on_redirects.py::test_saved_session_cookie_pool
+	tests/test_cookie_on_redirects.py::test_saved_session_cookies_on_different_domain
+	'tests/test_cookie_on_redirects.py::test_saved_session_cookies_on_redirect[httpbin-httpbin-remote_httpbin-False]'
+	'tests/test_cookie_on_redirects.py::test_saved_session_cookies_on_redirect[httpbin-remote_httpbin-httpbin-True]'
+	'tests/test_cookie_on_redirects.py::test_saved_session_cookies_on_redirect[httpbin-remote_httpbin-remote_httpbin-False]'
+	'tests/test_cookie_on_redirects.py::test_saved_user_set_cookie_in_session[remote_httpbin]'
+	'tests/test_sessions.py::test_secure_cookies_on_localhost[remote_httpbin-expected_cookies1]'
+	tests/test_tokens.py::test_verbose_chunked
+	tests/test_uploads.py::test_chunked_form
+	tests/test_uploads.py::test_chunked_json
+	tests/test_uploads.py::test_chunked_raw
+	tests/test_uploads.py::test_chunked_stdin
+	tests/test_uploads.py::test_chunked_stdin_multiple_chunks
+	tests/test_uploads.py::TestMultipartFormDataFileUpload::test_multipart_chunked
+	tests/test_uploads.py::TestRequestBodyFromFilePath::test_request_body_from_file_by_path_chunked
+)
+
+EPYTEST_IGNORE=(
+	# Assumes installation in a clean venv
+	tests/test_plugins_cli.py
+)
+
+distutils_enable_tests pytest
+
+python_install_all() {
+	newbashcomp extras/httpie-completion.bash http
+	insinto /usr/share/fish/vendor_completions.d
+	newins extras/httpie-completion.fish http.fish
+	distutils-r1_python_install_all
+}


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-05-09 12:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-09 12:12 [gentoo-commits] repo/gentoo:master commit in: net-misc/httpie/files/, net-misc/httpie/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2020-08-03 15:30 Sam James
2019-10-13 16:55 Joonas Niilola
2019-06-29 14:55 Thomas Deutschmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox