X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/b25a2f90428a1e7fda03c77fcee8ed0fa3b22555..5f230208bb5e858cfeadb3d9c822579d2b7b8300:/default.nix?ds=sidebyside diff --git a/default.nix b/default.nix index affb068..bb2d87e 100644 --- a/default.nix +++ b/default.nix @@ -1,19 +1,30 @@ { pkgs ? import { }, lint ? false }: -pkgs.python3Packages.callPackage -({ lib, buildPythonPackage, autopep8, mypy, pylint, requests, types-requests }: +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 ./.; - propagatedBuildInputs = [ requests ]; - nativeCheckInputs = [ mypy types-requests ] + 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; }