X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=overlays%2Fweboob%2Fweboob.nix;fp=overlays%2Fweboob%2Fweboob.nix;h=faafbc4af2ef19ce0cf4cf6de09f230dbf108422;hb=f7d64613e7c2908854778adc81dc21a7763fb91b;hp=0000000000000000000000000000000000000000;hpb=76f014e9de89a963e40ed109d860cd15e54d582b;p=perso%2FImmae%2FConfig%2FNix%2FNUR.git diff --git a/overlays/weboob/weboob.nix b/overlays/weboob/weboob.nix new file mode 100644 index 00000000..faafbc4a --- /dev/null +++ b/overlays/weboob/weboob.nix @@ -0,0 +1,67 @@ +{ buildPythonPackage, fetchurl, fetchPypi, stdenv +, nose, pillow, prettytable, pyyaml, dateutil, gdata +, requests, feedparser, lxml, gnupg, pyqt5 +, libyaml, simplejson, cssselect, pdfminer +, termcolor, google_api_python_client, html2text +, unidecode, html5lib, Babel +}: +let + mechanize = buildPythonPackage rec { + pname = "mechanize"; + version = "0.4.4"; + src = fetchPypi { + inherit version pname; + sha256 = "9fff89e973bdf1aee75a351bd4dde53ca51a7e76944ddeae3ea3b6ad6c46045c"; + }; + propagatedBuildInputs = [ html5lib ]; + doCheck = false; + }; +in + +buildPythonPackage rec { + pname = "weboob"; + version = "2.0"; + + src = fetchurl { + url = "https://symlink.me/attachments/download/356/${pname}-${version}.tar.gz"; + sha256 = "1p0wd6k28s0cdxkrj5s6vmi120w6v5vfxxyddqg7s2xjxv6mbbbm"; + }; + + postPatch = '' + # Disable doctests that require networking: + sed -i -n -e '/^ *def \+pagination *(.*: *$/ { + p; n; p; /"""\|'\'\'\'''/!b + + :loop + n; /^ *\(>>>\|\.\.\.\)/ { h; bloop } + x; /^ *\(>>>\|\.\.\.\)/bloop; x + p; /"""\|'\'\'\'''/b + bloop + }; p' weboob/browser/browsers.py weboob/browser/pages.py + ''; + + postInstall = '' + mkdir -p $out/share/bash-completion/completions/ + cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob + ''; + + checkInputs = [ nose ]; + + nativeBuildInputs = [ pyqt5 ]; + + propagatedBuildInputs = [ pillow prettytable pyyaml dateutil + gdata requests feedparser lxml gnupg pyqt5 libyaml + simplejson cssselect mechanize pdfminer termcolor + google_api_python_client html2text unidecode Babel ]; + + checkPhase = '' + nosetests + ''; + + meta = { + homepage = http://weboob.org; + description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser"; + license = stdenv.lib.licenses.agpl3; + }; +} +