diff --git a/.gitignore b/.gitignore index 6beb0ae..ea31816 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,7 @@ veusz-1.8.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 cb0b28a..b89f9c1 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (veusz-3.6.2.tar.gz) = 5580171c0259415cf3de11322133fde02e244b65ffede1e83b5e6d17c8a037624860550495dc0b53c7b5e2f65b3ae6b95daa0e95f7164358e1201ffedeb13f51 +SHA512 (veusz-4.2.1.tar.gz) = 7433f5f7d17f0b45b2a2e3e9d85aa19dcbbdb583f75697ba0919592c99fa9cfd859f94996548b43f7ac3e9e479453041a790d4e3022bb8e699b0e421002e1d58 +SHA512 (remove-vectorfield-test.patch) = b1a05e8a50ead8ea52fec3bdcaffbf731a12ce56a66f7f7256f65ecd75126ccd27ee8f23241a6ffb6c67d62dd9eee034e1b548609448f81165be7ff2dcaf95a9 diff --git a/veusz.spec b/veusz.spec index 64a9900..1e81907 100644 --- a/veusz.spec +++ b/veusz.spec @@ -1,32 +1,39 @@ Name: veusz -Version: 3.6.2 -Release: 6%{?dist} +Version: 4.2.1 +Release: 3%{?dist} Summary: GUI scientific plotting package 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-pyqt5-sip python3dist(sip) +BuildRequires: qt6-qtbase-devel qt6-qtsvg-devel +BuildRequires: python3-pyqt6 python3-pyqt6-devel +BuildRequires: python3dist(sip) BuildRequires: python3-h5py -BuildRequires: python3-tomli BuildRequires: desktop-file-utils -Requires: python3dist(pyqt5-sip) >= 12.8, python3dist(pyqt5-sip) < 13 -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 %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 @@ -38,33 +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 \ @@ -76,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 @@ -99,29 +95,75 @@ 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.md AUTHORS COPYING -%doc examples %doc Documents/manual/html %{_bindir}/veusz %{_mandir}/man1/veusz.1.gz %{_datadir}/applications/veusz.desktop %{_datadir}/mime/packages/veusz.xml -%{_datadir}/appdata/veusz.appdata.xml +%{_metainfodir}/veusz.appdata.xml %{_datadir}/pixmaps/veusz.png %{_datadir}/icons/hicolor/*/apps/veusz.* -%{_datadir}/veusz -%{python3_sitearch}/veusz-*.egg-info +%{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 @@ -582,4 +624,3 @@ with Python licensing * Mon Jun 19 2006 Jeremy Sanders - 0.10-2 - Renamed from python-veusz to veusz -