diff options
Diffstat (limited to 'python-bitvector.spec')
-rw-r--r-- | python-bitvector.spec | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/python-bitvector.spec b/python-bitvector.spec new file mode 100644 index 0000000..6643908 --- /dev/null +++ b/python-bitvector.spec @@ -0,0 +1,306 @@ +%global _empty_manifest_terminate_build 0 +Name: python-BitVector +Version: 3.5.0 +Release: 1 +Summary: A memory-efficient packed representation for bit arrays in pure Python +License: Python Software Foundation License +URL: https://engineering.purdue.edu/kak/dist/BitVector-3.5.0.html +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/46/1c/69678b05bcfbafa18d8166aa8ad89d0a57e9b348ac58a7586edc3424b33e/BitVector-3.5.0.tar.gz +BuildArch: noarch + + +%description +Consult the module API page at + + https://engineering.purdue.edu/kak/dist/BitVector-3.5.0.html + +for all information related to this module, including +information regarding the latest changes to the code. The +page at the URL shown above lists all of the module +functionality you can invoke in your own code. + +With regard to the basic purpose of the module, it defines +the BitVector class as a memory-efficient packed +representation for bit arrays. The class comes with a large +number of methods for using the representation in diverse +applications such as computer security, computer vision, +etc. + +**Version 3.5.0** makes the module compatible with Python 3.9 and +also reverts __add__ to its implementation in 3.4.8 to get around +a bug. + +**Version 3.4.9** includes significantly faster implementations +for concatenating and extending bitvectors. + +The class is provided with the following operators/methods: + +- __add__ +- __and__ +- __contains__ +- __eq__, __ne__, __lt__, __le__, __gt__, __ge__ +- __getitem__ +- __iadd__ +- __int__ +- __invert__ +- __iter__ +- __len__ +- __lshift__ +- __or__ +- __rshift__ +- __setitem__ +- __str__ +- __xor__ +- close_file_object +- count_bits +- count_bits_sparse (faster for sparse bit vectors) +- deep_copy +- divide_into_two +- gcd (for greatest common divisor) +- gen_random_bits +- get_bitvector_in_ascii +- get_bitvector_in_hex +- gf_divide_by_modulus (for modular divisions in GF(2^n)) +- gf_MI (for multiplicative inverse in GF(2^n)) +- gf_multiply (for multiplications in GF(2)) +- gf_multiply_modular (for multiplications in GF(2^n)) +- hamming_distance +- int_val (for returning the integer value) +- is_power_of_2 +- is_power_of_2_sparse (faster for sparse bit vectors) +- jaccard_distance +- jaccard_similarity +- length +- min_canonical +- multiplicative_inverse +- next_set_bit +- pad_from_left +- pad_from_right +- permute +- rank_of_bit_set_at_index +- read_bits_from_file +- reset +- reverse +- runs +- set_value +- shift_left (for non-circular left shift) +- shift_right (for non-circular right shift) +- test_for_primality +- unpermute +- write_to_file +- write_bits_to_stream_object + +%package -n python3-BitVector +Summary: A memory-efficient packed representation for bit arrays in pure Python +Provides: python-BitVector +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-BitVector +Consult the module API page at + + https://engineering.purdue.edu/kak/dist/BitVector-3.5.0.html + +for all information related to this module, including +information regarding the latest changes to the code. The +page at the URL shown above lists all of the module +functionality you can invoke in your own code. + +With regard to the basic purpose of the module, it defines +the BitVector class as a memory-efficient packed +representation for bit arrays. The class comes with a large +number of methods for using the representation in diverse +applications such as computer security, computer vision, +etc. + +**Version 3.5.0** makes the module compatible with Python 3.9 and +also reverts __add__ to its implementation in 3.4.8 to get around +a bug. + +**Version 3.4.9** includes significantly faster implementations +for concatenating and extending bitvectors. + +The class is provided with the following operators/methods: + +- __add__ +- __and__ +- __contains__ +- __eq__, __ne__, __lt__, __le__, __gt__, __ge__ +- __getitem__ +- __iadd__ +- __int__ +- __invert__ +- __iter__ +- __len__ +- __lshift__ +- __or__ +- __rshift__ +- __setitem__ +- __str__ +- __xor__ +- close_file_object +- count_bits +- count_bits_sparse (faster for sparse bit vectors) +- deep_copy +- divide_into_two +- gcd (for greatest common divisor) +- gen_random_bits +- get_bitvector_in_ascii +- get_bitvector_in_hex +- gf_divide_by_modulus (for modular divisions in GF(2^n)) +- gf_MI (for multiplicative inverse in GF(2^n)) +- gf_multiply (for multiplications in GF(2)) +- gf_multiply_modular (for multiplications in GF(2^n)) +- hamming_distance +- int_val (for returning the integer value) +- is_power_of_2 +- is_power_of_2_sparse (faster for sparse bit vectors) +- jaccard_distance +- jaccard_similarity +- length +- min_canonical +- multiplicative_inverse +- next_set_bit +- pad_from_left +- pad_from_right +- permute +- rank_of_bit_set_at_index +- read_bits_from_file +- reset +- reverse +- runs +- set_value +- shift_left (for non-circular left shift) +- shift_right (for non-circular right shift) +- test_for_primality +- unpermute +- write_to_file +- write_bits_to_stream_object + +%package help +Summary: Development documents and examples for BitVector +Provides: python3-BitVector-doc +%description help +Consult the module API page at + + https://engineering.purdue.edu/kak/dist/BitVector-3.5.0.html + +for all information related to this module, including +information regarding the latest changes to the code. The +page at the URL shown above lists all of the module +functionality you can invoke in your own code. + +With regard to the basic purpose of the module, it defines +the BitVector class as a memory-efficient packed +representation for bit arrays. The class comes with a large +number of methods for using the representation in diverse +applications such as computer security, computer vision, +etc. + +**Version 3.5.0** makes the module compatible with Python 3.9 and +also reverts __add__ to its implementation in 3.4.8 to get around +a bug. + +**Version 3.4.9** includes significantly faster implementations +for concatenating and extending bitvectors. + +The class is provided with the following operators/methods: + +- __add__ +- __and__ +- __contains__ +- __eq__, __ne__, __lt__, __le__, __gt__, __ge__ +- __getitem__ +- __iadd__ +- __int__ +- __invert__ +- __iter__ +- __len__ +- __lshift__ +- __or__ +- __rshift__ +- __setitem__ +- __str__ +- __xor__ +- close_file_object +- count_bits +- count_bits_sparse (faster for sparse bit vectors) +- deep_copy +- divide_into_two +- gcd (for greatest common divisor) +- gen_random_bits +- get_bitvector_in_ascii +- get_bitvector_in_hex +- gf_divide_by_modulus (for modular divisions in GF(2^n)) +- gf_MI (for multiplicative inverse in GF(2^n)) +- gf_multiply (for multiplications in GF(2)) +- gf_multiply_modular (for multiplications in GF(2^n)) +- hamming_distance +- int_val (for returning the integer value) +- is_power_of_2 +- is_power_of_2_sparse (faster for sparse bit vectors) +- jaccard_distance +- jaccard_similarity +- length +- min_canonical +- multiplicative_inverse +- next_set_bit +- pad_from_left +- pad_from_right +- permute +- rank_of_bit_set_at_index +- read_bits_from_file +- reset +- reverse +- runs +- set_value +- shift_left (for non-circular left shift) +- shift_right (for non-circular right shift) +- test_for_primality +- unpermute +- write_to_file +- write_bits_to_stream_object + +%prep +%autosetup -n BitVector-3.5.0 + +%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-BitVector -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 3.5.0-1 +- Package Spec generated |