From 57e1016a721150fb2ff2ef60d7c0078e3275e8dc Mon Sep 17 00:00:00 2001 From: Christian Dersch Date: Oct 24 2016 13:02:57 +0000 Subject: Initial import (#1381741) --- diff --git a/.gitignore b/.gitignore index e69de29..6d7abf4 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/ginga-2.5.20161005204600.tar.gz diff --git a/ginga.spec b/ginga.spec new file mode 100644 index 0000000..37e6f12 --- /dev/null +++ b/ginga.spec @@ -0,0 +1,204 @@ +%global sum Image Viewer and Toolkit +%global common_desc \ +Ginga is a toolkit designed for building viewers for scientific image data in \ +Python, visualizing 2D pixel data in numpy arrays. It can view astronomical \ +data such as contained in files based on the FITS (Flexible Image Transport \ +System) file format. It is written and is maintained by software engineers at \ +the Subaru Telescope, National Astronomical Observatory of Japan. \ + \ +The Ginga toolkit centers around an image display class which supports zooming\ +and panning, color and intensity mapping, a choice of several automatic cut \ +levels algorithms and canvases for plotting scalable geometric forms. In \ +addition to this widget, a general purpose “reference” FITS viewer is \ +provided, based on a plugin framework. A fairly complete set of standard \ +plugins are provided for features that we expect from a modern FITS viewer: \ +panning and zooming windows, star catalog access, cuts, star pick/fwhm, \ +thumbnails, etc. + +Name: ginga +Version: 2.5.20161005204600 +Release: 1%{?dist} +Summary: %{sum} +# License breakdown +# +# In general (if not listed below): BSD +# +# Apache 2.0 +# astropy_helpers/astropy_helpers/sphinx/themes/bootstrap-astropy/static/bootstrap-astropy.css +# ginga/util/heaptimer.py +# +# MIT/X11 +# ginga/util/six.py +# +License: BSD and ASL 2.0 and MIT +URL: https://ejeschke.github.io/ginga/ +Source0: https://files.pythonhosted.org/packages/source/g/%{name}/%{name}-%{version}.tar.gz + +# General build reqs +BuildRequires: desktop-file-utils +BuildRequires: fontpackages-devel +BuildRequires: google-roboto-fonts +# Python 2 build reqs +BuildRequires: python2-astropy +BuildRequires: python2-astropy-helpers +BuildRequires: python2-devel +BuildRequires: python2-matplotlib-qt5 +BuildRequires: python2-qt5 +BuildRequires: python2-scipy +# Python 3 build reqs +BuildRequires: python3-astropy +BuildRequires: python3-astropy-helpers +BuildRequires: python3-devel +BuildRequires: python3-matplotlib-qt5 +BuildRequires: python3-qt5 +BuildRequires: python3-scipy + +Requires: python3-%{name} = %{version}-%{release} + +BuildArch: noarch + +%description +%{common_desc} + +%package -n python2-%{name} +Summary: %{sum} +%{?python_provide:%python_provide python2-%{name}} +Requires: google-roboto-fonts +Requires: python2-astropy +Requires: python2-matplotlib-qt5 +Requires: python2-qt5 +Requires: python2-scipy + +%description -n python2-%{name} +%{common_desc} + +%package -n python2-%{name}-examples +Summary: Examples for %{name} +%{?python_provide:%python_provide python2-%{name}-examples} +Requires: python2-%{name} = %{version}-%{release} + +%description -n python2-%{name}-examples +Examples for %{name} + +%package -n python3-%{name} +Summary: %{sum} +%{?python_provide:%python_provide python3-%{name}} +Requires: google-roboto-fonts +Requires: python3-astropy +Requires: python3-matplotlib-qt5 +Requires: python3-qt5 +Requires: python3-scipy + +%description -n python3-%{name} +%{common_desc} + +%package -n python3-%{name}-examples +Summary: Examples for %{name} +%{?python_provide:%python_provide python3-%{name}-examples} +Requires: python3-%{name} = %{version}-%{release} + +%description -n python3-%{name}-examples +Examples for %{name} + + +%prep +%autosetup +cp -r ginga/examples examples-py2 +cp -r ginga/examples examples-py3 +# Fix wrong Python interpreters (upstream uses env) +find examples-py2 -name '*.py' | xargs sed -i '1s|^#!.*|#!%{__python2}|' +find examples-py3 -name '*.py' | xargs sed -i '1s|^#!.*|#!%{__python3}|' + +%build +%py2_build +%py3_build + +%install +# Must do the python2 install first because the scripts in /usr/bin are +# overwritten with every setup.py install, and in general we want the +# python3 version to be the default. +%py2_install +%py3_install +desktop-file-install \ + --dir=%{buildroot}%{_datadir}/applications \ + %{name}.desktop + +# Replace bundled fonts with symlinks to system fonts +# python2-ginga +rm -f %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/* +ln -sf %{_fontbasedir}/google-roboto/Roboto-Black.ttf %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/Roboto-Black.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Bold.ttf %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/Roboto-Bold.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Light.ttf %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/Roboto-Light.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Medium.ttf %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/Roboto-Medium.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Regular.ttf %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/Roboto-Regular.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Thin.ttf %{buildroot}/%{python2_sitelib}/%{name}/fonts/Roboto/Roboto-Thin.ttf +# python3-ginga +rm -f %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/* +ln -sf %{_fontbasedir}/google-roboto/Roboto-Black.ttf %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/Roboto-Black.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Bold.ttf %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/Roboto-Bold.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Light.ttf %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/Roboto-Light.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Medium.ttf %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/Roboto-Medium.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Regular.ttf %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/Roboto-Regular.ttf +ln -sf %{_fontbasedir}/google-roboto/Roboto-Thin.ttf %{buildroot}/%{python3_sitelib}/%{name}/fonts/Roboto/Roboto-Thin.ttf + +# ginga/web/pgw/ipg.py has wrong permissions +chmod 755 %{buildroot}/%{python2_sitelib}/%{name}/web/pgw/ipg.py +chmod 755 %{buildroot}/%{python2_sitelib}/%{name}/util/mosaic.py +chmod 755 %{buildroot}/%{python3_sitelib}/%{name}/web/pgw/ipg.py +chmod 755 %{buildroot}/%{python3_sitelib}/%{name}/util/mosaic.py + +# Fix wrong interpreters in some scripts... +find %{buildroot}/%{python2_sitelib}/%{name} -name '*.py' | xargs sed -i '1s|^#!.*|#!%{__python2}|' +find %{buildroot}/%{python3_sitelib}/%{name} -name '*.py' | xargs sed -i '1s|^#!.*|#!%{__python3}|' + +%post +/usr/bin/update-desktop-database &> /dev/null || : +/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun +/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 || : + + +%files +%license licenses/LICENSE.txt +%doc README.txt +%{_bindir}/* +%{_datadir}/applications/%{name}.desktop + +%files -n python2-%{name} +%license licenses/LICENSE.txt +%doc README.txt +%{python2_sitelib}/* +# Examples are shipped as documentation in examples subpackage +%exclude %{python2_sitelib}/%{name}/examples + +%files -n python2-%{name}-examples +%license licenses/LICENSE.txt +%doc examples-py2/* + +%files -n python3-%{name} +%license licenses/LICENSE.txt +%doc README.txt +%{python3_sitelib}/* +# Examples are shipped as documentation in examples subpackage +%exclude %{python3_sitelib}/%{name}/examples + +%files -n python3-%{name}-examples +%license licenses/LICENSE.txt +%doc examples-py3/* + +%changelog +* Sat Oct 22 2016 Christian Dersch - 2.5.20161005204600-1 +- new version +- unbundled fonts +- fixed interpreters for scripts to use correct Python version + +* Sun Oct 2 2016 Christian Dersch - 2.5.20160926130800-1 +- initial package diff --git a/sources b/sources index e69de29..39fb512 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +6b86ae349e07c9a312e90358e1e857a7 ginga-2.5.20161005204600.tar.gz