1{ stdenv
2, buildPythonPackage
3, fetchPypi
4, python
5, pkgs
6, pillow
7, twitter
8, pyfiglet
9, requests
10, arrow
11, dateutil
12, pysocks
13, pocket
14}:
15
16buildPythonPackage rec {
17 pname = "rainbowstream";
18 version = "1.5.2";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "527d39778c55d88300fe2017913341bfa1b1f0ffdc1fe5eab57a82bf4cd2edb3";
23 };
24
25 patches = [ ./image.patch ];
26
27 postPatch = ''
28 clib=$out/${python.sitePackages}/rainbowstream/image.so
29 substituteInPlace rainbowstream/c_image.py \
30 --replace @CLIB@ $clib
31 sed -i 's/requests.*"/requests"/' setup.py
32 '';
33
34 LC_ALL="en_US.UTF-8";
35
36 postInstall = ''
37 mkdir -p $out/lib
38 cc -fPIC -shared -o $clib rainbowstream/image.c
39 for prog in "$out/bin/"*; do
40 wrapProgram "$prog" \
41 --prefix PYTHONPATH : "$PYTHONPATH"
42 done
43 '';
44
45 buildInputs = [ pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales pillow twitter pyfiglet requests arrow dateutil pysocks pocket ];
46
47 meta = with stdenv.lib; {
48 description = "Streaming command-line twitter client";
49 homepage = "http://www.rainbowstream.org/";
50 license = licenses.mit;
51 maintainers = with maintainers; [ thoughtpolice ];
52 };
53
54}