SecBSD's official ports repository

This commit is contained in:
purplerain 2023-08-16 22:26:55 +00:00
commit 2c0afcbbf3
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
64331 changed files with 5339189 additions and 0 deletions

View file

@ -0,0 +1,30 @@
COMMENT = capture c-level output in context managers
MODPY_EGG_VERSION = 2.0.1
DISTNAME = wurlitzer-${MODPY_EGG_VERSION}
PKGNAME = py-${DISTNAME}
REVISION = 3
CATEGORIES = devel
HOMEPAGE = https://github.com/minrk/wurlitzer
# MIT
PERMIT_PACKAGE = Yes
MODULES = lang/python
MODPY_PI = Yes
MODPY_PYBUILD = setuptools
MODPY_PYTEST_ARGS = test.py
FLAVORS = python3
FLAVOR = python3
TEST_DEPENDS = devel/py-mock${MODPY_FLAVOR}
pre-configure:
cd ${WRKDIR}; ${CC} ${CFLAGS} ${FILESDIR}/getsize.c -o getsize; \
sed -i "s,SIZE_OF_FILE,$$(./getsize),g" ${WRKSRC}/wurlitzer.py
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
SHA256 (wurlitzer-2.0.1.tar.gz) = 0I8HKKmYRBqsPXoPjNbf7SuiUlFEh4+0lZm3GQhbdUM=
SIZE (wurlitzer-2.0.1.tar.gz) = 10638

View file

@ -0,0 +1,8 @@
#import <stdio.h>
int
main(void)
{
printf("%zu", sizeof(FILE));
return 0;
}

View file

@ -0,0 +1,31 @@
Index: wurlitzer.py
--- wurlitzer.py.orig
+++ wurlitzer.py
@@ -39,13 +39,20 @@ import warnings
libc = ctypes.CDLL(None)
-try:
- c_stdout_p = ctypes.c_void_p.in_dll(libc, 'stdout')
- c_stderr_p = ctypes.c_void_p.in_dll(libc, 'stderr')
-except ValueError: # pragma: no cover
- # libc.stdout is has a funny name on OS X
- c_stdout_p = ctypes.c_void_p.in_dll(libc, '__stdoutp') # pragma: no cover
- c_stderr_p = ctypes.c_void_p.in_dll(libc, '__stderrp') # pragma: no cover
+if sys.platform.startswith('openbsd'):
+ FILE = (ctypes.c_byte * SIZE_OF_FILE)
+ sFType = (FILE * 3)
+ sFArray = sFType.in_dll(libc, '__sF')
+ c_stdout_p = ctypes.pointer(sFArray[1])
+ c_stderr_p = ctypes.pointer(sFArray[2])
+else:
+ try:
+ c_stdout_p = ctypes.c_void_p.in_dll(libc, 'stdout')
+ c_stderr_p = ctypes.c_void_p.in_dll(libc, 'stderr')
+ except ValueError: # pragma: no cover
+ # libc.stdout is has a funny name on OS X
+ c_stdout_p = ctypes.c_void_p.in_dll(libc, '__stdoutp') # pragma: no cover
+ c_stderr_p = ctypes.c_void_p.in_dll(libc, '__stderrp') # pragma: no cover
STDOUT = 2
PIPE = 3

View file

@ -0,0 +1 @@
Capture C-level stdout/stderr pipes in Python.

View file

@ -0,0 +1,12 @@
@conflict py-wurlitzer-*
@pkgpath devel/py-wurlitzer
lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}wurlitzer.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/${MODPY_PYCACHE}wurlitzer.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/wurlitzer-${MODPY_EGG_VERSION}.dist-info/
lib/python${MODPY_VERSION}/site-packages/wurlitzer-${MODPY_EGG_VERSION}.dist-info/LICENSE
lib/python${MODPY_VERSION}/site-packages/wurlitzer-${MODPY_EGG_VERSION}.dist-info/METADATA
lib/python${MODPY_VERSION}/site-packages/wurlitzer-${MODPY_EGG_VERSION}.dist-info/RECORD
lib/python${MODPY_VERSION}/site-packages/wurlitzer-${MODPY_EGG_VERSION}.dist-info/WHEEL
lib/python${MODPY_VERSION}/site-packages/wurlitzer-${MODPY_EGG_VERSION}.dist-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/wurlitzer.py