summaryrefslogtreecommitdiff
path: root/python-srctools.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-srctools.spec')
-rw-r--r--python-srctools.spec212
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`
+
+[![Documentation Status](https://readthedocs.org/projects/srctools/badge/?version=latest)](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`
+
+[![Documentation Status](https://readthedocs.org/projects/srctools/badge/?version=latest)](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`
+
+[![Documentation Status](https://readthedocs.org/projects/srctools/badge/?version=latest)](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