Blob Blame History Raw
%global forgeurl https://github.com/pydicom/pynetdicom

%global _description %{expand:
pynetdicom is a pure Python package that implements the DICOM
networking protocol. Working with pydicom, it allows the easy creation of 
DICOM Service Class Users (SCUs) and Service Class Providers (SCPs).}

Name:           python-pynetdicom
Version:        2.0.1

%forgemeta

Release:        4%{?dist}
Summary:        A Python implementation of the DICOM networking protocol

License:        MIT and (BSD or ASL 2.0)
URL:            %{forgeurl}
Source0:        %{forgesource}

# [MRG] Fix AttributeError tests for Python 3.11
# https://github.com/pydicom/pynetdicom/pull/754
#
# Fixes:
#
# Tests expecting an AttributeError fail on Python 3.11
# https://github.com/pydicom/pynetdicom/issues/753
#
# python-pynetdicom fails to build with Python 3.11: AssertionError: Regex
# pattern "can't set attribute" does not match "property 'as_scu' of
# 'PresentationContext' object has no setter"
# https://bugzilla.redhat.com/show_bug.cgi?id=2062104
Patch0:         %{forgeurl}/pull/754.patch
# [MRG] Make decoding error tests endian-independent
# https://github.com/pydicom/pynetdicom/pull/756
#
# Fixes:
#
# Certain decoding error tests fail on big-endian platforms
# https://github.com/pydicom/pynetdicom/issues/755
#
# Test failures on s390x: endianness bug
# https://bugzilla.redhat.com/show_bug.cgi?id=2064737
Patch1:         %{forgeurl}/pull/756.patch

BuildArch:      noarch

%{?python_enable_dependency_generator}

%description %_description

%package -n python3-pynetdicom
Summary:        %{summary}
BuildRequires:  python3-devel
BuildRequires:  python-unversioned-command
BuildRequires:  make
BuildRequires:  %{py3_dist setuptools} %{py3_dist pytest}
BuildRequires:  %{py3_dist sphinx} %{py3_dist sphinx-rtd-theme} %{py3_dist sphinx-issues}
BuildRequires:  %{py3_dist pydicom} >= 2
BuildRequires:  %{py3_dist sqlalchemy}
BuildRequires:  %{py3_dist pyfakefs}
BuildRequires:  %{py3_dist sphinx-copybutton}
%{?python_provide:%python_provide python3-pynetdicom}

%description -n python3-pynetdicom %_description

%package doc
Summary:        %{summary}

%description doc
Documentation for %{name}.

%prep
%forgeautosetup -p1

rm -rf %{modname}.egg-info
find . -type f -name "*.py" -exec sed -i '/^#![  ]*\/usr\/bin\/env.*$/ d' {} 2>/dev/null ';'
# Fix for sphinx 4.0
sed -i 's/add_stylesheet/add_css_file/' docs/conf.py

%build
%py3_build

export PYTHONPATH=../
make -C docs SPHINXBUILD=sphinx-build-3 html 
rm -rf docs/_build/html/{.doctrees,.buildinfo,.nojekyll} -vf

%install
%py3_install

#%check
# test_tls_yes_server_yes_client and test_tls_transfer are disabled. Upstream is investigating.
# https://github.com/pydicom/pynetdicom/issues/406 and https://github.com/pydicom/pynetdicom/issues/364
# PYTHONPATH=%{buildroot}/%{python3_sitelib} %{__python3} -m pytest -k "not test_tls_yes_server_yes_client and not test_tls_transfer"

# tests in the apps/ part not reliable, upstream advice to disable them
# https://github.com/pydicom/pynetdicom/issues/498
# tls tests are still failing intermittently
# PYTHONPATH=%{buildroot}/%{python3_sitelib} %{__python3} -m pytest --deselect=pynetdicom/apps/tests -vvv -k "not test_tls_yes_server_yes_client and not test_tls_transfer and not test_typical"
PYTHONPATH=%{buildroot}/%{python3_sitelib} %{__python3} -m pytest --deselect=pynetdicom/apps/tests -k "not test_tls_yes_server_yes_client and not test_tls_transfer and not test_typical and not test_scp_handler_dataset_path"

%files -n python3-pynetdicom
%license LICENCE.txt
%doc README.rst
%{python3_sitelib}/pynetdicom-%{version}-py%{python3_version}.egg-info
%{python3_sitelib}/pynetdicom

%files doc
%license LICENCE.txt
%doc docs/_build/html

%changelog
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 2.0.1-4
- Rebuilt for Python 3.11

* Wed Mar 16 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 2.0.1-3
- Python 3.11 patch (fix RHBZ#2062104)
- Endianness patch (fix RHBZ#2064737)

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Jan 04 2022 Alessio <alciregi AT fedoraproject DOT org> - 2.0.1-1
- Update to 2.0.1

* Mon Dec 27 2021 Alessio <alciregi AT fedoraproject DOT org> - 2.0.0-1
- Update to 2.0.0

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jul 06 2021 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 1.5.7-3
- Add fix for sphinx 4.0
- https://bugzilla.redhat.com/show_bug.cgi?id=1977627

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.5.7-2
- Rebuilt for Python 3.10

* Tue Apr 20 2021 Alessio <alciregi AT fedoraproject DOT org> - 1.5.7-1
- Update to 1.5.7

* Thu Jan 28 2021 Alessio <alciregi AT fedoraproject DOT org> - 1.5.6-1
- Update to 1.5.6

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Sun Jan 10 2021 Alessio <alciregi AT fedoraproject DOT org> - 1.5.5-1
- Update to 1.5.5

* Thu Dec 17 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.4-1
- Update to 1.5.4

* Mon Aug 24 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.3-2
- Re-enable test_fsm in pytest

* Mon Aug 24 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.3-1
- 1.5.3 release

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 06 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.2-1
- 1.5.2 release

* Wed Jun 24 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.1-1
- 1.5.1 release

* Fri Jun 05 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.0-2
- Fixed dependecy with pydicom

* Mon Jun 01 2020 Alessio <alciregi AT fedoraproject DOT org> - 1.5.0-1
- 1.5.0 release

* Tue May 26 2020 Miro HronĨok <mhroncok@redhat.com> - 1.4.1-3
- Rebuilt for Python 3.9

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Mon Sep 30 2019 Alessio <alciregi AT fedoraproject DOT org> - 1.4.1-1
- Initial package