71 lines
1.8 KiB
Nix
71 lines
1.8 KiB
Nix
{
|
|
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;
|
|
};
|
|
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";
|
|
version = "0.2";
|
|
pyproject = true;
|
|
propagatedBuildInputs = [
|
|
pymupdf
|
|
pillow
|
|
requests
|
|
dlsite-async
|
|
jinja2
|
|
importlib-resources
|
|
setuptools
|
|
libsixel
|
|
(rarfile.override { useUnrar = true; })
|
|
pyuca
|
|
];
|
|
src = ./.;
|
|
};
|
|
default = dlibrary;
|
|
};
|
|
};
|
|
}
|