Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Dec 2019 05:07:44 +0000 (UTC)
From:      Kubilay Kocak <koobs@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r520359 - in head/sysutils/py-scandir: . files
Message-ID:  <201912180507.xBI57iuY014073@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912180507.xBI57iuY014073>