From e77c7882968645ab066dc3d69b3eba83a3ff3e0b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Sun, 8 Mar 2020 14:40:45 +0100 Subject: [PATCH] Upgrade weboob --- overlays/weboob/default.nix | 19 ++++------- overlays/weboob/weboob.nix | 67 +++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 13 deletions(-) create mode 100644 overlays/weboob/weboob.nix diff --git a/overlays/weboob/default.nix b/overlays/weboob/default.nix index d0a15a7..6e5656b 100644 --- a/overlays/weboob/default.nix +++ b/overlays/weboob/default.nix @@ -1,15 +1,8 @@ self: super: { - weboob = (self.pythonPackages.weboob.overridePythonAttrs { - setupPyBuildFlags = [ "--no-qt" "--xdg" ]; - }).overrideAttrs (old: rec { - version = "1.5"; - src = self.fetchurl { - url = "https://git.weboob.org/weboob/weboob/-/archive/${version}/${old.pname}-${version}.tar.gz"; - sha256 = "0l6q5nm5g0zn6gmf809059kddrbds27wgygxsfkqja9blks5vq7z"; - }; - postInstall = ''${old.postInstall or ""} - mkdir -p $out/share/bash-completion/completions/ - cp tools/weboob_bash_completion $out/share/bash-completion/completions/weboob - ''; - }); + weboob = self.callPackage ./weboob.nix { + inherit (super.python3Packages) buildPythonPackage fetchPypi nose + pillow prettytable pyyaml dateutil gdata requests feedparser lxml + pyqt5 simplejson cssselect pdfminer termcolor + google_api_python_client unidecode Babel html5lib html2text; + }; } diff --git a/overlays/weboob/weboob.nix b/overlays/weboob/weboob.nix new file mode 100644 index 0000000..faafbc4 --- /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; + }; +} + -- 2.41.0