1{
2 lib,
3 python3,
4 fetchFromGitHub,
5 nixosTests,
6}:
7
8with python3.pkgs;
9buildPythonApplication rec {
10 pname = "pinnwand";
11 version = "1.6.0";
12 pyproject = true;
13
14 src = fetchFromGitHub {
15 owner = "supakeen";
16 repo = pname;
17 tag = "v${version}";
18 hash = "sha256-oB7Dd1iVzGqr+5nG7BfZuwOQUgUnmg6ptQDZPGH7P5E=";
19 };
20
21 build-system = [ pdm-pep517 ];
22
23 dependencies = [
24 click
25 docutils
26 pygments
27 pygments-better-html
28 python-dotenv
29 sqlalchemy
30 token-bucket
31 tomli
32 tornado
33 ];
34
35 nativeCheckInputs = [
36 gitpython
37 pytest-asyncio
38 pytest-cov-stub
39 pytest-html
40 pytest-playwright
41 pytestCheckHook
42 toml
43 urllib3
44 ];
45
46 disabledTestPaths = [
47 # out-of-date browser tests
48 "test/e2e"
49 ];
50
51 __darwinAllowLocalNetworking = true;
52
53 passthru.tests = nixosTests.pinnwand;
54
55 meta = with lib; {
56 changelog = "https://github.com/supakeen/pinnwand/releases/tag/v${version}";
57 description = "Python pastebin that tries to keep it simple";
58 homepage = "https://github.com/supakeen/pinnwand";
59 license = licenses.mit;
60 maintainers = with maintainers; [ hexa ];
61 mainProgram = "pinnwand";
62 platforms = platforms.linux;
63 };
64}