## START: Set by rpmautospec
## (rpmautospec version 0.3.0)
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 5;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec


%global _description %{expand:
Spyder is a powerful scientific environment written in Python, for Python, and 
designed by and for scientists, engineers and data analysts. It features a 
unique combination of the advanced editing, analysis, debugging and profiling 
functionality of a comprehensive development tool with the data exploration, 
interactive execution, deep inspection and beautiful visualization capabilities 
of an analysis package. Furthermore, Spyder offers built-in integration with 
many popular scientific libraries, including NumPy, SciPy, Pandas, IPython, 
QtConsole, Matplotlib, SymPy, and more, and can be extended further with 
full plugin support.
}

Name:		spyder
Version:	5.3.1
Release:	%autorelease
Summary:	Scientific Python Development Environment

Source0:	https://github.com/%{name}-ide/%{name}/archive/v%{version}.tar.gz

Patch0:		%{name}-%{version}_relax_versions.patch
License:	MIT
URL:		https://www.spyder-ide.org/
BuildArch:	noarch
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}


%description
%_description

%package -n python3-%{name}
Summary:	%{summary}

%{?python_provide:%python_provide python3-%{name}}

BuildRequires:	python3-devel
BuildRequires:	python3-sphinx
BuildRequires:	python3-setuptools
BuildRequires:	desktop-file-utils
BuildRequires:	libappstream-glib

Requires:	hicolor-icon-theme
Requires:	mathjax

%description -n python3-%{name}
%_description

%prep
%setup -q -n %{name}-%{version}
sed -i 's/\xe2\x80\x8b//g' scripts/org.spyder_ide.spyder.appdata.xml

%patch0

rm -rf PKG-INFO external-deps

# Remove DOS line endings
for file in `find -name "*.rst" -o -name "*.py" -o -name "*.css"`; do
	sed "s|\r||g" $file > $file.new && \
	touch -r $file $file.new && \
	mv $file.new $file
done

# remove bundled mathjax
rm -rvf spyder/plugins/help/utils/js/mathjax


%build
%py3_build


%install
mkdir -p %{buildroot}%{_datadir}/appdata
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/

%py3_install
desktop-file-install --dir=%{buildroot}%{_datadir}/applications scripts/%{name}.desktop

# install appdata file
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/org.spyder_ide.spyder.appdata.xml

# cleanup
rm -rvf %{buildroot}%{python3_sitelib}/spyderlib/doc/{.buildinfo,.doctrees}
rm -rvf %{buildroot}%{_bindir}/spyder_win_post_install.py

# replace bundled mathjax with a symlink to the system mathjax
ln -s %{_datadir}/javascript/mathjax/ \
    %{buildroot}%{python3_sitelib}/spyder/plugins/help/utils/js/mathjax

# provide spyder3 as symlink to spyder binary for continuity
ln -s %{_bindir}/spyder %{buildroot}%{_bindir}/spyder3

%ldconfig_scriptlets


%pretrans -n python3-%{name} -p <lua>
--[[Back up any bundled mathjax directory from the old package. See:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement
]]
path = "%{python3_sitelib}/spyder/plugins/help/utils/js/mathjax"
st = posix.stat(path)
if st and st.type == "directory" then
  status = os.rename(path, path .. ".rpmmoved")
  if not status then
    suffix = 0
    while not status do
      suffix = suffix + 1
      status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
    end
    os.rename(path, path .. ".rpmmoved")
  end
end


%files -n python3-%{name}
%{python3_sitelib}/spyder-*.egg-info
%{python3_sitelib}/spyder/
# A backed-up bundled mathjax directory from a previous upgrade may be present:
%ghost %{python3_sitelib}/spyder/plugins/help/utils/js/mathjax.rpmmoved
%{_bindir}/%{name}
%{_bindir}/%{name}3
%{_datadir}/metainfo/org.spyder_ide.spyder.appdata.xml
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/spyder.png


%changelog
* Mon Dec 19 2022 Elliott Sales de Andrade <quantum.analyst@gmail.com> 5.3.1-5
- Drop support for i686

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> 5.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> 5.3.1-3
- Rebuilt for Python 3.11

* Sat May 28 2022 Mukundan Ragavan <nonamedotc@gmail.com> 5.3.1-1
- Update spyder to v5.3.1

* Sat Apr 23 2022 Mukundan Ragavan <nonamedotc@gmail.com> 5.3.0-2
- relax ipython version; clarify python-lsp-server dep

* Thu Mar 31 2022 Mukundan Ragavan <nonamedotc@gmail.com> 5.3.0-1
- Update to 5.3.0

* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Sun Jan 16 2022 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 5.2.1-1
- Update to 5.2.1
- Drop upstreamed patch and update relax-versions patch

* Tue Dec 14 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 5.1.5-2
- Relax dependency for spyder-kernels for now (bug 2031749)

* Sun Sep 19 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 5.1.5-1
- Update to 5.1.5

* Mon Sep 13 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 5.1.4-1
- Update to 5.1.4

* Sun Sep 05 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 5.1.3-1
- Update to 5.1.3

* Tue Aug 17 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 5.1.1-1
- Update to 5.1.1
- Drop explicit requires in favor of automatic requires

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 4.2.5-2
- Rebuilt for Python 3.10

* Thu Apr 08 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.2.5-1
- Update to 4.2.5
- Update appdata filename

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Thu Dec 24 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.2.1-1
- Update to 4.2.1

* Mon Sep 14 2020 Ben Beasley <code@musicinmybrain.net> - 4.1.5-2
- Unbundle mathjax (RHBZ #1017213)

* Thu Sep 03 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.1.5-1
- Update to 4.1.5

* Mon Aug 03 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.1.4-4
- Drop python-sitelib macro usage

* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-3
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Sat Jul 11 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.1.4-1
- Update to 4.1.4

* Tue Jun 23 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.1.3-3
- Add BR:python3-setuptools

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 4.1.3-2
- Rebuilt for Python 3.9

* Sat May 09 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.1.3-1
- Update to 4.1.3

* Thu May 07 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 4.1.2-1
- Update to 4.1.2
- Minor spec changes

* Sat Feb 29 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.6-5
- Drop pathlib2 as requires

* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Wed Sep 11 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.6-3
- Drop pep8 as requires

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.3.6-2
- Rebuilt for Python 3.8

* Wed Aug 14 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.6-1
- Update to 3.3.6

* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu Apr 25 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.4-1
- Update to 3.3.4

* Sun Feb 10 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.3-1
- Update to 3.3.3

* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sun Dec 02 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.2-1
- Update to 3.3.2

* Sun Oct 28 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.1-6
- Fix desktop file installation

* Sun Oct 28 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.1-5
- Drop python2 version

* Mon Oct 15 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.1-4
- Drop direct requires on prompt_toolkit (should be pulled through iPython)

* Thu Aug 23 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.1-3
- Fix py2 requires

* Sun Aug 12 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.1-2
- Fix description
- Drop py3 conditional

* Sat Aug 11 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.1-1
- Update to 3.3.1

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jul 10 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.0-2
- Add requires on python-spyder-kernels

* Sat Jul 07 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.3.0-1
- Update to 3.3.0
- Fix appdata file install location

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.8-3
- Rebuilt for Python 3.7

* Fri Mar 23 2018 Iryna Shcherbina <ishcherb@redhat.com> - 3.2.8-2
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Thu Mar 15 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.8-1
- Update to 3.2.8

* Sat Mar 03 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.7-4
- Add conditional for py2-chardet

* Mon Feb 26 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.7-3
- Update to 3.2.7
- use ldconfig-scriptlets
- fix icon installation
- bump release

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Fri Jan 19 2018 Mukundan Ragavan <nonamedotc@gmail.com> - 3.2.6-3
- bump release and rebuild

* Thu Jan 18 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.6-2
- change requires from py* to py2* subpackages

* Tue Jan 09 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.6-1
- Update to 3.2.6

* Thu Jan 04 2018 Lumír Balhar <lbalhar@redhat.com> - 3.2.5-3
- Fix directory ownership

* Wed Dec 27 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.5-2
- Add cloudpickle as dependency

* Wed Dec 27 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.5-1
- Update to 3.2.5 (bugfix update)

* Sun Nov 12 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.4-2
- Add requires for python3-rope

* Fri Oct 20 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.4-1
- Update to 3.2.4

* Mon Sep 11 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.3-1
- Update to 3.2.3

* Thu Sep 07 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.2-1
- Update to 3.2.2

* Sat Sep 02 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.1-2
- Fix requires (python- vs python2-)
- Add pycodestyle as requires

* Mon Aug 14 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.2.1-1
- Update to 3.2.1
- Drop the appdata patch in favor of sed fix

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jul 10 2017 Tomas Hozza <thozza@redhat.com> - 3.1.4-3
- Use RPM macros for building and installing Python2 and Python3 versions of the package
- Provide upgrade path from spyder package (#1469003)

* Thu May 04 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.4-2
- Fix requires for python3 subpackage

* Mon Apr 24 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.4-1
- Update to 3.1.4
- Install upstream desktop files
- Install appdata file

* Thu Mar 16 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.3-2
- Add numpydoc as requires

* Mon Feb 20 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.3-1
- Update to 3.1.3

* Thu Jan 26 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.2-1
- Update to 3.1.2

* Sun Jan 22 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.1-1
- Update to 3.1.1

* Wed Jan 18 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.0-2
- Update requires completely

* Wed Jan 18 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.1.0-1
- Update to 3.1.0

* Tue Jan 03 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.0.2-2
- Add dependencies

* Thu Dec 29 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.0.2-1
- Update to 3.0.2

* Tue Sep 20 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.0.0-3.b7
- Update to beta 7

* Sat Sep 03 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.0.0-3.b6
- Update to beta 6

* Thu Aug 11 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.0.0-2.b4
- Fix requires

* Wed Aug 10 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 3.0.0-1.b4
- Update to 3.0.0 beta 4

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.9-2
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Tue Apr 26 2016 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.9-1
- Update to v2.3.9

* Wed Mar 02 2016 Rex Dieter <rdieter@fedoraproject.org> 2.3.8-3
- (unconditionally) Requires: PyQt4-webkit

* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Dec 02 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.8-1
- Update to 2.3.8

* Thu Nov 12 2015 Kalev Lember <klember@redhat.com> - 2.3.7-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Wed Nov 04 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.7-4
- Fix spyder3 desktop file

* Tue Nov 03 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.7-3
- Added EL conditionals for requires

* Mon Nov 02 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.7-2
- Build python3 subpackage

* Tue Oct 06 2015 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.7-1
- Updated to v2.3.7
- Updated source and package URL
- Removed old version patch

* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Thu Aug 07 2014 Radek Novacek <rnovacek@redhat.com> 2.2.4-4
- Remove Requires: qtwebkit as its already pulled by PyQt4

* Wed Jul 30 2014 Radek Novacek <rnovacek@redhat.com> 2.2.4-3
- Add Requires: qtwebkit (#1121360)

* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed Sep 25 2013 Tomas Hozza <thozza@redhat.com> 2.2.4-1
- new upstream version 2.2.4 (#1010935)
- Spyder failed to start and ended with EOFError (#1010568)

* Fri Aug 16 2013 Radek Novacek <rnovacek@redhat.com> 2.2.2-1
- Update to 2.2.2

* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Jul 10 2013 Radek Novacek <rnovacek@redhat.com> 2.2.1-1
- Update to 2.2.1

* Mon May 20 2013 Radek Novacek <rnovacek@redhat.com> 2.2.0-1
- Update to 2.2.0
- Spec cleanup
- Add spyder.png pixmap
- Resolves: #958040

* Mon Mar 11 2013 Radek Novacek <rnovacek@redhat.com> 2.1.13-3
- Fix checking PyQt4 version
- Resolves: #919921

* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Jan 10 2013 Radek Novacek <rnovacek@redhat.com> 2.1.13-1
- Update to 2.1.13

* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Feb 06 2012 Radek Novacek <rnovacek@redhat.com> 2.1.6-3
- Require pyflakes >= 0.5.0
- Resolves: #786836

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

* Mon Jan 02 2012 Radek Novacek <rnovacek@redhat.com> 2.1.6-1
- Update to 2.1.6
- Fix crash with ipython 0.12dev
- Resolves: #770161

* Fri Nov 25 2011 Radek Novacek <rnovacek@redhat.com> 2.1.2-1
- Update to 2.1.2

* Mon Nov 07 2011 Radek Novacek <rnovacek@redhat.com> - 2.1.1-1
- Update to 2.1.1

* Thu Jul 14 2011 Radek Novacek <rnovacek@redhat.com> - 2.0.12-1
- Update to 2.0.12

* Sun May 22 2011 Chen Lei <supercyper@163.com> - 2.0.11-1
- Update to 2.0.11

* Sun Dec 19 2010 Chen Lei <supercyper@163.com> - 2.0.5-1
- Update to 2.0.5

* Wed Dec 08 2010 Chen Lei <supercyper@163.com> - 2.0.3-1
- Update to 2.0.3

* Wed Dec 01 2010 Chen Lei <supercyper@163.com> - 2.0.1-1
- Update to 2.0.1

* Tue Nov 30 2010 Chen Lei <supercyper@163.com> - 2.0.0-1
- Update to 2.0.0 final

* Wed Oct 13 2010 Chen Lei <supercyper@163.com> - 2.0.0-0.2.beta5
- Update to 2.0.0beta5

* Wed Sep 15 2010 Chen Lei <supercyper@163.com> - 2.0.0-0.1.beta3
- Initial rpm build