diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-11 02:03:45 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 02:03:45 +0000 |
| commit | a2b996a58ba1d67fe451ebbc87df903efee9df91 (patch) | |
| tree | 43b1d8ef5c78b7f9d76c6cfc567f6e7846473b86 /python-editables.spec | |
| parent | 721572c34139e4ef6a2e5cb4fb1e241546fbdf63 (diff) | |
automatic import of python-editables
Diffstat (limited to 'python-editables.spec')
| -rw-r--r-- | python-editables.spec | 267 |
1 files changed, 267 insertions, 0 deletions
diff --git a/python-editables.spec b/python-editables.spec new file mode 100644 index 0000000..a4a7053 --- /dev/null +++ b/python-editables.spec @@ -0,0 +1,267 @@ +%global _empty_manifest_terminate_build 0 +Name: python-editables +Version: 0.3 +Release: 1 +Summary: Editable installations +License: MIT +URL: https://github.com/pfmoore/editables +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/01/b0/a2a87db4b6cb8e7d57004b6836faa634e0747e3e39ded126cdbe5a33ba36/editables-0.3.tar.gz +BuildArch: noarch + + +%description +# A Python library for creating "editable wheels" + +This library supports the building of wheels which, when installed, will +expose packages in a local directory on `sys.path` in "editable mode". In +other words, changes to the package source will be reflected in the package +visible to Python, without needing a reinstall. + +## Usage + +Suppose you want to build a wheel for your project `foo`. Your project is +located in the directory `/path/to/foo`. Under that directory, you have a +`src` directory containing your project, which is a package called `foo` +and a Python module called `bar.py`. So your directory structure looks like +this: + +``` +/path/to/foo +| ++-- src +| +-- foo +| | +-- __init__.py +| +-- bar.py +| ++-- setup.py ++-- other files +``` + +Build your wheel as follows: + +```python +from editables import EditableProject + +my_project = EditableProject("foo", "/path/to/foo") +my_project.add_to_path("src") + +# Build a wheel however you prefer... +wheel = BuildAWheel() + +# Add files to the wheel +for name, content in my_project.files(): + wheel.add_file(name, content) + +# Record any runtime dependencies +for dep in my_project.dependencies(): + wheel.metadata.dependencies.add(dep) +``` + +The resulting wheel will, when installed, put the project `src` directory on +`sys.path` so that editing the original source will take effect without needing +a reinstall (i.e., as "editable" packages). The project is exposed on `sys.path` +by adding a single `.pth` file, named after the project, into the wheel. + +For more details, including how to control what gets exposed more precisely, see +[the documentation](https://editables.readthedocs.io/en/latest/). + +Note that this project doesn't build wheels directly. That's the responsibility +of the calling code. + +## Python Compatibility + +This project supports the same versions of Python as pip does. Currently +that is Python 3.7 and later, and PyPy3 (although we don't test against +PyPy). + + + + +%package -n python3-editables +Summary: Editable installations +Provides: python-editables +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-editables +# A Python library for creating "editable wheels" + +This library supports the building of wheels which, when installed, will +expose packages in a local directory on `sys.path` in "editable mode". In +other words, changes to the package source will be reflected in the package +visible to Python, without needing a reinstall. + +## Usage + +Suppose you want to build a wheel for your project `foo`. Your project is +located in the directory `/path/to/foo`. Under that directory, you have a +`src` directory containing your project, which is a package called `foo` +and a Python module called `bar.py`. So your directory structure looks like +this: + +``` +/path/to/foo +| ++-- src +| +-- foo +| | +-- __init__.py +| +-- bar.py +| ++-- setup.py ++-- other files +``` + +Build your wheel as follows: + +```python +from editables import EditableProject + +my_project = EditableProject("foo", "/path/to/foo") +my_project.add_to_path("src") + +# Build a wheel however you prefer... +wheel = BuildAWheel() + +# Add files to the wheel +for name, content in my_project.files(): + wheel.add_file(name, content) + +# Record any runtime dependencies +for dep in my_project.dependencies(): + wheel.metadata.dependencies.add(dep) +``` + +The resulting wheel will, when installed, put the project `src` directory on +`sys.path` so that editing the original source will take effect without needing +a reinstall (i.e., as "editable" packages). The project is exposed on `sys.path` +by adding a single `.pth` file, named after the project, into the wheel. + +For more details, including how to control what gets exposed more precisely, see +[the documentation](https://editables.readthedocs.io/en/latest/). + +Note that this project doesn't build wheels directly. That's the responsibility +of the calling code. + +## Python Compatibility + +This project supports the same versions of Python as pip does. Currently +that is Python 3.7 and later, and PyPy3 (although we don't test against +PyPy). + + + + +%package help +Summary: Development documents and examples for editables +Provides: python3-editables-doc +%description help +# A Python library for creating "editable wheels" + +This library supports the building of wheels which, when installed, will +expose packages in a local directory on `sys.path` in "editable mode". In +other words, changes to the package source will be reflected in the package +visible to Python, without needing a reinstall. + +## Usage + +Suppose you want to build a wheel for your project `foo`. Your project is +located in the directory `/path/to/foo`. Under that directory, you have a +`src` directory containing your project, which is a package called `foo` +and a Python module called `bar.py`. So your directory structure looks like +this: + +``` +/path/to/foo +| ++-- src +| +-- foo +| | +-- __init__.py +| +-- bar.py +| ++-- setup.py ++-- other files +``` + +Build your wheel as follows: + +```python +from editables import EditableProject + +my_project = EditableProject("foo", "/path/to/foo") +my_project.add_to_path("src") + +# Build a wheel however you prefer... +wheel = BuildAWheel() + +# Add files to the wheel +for name, content in my_project.files(): + wheel.add_file(name, content) + +# Record any runtime dependencies +for dep in my_project.dependencies(): + wheel.metadata.dependencies.add(dep) +``` + +The resulting wheel will, when installed, put the project `src` directory on +`sys.path` so that editing the original source will take effect without needing +a reinstall (i.e., as "editable" packages). The project is exposed on `sys.path` +by adding a single `.pth` file, named after the project, into the wheel. + +For more details, including how to control what gets exposed more precisely, see +[the documentation](https://editables.readthedocs.io/en/latest/). + +Note that this project doesn't build wheels directly. That's the responsibility +of the calling code. + +## Python Compatibility + +This project supports the same versions of Python as pip does. Currently +that is Python 3.7 and later, and PyPy3 (although we don't test against +PyPy). + + + + +%prep +%autosetup -n editables-0.3 + +%build +%py3_build + +%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 . + +%files -n python3-editables -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3-1 +- Package Spec generated |
