uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
|
|
@ -0,0 +1,25 @@
|
|||
{ stdenv, python }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "python-recursive-pth-loader";
|
||||
version = "1.0";
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
buildInputs = [ python ];
|
||||
|
||||
patchPhase = "cat ${./sitecustomize.py} > sitecustomize.py";
|
||||
|
||||
buildPhase = "${python}/bin/${python.executable} -m compileall .";
|
||||
|
||||
installPhase =
|
||||
''
|
||||
dst=$out/lib/${python.libPrefix}/site-packages
|
||||
mkdir -p $dst
|
||||
cp sitecustomize.* $dst/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Enable recursive processing of pth files anywhere in sys.path";
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
"""Recursively load pth files in site-packages of sys.path
|
||||
|
||||
- iterate over sys.path
|
||||
- check for pth in dirs that end in site-packages
|
||||
- ignore import statements in pth files
|
||||
- add dirs listed in pth files right after current sys.path element,
|
||||
they will be processed in next iteration
|
||||
"""
|
||||
|
||||
import os
|
||||
import site
|
||||
import sys
|
||||
|
||||
|
||||
for path_idx, sitedir in enumerate(sys.path):
|
||||
# ignore non-site-packages
|
||||
if not sitedir.endswith('site-packages'):
|
||||
continue
|
||||
|
||||
# find pth files
|
||||
try:
|
||||
names = os.listdir(sitedir)
|
||||
except os.error:
|
||||
continue
|
||||
dotpth = os.extsep + "pth"
|
||||
pths = [name for name in names if name.endswith(dotpth)]
|
||||
|
||||
for pth in pths:
|
||||
fullname = os.path.join(sitedir, pth)
|
||||
try:
|
||||
f = open(fullname, "rU")
|
||||
except IOError:
|
||||
continue
|
||||
|
||||
with f:
|
||||
for n, line in enumerate(f):
|
||||
if line.startswith("#"):
|
||||
continue
|
||||
|
||||
if line.startswith(("import ", "import\t")):
|
||||
continue
|
||||
|
||||
line = line.rstrip()
|
||||
dir, dircase = site.makepath(sitedir, line)
|
||||
if not dircase in sys.path:
|
||||
sys.path.insert(path_idx+1, dir)
|
||||
Loading…
Add table
Add a link
Reference in a new issue