summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-chiabip158.spec335
-rw-r--r--sources1
3 files changed, 337 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..1a1ca07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/chiabip158-1.2.tar.gz
diff --git a/python-chiabip158.spec b/python-chiabip158.spec
new file mode 100644
index 0000000..9ec4065
--- /dev/null
+++ b/python-chiabip158.spec
@@ -0,0 +1,335 @@
+%global _empty_manifest_terminate_build 0
+Name: python-chiabip158
+Version: 1.2
+Release: 1
+Summary: Chia BIP158 (wraps C++)
+License: Apache License
+URL: https://github.com/Chia-Network/chiabip158
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a7/4e/4030772df8f49cbacf516792f7dba2cc0ea8f3834eadccb7abb955861dc2/chiabip158-1.2.tar.gz
+
+
+%description
+# Chia BIP158
+
+![Build](https://github.com/Chia-Network/chiabip158/workflows/Build/badge.svg)
+![PyPI](https://img.shields.io/pypi/v/chiabip158?logo=pypi)
+![PyPI - Format](https://img.shields.io/pypi/format/chiabip158?logo=pypi)
+![GitHub](https://img.shields.io/github/license/Chia-Network/chiabip158?logo=Github)
+
+[![Total alerts](https://img.shields.io/lgtm/alerts/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/alerts/)
+[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/context:python)
+[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/context:cpp)
+
+This implements the compact block filter construction in BIP 158. The code is
+not used anywhere in the Bitcoin Core code base yet. The next step towards
+BIP 157 support would be to create an indexing module similar to TxIndex that
+constructs the basic and extended filters for each validated block.
+
+## Install
+
+```bash
+python3 -m venv venv
+. venv/bin/activate
+pip3 install .
+```
+
+## Run python tests
+
+```bash
+python3 tests/simple_test.py
+```
+
+## Installation steps on a fresh OSX image
+
+Install brew:
+
+```bash
+ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+
+brew install python3
+brew install boost
+```
+
+At this point the only error is can’t find boost_thread lib
+
+The issue is the homebrew boost ships libboost_thread-mt libs but doesn’t
+include plain libboost_thread, so clang can’t find it. Interestingly, homebrew
+boost does have both plain and -mt files for the libboost_system libraries.
+
+```bash
+$ find /usr/local/lib/ | grep boost_thread
+libboost_thread-mt.a
+libboost_thread-mt.dylib
+```
+
+Solution, with no guarantees that this is "the Right Way to do things", but
+appears to work fine for the configure stage:
+
+```bash
+cd /usr/local/lib
+ln -s libboost_thread-mt.a libboost_thread.a
+ln -s libboost_thread-mt.dylib libboost_thread.dylib
+```
+
+## ci Building
+
+The primary build process for this repository is to use GitHub Actions to
+build binary wheels for MacOS, Linux (x64 and aarch64), and Windows and publish
+them with a source wheel on PyPi. See `.github/workflows/build.yml`. CMake uses
+[FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html)
+to download [pybind11](https://github.com/pybind/pybind11). Building is then
+managed by [cibuildwheel](https://github.com/joerick/cibuildwheel). Further
+installation is then available via `pip install chiabip158` e.g.
+
+## Contributing and workflow
+
+Contributions are welcome and more details are available in chia-blockchain's
+[CONTRIBUTING.md](https://github.com/Chia-Network/chia-blockchain/blob/master/CONTRIBUTING.md).
+
+The master branch is usually the currently released latest version on PyPI.
+Note that at times chiabip158 will be ahead of the release version that
+chia-blockchain requires in it's master/release version in preparation for a
+new chia-blockchain release. Please branch or fork master and then create a
+pull request to the master branch. Linear merging is enforced on master and
+merging requires a completed review. PRs will kick off a GitHub actions ci
+build and analysis of chiabip158 at
+[lgtm.com](https://lgtm.com/projects/g/Chia-Network/chiabip158/?mode=list).
+Please make sure your build is passing and that it does not increase alerts
+at lgtm.
+
+
+%package -n python3-chiabip158
+Summary: Chia BIP158 (wraps C++)
+Provides: python-chiabip158
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+BuildRequires: python3-cffi
+BuildRequires: gcc
+BuildRequires: gdb
+%description -n python3-chiabip158
+# Chia BIP158
+
+![Build](https://github.com/Chia-Network/chiabip158/workflows/Build/badge.svg)
+![PyPI](https://img.shields.io/pypi/v/chiabip158?logo=pypi)
+![PyPI - Format](https://img.shields.io/pypi/format/chiabip158?logo=pypi)
+![GitHub](https://img.shields.io/github/license/Chia-Network/chiabip158?logo=Github)
+
+[![Total alerts](https://img.shields.io/lgtm/alerts/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/alerts/)
+[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/context:python)
+[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/context:cpp)
+
+This implements the compact block filter construction in BIP 158. The code is
+not used anywhere in the Bitcoin Core code base yet. The next step towards
+BIP 157 support would be to create an indexing module similar to TxIndex that
+constructs the basic and extended filters for each validated block.
+
+## Install
+
+```bash
+python3 -m venv venv
+. venv/bin/activate
+pip3 install .
+```
+
+## Run python tests
+
+```bash
+python3 tests/simple_test.py
+```
+
+## Installation steps on a fresh OSX image
+
+Install brew:
+
+```bash
+ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+
+brew install python3
+brew install boost
+```
+
+At this point the only error is can’t find boost_thread lib
+
+The issue is the homebrew boost ships libboost_thread-mt libs but doesn’t
+include plain libboost_thread, so clang can’t find it. Interestingly, homebrew
+boost does have both plain and -mt files for the libboost_system libraries.
+
+```bash
+$ find /usr/local/lib/ | grep boost_thread
+libboost_thread-mt.a
+libboost_thread-mt.dylib
+```
+
+Solution, with no guarantees that this is "the Right Way to do things", but
+appears to work fine for the configure stage:
+
+```bash
+cd /usr/local/lib
+ln -s libboost_thread-mt.a libboost_thread.a
+ln -s libboost_thread-mt.dylib libboost_thread.dylib
+```
+
+## ci Building
+
+The primary build process for this repository is to use GitHub Actions to
+build binary wheels for MacOS, Linux (x64 and aarch64), and Windows and publish
+them with a source wheel on PyPi. See `.github/workflows/build.yml`. CMake uses
+[FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html)
+to download [pybind11](https://github.com/pybind/pybind11). Building is then
+managed by [cibuildwheel](https://github.com/joerick/cibuildwheel). Further
+installation is then available via `pip install chiabip158` e.g.
+
+## Contributing and workflow
+
+Contributions are welcome and more details are available in chia-blockchain's
+[CONTRIBUTING.md](https://github.com/Chia-Network/chia-blockchain/blob/master/CONTRIBUTING.md).
+
+The master branch is usually the currently released latest version on PyPI.
+Note that at times chiabip158 will be ahead of the release version that
+chia-blockchain requires in it's master/release version in preparation for a
+new chia-blockchain release. Please branch or fork master and then create a
+pull request to the master branch. Linear merging is enforced on master and
+merging requires a completed review. PRs will kick off a GitHub actions ci
+build and analysis of chiabip158 at
+[lgtm.com](https://lgtm.com/projects/g/Chia-Network/chiabip158/?mode=list).
+Please make sure your build is passing and that it does not increase alerts
+at lgtm.
+
+
+%package help
+Summary: Development documents and examples for chiabip158
+Provides: python3-chiabip158-doc
+%description help
+# Chia BIP158
+
+![Build](https://github.com/Chia-Network/chiabip158/workflows/Build/badge.svg)
+![PyPI](https://img.shields.io/pypi/v/chiabip158?logo=pypi)
+![PyPI - Format](https://img.shields.io/pypi/format/chiabip158?logo=pypi)
+![GitHub](https://img.shields.io/github/license/Chia-Network/chiabip158?logo=Github)
+
+[![Total alerts](https://img.shields.io/lgtm/alerts/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/alerts/)
+[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/context:python)
+[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/Chia-Network/chiabip158.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Chia-Network/chiabip158/context:cpp)
+
+This implements the compact block filter construction in BIP 158. The code is
+not used anywhere in the Bitcoin Core code base yet. The next step towards
+BIP 157 support would be to create an indexing module similar to TxIndex that
+constructs the basic and extended filters for each validated block.
+
+## Install
+
+```bash
+python3 -m venv venv
+. venv/bin/activate
+pip3 install .
+```
+
+## Run python tests
+
+```bash
+python3 tests/simple_test.py
+```
+
+## Installation steps on a fresh OSX image
+
+Install brew:
+
+```bash
+ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+
+brew install python3
+brew install boost
+```
+
+At this point the only error is can’t find boost_thread lib
+
+The issue is the homebrew boost ships libboost_thread-mt libs but doesn’t
+include plain libboost_thread, so clang can’t find it. Interestingly, homebrew
+boost does have both plain and -mt files for the libboost_system libraries.
+
+```bash
+$ find /usr/local/lib/ | grep boost_thread
+libboost_thread-mt.a
+libboost_thread-mt.dylib
+```
+
+Solution, with no guarantees that this is "the Right Way to do things", but
+appears to work fine for the configure stage:
+
+```bash
+cd /usr/local/lib
+ln -s libboost_thread-mt.a libboost_thread.a
+ln -s libboost_thread-mt.dylib libboost_thread.dylib
+```
+
+## ci Building
+
+The primary build process for this repository is to use GitHub Actions to
+build binary wheels for MacOS, Linux (x64 and aarch64), and Windows and publish
+them with a source wheel on PyPi. See `.github/workflows/build.yml`. CMake uses
+[FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html)
+to download [pybind11](https://github.com/pybind/pybind11). Building is then
+managed by [cibuildwheel](https://github.com/joerick/cibuildwheel). Further
+installation is then available via `pip install chiabip158` e.g.
+
+## Contributing and workflow
+
+Contributions are welcome and more details are available in chia-blockchain's
+[CONTRIBUTING.md](https://github.com/Chia-Network/chia-blockchain/blob/master/CONTRIBUTING.md).
+
+The master branch is usually the currently released latest version on PyPI.
+Note that at times chiabip158 will be ahead of the release version that
+chia-blockchain requires in it's master/release version in preparation for a
+new chia-blockchain release. Please branch or fork master and then create a
+pull request to the master branch. Linear merging is enforced on master and
+merging requires a completed review. PRs will kick off a GitHub actions ci
+build and analysis of chiabip158 at
+[lgtm.com](https://lgtm.com/projects/g/Chia-Network/chiabip158/?mode=list).
+Please make sure your build is passing and that it does not increase alerts
+at lgtm.
+
+
+%prep
+%autosetup -n chiabip158-1.2
+
+%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-chiabip158 -f filelist.lst
+%dir %{python3_sitearch}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..d60c256
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a25745a8da67c598f26fddf2d02c44be chiabip158-1.2.tar.gz