rainbowstream: purify (close #8791)
This obviates the need for `cc` to be available at run time.
This commit is contained in:
parent
1fee4ce381
commit
617c5fcaf0
18
pkgs/development/python-modules/rainbowstream/image.patch
Normal file
18
pkgs/development/python-modules/rainbowstream/image.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/rainbowstream/c_image.py b/rainbowstream/c_image.py
|
||||||
|
index f050150..a0fb77d 100644
|
||||||
|
--- a/rainbowstream/c_image.py
|
||||||
|
+++ b/rainbowstream/c_image.py
|
||||||
|
@@ -12,11 +12,7 @@ def call_c():
|
||||||
|
"""
|
||||||
|
Call the C program for converting RGB to Ansi colors
|
||||||
|
"""
|
||||||
|
- library = expanduser('~/.image.so')
|
||||||
|
- sauce = join(dirname(__file__), 'image.c')
|
||||||
|
- if not exists(library) or getmtime(sauce) > getmtime(library):
|
||||||
|
- build = "cc -fPIC -shared -o %s %s" % (library, sauce)
|
||||||
|
- os.system(build + " >/dev/null 2>&1")
|
||||||
|
+ library = '@CLIB@'
|
||||||
|
image_c = ctypes.cdll.LoadLibrary(library)
|
||||||
|
image_c.init()
|
||||||
|
return image_c.rgb_to_ansi
|
||||||
|
|
@ -7505,11 +7505,23 @@ let
|
|||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
../development/python-modules/rainbowstream/image.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
clib=$out/${python.sitePackages}/rainbowstream/image.so
|
||||||
|
substituteInPlace rainbowstream/c_image.py \
|
||||||
|
--replace @CLIB@ $clib
|
||||||
|
'';
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
export LC_ALL="en_US.UTF-8"
|
export LC_ALL="en_US.UTF-8"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cc -fPIC -shared -o $clib rainbowstream/image.c
|
||||||
for prog in "$out/bin/"*; do
|
for prog in "$out/bin/"*; do
|
||||||
wrapProgram "$prog" \
|
wrapProgram "$prog" \
|
||||||
--prefix PYTHONPATH : "$PYTHONPATH"
|
--prefix PYTHONPATH : "$PYTHONPATH"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user