• [gentoo-dev] [PATCH 1/4] pypi.eclass: Support --unpack in pypi_wheel_ur

    From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Sun Feb 5 19:50:02 2023
    Add a handy `--unpack` option to pypi_wheel_url, that automatically
    renames the downloaded distfile to have .zip suffix. This is used
    e.g. in dev-python/installer and dev-python/tomli to have
    default_src_unpack unpack the wheels automatically.

    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/pypi.eclass | 26 +++++++++++++++++++-------
    1 file changed, 19 insertions(+), 7 deletions(-)

    diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
    index e11999fc7e9c..ea57b2345502 100644
    --- a/eclass/pypi.eclass
    +++ b/eclass/pypi.eclass
    @@ -89,10 +89,16 @@ pypi_wheel_name() {
    }

    # @FUNCTION: pypi_wheel_url
    -# @USAGE: [<project> [<version> [<python-tag> [<abi-platform-tag>]]]]
    +# @USAGE: [--unpack] [<project> [<version> [<python-tag> [<abi-platform-tag>]]]]
    # @DESCRIPTION:
    # Output the URL to PyPI wheel for specified project/version tuple.
    #
    +# The `--unpack` option causes a SRC_URI with an arrow operator to
    +# be generated, that adds a .zip suffix to the fetched distfile,
    +# so that it is unpacked in default src_unpack(). Note that
    +# the wheel contents will be unpacked straight into ${WORKDIR}.
    +# You need to add a BDEPEND on app-arch/unzip.
    +#
    # If <package> is unspecified, it defaults to ${PN}.
    #
    # If <version> is unspecified, it defaults to ${PV}.
    @@ -103,21
  • From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Sun Feb 5 19:50:02 2023
    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    dev-python/tomli/tomli-2.0.1-r1.ebuild | 5 ++---
    1 file changed, 2 insertions(+), 3 deletions(-)

    diff --git a/dev-python/tomli/tomli-2.0.1-r1.ebuild b/dev-python/tomli/tomli-2.0.1-r1.ebuild
    index 8a65a1c1633a..0dca726d29eb 100644
    --- a/dev-python/tomli/tomli-2.0.1-r1.ebuild
    +++ b/dev-python/tomli/tomli-2.0.1-r1.ebuild
    @@ -7,7 +7,7 @@ EAPI=7
    DISTUTILS_USE_PEP517=no
    PYTHON_COMPAT=( python3_{9..11} pypy3 )

    -inherit distutils-r1
    +inherit distutils-r1 pypi

    DESCRIPTION="A lil' TOML parser"
    HOMEPAGE="
    @@ -17,8 +17,7 @@ HOMEPAGE="
    SRC_URI="
    https://github.com/hukkin/tomli/archive/${PV}.tar.gz
    -> ${P}.gh.tar.gz
    - https://files.pythonhosted.org/packages/py3/${PN::1}/${PN}/${P}-py3-none-any.whl
    - -> ${P}-py3-none-any.whl.zip
    + $(pypi_wheel_url --unpack)
    "

    LICENSE="MIT"
    --
    2.39.1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?@21:1/5 to All on Sun Feb 5 19:50:02 2023
    Signed-off-by: Michał Górny <mgorny@gentoo.org>
    ---
    eclass/pypi.eclass | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/eclass/pypi.eclass b/eclass/pypi.eclass
    index ea57b2345502..e9d3eec1268b 100644
    --- a/eclass/pypi.eclass
    +++ b/eclass/pypi.eclass
    @@ -6,7 +6,7 @@
    # Michał Górny <mgorny@gentoo.org>
    # @AUTHOR:
    # Michał Górny <mgorny@gentoo.org>
    -# @SUPPORTED_EAPIS: 8
    +# @SUPPORTED_EAPIS: 7 8
    # @BLURB: A helper eclass to generate PyPI source URIs
    # @DESCRIPTION:
    # The pypi.eclass can be used to easily obtain URLs for artifacts
    @@ -27,7 +27,7 @@
    # @CODE@

    case ${EAPI} in
    - 8) ;;
    + 7|8) ;;
    *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
    esac

    --
    2.39.1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)