Stuart, Thanks on review, I appreciete it and I'm ok with all your changes.
On Sat, 22 Jun 2024 12:11:14 +0100, Stuart Henderson <s...@spacehopper.org> wrote: > > www/py-aioquic has an issue, IPV6_V6ONLY is neutered on OpenBSD so > it is broken, so I'm not entirely happy importing it as-is (although > mitmproxy itself does work as long as you don't use the quic support). > From src/aioquic/asyncio/client.py: > > --- > loop = asyncio.get_event_loop() > local_host = "::" > > # lookup remote address > infos = await loop.getaddrinfo(host, port, type=socket.SOCK_DGRAM) > addr = infos[0][4] > if len(addr) == 2: > addr = ("::ffff:" + addr[0], addr[1], 0, 0) > --- > > --- > # explicitly enable IPv4/IPv6 dual stack > sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) > completed = False > try: > sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0) > sock.bind((local_host, local_port, 0, 0)) > completed = True > finally: > if not completed: > sock.close() > --- > > Pragmatically, changing the code to use v4 only is probably the sane > thing to do for OpenBSD at this point. Not ideal but likely a lot > simpler than switching it to cope with dual sockets (and there's > precedent for doing that in ports; see e.g. Java). > > Alternatively I guess we could add it with a big fat warning in DESCR > that it's not actually going to work on OpenBSD but is only there to > satisfy the dependency. > I found an issue https://github.com/aiortc/aioquic/issues/459 regarding this, and I had made a fix wchich I sent to upstream as https://github.com/aiortc/aioquic/pull/516. Also, I've included that patch to the port. On my machine I was able to connect google.com without IPv6. And I make an updated tgz with added a patch. Everything else is as it was in yours tgz. > : > : MODPY_EGG_VERSION = 0.3.18 > : DISTNAME = pylsqpack-${MODPY_EGG_VERSION} > : diff --git a/archivers/py-zstandard/pkg/PLIST > b/archivers/py-zstandard/pkg/PLIST > : index 7fdfe25..e157ff6 100644 > : --- a/archivers/py-zstandard/pkg/PLIST > : +++ b/archivers/py-zstandard/pkg/PLIST > : @@ -12,6 +12,7 @@ > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}__init__.${MO > : > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > : > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}backend_cffi.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > : > lib/python${MODPY_VERSION}/site-packages/zstandard/${MODPY_PYCACHE}backend_cffi.${MODPY_PYC_MAGIC_TAG}pyc > : +@so > lib/python${MODPY_VERSION}/site-packages/zstandard/_cffi.${MODPY_PYC_MAGIC_TAG}so > > not sure if this is needed; either way it should either be listed in > PLIST or the file removed zstandard supports different backends, and thanks that catch that I had missed the second one. Technically it works with the first one, but someone may expect to work only with the secodn one. BTW here the third, the rust based one, which is disabled by default. > > : @so > lib/python${MODPY_VERSION}/site-packages/zstandard/backend_c.${MODPY_PYC_MAGIC_TAG}so > : lib/python${MODPY_VERSION}/site-packages/zstandard/backend_cffi.py > : lib/python${MODPY_VERSION}/site-packages/zstandard/py.typed > : diff --git a/security/mitmproxy/Makefile b/security/mitmproxy/Makefile > : index 5fddaf5..7984e96 100644 > : --- a/security/mitmproxy/Makefile > : +++ b/security/mitmproxy/Makefile > : @@ -46,8 +46,6 @@ RUN_DEPENDS = > archivers/py-brotli${MODPY_FLAVOR} \ > : www/py-hyperframe${MODPY_FLAVOR} \ > : www/py-tornado${MODPY_FLAVOR} > : > : -BUILD_DEPENDS = ${RUN_DEPENDS} > : - > > certainly the full set of these is not needed, and it's nice to avoid > unneeded dependency churn in bulk builds - I didn't try on a clean > machine yet but I think we're probably ok with the BDEPs added by > default without that line: > > $ make show=BUILD_DEPENDS > lang/python/3 devel/py-build,python3 devel/py-installer,python3 > devel/py-setuptools,python3 devel/py-wheel,python3 > Well, it was a typo and I mean TEST_DEPENDS, but distributive from the web-site hasn't got tests... it was simple missed pice on cleanup. > : - security/rust-ring > : +BUILD_DEPENDS = security/rust-ring > > I think tb will be a bit sad about this :( > I have no idea that to do without it, because build fails as: [modcargo] moving crates to /usr/ports/pobj/py-mitmproxy_rs-0.5.2-python3/mitmproxy_rs-0.5.2/mitmproxy-rs/modcargo-crates [modcargo] Replacing libsrc for ring-0.16.20 cp: /usr/local/share/ring-0.16.20: No such file or directory -- wbr, Kirill
mitmproxy-with-deps,3.tgz
Description: Binary data