From 8549e49c1833197f71e62e6d3f51bf72d4338ee2 Mon Sep 17 00:00:00 2001 From: Fabián Heredia Montiel Date: Mon, 12 Dec 2022 11:11:10 -0600 Subject: python2Packages.scandir: revert removal This reverts commit 7d4a0668d26c39bfcd1b40b21b7d169cedbfe9aa. Closes https://github.com/NixOS/nixpkgs/issues/205742 --- .../scandir/add-aarch64-darwin-dirent.patch | 28 ++++++++++++++++++++++ .../python2-modules/scandir/default.nix | 24 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 pkgs/development/python2-modules/scandir/add-aarch64-darwin-dirent.patch create mode 100644 pkgs/development/python2-modules/scandir/default.nix (limited to 'pkgs/development/python2-modules') diff --git a/pkgs/development/python2-modules/scandir/add-aarch64-darwin-dirent.patch b/pkgs/development/python2-modules/scandir/add-aarch64-darwin-dirent.patch new file mode 100644 index 0000000000000..1b35a0b950ce2 --- /dev/null +++ b/pkgs/development/python2-modules/scandir/add-aarch64-darwin-dirent.patch @@ -0,0 +1,28 @@ +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 diff --git a/pkgs/development/python2-modules/scandir/default.nix b/pkgs/development/python2-modules/scandir/default.nix new file mode 100644 index 0000000000000..e712cca8348d1 --- /dev/null +++ b/pkgs/development/python2-modules/scandir/default.nix @@ -0,0 +1,24 @@ +{ 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 ]; + }; +} -- cgit 1.4.1