X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/92b11a100bc251b0b13d193b77f25b5f0bce08e7..a5f4539c4cc5954515e1256289784f1b174a5a16:/default.nix diff --git a/default.nix b/default.nix index f73efb5..bb2d87e 100644 --- a/default.nix +++ b/default.nix @@ -1,17 +1,30 @@ { pkgs ? import { }, lint ? false }: -pkgs.python3Packages.callPackage -({ lib, buildPythonPackage, autopep8, mypy, pylint, }: +pkgs.python3Packages.callPackage ({ lib, buildPythonPackage, makeWrapper + , autopep8, mypy, pylint, beautifulsoup4, requests, requests-cache + , texliveFull, types-beautifulsoup4, types-requests, xdg-base-dirs + , pandoc-cli }: buildPythonPackage rec { pname = "paperdoorknob"; - version = "0.0.1"; + version = lib.removeSuffix "'" (lib.removePrefix "paperdoorknob_version = '" + (lib.fileContents ./version.py)); src = lib.cleanSource ./.; - nativeCheckInputs = [ mypy ] ++ lib.optionals lint [ autopep8 pylint ]; + nativeBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = + [ beautifulsoup4 requests requests-cache xdg-base-dirs ]; + nativeCheckInputs = + [ mypy pandoc-cli texliveFull types-beautifulsoup4 types-requests ] + ++ lib.optionals lint [ autopep8 pylint ]; doCheck = true; checkPhase = "./test.sh"; + postInstall = '' + wrapProgram "$out/bin/paperdoorknob" \ + --add-flags "--pandoc=${pandoc-cli}/bin/pandoc" \ + + ''; meta = { description = "A polite glowfic → printable book scraper."; homepage = "https://git.scottworley.com/paperdoorknob"; license = pkgs.lib.licenses.gpl3; maintainers = with pkgs.lib.maintainers; [ chkno ]; }; - }) { } + }) { inherit (pkgs.haskellPackages) pandoc-cli; }