-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run tests on Python 3.11 as well #411
Conversation
LIEF has a wheel for Python 3.11 since yesterday :) https://github.com/lief-project/LIEF/releases/tag/0.12.3 |
d0296b1
to
4fc3f49
Compare
So hyperscan for Python does not support Python 3.11 and I don't think it will be ready soon given that the maintainer is looking for others to take over (see darvid/python-hyperscan#44). The only thing breaking with Python 3.11 is the absence of I guess we could fork the hyperscan repo to work on 3.11 support and maybe vectorscan support (for ARM) when we have enough bandwidth. |
Chimera is a mess to compile, statically links to PCRE which has to be compiled using their own cmake wrapper without sufficient documentation on how to do it. Tried to add it to Nix as well, but ran into intel/hyperscan#359 at the end so I gave up for the time being. Thought about implementing our own thin wrapper which could be generalized over hyperscan and vectorscan. We don't really use much of the API surface afterall. |
@vlaci works if we pin hyperscan to |
As it is not installable from wheel on Python 3.10+
Here you are :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looked at changes in python-hyperscan between 0.2.0 and 0.3.2, they're only related to packaging with latest hyperscan lib. It's actually a good move to stick to 0.2.0 for stability.
Hey I'm packaging unblob for the AUR and I can't seem to get Here is the PKGBUILD script, I'm using to build _pyname=hyperscan
pkgname=python-${_pyname}-git
pkgver=v0.4.0.r3.g056538c
pkgrel=1
pkgdesc='A CPython extension for the Hyperscan regular expression matching library.'
arch=('any')
url="https://github.com/darvid/python-$_pyname"
license=(GPL)
depends=(python hyperscan)
conflicts=()
provides=(python-hyperscan)
makedepends=(git python-setuptools python-pip python-build python-installer python-wheel poetry python-platformdirs python-poetry-plugin-export)
checkdepends=()
source=("git+https://github.com/darvid/python-$_pyname")
sha256sums=(SKIP)
pkgver() {
cd "python-$_pyname"
git describe --long --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
git -C "${srcdir}/python-${_pyname}" clean -dfx
}
build() {
cd "python-$_pyname"
PYTHON_HYPERSCAN_STATIC=false python -m build --wheel --no-isolation
}
package() {
cd "python-$_pyname"
python -m installer --destdir="$pkgdir" dist/*.whl
} I'm running into the same issue as here, mainly See output of build : ==> Retrieving sources...
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Creating working copy of python-hyperscan git repo...
Cloning into 'python-hyperscan'...
done.
==> Starting prepare()...
==> Starting pkgver()...
==> Starting build()...
* Getting build dependencies for wheel...
* Building wheel...
Package libch was not found in the pkg-config search path.
Perhaps you should add the directory containing `libch.pc'
Traceback (most recent call last):
Package 'libch', required by 'virtual:world', not found
File "/build/python-hyperscan-git/src/python-hyperscan/setup.py", line 29, in <module>
build(setup_kwargs)
File "/build/python-hyperscan-git/src/python-hyperscan/build_hyperscan_extension.py", line 67, in build
pkg_config_options = pkgconfig(["libhs", "libch"], static=static)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/build/python-hyperscan-git/src/python-hyperscan/build_hyperscan_extension.py", line 33, in pkgconfig
subprocess.check_output(
File "/usr/lib/python3.11/subprocess.py", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['pkg-config', '', '--libs-only-l', 'libhs', 'libch']' returned non-zero exit status 1.
Traceback (most recent call last):
File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/poetry/core/masonry/api.py", line 56, in build_wheel
return WheelBuilder.make_in(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 85, in make_in
wb.build(target_dir=directory)
File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 118, in build
self._build(zip_file)
File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 179, in _build
self._run_build_command(setup)
File "/usr/lib/python3.11/site-packages/poetry/core/masonry/builders/wheel.py", line 217, in _run_build_command
subprocess.check_call(
File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', '/build/python-hyperscan-git/src/python-hyperscan/setup.py', 'build', '-b', '/build/python-hyperscan-git/src/python-hyperscan/build']' returned non-zero exit status 1.
ERROR Backend subprocess exited when trying to invoke build_wheel
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /home/username/project/opensource/aur/unblob-git/chroot/zwei/build |
You shouldn't need python-hyperscan, we are using another library, pyperscan now. |
I'll remove this dependency all together then and package pyperscan, thanks |
No description provided.