##
##  python-net.spec -- OpenPKG RPM Package Specification
##  Copyright (c) 2000-2025 OpenPKG Project <http://openpkg.org/>
##
##  Permission to use, copy, modify, and distribute this software for
##  any purpose with or without fee is hereby granted, provided that
##  the above copyright notice and this permission notice appear in all
##  copies.
##
##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
##  SUCH DAMAGE.
##

#   package versions
%define       V_python        3.14
%define       V_py3dns        4.0.2
%define       V_dnspython     2.8.0
%define       V_twisted_major 22.8
%define       V_twisted_minor 0
%define       V_celery        5.5.3
%define       V_carrot        0.10.7
%define       V_ghettoq       0.4.5
%define       V_ipy           1.01
%define       V_netaddr       1.3.0
%define       V_autobahn      25.9.1
%define       V_ipaddress     1.0.23
%define       V_idna          3.11
%define       V_wsaccel       0.6.7
%define       V_treq          25.5.0
%define       V_txaio         25.9.2
%define       V_txtorcon      24.8.0
%define       V_paramiko      4.0.0
%define       V_priority      1.3.0
%define       V_hpack         4.1.0
%define       V_hyperframe    6.1.0
%define       V_h2            4.3.0
%define       V_hyperlink     21.0.0
%define       V_urllib3       2.5.0

#   package information
Name:         python-net
Summary:      Python Modules for Networking
URL:          http://www.python.org/
Vendor:       Python Community
Packager:     OpenPKG Project
Distribution: OpenPKG Community
Class:        BASE
Group:        Language
License:      GPL
Version:      %{V_python}
Release:      20251016

#   list of sources
Source0:      https://files.pythonhosted.org/packages/source/p/py3dns/py3dns-%{V_py3dns}.tar.gz
Source1:      https://files.pythonhosted.org/packages/source/d/dnspython/dnspython-%{V_dnspython}.tar.gz
Source2:      https://files.pythonhosted.org/packages/source/T/Twisted/Twisted-%{V_twisted_major}.%{V_twisted_minor}.tar.gz
Source3:      https://files.pythonhosted.org/packages/source/c/celery/celery-%{V_celery}.tar.gz
Source4:      https://files.pythonhosted.org/packages/source/c/carrot/carrot-%{V_carrot}.tar.gz
Source5:      https://files.pythonhosted.org/packages/source/g/ghettoq/ghettoq-%{V_ghettoq}.tar.gz
Source6:      https://files.pythonhosted.org/packages/source/I/IPy/IPy-%{V_ipy}.tar.gz
Source7:      https://files.pythonhosted.org/packages/source/n/netaddr/netaddr-%{V_netaddr}.tar.gz
Source8:      https://files.pythonhosted.org/packages/source/a/autobahn/autobahn-%{V_autobahn}.tar.gz
Source9:      https://files.pythonhosted.org/packages/source/i/ipaddress/ipaddress-%{V_ipaddress}.tar.gz
Source10:     https://files.pythonhosted.org/packages/source/i/idna/idna-%{V_idna}.tar.gz
Source11:     https://files.pythonhosted.org/packages/source/w/wsaccel/wsaccel-%{V_wsaccel}.tar.gz
Source12:     https://files.pythonhosted.org/packages/source/t/treq/treq-%{V_treq}.tar.gz
Source13:     https://files.pythonhosted.org/packages/source/t/txaio/txaio-%{V_txaio}.tar.gz
Source14:     https://files.pythonhosted.org/packages/source/t/txtorcon/txtorcon-%{V_txtorcon}.tar.gz
Source15:     https://files.pythonhosted.org/packages/source/p/paramiko/paramiko-%{V_paramiko}.tar.gz
Source16:     https://files.pythonhosted.org/packages/source/p/priority/priority-%{V_priority}.tar.gz
Source17:     https://files.pythonhosted.org/packages/source/h/hpack/hpack-%{V_hpack}.tar.gz
Source18:     https://files.pythonhosted.org/packages/source/h/hyperframe/hyperframe-%{V_hyperframe}.tar.gz
Source19:     https://files.pythonhosted.org/packages/source/h/h2/h2-%{V_h2}.tar.gz
Source20:     https://files.pythonhosted.org/packages/source/h/hyperlink/hyperlink-%{V_hyperlink}.tar.gz
Source21:     https://files.pythonhosted.org/packages/source/u/urllib3/urllib3-%{V_urllib3}.tar.gz

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, python >= %{V_python}
PreReq:       OpenPKG, openpkg >= 20160101, python >= %{V_python}
BuildPreReq:  python-setup, python-util, python-www
PreReq:       python-setup, python-util, python-www

%description
    This is a set of Python extension modules for networking.

%track
    prog python-net:py3dns = {
        version   = %{V_py3dns}
        url       = https://pypi.python.org/pypi/py3dns/
        regex     = py3dns-(__VER__)\.tar\.gz
    }
    prog python-net:dnspython = {
        version   = %{V_dnspython}
        url       = https://pypi.python.org/pypi/dnspython/
        regex     = dnspython-(__VER__)\.tar\.gz
    }
    prog python-net:twisted = {
        version   = %{V_twisted_major}.%{V_twisted_minor}
        url       = http://twistedmatrix.com/trac/
        regex     = Twisted-(__VER__)\.tar\.bz2
    }
    prog python-net:celery = {
        version   = %{V_celery}
        url       = http://pypi.python.org/pypi/celery/
        regex     = celery-(__VER__)\.tar\.gz
    }
    prog python-net:carrot = {
        version   = %{V_carrot}
        url       = http://pypi.python.org/pypi/carrot/
        regex     = carrot-(__VER__)\.tar\.gz
    }
    prog python-net:gettoq = {
        version   = %{V_ghettoq}
        url       = http://pypi.python.org/pypi/ghettoq
        regex     = ghettoq-(__VER__)\.tar\.gz
    }
    prog python-net:ipy = {
        version   = %{V_ipy}
        url       = http://pypi.python.org/pypi/IPy/
        regex     = IPy-(__VER__)\.tar\.gz
    }
    prog python-net:netaddr = {
        version   = %{V_netaddr}
        url       = https://pypi.python.org/pypi/netaddr
        regex     = netaddr-(__VER__)\.tar\.gz
    }
    prog python-net:autobahn = {
        version   = %{V_autobahn}
        url       = https://pypi.python.org/pypi/autobahn
        regex     = autobahn-(__VER__)\.tar\.gz
    }
    prog python-net:ipaddress = {
        version   = %{V_ipaddress}
        url       = https://pypi.python.org/pypi/ipaddress
        regex     = ipaddress-(__VER__)\.tar\.gz
    }
    prog python-net:idna = {
        version   = %{V_idna}
        url       = https://pypi.python.org/pypi/idna
        regex     = idna-(__VER__)\.tar\.gz
    }
    prog python-net:wsaccel = {
        version   = %{V_wsaccel}
        url       = https://pypi.python.org/pypi/wsaccel
        regex     = wsaccel-(__VER__)\.tar\.gz
    }
    prog python-net:treq = {
        version   = %{V_treq}
        url       = https://pypi.python.org/pypi/treq
        regex     = treq-(__VER__)\.tar\.gz
    }
    prog python-net:txaio = {
        version   = %{V_txaio}
        url       = https://pypi.python.org/pypi/txaio
        regex     = txaio-(__VER__)\.tar\.gz
    }
    prog python-net:txtorcon = {
        version   = %{V_txtorcon}
        url       = https://pypi.python.org/pypi/txtorcon
        regex     = txtorcon-(__VER__)\.tar\.gz
    }
    prog python-net:paramiko = {
        version   = %{V_paramiko}
        url       = https://pypi.python.org/pypi/paramiko
        regex     = paramiko-(__VER__)\.tar\.gz
    }
    prog python-net:hpack = {
        version   = %{V_hpack}
        url       = https://pypi.python.org/pypi/hpack
        regex     = hpack-(__VER__)\.tar\.gz
    }
    prog python-net:hyperframe = {
        version   = %{V_hyperframe}
        url       = https://pypi.python.org/pypi/hyperframe
        regex     = hyperframe-(__VER__)\.tar\.gz
    }
    prog python-net:h2 = {
        version   = %{V_h2}
        url       = https://pypi.python.org/pypi/h2
        regex     = h2-(__VER__)\.tar\.gz
    }
    prog python-net:hyperlink = {
        version   = %{V_hyperlink}
        url       = https://pypi.python.org/pypi/hyperlink
        regex     = hyperlink-(__VER__)\.tar\.gz
    }
    prog python-net:urllib3 = {
        version   = %{V_urllib3}
        url       = https://pypi.python.org/pypi/urllib3
        regex     = urllib3-(__VER__)\.tar\.gz
    }

%prep
    %setup -q -c
    %setup -q -T -D -a 1
    %setup -q -T -D -a 2
    %setup -q -T -D -a 3
    %setup -q -T -D -a 4
    %setup -q -T -D -a 5
    %setup -q -T -D -a 6
    %setup -q -T -D -a 7
    %setup -q -T -D -a 8
    %setup -q -T -D -a 9
    %setup -q -T -D -a 10
    %setup -q -T -D -a 11
    %setup -q -T -D -a 12
    %setup -q -T -D -a 13
    %setup -q -T -D -a 14
    %setup -q -T -D -a 15
    %setup -q -T -D -a 16
    %setup -q -T -D -a 17
    %setup -q -T -D -a 18
    %setup -q -T -D -a 19
    %setup -q -T -D -a 20
    %setup -q -T -D -a 21

%build

%install
    export PYTHONPATH=$RPM_BUILD_ROOT%{l_prefix}/lib/python%{V_python}/site-packages
    ( cd urllib3-%{V_urllib3}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd idna-%{V_idna}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd py3dns-%{V_py3dns}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd dnspython-%{V_dnspython}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd Twisted-%{V_twisted_major}.%{V_twisted_minor}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd celery-%{V_celery}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd carrot-%{V_carrot}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd ghettoq-%{V_ghettoq}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd IPy-%{V_ipy}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd netaddr-%{V_netaddr}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd autobahn-%{V_autobahn}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd ipaddress-%{V_ipaddress}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd wsaccel-%{V_wsaccel}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd treq-%{V_treq}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd txaio-%{V_txaio}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd txtorcon-%{V_txtorcon}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd paramiko-%{V_paramiko}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd priority-%{V_priority}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    ( cd hpack-%{V_hpack}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd hyperframe-%{V_hyperframe}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd h2-%{V_h2}
      HOME=`pwd` %{l_prefix}/bin/python \
          -m pip install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix} \
          --ignore-installed \
          --no-deps \
          .
    ) || exit $?
    ( cd hyperlink-%{V_hyperlink}
      %{l_prefix}/bin/python \
          setup.py install \
          --root=$RPM_BUILD_ROOT \
          --prefix=%{l_prefix}
    ) || exit $?
    rm -rf $RPM_BUILD_ROOT%{l_prefix}/carrot
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}

%files -f files

%clean

