working flake build

main
xenofem 2024-01-21 17:46:28 -05:00
parent ecc110460a
commit 677838392f
4 changed files with 100 additions and 0 deletions

27
flake.lock Normal file
View File

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1705677747,
"narHash": "sha256-eyM3okYtMgYDgmYukoUzrmuoY4xl4FUujnsv/P6I/zI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bbe7d8f876fbbe7c959c90ba2ae2852220573261",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

61
flake.nix Normal file
View File

@ -0,0 +1,61 @@
{
description = "DLSite download organizer";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = { self, nixpkgs }: let
pkgs = import nixpkgs {
system = "x86_64-linux";
};
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.1";
propagatedBuildInputs = [
pymupdf
requests
dlsite-async
];
src = ./.;
};
};
defaultPackage.x86_64-linux = self.packages.x86_64-linux.dlibrary;
};
}

3
requirements.txt Normal file
View File

@ -0,0 +1,3 @@
requests
PyMuPDF
dlsite-async

9
setup.py Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(name='dlibrary',
version='0.1',
packages=find_packages(),
scripts=["dlibrary.py"],
)