diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix new file mode 100644 index 00000000000..ff077bd1b01 --- /dev/null +++ b/pkgs/development/python-modules/internetarchive/default.nix @@ -0,0 +1,48 @@ +{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, six, clint, pyyaml, docopt +, requests, jsonpatch, args, schema, responses, backports_csv }: + +buildPythonPackage rec { + + pname = "internetarchive"; + version = "1.7.2"; + name = "${pname}-${version}"; + + # Can't use pypi, data files for tests missing + src = fetchFromGitHub { + owner = "jjjake"; + repo = "internetarchive"; + rev = "v${version}"; + sha256 = "1cijagy22qi8ydrvizqmi1whnc3qr94yk0910lwgpxjywcygggir"; + }; + # It is hardcoded to specific versions, I don't know why. + preConfigure = '' + sed "s/schema>=.*/schema>=0.4.0',/" -i setup.py + sed "/backports.csv/d" -i setup.py + ''; + + #phases = [ "unpackPhase" "configurePhase" "installPhase" "fixupPhase" "installCheckPhase" ]; + buildInputs = [ pytest responses ]; + propagatedBuildInputs = [ + six + clint + pyyaml + docopt + requests + jsonpatch + args + schema + backports_csv + ]; + + # Tests disabled because ia binary doesn't exist when tests run + doCheck = false; + + checkPhase = "pytest tests"; + + + meta = with stdenv.lib; { + description = "A python wrapper for the various Internet Archive APIs"; + homepage = https://github.com/jjjake/internetarchive; + license = licenses.agpl3; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 99175c0c66c..0c2505842cd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6380,27 +6380,7 @@ in { }; }; - internetarchive = let ver = "0.8.3"; in buildPythonPackage rec { - name = "internetarchive-${ver}"; - - src = pkgs.fetchurl { - url = "https://github.com/jjjake/internetarchive/archive/v${ver}.tar.gz"; - sha256 = "0j3l13zvbx50j66l6pnf8y8y8m6gk1sc3yssvfd2scvmv4gnmm8n"; - }; - - # It is hardcoded to specific versions, I don't know why. - preConfigure = '' - sed 's/==/>=/' -i setup.py - ''; - - buildInputs = with self; [ pytest ]; - propagatedBuildInputs = with self; [ six clint pyyaml docopt requests jsonpatch args ]; - - meta = with stdenv.lib; { - description = "A python wrapper for the various Internet Archive APIs"; - homepage = "https://github.com/jjjake/internetarchive"; - }; - }; + internetarchive = callPackage ../development/python-modules/internetarchive {}; jsbeautifier = callPackage ../development/python-modules/jsbeautifier {};