svn commit: r520359 - in head/sysutils/py-scandir: . files
Kubilay Kocak
koobs at FreeBSD.org
Wed Dec 18 05:07:45 UTC 2019
Author: koobs
Date: Wed Dec 18 05:07:44 2019
New Revision: 520359
URL: https://svnweb.freebsd.org/changeset/ports/520359
Log:
sysutils/py-scandir: Fix unicode issues, level up ports compliance
This change fixes tests and likely runtime in certain locale environments
by replace the existing test_scandir.py patch with a backported upstream
patch from PR #109 [1][2], coupled with setting an appropriate locale.
While I'm here:
- Strip shared library and add LICENSE_FILE
Tests now all pass on all Python versions (2.7-3.8)
[1] https://github.com/benhoyt/scandir/pull/109
[2] https://github.com/benhoyt/scandir/issues/122
Approved by: portmgr (blanket: ports compliance, bugfix)
MFH: 2019Q4 (blanket: bugfix)
Added:
head/sysutils/py-scandir/files/patch-scandir.py (contents, props changed)
Deleted:
head/sysutils/py-scandir/files/patch-test_test__scandir.py
Modified:
head/sysutils/py-scandir/Makefile
Modified: head/sysutils/py-scandir/Makefile
==============================================================================
--- head/sysutils/py-scandir/Makefile Wed Dec 18 04:52:14 2019 (r520358)
+++ head/sysutils/py-scandir/Makefile Wed Dec 18 05:07:44 2019 (r520359)
@@ -4,6 +4,7 @@
PORTNAME= scandir
PORTVERSION= 1.10.0
DISTVERSIONPREFIX= v
+PORTREVISION= 1
CATEGORIES= sysutils python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -11,6 +12,7 @@ MAINTAINER= rene at FreeBSD.org
COMMENT= Fast and featureful directory iterator
LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USES= python
USE_PYTHON= autoplist distutils
@@ -18,7 +20,12 @@ USE_PYTHON= autoplist distutils
USE_GITHUB= yes
GH_ACCOUNT= benhoyt
+USE_LOCALE= en_US.UTF-8
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/_scandir.so
+
do-test:
- ${PYTHON_CMD} ${WRKSRC}/test/run_tests.py
+ ${SETENV} ${TEST_ENV} ${PYTHON_CMD} ${WRKSRC}/test/run_tests.py
.include <bsd.port.mk>
Added: head/sysutils/py-scandir/files/patch-scandir.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/py-scandir/files/patch-scandir.py Wed Dec 18 05:07:44 2019 (r520359)
@@ -0,0 +1,28 @@
+# Based on https://github.com/benhoyt/scandir/pull/109
+# TODO: Upstream
+# See: https://github.com/benhoyt/scandir/issues/122
+
+From cfda49a07865097d3fdadc4e321881635ab2f795 Mon Sep 17 00:00:00 2001
+From: "Elias M. Mariani" <marianielias at gmail.com>
+Date: Mon, 6 Aug 2018 12:06:44 -0300
+Subject: [PATCH] Fix dirent.h struct alignment on OpenBSD
+
+--- scandir.py.orig 2019-03-09 17:51:39 UTC
++++ scandir.py
+@@ -432,6 +432,16 @@ elif sys.platform.startswith(('linux', 'darwin', 'suno
+ ('__d_padding', ctypes.c_uint8 * 4),
+ ('d_name', ctypes.c_char * 256),
+ )
++ elif 'freebsd' in sys.platform:
++ _fields_ = (
++ ('d_ino', ctypes.c_uint64),
++ ('d_off', ctypes.c_uint64),
++ ('d_reclen', ctypes.c_uint16),
++ ('d_type', ctypes.c_uint8),
++ ('d_namlen', ctypes.c_uint8),
++ ('__d_padding', ctypes.c_uint8 * 4),
++ ('d_name', ctypes.c_char * 256),
++ )
+ else:
+ _fields_ = (
+ ('d_ino', ctypes.c_uint32), # must be uint32, not ulong
More information about the svn-ports-all
mailing list