68c0c59
# Needed for RHEL/CentOS 8
68c0c59
%undefine __cmake_in_source_build
68c0c59
68c0c59
# Set a common one for all architectures and not _target_platform, fixes aarch64
68c0c59
%global __cmake_builddir build
68c0c59
9f21864
%filter_provides_in %{python3_sitearch}/.*\.so$
9f21864
9f21864
Summary:    Library and tool to control NAT in UPnP-enabled routers
9f21864
Name:       miniupnpc
9f21864
Version:    2.2.3
68c0c59
Release:    2%{?dist}
9f21864
License:    BSD
9f21864
URL:        http://miniupnp.free.fr/
9f21864
9f21864
BuildRequires:  cmake >= 3.5.0
9f21864
BuildRequires:  gcc
9f21864
BuildRequires:  make
9f21864
BuildRequires:  python3-devel
9f21864
BuildRequires:  python3-setuptools
9f21864
9f21864
Source0:    http://miniupnp.free.fr/files/%{name}-%{version}.tar.gz
9f21864
# https://github.com/miniupnp/miniupnp/issues/574
9f21864
# https://github.com/miniupnp/miniupnp/commit/f82b0563a72e33800f5918ead68c41bcda1fd4c1
9f21864
Patch0:     %{name}-cmake.patch
9f21864
9f21864
%description
9f21864
miniupnpc is an implementation of a UPnP client library, enabling applications
9f21864
to access the services provided by an UPnP "Internet Gateway Device" present on
9f21864
the network. In UPnP terminology, it is a UPnP Control Point.
9f21864
9f21864
This package includes upnpc, a UPnP client application for configuring  port
9f21864
forwarding in UPnP enabled routers.
9f21864
9f21864
%package devel
9f21864
Summary:    Development files for %{name}
9f21864
Requires:   %{name}%{?_isa} = %{version}-%{release}
9f21864
9f21864
%description devel
9f21864
This package contains the header files and development documentation for
9f21864
%{name}.
9f21864
9f21864
%package -n python3-%{name}
9f21864
Summary:    Python3 interface to %{name}
9f21864
9f21864
9f21864
%description -n python3-%{name}
9f21864
This package contains python3 interfaces to %{name}.
9f21864
9f21864
%prep
9f21864
%autosetup -p1
9f21864
68c0c59
# Use already built shared object for Python module
68c0c59
# Unversioned link is not enough to avoid a rebuild
68c0c59
sed -i -e 's|build/libminiupnpc.a|build/libminiupnpc.so.%{version}|g' setup.py
68c0c59
68c0c59
%build
68c0c59
%cmake \
9f21864
    -DNO_GETADDRINFO=FALSE \
9f21864
    -DUPNPC_BUILD_SAMPLE=TRUE \
9f21864
    -DUPNPC_BUILD_SHARED=TRUE \
9f21864
    -DUPNPC_BUILD_STATIC=FALSE \
9f21864
    -DUPNPC_BUILD_TESTS=TRUE \
9f21864
    -DUPNPC_NO_INSTALL=FALSE
9f21864
68c0c59
%cmake_build
9f21864
%py3_build
9f21864
9f21864
%install
68c0c59
%cmake_install
9f21864
%py3_install
9f21864
9f21864
install -p -m 0644 -D man3/%{name}.3 %{buildroot}%{_mandir}/man3/%{name}.3
9f21864
9f21864
%check
9f21864
make CFLAGS="%{optflags} -DMINIUPNPC_SET_SOCKET_TIMEOUT" check
9f21864
9f21864
%files
9f21864
%license LICENSE
9f21864
%doc Changelog.txt README
9f21864
%{_libdir}/libminiupnpc.so.17
9f21864
%{_libdir}/libminiupnpc.so.%{version}
9f21864
9f21864
%files devel
9f21864
%{_includedir}/%{name}
9f21864
%{_libdir}/cmake/%{name}/libminiupnpc-shared-noconfig.cmake
9f21864
%{_libdir}/cmake/%{name}/libminiupnpc-shared.cmake
9f21864
%{_libdir}/cmake/%{name}/miniupnpc-config.cmake
9f21864
%{_libdir}/libminiupnpc.so
9f21864
%{_libdir}/pkgconfig/%{name}.pc
9f21864
%{_mandir}/man3/%{name}.3*
9f21864
9f21864
%files -n python3-%{name}
9f21864
%{python3_sitearch}/miniupnpc-%{version}-py3.*.egg-info/
9f21864
%{python3_sitearch}/miniupnpc*.so
9f21864
9f21864
%changelog
68c0c59
* Sat Jan 29 2022 Simone Caronni <negativo17@gmail.com> - 2.2.3-2
68c0c59
- Build fixes.
68c0c59
9f21864
* Fri Jan 28 2022 Simone Caronni <negativo17@gmail.com> - 2.2.3-1
d05a90d
- Update to 2.2.3.
9f21864
- Update SPEC file (license, tabs/spaces, trim changelog, etc.)
9f21864
- Switch to CMake build.
9f21864
- Drop static libraries.
9f21864
- Drop test client and obsolete documentation.
d05a90d
- Do not use static library when building Python module.
9f21864
9f21864
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.2-4
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
9f21864
9f21864
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.2-3
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
9f21864
9f21864
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.2.2-2
9f21864
- Rebuilt for Python 3.10
9f21864
9f21864
* Wed Mar 03 2021 pcpa <paulo.cesar.pereira.de.andrade@gmail.com> - 2.2.2-1
9f21864
- Update to version 2.2.2
9f21864
9f21864
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-2
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
9f21864
9f21864
* Fri Nov 13 2020 Kalev Lember <klember@redhat.com> - 2.2.0-1
9f21864
- Update to 2.2.0
9f21864
9f21864
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-7
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
9f21864
9f21864
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.1-6
9f21864
- Rebuilt for Python 3.9
9f21864
9f21864
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-5
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
9f21864
9f21864
* Fri Nov 15 2019 Miro Hrončok <mhroncok@redhat.com> - 2.1-4
9f21864
- Subpackage python2-miniupnpc has been removed
9f21864
  See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
9f21864
9f21864
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 2.1-3
9f21864
- Rebuilt for Python 3.8
9f21864
9f21864
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
9f21864
9f21864
* Wed Feb 06 2019 Kalev Lember <klember@redhat.com> - 2.1-1
9f21864
- Update to 2.1
9f21864
9f21864
* Wed Feb 06 2019 Kalev Lember <klember@redhat.com> - 2.0-13
9f21864
- Fix FTBFS (#1604853)
9f21864
9f21864
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-12
9f21864
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild