Blob Blame History Raw
Name:           veusz
Version:        1.15
Release:        1%{?dist}
Summary:        GUI scientific plotting package

Group:          Applications/Productivity
# The entire source code is GPLv2+ except helpers/src/_nc_cntr.c which is Python
License:        GPLv2+ and Python
URL:            http://home.gna.org/veusz/
Source0:        http://download.gna.org/veusz/veusz-%{version}.tar.gz
Source1:        %{name}.desktop
Source2:        %{name}.xml
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  python2-devel
BuildRequires:  python-setuptools-devel
BuildRequires:  numpy
BuildRequires:  PyQt4-devel qt4-devel sip-devel
BuildRequires:  xorg-x11-server-Xvfb xorg-x11-xauth
BuildRequires:  desktop-file-utils

%{?_sip_api:Requires: sip-api(%{_sip_api_major}) >= %{_sip_api}}
Requires:       numpy PyQt4 /usr/bin/env
Provides:       python-veusz

# we don't want to provide private python extension libs
# https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering
%{?filter_setup:
%filter_provides_in %{python_sitearch}/veusz/helpers/.*\.so$
%filter_setup
}

%description
Veusz is a scientific plotting package, designed to create
publication-ready Postscript/PDF/SVG output. It features GUI,
command-line, and scripting interfaces. Graphs are constructed from
widgets, allowing complex layouts to be designed. Veusz supports
plotting functions, data with error bars, keys, labels, stacked plots,
ternary plots, vector plots, contours, images, shapes and fitting
data.

%prep
%setup -q -n veusz-%{version}
find -name \*~ | xargs rm -f

# change path of where to look for COPYING - should be docdir
sed -i "/COPYING/s@=.*@=open('%{vdoc}/COPYING', 'rU')@"  \
    dialogs/aboutdialog.py

# remove shebangs from scripts which aren't installed
# (veusz allows these to be executed if app isn't installed properly)
sed -i '/^#!/d' veusz_main.py
sed -i '/^#!/d' veusz_listen.py

%build
CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build

%install
rm -rf %{buildroot}

# veusz-resource-dir: put data files in location given
%{__python} 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}%{python_sitearch}/veusz/resources

# tell it where to look for examples
ln -s %{_defaultdocdir}/%{name}-%{version}/examples \
    %{buildroot}%{_datadir}/veusz

# install desktop file
desktop-file-install  \
    --dir %{buildroot}%{_datadir}/applications \
    %{SOURCE1}

# file to register .vsz mimetype
mkdir -p %{buildroot}%{_datadir}/mime/packages/
cp %{SOURCE2} %{buildroot}%{_datadir}/mime/packages/

# symlink main veusz icon into pixmaps (for desktop file)
mkdir %{buildroot}%{_datadir}/pixmaps
ln -s ../veusz/windows/icons/veusz_48.png \
    %{buildroot}%{_datadir}/pixmaps/veusz.png

# also link 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/windows/icons/veusz_${size}.png ${odir}/veusz.png
done
odir=%{buildroot}%{_datadir}/icons/hicolor/scalable/apps
mkdir -p $odir
ln -s %{_datadir}/veusz/windows/icons/veusz.svg $odir

# install man pages
mkdir -p %{buildroot}%{_mandir}/man1
install -p Documents/veusz.1 Documents/veusz_listen.1 -m 0644 \
    %{buildroot}%{_mandir}/man1

%check
# self test has to run in X environment
# as the data directory hasn't got the same absolute path we have
# to define VEUSZ_RESOURCE_DIR
PYTHONPATH=%{buildroot}%{python_sitearch} \
    VEUSZ_RESOURCE_DIR=%{buildroot}%{_datadir}/veusz \
    xvfb-run \
    --auto-servernum \
    --server-args "-screen 0 640x480x24" \
    python tests/runselftest.py

%post
# see http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
/usr/bin/update-mime-database %{_datadir}/mime > /dev/null 2>&1 || :
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-database
/usr/bin/update-desktop-database &> /dev/null || :
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :

%postun
/usr/bin/update-mime-database %{_datadir}/mime > /dev/null 2>&1 || :
/usr/bin/update-desktop-database &> /dev/null || :
if [ $1 -eq 0 ] ; then
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi

%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc README AUTHORS COPYING
%doc examples
%doc Documents/manual.html
%doc Documents/manimages
%{_bindir}/*
%{_mandir}/man1/*
%{_datadir}/applications/*
%{_datadir}/mime/packages/*
%{_datadir}/pixmaps/*
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/veusz
%{python_sitearch}/veusz-*.egg-info
%{python_sitearch}/veusz

%changelog
* Wed Apr 04 2012 Jeremy Sanders <jeremy@jeremysanders.net> - 1.15-1
- Update to Veusz 1.15

* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Fri Dec 23 2011 Rex Dieter <rdieter@fedoraproject.org> 1.14-2
- rebuild (sip/PyQt4)

* Sun Nov 27 2011 Jeremy Sanders <jeremy@jeremysanders.net> - 1.14-1
- Update to Veusz 1.14
- Significant simplifications of spec file
- Install all data files in _datadir/veusz
- Add icons to hicolor theme
- Filter provides from private python modules

* Mon Aug 22 2011 Jeremy Sanders <jeremy@jeremysanders.net> - 1.13-1
- Update to Veusz 1.13

* Sat Jul 01 2011 Jeremy Sanders <jeremy@jeremysanders.net> - 1.12-1
- Update to Veusz 1.12

* Wed Apr 06 2011 Jeremy Sanders <jeremy@jeremysanders.net> - 1.11-3
- Fix version numbers in changelog

* Mon Apr 04 2011 Jeremy Sanders <jeremy@jeremysanders.net> - 1.11-2
- Run self test after build
- Remove duplicate file statements

* Mon Apr 04 2011 Jeremy Sanders <jeremy@jeremysanders.net> - 1.11-1
- Update to Veusz 1.11

* Tue Mar 22 2011 Rex Dieter <rdieter@fedoraproject.org> - 1.10-3
- fix scriptlet usage

* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Dec 12 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.10-1
- Update to Veusz 1.10
- Install man pages

* Fri Sep 10 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.9-2
- Add SIP API requirement

* Thu Sep  2 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.9-1
- Update to Veusz 1.9

* Wed Aug 18 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.8-3
- Remove extra source tar.gz from previous release

* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 1.8-2
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild

* Sat Jun 19 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.8-1
- Update to Veusz 1.8

* Tue Mar 30 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.7-1
- Update to Veusz 1.7

* Fri Jan 29 2010 Jeremy Sanders <jeremy@jeremysanders.net> - 1.6-1
- Update to Veusz 1.6

* Mon Sep 28 2009 Jeremy Sanders <jeremy@jeremysanders.net> - 1.5-1
- Update to Veusz 1.5

* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Jun  5 2009 Jeremy Sanders <jeremy@jeremysanders.net> - 1.4-1
- Update to Veusz 1.4

* Mon Apr 6 2009 Jeremy Sanders <jeremy@jeremysanders.net> - 1.3-3
- Remove file that is not included

* Mon Apr 6 2009 Jeremy Sanders <jeremy@jeremysanders.net> - 1.3-2
- Fix readme location build issue

* Mon Apr 6 2009 Jeremy Sanders <jeremy@jeremysanders.net> - 1.3-1
- Update to Veusz 1.3

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sun Dec 7 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.2.1-1
- Update to Veusz 1.2.1
- Fix location of COPYING file for about dialog

* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 1.2-4
- Rebuild for Python 2.6

* Tue Nov 25 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.2-3
- Fix bug in icon symlink

* Tue Nov 25 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.2-2
- Fix move of icon location

* Tue Nov 25 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.2-1
- Move to Veusz 1.2

* Thu Oct  2 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.1-3
- Got email address wrong - bumping again

* Thu Oct  2 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.1-2
- Forgot to add changelog for previous entry. Bumping.

* Thu Oct  2 2008 Jeremy Sanders <jeremy@jeremysanders.net> - 1.1-1
- Updated to Veusz 1.1

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0-3
- Autorebuild for GCC 4.3

* Sun Dec 20 2007 Jeremy Sanders <jeremy@jeremysanders.net> - 1.0-2
- Package egg file

* Sun Dec 20 2007 Jeremy Sanders <jeremy@jeremysanders.net> - 1.0-1
- Update to Veusz-1.0 (now based on PyQt4/numpy)

* Thu Aug  2 2007 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-16
- Rebuilt as forgot to commit changes before make tag

* Thu Aug  2 2007 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-15
- Rebuilt as forgot to include comment for license update

* Thu Aug 2 2007 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-14
- Changed for new licensing guidelines. Now indicates the single file
with Python licensing

* Mon Dec 11 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-13
- Bumped for FC-devel

* Sat Sep 16 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-12
- Bump release for FC-devel rebuild

* Wed Sep  6 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-11
- Package .pyo files

* Wed Sep  6 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-10
- Removed ghosts, as per new Fedora guidelines

* Wed Jul 12 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-9
- Add -O1 to install to generate .pyo files on FC4

* Mon Jul 10 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-8
- Remove tab characters from spec file

* Fri Jul  7 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-7
- Change from python_sitelib to python_sitearch to fix x86_64

* Wed Jun 28 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-6
- Added semicolon to end of categories in .desktop file

* Mon Jun 26 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-5
- Add desktop-file-utils dependancy to post and postun
- Explicitly ghost *.pyo files
- Add X-Fedora category to installed .desktop file

* Tue Jun 20 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-4
- Own python module and pixmaps directory
- Fix location of icon for Gnome (use symlink)
- Register application/x-veusz mimetype
- Update mime and desktop databases in post and postun

* Mon Jun 19 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-3
- Fix rpmlint errors

* Mon Jun 19 2006 Jeremy Sanders <jeremy@jeremysanders.net> - 0.10-2
- Renamed from python-veusz to veusz