summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 20:06:33 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 20:06:33 +0000
commitefab826adce945becef9ac2bd80984b9f02d9152 (patch)
tree628d5e242456c8b7094088b9dd1344f734f95cab
parent0bdf0844d33ed5ed27f03c346af5b8965a938c0e (diff)
automatic import of python-clang-format
-rw-r--r--.gitignore1
-rw-r--r--python-clang-format.spec263
-rw-r--r--sources1
3 files changed, 265 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..16fd116 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
+
+[![PyPI Release](https://img.shields.io/pypi/v/clang-format.svg)](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
+
+[![PyPI Release](https://img.shields.io/pypi/v/clang-format.svg)](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
+
+[![PyPI Release](https://img.shields.io/pypi/v/clang-format.svg)](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
diff --git a/sources b/sources
new file mode 100644
index 0000000..fcb96d5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+de6febf92a8eda3c23b826f5942c3ca6 clang-format-16.0.1.tar.gz