diff --git a/.gitignore b/.gitignore index ea31816..d2fc191 100644 --- a/.gitignore +++ b/.gitignore @@ -33,19 +33,3 @@ 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 b89f9c1..2d02ded 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (veusz-4.2.1.tar.gz) = 7433f5f7d17f0b45b2a2e3e9d85aa19dcbbdb583f75697ba0919592c99fa9cfd859f94996548b43f7ac3e9e479453041a790d4e3022bb8e699b0e421002e1d58 -SHA512 (remove-vectorfield-test.patch) = b1a05e8a50ead8ea52fec3bdcaffbf731a12ce56a66f7f7256f65ecd75126ccd27ee8f23241a6ffb6c67d62dd9eee034e1b548609448f81165be7ff2dcaf95a9 +SHA512 (veusz-3.0.1.tar.gz) = 99766c0fee70c12bba7b2ee8434224649763323aa9278d2116159f18257e1e1c5a491d591efb779c1bbb9dba1fb524ad8185fa2e91429ba1cc594fd632cb6238 diff --git a/veusz.spec b/veusz.spec index 1e81907..90d89bf 100644 --- a/veusz.spec +++ b/veusz.spec @@ -1,39 +1,35 @@ Name: veusz -Version: 4.2.1 -Release: 3%{?dist} +Version: 3.0.1 +Release: 2%{?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 +# The entire source code is GPLv2+ except helpers/src/_nc_cntr.c which is Python +License: GPLv2+ and Python 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-devel +BuildRequires: python3 python3-devel python3-setuptools BuildRequires: python3-numpy -BuildRequires: qt6-qtbase-devel qt6-qtsvg-devel -BuildRequires: python3-pyqt6 python3-pyqt6-devel -BuildRequires: python3dist(sip) -BuildRequires: python3-h5py +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: desktop-file-utils -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 - +%{?_python3_sip_api:Requires: sip-api(%{_python3_sip_api_major}) >= %{_python3_sip_api}} +Requires: python3-numpy python3-qt5 /usr/bin/env 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$ +%{?filter_setup: +%filter_provides_in %{python3_sitearch}/veusz/helpers/.*\.so$ +%filter_setup +} -%generate_buildrequires -%pyproject_buildrequires +# install docs in version specific for old releases +%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} %description Veusz is a 2D and 3D scientific plotting package, designed to create @@ -45,24 +41,32 @@ ternary plots, vector plots, contours, images, shapes and fitting data. 3D point, surface, volume and function plots are also supported. %prep -%autosetup -v -n veusz-%{version} -p1 +%setup -q -n veusz-%{version} +find -name \*~ | xargs rm -f # 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 -%pyproject_wheel +%py3_build %install rm -rf %{buildroot} -%pyproject_install -%pyproject_save_files veusz +# 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 # install desktop file desktop-file-install \ @@ -74,20 +78,22 @@ mkdir -p %{buildroot}%{_datadir}/mime/packages/ install -p support/veusz.xml -m 0644 %{buildroot}%{_datadir}/mime/packages/ # appdata file -install -D -p -m 0644 support/veusz.appdata.xml \ - %{buildroot}%{_metainfodir}/veusz.appdata.xml +mkdir -p %{buildroot}%{_datadir}/appdata/ +install -p support/veusz.appdata.xml -m 0644 %{buildroot}%{_datadir}/appdata/ -# copy main icon into pixmaps (for desktop file) -install -D -p -m 0644 icons/veusz.png \ - %{buildroot}%{_datadir}/pixmaps/veusz.png +# 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 -# also copy in hicolor icons +# also link in hicolor icons for size in 16 32 48 64 128; do - install -D -p -m 0644 icons/veusz_${size}.png \ - %{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/veusz.png + odir=%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps + mkdir -p $odir + ln -s %{_datadir}/veusz/icons/veusz_${size}.png ${odir}/veusz.png done -install -D -p -m 0644 icons/veusz.svg \ - %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/veusz.svg +odir=%{buildroot}%{_datadir}/icons/hicolor/scalable/apps +mkdir -p $odir +ln -s %{_datadir}/veusz/icons/veusz.svg $odir # install man pages mkdir -p %{buildroot}%{_mandir}/man1 @@ -95,193 +101,29 @@ install -p Documents/man-page/veusz.1 -m 0644 \ %{buildroot}%{_mandir}/man1 %check -# emf_export relies on pyemf3 which isn't packaged -%pyproject_check_import -e veusz.document.emf_export -e veusz.examples.* +# as the data directory hasn't got the same absolute path we have +# to define VEUSZ_RESOURCE_DIR 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 README AUTHORS COPYING +%doc examples %doc Documents/manual/html -%{_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/ +%{_bindir}/* +%{_mandir}/man1/* +%{_datadir}/applications/* +%{_datadir}/mime/packages/* +%{_datadir}/appdata/* +%{_datadir}/pixmaps/* +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/veusz +%{python3_sitearch}/veusz-*.egg-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 @@ -624,3 +466,4 @@ with Python licensing * Mon Jun 19 2006 Jeremy Sanders - 0.10-2 - Renamed from python-veusz to veusz +