]> git.scottworley.com Git - paperdoorknob/blobdiff - default.nix
Support _ in URLs
[paperdoorknob] / default.nix
index 6331754cffa9704802efea37409ece886c61ba80..bb2d87e986b98702f61a0cd609030d26f81cb0ed 100644 (file)
@@ -1,19 +1,30 @@
 { pkgs ? import <nixpkgs> { }, lint ? false }:
-pkgs.python3Packages.callPackage ({ lib, buildPythonPackage, autopep8, mypy
-  , pylint, requests, requests-cache, 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 requests-cache ];
-    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; }