dlibrary/flake.nix

71 lines
1.8 KiB
Nix
Raw Normal View History

2024-01-21 17:46:28 -05:00
{
description = "DLSite download organizer";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: let
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
2024-01-21 17:46:28 -05:00
};
in {
packages.x86_64-linux = with pkgs.python3Packages; rec {
lxml5 = buildPythonPackage rec {
pname = "lxml";
version = "5.0.1";
format = "setuptools";
src = pkgs.fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/lxml-${version}";
hash = "sha256-RAh93UJiBcRxXSARJvD3o91i+MdelwlaCEK2aVu0joc=";
};
nativeBuildInputs = with pkgs; [ libxml2.dev libxslt.dev cython_3 ];
buildInputs = with pkgs; [ libxml2 libxslt zlib ];
# tests are meant to be ran "in-place" in the same directory as src
doCheck = false;
pythonImportsCheck = [ "lxml" "lxml.etree" ];
};
dlsite-async = buildPythonPackage rec {
pname = "dlsite_async";
version = "0.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-cUhH7eNIoQUKt0nUl+wSGFGbZpKmtwPWyVR2PTJI1co=";
};
pyproject = true;
nativeBuildInputs = [ pkgs.pdm ];
propagatedBuildInputs = [
lxml5
aiohttp
beautifulsoup4
pdm-backend
];
};
dlibrary = buildPythonApplication {
pname = "dlibrary";
2024-02-07 22:33:41 -05:00
version = "0.2";
2024-01-22 22:06:04 -05:00
pyproject = true;
2024-01-21 17:46:28 -05:00
propagatedBuildInputs = [
pymupdf
pillow
2024-01-21 17:46:28 -05:00
requests
dlsite-async
2024-01-22 07:01:41 -05:00
jinja2
2024-01-22 22:06:04 -05:00
importlib-resources
setuptools
libsixel
(rarfile.override { useUnrar = true; })
pyuca
2024-01-21 17:46:28 -05:00
];
src = ./.;
};
default = dlibrary;
2024-01-21 17:46:28 -05:00
};
};
}