diff options
Diffstat (limited to 'python-srctools.spec')
-rw-r--r-- | python-srctools.spec | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/python-srctools.spec b/python-srctools.spec new file mode 100644 index 0000000..8c53039 --- /dev/null +++ b/python-srctools.spec @@ -0,0 +1,212 @@ +%global _empty_manifest_terminate_build 0 +Name: python-srctools +Version: 2.3.10 +Release: 1 +Summary: Modules for working with Valve's Source Engine file formats. +License: MIT +URL: https://pypi.org/project/srctools/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a7/8c/8f7deffc6e4d413472dae804418c428530219a123249182dcab9aaef6aa7/srctools-2.3.10.tar.gz + +Requires: python3-attrs +Requires: python3-typing-extensions +Requires: python3-importlib-resources + +%description +# `srctools` + +[](https://srctools.readthedocs.io/en/latest/?badge=latest) + +Modules for working with Valve's Source Engine file formats, as well as a +variety of tools using these. + +## Installation +Simply `pip install srctools`, you'll need Python 3.7+. + +## Core Modules: + +* `math`: Core vector, angles and matrix classes, with Cython accelerated versions. +* `cmdseq`: Reads and writes Hammer's expert compile command list format. +* `filesys`: Allows accessing VPKs, zips, folders etc using a unified interface, +as well as a prioritised chain like the engine's game folder system. +* `logger`: Wrappers around the `logging` module allowing `str.format` interpolation support, among others. +* `const`: Various shared constants and enums. +* `tokenizer`: Cython-accelerated tokenizer for parsing the various text files. +* `binformat`: Some tools for handling binary file formats. + +## File formats: +* `keyvalues`: Reads and writes KeyValues1 property trees. +* `dmx`: Reads and writes DMX / KeyValues2 format files. +* `vmf`: Reads and writes VMF map files. +* `bsp`: Reads and writes compiled BSP maps files. +* `fgd`: Reads and writes FGD entity definitions. +A compressed database of definitions from most games is also included, from [HammerAddons]. +Note that this parses a superset of the FGD format, including "tags" to allow specifying which entities and keyvalues are supported for different engine branches. +* `mdl`: Reads some parts of compiled MDL/VTX/VVD/PHY models. +* `smd`: Reads and writes SMD geometry data. +* `sndscript`: Reads and writes soundscripts. +* `vmt`: Reads and writes VMT material files. +* `vpk`: Reads and writes VPK packages. +* `vtf`: Reads and writes VTF images, including DXT compression. +* `particles`: Reads and writes PCF particle systems. + +## Tools: +* `game`: Parses `gameinfo.txt` files, and handles accessing the searchpaths. +* `instancing`: Implements logic for collapsing `func_instance` into maps. +* `packlist`: Stores a list of files of various types, then computes dependencies recursively. +This also includes a database of resources required by game code for different entity classes. +* `run`: Code to run a compiler, logging the output as it executes while still storing it. + +[HammerAddons]: https://github.com/TeamSpen/HammerAddons + + +%package -n python3-srctools +Summary: Modules for working with Valve's Source Engine file formats. +Provides: python-srctools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-srctools +# `srctools` + +[](https://srctools.readthedocs.io/en/latest/?badge=latest) + +Modules for working with Valve's Source Engine file formats, as well as a +variety of tools using these. + +## Installation +Simply `pip install srctools`, you'll need Python 3.7+. + +## Core Modules: + +* `math`: Core vector, angles and matrix classes, with Cython accelerated versions. +* `cmdseq`: Reads and writes Hammer's expert compile command list format. +* `filesys`: Allows accessing VPKs, zips, folders etc using a unified interface, +as well as a prioritised chain like the engine's game folder system. +* `logger`: Wrappers around the `logging` module allowing `str.format` interpolation support, among others. +* `const`: Various shared constants and enums. +* `tokenizer`: Cython-accelerated tokenizer for parsing the various text files. +* `binformat`: Some tools for handling binary file formats. + +## File formats: +* `keyvalues`: Reads and writes KeyValues1 property trees. +* `dmx`: Reads and writes DMX / KeyValues2 format files. +* `vmf`: Reads and writes VMF map files. +* `bsp`: Reads and writes compiled BSP maps files. +* `fgd`: Reads and writes FGD entity definitions. +A compressed database of definitions from most games is also included, from [HammerAddons]. +Note that this parses a superset of the FGD format, including "tags" to allow specifying which entities and keyvalues are supported for different engine branches. +* `mdl`: Reads some parts of compiled MDL/VTX/VVD/PHY models. +* `smd`: Reads and writes SMD geometry data. +* `sndscript`: Reads and writes soundscripts. +* `vmt`: Reads and writes VMT material files. +* `vpk`: Reads and writes VPK packages. +* `vtf`: Reads and writes VTF images, including DXT compression. +* `particles`: Reads and writes PCF particle systems. + +## Tools: +* `game`: Parses `gameinfo.txt` files, and handles accessing the searchpaths. +* `instancing`: Implements logic for collapsing `func_instance` into maps. +* `packlist`: Stores a list of files of various types, then computes dependencies recursively. +This also includes a database of resources required by game code for different entity classes. +* `run`: Code to run a compiler, logging the output as it executes while still storing it. + +[HammerAddons]: https://github.com/TeamSpen/HammerAddons + + +%package help +Summary: Development documents and examples for srctools +Provides: python3-srctools-doc +%description help +# `srctools` + +[](https://srctools.readthedocs.io/en/latest/?badge=latest) + +Modules for working with Valve's Source Engine file formats, as well as a +variety of tools using these. + +## Installation +Simply `pip install srctools`, you'll need Python 3.7+. + +## Core Modules: + +* `math`: Core vector, angles and matrix classes, with Cython accelerated versions. +* `cmdseq`: Reads and writes Hammer's expert compile command list format. +* `filesys`: Allows accessing VPKs, zips, folders etc using a unified interface, +as well as a prioritised chain like the engine's game folder system. +* `logger`: Wrappers around the `logging` module allowing `str.format` interpolation support, among others. +* `const`: Various shared constants and enums. +* `tokenizer`: Cython-accelerated tokenizer for parsing the various text files. +* `binformat`: Some tools for handling binary file formats. + +## File formats: +* `keyvalues`: Reads and writes KeyValues1 property trees. +* `dmx`: Reads and writes DMX / KeyValues2 format files. +* `vmf`: Reads and writes VMF map files. +* `bsp`: Reads and writes compiled BSP maps files. +* `fgd`: Reads and writes FGD entity definitions. +A compressed database of definitions from most games is also included, from [HammerAddons]. +Note that this parses a superset of the FGD format, including "tags" to allow specifying which entities and keyvalues are supported for different engine branches. +* `mdl`: Reads some parts of compiled MDL/VTX/VVD/PHY models. +* `smd`: Reads and writes SMD geometry data. +* `sndscript`: Reads and writes soundscripts. +* `vmt`: Reads and writes VMT material files. +* `vpk`: Reads and writes VPK packages. +* `vtf`: Reads and writes VTF images, including DXT compression. +* `particles`: Reads and writes PCF particle systems. + +## Tools: +* `game`: Parses `gameinfo.txt` files, and handles accessing the searchpaths. +* `instancing`: Implements logic for collapsing `func_instance` into maps. +* `packlist`: Stores a list of files of various types, then computes dependencies recursively. +This also includes a database of resources required by game code for different entity classes. +* `run`: Code to run a compiler, logging the output as it executes while still storing it. + +[HammerAddons]: https://github.com/TeamSpen/HammerAddons + + +%prep +%autosetup -n srctools-2.3.10 + +%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-srctools -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 2.3.10-1 +- Package Spec generated |