From fbe232b4f1d59c92b7bda2a821b5cbcda5d7c7e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trung=20L=C3=AA?= <8@tle.id.au> Date: Wed, 10 Jul 2024 19:45:25 +1000 Subject: [PATCH] add: python3-pillow-heif (#1464) --- anda/langs/python/pillow-heif/anda.hcl | 5 + .../pillow-heif/python3-pillow-heif.spec | 115 ++++++++++++++++++ anda/langs/python/pillow-heif/test.py | 2 + anda/langs/python/pillow-heif/update.rhai | 1 + 4 files changed, 123 insertions(+) create mode 100644 anda/langs/python/pillow-heif/anda.hcl create mode 100644 anda/langs/python/pillow-heif/python3-pillow-heif.spec create mode 100644 anda/langs/python/pillow-heif/test.py create mode 100644 anda/langs/python/pillow-heif/update.rhai diff --git a/anda/langs/python/pillow-heif/anda.hcl b/anda/langs/python/pillow-heif/anda.hcl new file mode 100644 index 0000000000..257479e388 --- /dev/null +++ b/anda/langs/python/pillow-heif/anda.hcl @@ -0,0 +1,5 @@ +project pkg { + rpm { + spec = "python3-pillow-heif.spec" + } +} diff --git a/anda/langs/python/pillow-heif/python3-pillow-heif.spec b/anda/langs/python/pillow-heif/python3-pillow-heif.spec new file mode 100644 index 0000000000..2390b8a1b4 --- /dev/null +++ b/anda/langs/python/pillow-heif/python3-pillow-heif.spec @@ -0,0 +1,115 @@ +%global py3_incdir %(RPM_BUILD_ROOT= %{python3} -Ic 'import sysconfig; print(sysconfig.get_path("include"))') + +%global srcname pillow-heif + +# Dependencies are missing to build the documentation +%bcond_with doc + +Name: python-%{srcname} +Version: 0.17.0 +Release: 0%{?dist} +Summary: Python library for working with HEIF images and plugin for Pillow + +License: BSD-3-Clause +URL: https://github.com/bigcat88/pillow_heif +Source0: https://github.com/bigcat88/pillow_heif/archive/refs/tags/v%{version}/pillow-heif-%{version}.tar.gz +Source1: test.py + +BuildRequires: gcc +BuildRequires: python%{python3_pkgversion}-pytest +BuildRequires: python%{python3_pkgversion} +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-pillow-devel +BuildRequires: libheif-devel +%if %{with doc} +BuildRequires: make +BuildRequires: python%{python3_pkgversion}-sphinx +BuildRequires: python%{python3_pkgversion}-sphinx-copybutton +BuildRequires: python%{python3_pkgversion}-sphinx-issues +BuildRequires: python%{python3_pkgversion}-sphinx_rtd_theme +%endif + +%description +Python library for working with HEIF images and plugin for Pillow + +There are two subpackages: devel (development) and doc (documentation). + +%package -n python%{python3_pkgversion}-%{srcname} +Summary: Python library for working with HEIF images and plugin for Pillow +Requires: python%{python3_pkgversion}-pillow +Requires: libheif +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} + +%description -n python%{python3_pkgversion}-%{srcname} +Python library for working with HEIF images and plugin for Pillow + +There are two subpackages: devel (development) and doc (documentation). + +%package -n python%{python3_pkgversion}-%{srcname}-devel +Summary: Development files for %{srcname} +Requires: python%{python3_pkgversion}-devel, libheif-devel +Requires: python%{python3_pkgversion}-%{srcname}%{?_isa} = %{version}-%{release} +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}-devel} + +%description -n python%{python3_pkgversion}-%{srcname}-devel +Development files for %{srcname}. + + +%package -n python%{python3_pkgversion}-%{srcname}-doc +Summary: Documentation for %{srcname} +BuildArch: noarch +Requires: python%{python3_pkgversion}-%{srcname} = %{version}-%{release} +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}-doc} + +%description -n python%{python3_pkgversion}-%{srcname}-doc +Documentation for %{srcname}. + + +%prep +%autosetup -p1 -n pillow_heif-%{version} + + +%build +# Native build +%py3_build + +# Doc build +%if %{with doc} +PYTHONPATH=$(echo $PWD/build/lib.linux-*) make -C docs html BUILDDIR=_build_py3 SPHINXBUILD=sphinx-build-%python3_version +rm -f docs/_build_py3/html/.buildinfo +%endif + + +%install +# Native build +%py3_install + +%check +# Check Python 3 modules +cp %{SOURCE1} $(echo $PWD/build/lib.linux-*)/ +pushd build/lib.linux-* +PYTHONPATH=$PWD %{__python3} test.py +pytest pillow_heif && echo "Test done" +popd + +%files -n python%{python3_pkgversion}-%{srcname} +%doc README.md CHANGELOG.md +%license LICENSE.txt +%{python3_sitearch}/pillow_heif/ +%{python3_sitearch}/pillow_heif-%{version}-py%{python3_version}.egg-info/ +%{python3_sitearch}/_pillow_heif.*.so + +%files -n python%{python3_pkgversion}-%{srcname}-devel + +%if %{with doc} +%files -n python%{python3_pkgversion}-%{srcname}-doc +%doc docs/_build_py3/html +%endif + +%changelog +* Wed Jul 10 2024 Trung Lê <8@tle.id.au> - 0.17.0-0 +- New upstream release + +* Thu Jun 27 2024 Trung Lê <8@tle.id.au> - 0.16.0-1 +- Initial RPM package diff --git a/anda/langs/python/pillow-heif/test.py b/anda/langs/python/pillow-heif/test.py new file mode 100644 index 0000000000..099f11044d --- /dev/null +++ b/anda/langs/python/pillow-heif/test.py @@ -0,0 +1,2 @@ +import pillow_heif; +print(pillow_heif.libheif_info()); diff --git a/anda/langs/python/pillow-heif/update.rhai b/anda/langs/python/pillow-heif/update.rhai new file mode 100644 index 0000000000..6db9721b57 --- /dev/null +++ b/anda/langs/python/pillow-heif/update.rhai @@ -0,0 +1 @@ +rpm.version(pypi("pillow-heif"));