diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 20:06:33 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 20:06:33 +0000 |
commit | efab826adce945becef9ac2bd80984b9f02d9152 (patch) | |
tree | 628d5e242456c8b7094088b9dd1344f734f95cab | |
parent | 0bdf0844d33ed5ed27f03c346af5b8965a938c0e (diff) |
automatic import of python-clang-format
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-clang-format.spec | 263 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 265 insertions, 0 deletions
@@ -0,0 +1 @@ +/clang-format-16.0.1.tar.gz diff --git a/python-clang-format.spec b/python-clang-format.spec new file mode 100644 index 0000000..3e548c6 --- /dev/null +++ b/python-clang-format.spec @@ -0,0 +1,263 @@ +%global _empty_manifest_terminate_build 0 +Name: python-clang-format +Version: 16.0.1 +Release: 1 +Summary: Clang-Format is an LLVM-based code formatting tool +License: Apache 2.0 +URL: http://clang.llvm.org/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/78/28/9835c6e886f362df4ba6d3d06f759bbc3df70753435687510883d7770811/clang-format-16.0.1.tar.gz + + +%description +# clang-format Python distribution + +[](https://pypi.org/project/clang-format) + +This project packages the `clang-format` utility as a Python package. It allows you to install `clang-format` directly from PyPI: + +``` +python -m pip install clang-format +``` + +This projects intends to release a new PyPI package for each major and minor release of `clang-format`. + +## Use with pipx + +You can use `pipx` to run clang-format, as well. For example, `pipx run clang-format <args>` will run clang-format without any previous install required on any machine with pipx (including all default GitHub Actions / Azure runners, avoiding requiring a pre-install step or even `actions/setup-python`). + +## Use from pre-commit + +A [pre-commit](https://pre-commit.com) hook is also [provided](https://github.com/pre-commit/mirrors-clang-format), use like this: + +```yaml +- repo: https://github.com/pre-commit/mirrors-clang-format + rev: v16.0.1 + hooks: + - id: clang-format + types_or: [c++, c, cuda] +``` + +In contrast to many other pre-commit hooks, the versioning of the hook matches the versioning of `clang-format`. + +If you are required to stick with a given major/minor version of `clang-format` with your pre-commit-hook, you can use [this alternative hook repository](https://github.com/ssciwr/clang-format-hook) that also receives backports of older versions of clang-format. +Currently, all major/minor versions of LLVM >= 10 are supported. +It is best to subscribe to releases of the hook repository to get notified of new backport releases, as `pre-commit`'s auto-upgrade functionality will not work in that case. + +## Building new releases + +The [clang-format-wheel repository](https://github.com/ssciwr/clang-format-wheel) provides the logic to build and publish binary wheels of the `clang-format` utility. + +In order to add a new release, the following steps are necessary: + +* Edit the [version file](https://github.com/ssciwr/clang-format-wheel/blob/main/clang-format_version.cmake) to reflect the new version. +* Make a GitHub release to trigger the [GitHub Actions release workflow](https://github.com/ssciwr/clang-format-wheel/actions/workflows/release.yml). Alternatively, the workflow can be triggered manually. + +On manual triggers, the following input variables are available: +* `use_qemu`: Whether to build targets that require emulation (default: `true`) +* `llvm_version`: Override the LLVM version (default: `""`) +* `wheel_version`: Override the wheel packaging version (default `"0"`) +* `deploy_to_testpypi`: Whether to deploy to TestPyPI instead of PyPI (default: `false`) + +The repository with the precommit hook is automatically updated using a scheduled Github Actions workflow. + +## Acknowledgements + +This repository extends the great work of several other projects: + +* `clang-format` itself is [provided by the LLVM project](https://github.com/llvm/llvm-project) under the Apache 2.0 License with LLVM exceptions. +* The build logic is based on [scikit-build](https://github.com/scikit-build/scikit-build) which greatly reduces the amount of low level code necessary to package `clang-format`. +* The `scikit-build` packaging examples of [CMake](https://github.com/scikit-build/cmake-python-distributions) and [Ninja](https://github.com/scikit-build/ninja-python-distributions) were very helpful in packaging `clang-format`. +* The CI build process is controlled by [cibuildwheel](https://github.com/pypa/cibuildwheel) which makes building wheels across a number of platforms a pleasant experience (!) + +Special thanks goes to mgevaert who initiated this project and maintained it until 2021. + +We are grateful for the generous provisioning with CI resources that GitHub currently offers to Open Source projects. + + +%package -n python3-clang-format +Summary: Clang-Format is an LLVM-based code formatting tool +Provides: python-clang-format +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-clang-format +# clang-format Python distribution + +[](https://pypi.org/project/clang-format) + +This project packages the `clang-format` utility as a Python package. It allows you to install `clang-format` directly from PyPI: + +``` +python -m pip install clang-format +``` + +This projects intends to release a new PyPI package for each major and minor release of `clang-format`. + +## Use with pipx + +You can use `pipx` to run clang-format, as well. For example, `pipx run clang-format <args>` will run clang-format without any previous install required on any machine with pipx (including all default GitHub Actions / Azure runners, avoiding requiring a pre-install step or even `actions/setup-python`). + +## Use from pre-commit + +A [pre-commit](https://pre-commit.com) hook is also [provided](https://github.com/pre-commit/mirrors-clang-format), use like this: + +```yaml +- repo: https://github.com/pre-commit/mirrors-clang-format + rev: v16.0.1 + hooks: + - id: clang-format + types_or: [c++, c, cuda] +``` + +In contrast to many other pre-commit hooks, the versioning of the hook matches the versioning of `clang-format`. + +If you are required to stick with a given major/minor version of `clang-format` with your pre-commit-hook, you can use [this alternative hook repository](https://github.com/ssciwr/clang-format-hook) that also receives backports of older versions of clang-format. +Currently, all major/minor versions of LLVM >= 10 are supported. +It is best to subscribe to releases of the hook repository to get notified of new backport releases, as `pre-commit`'s auto-upgrade functionality will not work in that case. + +## Building new releases + +The [clang-format-wheel repository](https://github.com/ssciwr/clang-format-wheel) provides the logic to build and publish binary wheels of the `clang-format` utility. + +In order to add a new release, the following steps are necessary: + +* Edit the [version file](https://github.com/ssciwr/clang-format-wheel/blob/main/clang-format_version.cmake) to reflect the new version. +* Make a GitHub release to trigger the [GitHub Actions release workflow](https://github.com/ssciwr/clang-format-wheel/actions/workflows/release.yml). Alternatively, the workflow can be triggered manually. + +On manual triggers, the following input variables are available: +* `use_qemu`: Whether to build targets that require emulation (default: `true`) +* `llvm_version`: Override the LLVM version (default: `""`) +* `wheel_version`: Override the wheel packaging version (default `"0"`) +* `deploy_to_testpypi`: Whether to deploy to TestPyPI instead of PyPI (default: `false`) + +The repository with the precommit hook is automatically updated using a scheduled Github Actions workflow. + +## Acknowledgements + +This repository extends the great work of several other projects: + +* `clang-format` itself is [provided by the LLVM project](https://github.com/llvm/llvm-project) under the Apache 2.0 License with LLVM exceptions. +* The build logic is based on [scikit-build](https://github.com/scikit-build/scikit-build) which greatly reduces the amount of low level code necessary to package `clang-format`. +* The `scikit-build` packaging examples of [CMake](https://github.com/scikit-build/cmake-python-distributions) and [Ninja](https://github.com/scikit-build/ninja-python-distributions) were very helpful in packaging `clang-format`. +* The CI build process is controlled by [cibuildwheel](https://github.com/pypa/cibuildwheel) which makes building wheels across a number of platforms a pleasant experience (!) + +Special thanks goes to mgevaert who initiated this project and maintained it until 2021. + +We are grateful for the generous provisioning with CI resources that GitHub currently offers to Open Source projects. + + +%package help +Summary: Development documents and examples for clang-format +Provides: python3-clang-format-doc +%description help +# clang-format Python distribution + +[](https://pypi.org/project/clang-format) + +This project packages the `clang-format` utility as a Python package. It allows you to install `clang-format` directly from PyPI: + +``` +python -m pip install clang-format +``` + +This projects intends to release a new PyPI package for each major and minor release of `clang-format`. + +## Use with pipx + +You can use `pipx` to run clang-format, as well. For example, `pipx run clang-format <args>` will run clang-format without any previous install required on any machine with pipx (including all default GitHub Actions / Azure runners, avoiding requiring a pre-install step or even `actions/setup-python`). + +## Use from pre-commit + +A [pre-commit](https://pre-commit.com) hook is also [provided](https://github.com/pre-commit/mirrors-clang-format), use like this: + +```yaml +- repo: https://github.com/pre-commit/mirrors-clang-format + rev: v16.0.1 + hooks: + - id: clang-format + types_or: [c++, c, cuda] +``` + +In contrast to many other pre-commit hooks, the versioning of the hook matches the versioning of `clang-format`. + +If you are required to stick with a given major/minor version of `clang-format` with your pre-commit-hook, you can use [this alternative hook repository](https://github.com/ssciwr/clang-format-hook) that also receives backports of older versions of clang-format. +Currently, all major/minor versions of LLVM >= 10 are supported. +It is best to subscribe to releases of the hook repository to get notified of new backport releases, as `pre-commit`'s auto-upgrade functionality will not work in that case. + +## Building new releases + +The [clang-format-wheel repository](https://github.com/ssciwr/clang-format-wheel) provides the logic to build and publish binary wheels of the `clang-format` utility. + +In order to add a new release, the following steps are necessary: + +* Edit the [version file](https://github.com/ssciwr/clang-format-wheel/blob/main/clang-format_version.cmake) to reflect the new version. +* Make a GitHub release to trigger the [GitHub Actions release workflow](https://github.com/ssciwr/clang-format-wheel/actions/workflows/release.yml). Alternatively, the workflow can be triggered manually. + +On manual triggers, the following input variables are available: +* `use_qemu`: Whether to build targets that require emulation (default: `true`) +* `llvm_version`: Override the LLVM version (default: `""`) +* `wheel_version`: Override the wheel packaging version (default `"0"`) +* `deploy_to_testpypi`: Whether to deploy to TestPyPI instead of PyPI (default: `false`) + +The repository with the precommit hook is automatically updated using a scheduled Github Actions workflow. + +## Acknowledgements + +This repository extends the great work of several other projects: + +* `clang-format` itself is [provided by the LLVM project](https://github.com/llvm/llvm-project) under the Apache 2.0 License with LLVM exceptions. +* The build logic is based on [scikit-build](https://github.com/scikit-build/scikit-build) which greatly reduces the amount of low level code necessary to package `clang-format`. +* The `scikit-build` packaging examples of [CMake](https://github.com/scikit-build/cmake-python-distributions) and [Ninja](https://github.com/scikit-build/ninja-python-distributions) were very helpful in packaging `clang-format`. +* The CI build process is controlled by [cibuildwheel](https://github.com/pypa/cibuildwheel) which makes building wheels across a number of platforms a pleasant experience (!) + +Special thanks goes to mgevaert who initiated this project and maintained it until 2021. + +We are grateful for the generous provisioning with CI resources that GitHub currently offers to Open Source projects. + + +%prep +%autosetup -n clang-format-16.0.1 + +%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-clang-format -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 16.0.1-1 +- Package Spec generated @@ -0,0 +1 @@ +de6febf92a8eda3c23b826f5942c3ca6 clang-format-16.0.1.tar.gz |