Commit 8549e49c authored by Fabián Heredia Montiel's avatar Fabián Heredia Montiel Committed by Robert Schütz
Browse files

python2Packages.scandir: revert removal

parent 38358880
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
diff --git a/scandir.py b/scandir.py
index 3f602fb..40af3e5 100644
--- a/scandir.py
+++ b/scandir.py
@@ -23,6 +23,7 @@ from os import listdir, lstat, stat, strerror
 from os.path import join, islink
 from stat import S_IFDIR, S_IFLNK, S_IFREG
 import collections
+import platform
 import sys
 
 try:
@@ -432,6 +433,15 @@ elif sys.platform.startswith(('linux', 'darwin', 'sunos5')) or 'bsd' in sys.plat
                     ('__d_padding', ctypes.c_uint8 * 4),
                     ('d_name', ctypes.c_char * 256),
                 )
+            elif 'darwin' in sys.platform and 'arm64' in platform.machine():
+                _fields_ = (
+                    ('d_ino', ctypes.c_uint64),
+                    ('d_off', ctypes.c_uint64),
+                    ('d_reclen', ctypes.c_uint16),
+                    ('d_namlen', ctypes.c_uint16),
+                    ('d_type', ctypes.c_uint8),
+                    ('d_name', ctypes.c_char * 1024),
+                )
             else:
                 _fields_ = (
                     ('d_ino', ctypes.c_uint32),  # must be uint32, not ulong
+24 −0
Original line number Diff line number Diff line
{ lib, python, buildPythonPackage, fetchPypi }:

buildPythonPackage rec {
  pname = "scandir";
  version = "1.10.0";

  src = fetchPypi {
    inherit pname version;
    sha256 = "1bkqwmf056pkchf05ywbnf659wqlp6lljcdb0y88wr9f0vv32ijd";
  };

  patches = [
    ./add-aarch64-darwin-dirent.patch
  ];

  checkPhase = "${python.interpreter} test/run_tests.py";

  meta = with lib; {
    description = "A better directory iterator and faster os.walk()";
    homepage = "https://github.com/benhoyt/scandir";
    license = licenses.gpl3;
    maintainers = with maintainers; [ abbradar ];
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -67,6 +67,8 @@ with self; with super; {

  rpm = disabled super.rpm;

  scandir = callPackage ../development/python2-modules/scandir { };

  sequoia = disabled super.sequoia;

  setuptools = callPackage ../development/python2-modules/setuptools { };