1{ lib 2, arrow 3, buildPythonPackage 4, fetchFromGitHub 5, freetype 6, glibcLocales 7, libjpeg 8, pillow 9, pocket 10, pyfiglet 11, pysocks 12, python 13, python-dateutil 14, requests 15, twitter 16, zlib 17}: 18 19buildPythonPackage rec { 20 pname = "rainbowstream"; 21 version = "1.5.5"; 22 23 src = fetchFromGitHub { 24 owner = "orakaro"; 25 repo = pname; 26 # Request for tagging, https://github.com/orakaro/rainbowstream/issues/314 27 rev = "96141fac10675e0775d703f65a59c4477a48c57e"; 28 sha256 = "0j0qcc428lk9b3l0cr2j418gd6wd5k4160ham2zn2mmdmxn5bldg"; 29 }; 30 31 buildInputs = [ 32 freetype 33 glibcLocales 34 libjpeg 35 zlib 36 ]; 37 38 propagatedBuildInputs = [ 39 arrow 40 pillow 41 pocket 42 pyfiglet 43 pysocks 44 python-dateutil 45 requests 46 twitter 47 ]; 48 49 patches = [ ./image.patch ]; 50 51 postPatch = '' 52 clib=$out/${python.sitePackages}/rainbowstream/image.so 53 substituteInPlace rainbowstream/c_image.py \ 54 --replace @CLIB@ $clib 55 sed -i 's/requests.*"/requests"/' setup.py 56 ''; 57 58 LC_ALL = "en_US.UTF-8"; 59 60 postInstall = '' 61 mkdir -p $out/lib 62 cc -fPIC -shared -o $clib rainbowstream/image.c 63 for prog in "$out/bin/"*; do 64 wrapProgram "$prog" \ 65 --prefix PYTHONPATH : "$PYTHONPATH" 66 done 67 ''; 68 69 # Project has no tests 70 doCheck = false; 71 72 pythonImportsCheck = [ "rainbowstream" ]; 73 74 meta = with lib; { 75 description = "Streaming command-line twitter client"; 76 homepage = "https://github.com/orakaro/rainbowstream"; 77 license = licenses.mit; 78 maintainers = with maintainers; [ thoughtpolice ]; 79 }; 80}