%global _empty_manifest_terminate_build 0 Name: python-clade Version: 4.0.4 Release: 1 Summary: Clade is a tool for extracting information about software build process and source code License: LICENSE.txt URL: https://github.com/17451k/clade Source0: https://mirrors.aliyun.com/pypi/web/packages/15/57/a026f4af0c498622e78d61de46317935d7de0bdba0e3fddb06b57271cd69/clade-4.0.4.tar.gz Requires: python3-ujson Requires: python3-charset-normalizer Requires: python3-graphviz Requires: python3-ply Requires: python3-pytest Requires: python3-black Requires: python3-flake8 Requires: python3-mypy %description [![GitHub Actions status](https://github.com/17451k/clade/workflows/test/badge.svg)](https://github.com/17451k/clade/actions?query=workflow%3Atest) [![Supported Versions of Python](https://img.shields.io/pypi/pyversions/clade.svg)](https://pypi.org/project/clade) [![PyPI package version](https://img.shields.io/pypi/v/clade.svg)](https://pypi.org/project/clade) # Clade Clade is a tool for intercepting build commands (stuff like compilation, linking, mv, rm, and all other commands that are executed during build). Intercepted commands can be parsed (to search for input and output files, and options) and then used for various purposes: - generating [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html); - obtaining information about dependencies between source and object files; - obtaining information about the source code (source code querying); - generating function call graph; - running software verification tools; - visualization of all collected information; - *and for much more*. The interception of build commands is independent of the project type and used programming languages. However, all other functionality available in Clade **IS** dependent. Currently only C projects are supported, but other languages and additional functionality can be supported through the built-in *extension mechanism*. ## Prerequisites An important part of Clade - a build commands intercepting library - is written in C and it needs to be compiled before use. It will be performed automatically at the installation stage, but you will need to install some prerequisites beforehand: - Python 3 (>=3.5) - pip (Python package manager) - cmake (>=3.3) *Linux only*: - make - C **and** C++ compiler (gcc or clang) - python3-dev (Ubuntu) or python3-devel (openSUSE) package - gcc-multilib (Ubuntu) or gcc-32bit (openSUSE) package to intercept build commands of projects leveraging multilib capabilities *Windows only*: - Microsoft Visual C++ Build Tools Optional dependencies: - For obtaining information about the C code you will need [CIF](https://github.com/17451k/cif) installed. CIF is an interface to [Aspectator](https://github.com/17451k/aspectator) which in turn is a GCC based tool that implements aspect-oriented programming for the C programming language. You may download compiled CIF on [CIF releases](https://github.com/17451k/cif/releases) page. - Graphviz for some visualization capabilities. Clade works on Linux, macOS and partially on Windows. ## Hardware requirements If you want to run Clade on a large project, like the Linux kernel, you will need at least 16GB of RAM and 100GB of free disk space for temporary files. The size of generated data will be approximately 10GB, so the space used for temporary files will be freed at the end. Also several CPU cores are recommended, since in some cases Clade takes twice as long time than a typical build process. ## Installation To install the latest stable version just run the following command: ``` shell $ python3 -m pip install clade ``` ## Documentation Following documentation is available: * [Basic usage](docs/usage.md) * [Available configuration options](docs/configuration.md) * [Troubleshooting](docs/troubleshooting.md) * [Development documentation](docs/dev.md) ## Acknowledgments Clade is inspired by the [Bear](https://github.com/rizsotto/Bear) project created by [László Nagy](https://github.com/rizsotto). %package -n python3-clade Summary: Clade is a tool for extracting information about software build process and source code Provides: python-clade BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip BuildRequires: python3-cffi BuildRequires: gcc BuildRequires: gdb %description -n python3-clade [![GitHub Actions status](https://github.com/17451k/clade/workflows/test/badge.svg)](https://github.com/17451k/clade/actions?query=workflow%3Atest) [![Supported Versions of Python](https://img.shields.io/pypi/pyversions/clade.svg)](https://pypi.org/project/clade) [![PyPI package version](https://img.shields.io/pypi/v/clade.svg)](https://pypi.org/project/clade) # Clade Clade is a tool for intercepting build commands (stuff like compilation, linking, mv, rm, and all other commands that are executed during build). Intercepted commands can be parsed (to search for input and output files, and options) and then used for various purposes: - generating [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html); - obtaining information about dependencies between source and object files; - obtaining information about the source code (source code querying); - generating function call graph; - running software verification tools; - visualization of all collected information; - *and for much more*. The interception of build commands is independent of the project type and used programming languages. However, all other functionality available in Clade **IS** dependent. Currently only C projects are supported, but other languages and additional functionality can be supported through the built-in *extension mechanism*. ## Prerequisites An important part of Clade - a build commands intercepting library - is written in C and it needs to be compiled before use. It will be performed automatically at the installation stage, but you will need to install some prerequisites beforehand: - Python 3 (>=3.5) - pip (Python package manager) - cmake (>=3.3) *Linux only*: - make - C **and** C++ compiler (gcc or clang) - python3-dev (Ubuntu) or python3-devel (openSUSE) package - gcc-multilib (Ubuntu) or gcc-32bit (openSUSE) package to intercept build commands of projects leveraging multilib capabilities *Windows only*: - Microsoft Visual C++ Build Tools Optional dependencies: - For obtaining information about the C code you will need [CIF](https://github.com/17451k/cif) installed. CIF is an interface to [Aspectator](https://github.com/17451k/aspectator) which in turn is a GCC based tool that implements aspect-oriented programming for the C programming language. You may download compiled CIF on [CIF releases](https://github.com/17451k/cif/releases) page. - Graphviz for some visualization capabilities. Clade works on Linux, macOS and partially on Windows. ## Hardware requirements If you want to run Clade on a large project, like the Linux kernel, you will need at least 16GB of RAM and 100GB of free disk space for temporary files. The size of generated data will be approximately 10GB, so the space used for temporary files will be freed at the end. Also several CPU cores are recommended, since in some cases Clade takes twice as long time than a typical build process. ## Installation To install the latest stable version just run the following command: ``` shell $ python3 -m pip install clade ``` ## Documentation Following documentation is available: * [Basic usage](docs/usage.md) * [Available configuration options](docs/configuration.md) * [Troubleshooting](docs/troubleshooting.md) * [Development documentation](docs/dev.md) ## Acknowledgments Clade is inspired by the [Bear](https://github.com/rizsotto/Bear) project created by [László Nagy](https://github.com/rizsotto). %package help Summary: Development documents and examples for clade Provides: python3-clade-doc %description help [![GitHub Actions status](https://github.com/17451k/clade/workflows/test/badge.svg)](https://github.com/17451k/clade/actions?query=workflow%3Atest) [![Supported Versions of Python](https://img.shields.io/pypi/pyversions/clade.svg)](https://pypi.org/project/clade) [![PyPI package version](https://img.shields.io/pypi/v/clade.svg)](https://pypi.org/project/clade) # Clade Clade is a tool for intercepting build commands (stuff like compilation, linking, mv, rm, and all other commands that are executed during build). Intercepted commands can be parsed (to search for input and output files, and options) and then used for various purposes: - generating [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html); - obtaining information about dependencies between source and object files; - obtaining information about the source code (source code querying); - generating function call graph; - running software verification tools; - visualization of all collected information; - *and for much more*. The interception of build commands is independent of the project type and used programming languages. However, all other functionality available in Clade **IS** dependent. Currently only C projects are supported, but other languages and additional functionality can be supported through the built-in *extension mechanism*. ## Prerequisites An important part of Clade - a build commands intercepting library - is written in C and it needs to be compiled before use. It will be performed automatically at the installation stage, but you will need to install some prerequisites beforehand: - Python 3 (>=3.5) - pip (Python package manager) - cmake (>=3.3) *Linux only*: - make - C **and** C++ compiler (gcc or clang) - python3-dev (Ubuntu) or python3-devel (openSUSE) package - gcc-multilib (Ubuntu) or gcc-32bit (openSUSE) package to intercept build commands of projects leveraging multilib capabilities *Windows only*: - Microsoft Visual C++ Build Tools Optional dependencies: - For obtaining information about the C code you will need [CIF](https://github.com/17451k/cif) installed. CIF is an interface to [Aspectator](https://github.com/17451k/aspectator) which in turn is a GCC based tool that implements aspect-oriented programming for the C programming language. You may download compiled CIF on [CIF releases](https://github.com/17451k/cif/releases) page. - Graphviz for some visualization capabilities. Clade works on Linux, macOS and partially on Windows. ## Hardware requirements If you want to run Clade on a large project, like the Linux kernel, you will need at least 16GB of RAM and 100GB of free disk space for temporary files. The size of generated data will be approximately 10GB, so the space used for temporary files will be freed at the end. Also several CPU cores are recommended, since in some cases Clade takes twice as long time than a typical build process. ## Installation To install the latest stable version just run the following command: ``` shell $ python3 -m pip install clade ``` ## Documentation Following documentation is available: * [Basic usage](docs/usage.md) * [Available configuration options](docs/configuration.md) * [Troubleshooting](docs/troubleshooting.md) * [Development documentation](docs/dev.md) ## Acknowledgments Clade is inspired by the [Bear](https://github.com/rizsotto/Bear) project created by [László Nagy](https://github.com/rizsotto). %prep %autosetup -n clade-4.0.4 %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-clade -f filelist.lst %dir %{python3_sitearch}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Jun 09 2023 Python_Bot - 4.0.4-1 - Package Spec generated