diff --git a/envisage-6.0.1.tar.gz b/envisage-6.0.1.tar.gz deleted file mode 100644 index 57d6d93131cc27e44fe638182139d2f7411d9903..0000000000000000000000000000000000000000 Binary files a/envisage-6.0.1.tar.gz and /dev/null differ diff --git a/envisage-6.1.0.tar.gz b/envisage-6.1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..77aecb4228cac06db0689dbf06a3f76a00f91d62 Binary files /dev/null and b/envisage-6.1.0.tar.gz differ diff --git a/python-envisage.spec b/python-envisage.spec index c1f009b6613c6f82aad2103e1c74f74d6a7d8adf..9506cc0cad0383c31224dc1bb900ee689469abc9 100644 --- a/python-envisage.spec +++ b/python-envisage.spec @@ -1,73 +1,143 @@ -%global _empty_manifest_terminate_build 0 -Name: python-envisage -Version: 6.0.1 -Release: 1 -Summary: Extensible application framework -License: BSD -URL: https://github.com/enthought/envisage -Source0: https://files.pythonhosted.org/packages/e5/9e/34e059bb69b5510247ea3c1a6589fcd5b302ad097726806c10ea40b10b87/envisage-6.0.1.tar.gz -BuildArch: noarch +%global srcname envisage +#global commit 872c66885d64a22502fe3efceecec99c11a1c8ff +#global shortcommit %(c=%{commit}; echo ${c:0:7}) +Name: python-%{srcname} +Version: 6.1.0 +Release: 1 +Summary: Extensible application framework + +# Images have different licenses. For image license breakdown check +# image_LICENSE.txt file. +# All remaining source or image files are in BSD 3-clause license +License: BSD and LGPLv2 and CC-BY-SA +URL: https://github.com/enthought/envisage +Source0: https://github.com/enthought/%{srcname}/archive/%{version}/%{srcname}-%{version}.tar.gz + +BuildArch: noarch +# For docs +BuildRequires: python%{python3_pkgversion}-sphinx +BuildRequires: python%{python3_pkgversion}-sphinx-copybutton +BuildRequires: python%{python3_pkgversion}-enthought-sphinx-theme +# For tests +BuildRequires: python%{python3_pkgversion}-nose +BuildRequires: /usr/bin/xvfb-run %description -Envisage is a Python-based framework for building extensible applications, that is, applications whose functionality can be extended by adding "plug-ins". Envisage provides a standard mechanism for features to be added to an application, whether by the original developer or by someone else. +Envisage is a Python-based framework for building extensible applications, +that is, applications whose functionality can be extended by adding +"plug-ins". Envisage provides a standard mechanism for features to be added +to an application, whether by the original developer or by someone else. In +fact, when you build an application using Envisage, the entire application +consists primarily of plug-ins. In this respect, it is similar to the Eclipse +and Netbeans frameworks for Java applications. + +Each plug-in is able to: + +* Advertise where and how it can be extended (its "extension points"). +* Contribute extensions to the extension points offered by other plug-ins. +* Create and share the objects that perform the real work of the application + ("services"). + +The Envisage project provides the basic machinery of the plug-in framework as +well as GUI building tools (envisage.ui). The workbench is the older way to +build GUIs from Envisage. It is now recommended to use the Task framework. + + +%package -n python%{python3_pkgversion}-%{srcname} +Summary: Extensible application framework +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +# For tests +BuildRequires: python%{python3_pkgversion}-apptools +BuildRequires: python%{python3_pkgversion}-ipykernel +BuildRequires: python%{python3_pkgversion}-ipython +BuildRequires: python%{python3_pkgversion}-traitsui +Requires: python%{python3_pkgversion}-apptools +Requires: python%{python3_pkgversion}-ipykernel +Requires: python%{python3_pkgversion}-ipython +Requires: python%{python3_pkgversion}-traitsui +%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} + +%description -n python%{python3_pkgversion}-%{srcname} +Envisage is a Python-based framework for building extensible applications, +that is, applications whose functionality can be extended by adding +"plug-ins". Envisage provides a standard mechanism for features to be added +to an application, whether by the original developer or by someone else. In +fact, when you build an application using Envisage, the entire application +consists primarily of plug-ins. In this respect, it is similar to the Eclipse +and Netbeans frameworks for Java applications. + +Each plug-in is able to: + +* Advertise where and how it can be extended (its "extension points"). +* Contribute extensions to the extension points offered by other plug-ins. +* Create and share the objects that perform the real work of the application + ("services"). + +The Envisage project provides the basic machinery of the plug-in framework as +well as GUI building tools (envisage.ui). The workbench is the older way to +build GUIs from Envisage. It is now recommended to use the Task framework. -%package -n python3-envisage -Summary: Extensible application framework -Provides: python-envisage -BuildRequires: python3-devel -BuildRequires: python3-setuptools -%description -n python3-envisage +%package doc +Summary: Documentation for %{name} +License: BSD and CC-BY-SA + +%description doc +Documentation and examples for %{name} -%package help -Summary: Development documents and examples for envisage -Provides: python3-envisage-doc -%description help -Development documents and examples for envisage. %prep -%autosetup -n envisage-6.0.1 +%autosetup -p1 -n %{srcname}-%{version} +# Fix line endings +sed -i -e 's/\r//' docs/source/envisage_core_documentation/*.rst +# Cleanup +find -name .gitignore -delete + %build %py3_build +%__python3 -m sphinx -b html docs/source docs/build +rm docs/build/.buildinfo +mv docs/build docs/html + %install %py3_install -install -d -m755 %{buildroot}/%{_pkgdocdir} -if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi -if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi -if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi -if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi -pushd %{buildroot} -if [ -d usr/lib ]; then - find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst -fi -if [ -d usr/lib64 ]; then - find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst -fi -if [ -d usr/bin ]; then - find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst -fi -if [ -d usr/sbin ]; then - find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst -fi -touch doclist.lst -if [ -d usr/share/man ]; then - find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst -fi -popd -mv %{buildroot}/filelist.lst . -mv %{buildroot}/doclist.lst . -sed -i 's/\(^.*$\)/"\1"/g' filelist.lst doclist.lst -find %{buildroot} -type f -exec file {} ';' | grep "\" | awk -F ':' '{print $1}' | xargs -i chrpath --delete "{}" - -%files -n python3-envisage -f filelist.lst -%dir %{python3_sitelib}/* - -%files help -f doclist.lst -%{_docdir}/* +# Do not ship tests +find %{buildroot}%{python3_sitelib}/%{srcname} -name tests -type d -exec rm -r {} + + + +%check +# Prepare test eggs for Python 3.10+, the latest pre-generated eggs are for Python 3.9 +# See https://github.com/enthought/envisage/issues/396 +for dir in envisage/tests/*eggs/acme.*/; do + pushd $dir + %{python3} setup.py bdist_egg + mv -f dist/*.egg .. + popd +done + +# This finds and runs more (broken) tests +#xvfb-run %{__python3} setup.py test +# Tests are failing due to new ipython - https://github.com/enthought/envisage/issues/448 +xvfb-run %{__python3} -m nose.core envisage || : + + +%files -n python%{python3_pkgversion}-%{srcname} +%license *LICENSE* +%doc CHANGES.rst README.rst +%{python3_sitelib}/%{srcname}/ +%{python3_sitelib}/*egg-info/ + +%files doc +%license *LICENSE* +%doc docs/html examples %changelog +* Mon Nov 14 2022 hkgy - 6.1.0-1 +- Upgrade to v6.1.0 + * Fri Oct 15 2021 yinzehao - 6.0.1-1 - Package Spec generated