56 lines
1.9 KiB
Nix
56 lines
1.9 KiB
Nix
{ stdenv, fetchurl, python, pythonPackages, libxslt, libxml2, makeWrapper }:
|
||
|
||
let
|
||
rev = "9de21094a8cf565bdfcf75688e121a5ad1f5397b";
|
||
in
|
||
|
||
stdenv.mkDerivation rec {
|
||
name = "venus-${rev}";
|
||
|
||
src = fetchurl {
|
||
url = "https://github.com/rubys/venus/tarball/${rev}";
|
||
name = "${name}.tar.bz";
|
||
sha256 = "0lsc9d83grbi3iwm8ppaig4h9vbmd5h4vvz83lmpnyp7zqfka7dy";
|
||
};
|
||
|
||
preConfigure = ''
|
||
substituteInPlace tests/test_spider.py \
|
||
--replace "urllib.urlopen('http://127.0.0.1:%d/' % _PORT).read()" "" \
|
||
--replace "[200,200,200,200,404]" "[200,200,200,404]"
|
||
substituteInPlace planet.py \
|
||
--replace "#!/usr/bin/env python" "#!${python}/bin/python"
|
||
substituteInPlace tests/test_apply.py \
|
||
--replace "'xsltproc" "'${libxslt}/bin/xsltproc"
|
||
substituteInPlace planet/shell/xslt.py \
|
||
--replace "'xsltproc" "'${libxslt}/bin/xsltproc"
|
||
'';
|
||
|
||
doCheck = true;
|
||
checkPhase = "python runtests.py";
|
||
|
||
buildInputs = [ python python.modules.bsddb libxslt
|
||
libxml2 pythonPackages.genshi pythonPackages.lxml makeWrapper ];
|
||
|
||
installPhase = ''
|
||
mkdir -p $out/bin
|
||
cp -R ./* $out/
|
||
ln -s $out/planet.py $out/bin/venus-planet
|
||
wrapProgram $out/planet.py \
|
||
--prefix PYTHONPATH : $PYTHONPATH:${pythonPackages.lxml}/lib/${python.libPrefix}/site-packages:${pythonPackages.genshi}/lib/${python.libPrefix}/site-packages
|
||
python runtests.py
|
||
'';
|
||
|
||
meta = {
|
||
description = "News feed reader";
|
||
longDescription = ''
|
||
Planet Venus is an awesome ‘river of news’ feed reader. It downloads news
|
||
feeds published by web sites and aggregates their content together into a
|
||
single combined feed, latest news first.
|
||
'';
|
||
homepage = "http://intertwingly.net/code/venus/docs/index.html";
|
||
license = stdenv.lib.licenses.psfl;
|
||
platforms = stdenv.lib.platforms.all;
|
||
maintainers = [ stdenv.lib.maintainers.garbas ];
|
||
};
|
||
}
|