diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-10 09:43:59 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-10 09:43:59 +0000 |
| commit | e8239f1cd380767aa24f6f5fd23773ba6f263491 (patch) | |
| tree | c1b6b1db9fd3289c812f2904533410987adf4b91 /python-jxlpy.spec | |
| parent | e7c1bdaf3eb12ed4a2d97d75e7c93135fa4e0f0a (diff) | |
automatic import of python-jxlpy
Diffstat (limited to 'python-jxlpy.spec')
| -rw-r--r-- | python-jxlpy.spec | 327 |
1 files changed, 327 insertions, 0 deletions
diff --git a/python-jxlpy.spec b/python-jxlpy.spec new file mode 100644 index 0000000..9c14b01 --- /dev/null +++ b/python-jxlpy.spec @@ -0,0 +1,327 @@ +%global _empty_manifest_terminate_build 0 +Name: python-jxlpy +Version: 0.9.2 +Release: 1 +Summary: JPEG XL integration in Python +License: MIT License +URL: http://github.com/olokelo/jxlpy +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c2/68/d0bba2b7987ab78c4f64021735abc4e45f0444287451d12a4820ca28a426/jxlpy-0.9.2.tar.gz +BuildArch: noarch + + +%description +# JXLPy + +This module introduces reading and writing support for JPEG XL directly from Python 3. + +JXLPy is based on JPEG XL implementation in [imagecodecs](https://github.com/cgohlke/imagecodecs) but doesn't it require Numpy and any external dependencies besides Cython and [libjxl](https://github.com/libjxl/libjxl). + +It also provides support for Pillow via plugin. + +**This project is still in alpha stages and needs testing. It may contain bugs!** + +## Install via PIP + +```shell +$ pip install jxlpy +``` + +## Build it yourself + +* Make sure you are using Python 3.x and pip for that version + +* Build and install libjxl according to instructions [here](https://github.com/libjxl/libjxl#building) + +* Install patchelf and auditwheel + + ```shell + $ sudo apt-get install patchelf + $ pip install auditwheel + ``` + +* For Pillow plugin, make sure that Pillow is installed *(optional)* + + ```shell + $ pip install ---upgrade pillow + ``` + +* Clone this repository + + ```shell + $ git clone https://github.com/olokelo/jxlpy + $ cd jxlpy + ``` + +* Build wheels + + ```shell + $ pip wheel . + ``` + +* Use auditwheel to put necessary libraries into your wheel + + ```shell + $ export LD_LIBRARY_PATH=/usr/local/lib + $ python -m auditwheel repair --plat linux_x86_64 jxlpy-*.whl + ``` +* Install newly created wheel + + ```shell + $ cd wheelhouse + $ pip install jxlpy-*.whl + ``` + +* Now you should be good to go :) + + You can run examples to check if everything works correctly + +*Installation steps were tested on Ubuntu 20.04* + +## Support status + +| Feature | Status | Importance | Notes | +| :---------------------------------------------------: | :-----------: | :--------: | :-----------------------------------: | +| Reading and writing non-animated 8 bit RGB/RGBA image | Done | - | - | +| Creating lossless images | Done | - | - | +| Reading animations | Done | - | - | +| Pillow plugin | Partial | High | Animation seeking? | +| Creating animations | Failed | Medium | - | +| Reading HDR images | Needs testing | Medium | - | +| Writing HDR images | Not started | Low | - | +| Reading and writing floating point images | Not started | Low | - | +| Support EXIF metadata | Failed | High | It seems like there's no API for that | +| Support for other colorspaces | Not started | Low | - | +| Support for lossless JPEG recompression | Not started | Medium | - | +| Support for progressive and responsive mode | Failed | Medium | Again... no high level API? | +| Installing on Windows | Needs testing | Low | - | + + + +%package -n python3-jxlpy +Summary: JPEG XL integration in Python +Provides: python-jxlpy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-jxlpy +# JXLPy + +This module introduces reading and writing support for JPEG XL directly from Python 3. + +JXLPy is based on JPEG XL implementation in [imagecodecs](https://github.com/cgohlke/imagecodecs) but doesn't it require Numpy and any external dependencies besides Cython and [libjxl](https://github.com/libjxl/libjxl). + +It also provides support for Pillow via plugin. + +**This project is still in alpha stages and needs testing. It may contain bugs!** + +## Install via PIP + +```shell +$ pip install jxlpy +``` + +## Build it yourself + +* Make sure you are using Python 3.x and pip for that version + +* Build and install libjxl according to instructions [here](https://github.com/libjxl/libjxl#building) + +* Install patchelf and auditwheel + + ```shell + $ sudo apt-get install patchelf + $ pip install auditwheel + ``` + +* For Pillow plugin, make sure that Pillow is installed *(optional)* + + ```shell + $ pip install ---upgrade pillow + ``` + +* Clone this repository + + ```shell + $ git clone https://github.com/olokelo/jxlpy + $ cd jxlpy + ``` + +* Build wheels + + ```shell + $ pip wheel . + ``` + +* Use auditwheel to put necessary libraries into your wheel + + ```shell + $ export LD_LIBRARY_PATH=/usr/local/lib + $ python -m auditwheel repair --plat linux_x86_64 jxlpy-*.whl + ``` +* Install newly created wheel + + ```shell + $ cd wheelhouse + $ pip install jxlpy-*.whl + ``` + +* Now you should be good to go :) + + You can run examples to check if everything works correctly + +*Installation steps were tested on Ubuntu 20.04* + +## Support status + +| Feature | Status | Importance | Notes | +| :---------------------------------------------------: | :-----------: | :--------: | :-----------------------------------: | +| Reading and writing non-animated 8 bit RGB/RGBA image | Done | - | - | +| Creating lossless images | Done | - | - | +| Reading animations | Done | - | - | +| Pillow plugin | Partial | High | Animation seeking? | +| Creating animations | Failed | Medium | - | +| Reading HDR images | Needs testing | Medium | - | +| Writing HDR images | Not started | Low | - | +| Reading and writing floating point images | Not started | Low | - | +| Support EXIF metadata | Failed | High | It seems like there's no API for that | +| Support for other colorspaces | Not started | Low | - | +| Support for lossless JPEG recompression | Not started | Medium | - | +| Support for progressive and responsive mode | Failed | Medium | Again... no high level API? | +| Installing on Windows | Needs testing | Low | - | + + + +%package help +Summary: Development documents and examples for jxlpy +Provides: python3-jxlpy-doc +%description help +# JXLPy + +This module introduces reading and writing support for JPEG XL directly from Python 3. + +JXLPy is based on JPEG XL implementation in [imagecodecs](https://github.com/cgohlke/imagecodecs) but doesn't it require Numpy and any external dependencies besides Cython and [libjxl](https://github.com/libjxl/libjxl). + +It also provides support for Pillow via plugin. + +**This project is still in alpha stages and needs testing. It may contain bugs!** + +## Install via PIP + +```shell +$ pip install jxlpy +``` + +## Build it yourself + +* Make sure you are using Python 3.x and pip for that version + +* Build and install libjxl according to instructions [here](https://github.com/libjxl/libjxl#building) + +* Install patchelf and auditwheel + + ```shell + $ sudo apt-get install patchelf + $ pip install auditwheel + ``` + +* For Pillow plugin, make sure that Pillow is installed *(optional)* + + ```shell + $ pip install ---upgrade pillow + ``` + +* Clone this repository + + ```shell + $ git clone https://github.com/olokelo/jxlpy + $ cd jxlpy + ``` + +* Build wheels + + ```shell + $ pip wheel . + ``` + +* Use auditwheel to put necessary libraries into your wheel + + ```shell + $ export LD_LIBRARY_PATH=/usr/local/lib + $ python -m auditwheel repair --plat linux_x86_64 jxlpy-*.whl + ``` +* Install newly created wheel + + ```shell + $ cd wheelhouse + $ pip install jxlpy-*.whl + ``` + +* Now you should be good to go :) + + You can run examples to check if everything works correctly + +*Installation steps were tested on Ubuntu 20.04* + +## Support status + +| Feature | Status | Importance | Notes | +| :---------------------------------------------------: | :-----------: | :--------: | :-----------------------------------: | +| Reading and writing non-animated 8 bit RGB/RGBA image | Done | - | - | +| Creating lossless images | Done | - | - | +| Reading animations | Done | - | - | +| Pillow plugin | Partial | High | Animation seeking? | +| Creating animations | Failed | Medium | - | +| Reading HDR images | Needs testing | Medium | - | +| Writing HDR images | Not started | Low | - | +| Reading and writing floating point images | Not started | Low | - | +| Support EXIF metadata | Failed | High | It seems like there's no API for that | +| Support for other colorspaces | Not started | Low | - | +| Support for lossless JPEG recompression | Not started | Medium | - | +| Support for progressive and responsive mode | Failed | Medium | Again... no high level API? | +| Installing on Windows | Needs testing | Low | - | + + + +%prep +%autosetup -n jxlpy-0.9.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-jxlpy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.9.2-1 +- Package Spec generated |
