diff --git a/.gitignore b/.gitignore index d2fc191..ea31816 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,19 @@ veusz-1.8.tar.gz /veusz-2.2.2.tar.gz /veusz-3.0.tar.gz /veusz-3.0.1.tar.gz +/veusz-3.1.tar.gz +/veusz-3.2.tar.gz +/veusz-3.2.1.tar.gz +/veusz-3.3.tar.gz +/veusz-3.3.1.tar.gz +/veusz-3.4.tar.gz +/veusz-3.5.tar.gz +/veusz-3.5.2.tar.gz +/veusz-3.5.3.tar.gz +/veusz-3.6.tar.gz +/veusz-3.6.1.tar.gz +/veusz-3.6.2.tar.gz +/veusz-4.1.tar.gz +/veusz-4.2.tar.gz +/veusz-4.2.1.tar.gz +/remove-vectorfield-test.patch diff --git a/sources b/sources index 2d02ded..b89f9c1 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (veusz-3.0.1.tar.gz) = 99766c0fee70c12bba7b2ee8434224649763323aa9278d2116159f18257e1e1c5a491d591efb779c1bbb9dba1fb524ad8185fa2e91429ba1cc594fd632cb6238 +SHA512 (veusz-4.2.1.tar.gz) = 7433f5f7d17f0b45b2a2e3e9d85aa19dcbbdb583f75697ba0919592c99fa9cfd859f94996548b43f7ac3e9e479453041a790d4e3022bb8e699b0e421002e1d58 +SHA512 (remove-vectorfield-test.patch) = b1a05e8a50ead8ea52fec3bdcaffbf731a12ce56a66f7f7256f65ecd75126ccd27ee8f23241a6ffb6c67d62dd9eee034e1b548609448f81165be7ff2dcaf95a9 diff --git a/veusz.spec b/veusz.spec index 90d89bf..1e81907 100644 --- a/veusz.spec +++ b/veusz.spec @@ -1,35 +1,39 @@ Name: veusz -Version: 3.0.1 -Release: 2%{?dist} +Version: 4.2.1 +Release: 3%{?dist} Summary: GUI scientific plotting package -# The entire source code is GPLv2+ except helpers/src/_nc_cntr.c which is Python -License: GPLv2+ and Python +License: GPL-2.0-or-later AND (LGPL-2.1-only OR GPL-3.0-only) AND PSF-2.0 AND CC0-1.0 URL: https://veusz.github.io/ Source0: https://github.com/veusz/veusz/releases/download/veusz-%{version}/veusz-%{version}.tar.gz +Patch0: remove-vectorfield-test.patch + +# see RHBZ#2491178 +ExcludeArch: s390x BuildRequires: gcc gcc-c++ -BuildRequires: python3 python3-devel python3-setuptools +BuildRequires: python3-devel BuildRequires: python3-numpy -BuildRequires: qt5-qtbase-devel qt5-qtsvg-devel -BuildRequires: python3-qt5 python3-qt5-devel -BuildRequires: python3-sip python3-sip-devel sip-devel -BuildRequires: python3-h5py python3-astropy +BuildRequires: qt6-qtbase-devel qt6-qtsvg-devel +BuildRequires: python3-pyqt6 python3-pyqt6-devel +BuildRequires: python3dist(sip) +BuildRequires: python3-h5py BuildRequires: desktop-file-utils -%{?_python3_sip_api:Requires: sip-api(%{_python3_sip_api_major}) >= %{_python3_sip_api}} -Requires: python3-numpy python3-qt5 /usr/bin/env +Requires: python3dist(pyqt6-sip) >= 13, python3dist(pyqt6-sip) < 14 +Requires: python3-pyqt6 +Requires: python3-numpy +Requires: qt6-qtsvg +Recommends: python3-h5py python3-astropy ghostscript qt6-qtimageformats + Provides: python3-veusz # we don't want to provide private python extension libs # https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%{?filter_setup: -%filter_provides_in %{python3_sitearch}/veusz/helpers/.*\.so$ -%filter_setup -} +%global __provides_exclude_from ^%{python3_sitearch}/veusz/helpers/.*\\.so$ -# install docs in version specific for old releases -%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} +%generate_buildrequires +%pyproject_buildrequires %description Veusz is a 2D and 3D scientific plotting package, designed to create @@ -41,32 +45,24 @@ ternary plots, vector plots, contours, images, shapes and fitting data. 3D point, surface, volume and function plots are also supported. %prep -%setup -q -n veusz-%{version} -find -name \*~ | xargs rm -f +%autosetup -v -n veusz-%{version} -p1 # remove shebangs from scripts which aren't installed # (veusz allows these to be executed if app isn't installed properly) sed -i '/^#!/d' veusz/veusz_main.py sed -i '/^#!/d' veusz/veusz_listen.py +# delete hidden file in docs +rm -f Documents/manual/html/.buildinfo + %build -%py3_build +%pyproject_wheel %install rm -rf %{buildroot} -# veusz-resource-dir: put data files in location given -%{__python3} setup.py install --skip-build --root %{buildroot} \ - --veusz-resource-dir=%{buildroot}/%{_datadir}/veusz \ - --disable-install-examples - -# tell veusz where its resource directory is in _datadir -ln -s %{_datadir}/veusz \ - %{buildroot}%{python3_sitearch}/veusz/resources - -# tell it where to look for examples and COPYING -ln -s %{_pkgdocdir}/examples \ - %{buildroot}%{_datadir}/veusz +%pyproject_install +%pyproject_save_files veusz # install desktop file desktop-file-install \ @@ -78,22 +74,20 @@ mkdir -p %{buildroot}%{_datadir}/mime/packages/ install -p support/veusz.xml -m 0644 %{buildroot}%{_datadir}/mime/packages/ # appdata file -mkdir -p %{buildroot}%{_datadir}/appdata/ -install -p support/veusz.appdata.xml -m 0644 %{buildroot}%{_datadir}/appdata/ +install -D -p -m 0644 support/veusz.appdata.xml \ + %{buildroot}%{_metainfodir}/veusz.appdata.xml -# symlink main veusz icon into pixmaps (for desktop file) -mkdir %{buildroot}%{_datadir}/pixmaps -ln -s ../veusz/icons/veusz_48.png %{buildroot}%{_datadir}/pixmaps/veusz.png +# copy main icon into pixmaps (for desktop file) +install -D -p -m 0644 icons/veusz.png \ + %{buildroot}%{_datadir}/pixmaps/veusz.png -# also link in hicolor icons +# also copy in hicolor icons for size in 16 32 48 64 128; do - odir=%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps - mkdir -p $odir - ln -s %{_datadir}/veusz/icons/veusz_${size}.png ${odir}/veusz.png + install -D -p -m 0644 icons/veusz_${size}.png \ + %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/veusz.png done -odir=%{buildroot}%{_datadir}/icons/hicolor/scalable/apps -mkdir -p $odir -ln -s %{_datadir}/veusz/icons/veusz.svg $odir +install -D -p -m 0644 icons/veusz.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/veusz.svg # install man pages mkdir -p %{buildroot}%{_mandir}/man1 @@ -101,29 +95,193 @@ install -p Documents/man-page/veusz.1 -m 0644 \ %{buildroot}%{_mandir}/man1 %check -# as the data directory hasn't got the same absolute path we have -# to define VEUSZ_RESOURCE_DIR +# emf_export relies on pyemf3 which isn't packaged +%pyproject_check_import -e veusz.document.emf_export -e veusz.examples.* PYTHONPATH=%{buildroot}%{python3_sitearch} \ - VEUSZ_RESOURCE_DIR=%{buildroot}%{_datadir}/veusz \ QT_QPA_PLATFORM=minimal \ - %{__python3} tests/runselftest.py + %{python3} tests/runselftest.py %files -%doc README AUTHORS COPYING -%doc examples +%doc README.md AUTHORS COPYING %doc Documents/manual/html -%{_bindir}/* -%{_mandir}/man1/* -%{_datadir}/applications/* -%{_datadir}/mime/packages/* -%{_datadir}/appdata/* -%{_datadir}/pixmaps/* -%{_datadir}/icons/hicolor/*/apps/* -%{_datadir}/veusz -%{python3_sitearch}/veusz-*.egg-info +%{_bindir}/veusz +%{_mandir}/man1/veusz.1.gz +%{_datadir}/applications/veusz.desktop +%{_datadir}/mime/packages/veusz.xml +%{_metainfodir}/veusz.appdata.xml +%{_datadir}/pixmaps/veusz.png +%{_datadir}/icons/hicolor/*/apps/veusz.* +%{python3_sitearch}/veusz-%{version}.dist-info/ %{python3_sitearch}/veusz %changelog +* Wed Jul 22 2026 Python Maint - 4.2.1-3 +- Rebuilt for Python 3.15.0b4 ABI change + +* Fri Jul 17 2026 Fedora Release Engineering - 4.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sun Jun 21 2026 Jeremy Sanders - 4.2.1-1 +- Update to new Python packaging guidelines +- Update appdata location to _metainfodir +- Copy icons rather than symlink +- Remove line for versioned docdir +- Remove examples from documentation +- Cleanup dependencies and build dependencies +- Update to Veusz 4.2.1 + +* Thu Jun 04 2026 Python Maint - 4.2-4 +- Rebuilt for Python 3.15 + +* Sat Jan 17 2026 Fedora Release Engineering - 4.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Sun Oct 12 2025 Jeremy Sanders - 4.2-2 +- Remove python3-tomli build requirement + +* Sun Oct 12 2025 Jeremy Sanders - 4.2-1 +- Update to Veusz 4.2 + +* Fri Sep 19 2025 Python Maint - 4.1-4 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 4.1-3 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jun 15 2025 Jeremy Sanders - 4.1-1 +- Update to Veusz 4.1 +- Updates to Requires and Recommends + +* Tue Jun 03 2025 Python Maint - 3.6.2-9 +- Rebuilt for Python 3.14 + +* Sun Jan 19 2025 Fedora Release Engineering - 3.6.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Dec 24 2024 Jeremy Sanders - 3.6.2-7 +- Bump for Numpy 2 (RHBZ#2333963) + +* Sat Jul 20 2024 Fedora Release Engineering - 3.6.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jun 08 2024 Python Maint - 3.6.2-5 +- Rebuilt for Python 3.13 + +* Sat Jan 27 2024 Fedora Release Engineering - 3.6.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 3.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jul 12 2023 Python Maint - 3.6.2-2 +- Rebuilt for Python 3.12 + +* Sun Feb 26 2023 Jeremy Sanders - 3.6.2-1 +- Update to Veusz 3.6.2 (fixes resource issue) + +* Sun Feb 26 2023 Jeremy Sanders - 3.6.1-1 +- Update to Veusz 3.6.1 (fixes appdata issue) + +* Sat Feb 25 2023 Jeremy Sanders - 3.6-1 +- Update to Veusz 3.6 + +* Sat Jan 21 2023 Fedora Release Engineering - 3.5.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Jeremy Sanders - 3.5.3-2 +- Use explicit files, rather than glob all +- Update licence to new rules +- Update provide filtering to new method for internal libraries + +* Tue Nov 01 2022 Jeremy Sanders - 3.5.3-1 +- Update to Veusz 3.5.3 + +* Tue Nov 01 2022 Jeremy Sanders - 3.5-1 +- Update to Veusz 3.5 + +* Wed Aug 17 2022 Jeremy Sanders - 3.4-5 +- Patch to fix build system for new sip versions (RHBZ#2113753) + +* Sat Jul 23 2022 Fedora Release Engineering - 3.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jun 14 2022 Python Maint - 3.4-3 +- Rebuilt for Python 3.11 + +* Sat Jan 22 2022 Fedora Release Engineering - 3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Oct 17 2021 Jeremy Sanders - 3.4-1 +- Update to Veusz 3.4 +- Switch to sip 6 + +* Fri Jul 23 2021 Fedora Release Engineering - 3.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jul 10 2021 Scott Talbert - 3.3.1-6 +- Revert back to building with sip 4 due to no sip 6 support + +* Wed Jun 16 2021 Scott Talbert - 3.3.1-5 +- Update to build with sip 5 + +* Wed Jun 16 2021 Jeremy Sanders - 3.3.1-4 +- Drop astropy build requirement as python3-astropy not currently building + +* Fri Jun 04 2021 Python Maint - 3.3.1-3 +- Rebuilt for Python 3.10 + +* Wed Jan 27 2021 Fedora Release Engineering - 3.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Dec 06 2020 Jeremy Sanders - 3.3.1-1 +- Update to Veusz 3.3.1, dropping upstreamed patches + +* Sat Dec 05 2020 Jeremy Sanders - 3.3-2 +- Depend on namespaced sip module +- Drop sip requirement in setup.py (RHBZ#1904473) + +* Sun Nov 29 2020 Jeremy Sanders - 3.3-1 +- Update to Veusz 3.3 +- Fix Python 10 compatibility (RHBZ#1903072) + +* Wed Jul 29 2020 Fedora Release Engineering - 3.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 3.2.1-2 +- Rebuilt for Python 3.9 + +* Mon Mar 23 2020 Jeremy Sanders - 3.2.1-1 +- Update to Veusz 3.2.1 + +* Sun Mar 08 2020 Jeremy Sanders - 3.2-1 +- Update to Veusz 3.2 +- Fixes failure to build on Python 3.9 (#1794334) + +* Fri Jan 31 2020 Fedora Release Engineering - 3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Oct 27 2019 Jeremy Sanders - 3.1-1 +- Update to Veusz 3.1 +- Remove old sip-devel dependency + +* Thu Oct 03 2019 Miro Hrončok - 3.0.1-7 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 3.0.1-6 +- Rebuilt for Python 3.8 + +* Mon Aug 19 2019 Jeremy Sanders - 3.0.1-5 +- Patch for bug to fix RHBZ#1736948 (build failure on rawhide) + +* Mon Aug 19 2019 Miro Hrončok - 3.0.1-4 +- Rebuilt for Python 3.8 + +* Sat Jul 27 2019 Fedora Release Engineering - 3.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Feb 03 2019 Fedora Release Engineering - 3.0.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild @@ -466,4 +624,3 @@ with Python licensing * Mon Jun 19 2006 Jeremy Sanders - 0.10-2 - Renamed from python-veusz to veusz -