biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / networking / seahub / default.nix
blob0e92e996aaa66bc7f7cddf452d9085bb3ec2ddcc
1 { lib
2 , fetchFromGitHub
3 , fetchpatch
4 , python3
5 , makeWrapper
6 , nixosTests
7 }:
8 let
9   python = python3.override {
10     packageOverrides = self: super: {
11       django = super.django_3;
12     };
13   };
15 python.pkgs.buildPythonApplication rec {
16   pname = "seahub";
17   version = "10.0.1";
18   pyproject = false;
20   src = fetchFromGitHub {
21     owner = "haiwen";
22     repo = "seahub";
23     rev = "e8c02236c0eaca6dde009872745f089da4b77e6e"; # using a fixed revision because upstream may re-tag releases :/
24     sha256 = "sha256-7JXWKEFqCsC+ZByhvyP8AmDpajT3hpgyYDNUqc3wXyg=";
25   };
27   patches = [
28     (fetchpatch {
29       # PIL update fix
30       url = "https://patch-diff.githubusercontent.com/raw/haiwen/seahub/pull/5570.patch";
31       sha256 = "sha256-7V2aRlacJ7Qhdi9k4Bs+t/Emx+EAM/NNCI+K40bMwLA=";
32     })
33   ];
35   dontBuild = true;
37   doCheck = false; # disabled because it requires a ccnet environment
39   nativeBuildInputs = [
40     makeWrapper
41   ];
43   propagatedBuildInputs = with python.pkgs; [
44     django
45     future
46     django-compressor
47     django-statici18n
48     django-webpack-loader
49     django-simple-captcha
50     django-picklefield
51     django-formtools
52     mysqlclient
53     pillow
54     python-dateutil
55     djangorestframework
56     openpyxl
57     requests
58     requests-oauthlib
59     chardet
60     pyjwt
61     pycryptodome
62     qrcode
63     pysearpc
64     seaserv
65     gunicorn
66     markdown
67     bleach
68   ];
70   installPhase = ''
71     cp -dr --no-preserve='ownership' . $out/
72     wrapProgram $out/manage.py \
73       --prefix PYTHONPATH : "$PYTHONPATH:$out/thirdpart:"
74   '';
76   passthru = {
77     inherit python;
78     pythonPath = python.pkgs.makePythonPath propagatedBuildInputs;
79     tests = {
80       inherit (nixosTests) seafile;
81     };
82   };
84   meta = with lib; {
85     description = "The web end of seafile server";
86     homepage = "https://github.com/haiwen/seahub";
87     license = licenses.asl20;
88     maintainers = with maintainers; [ greizgh schmittlauch ];
89     platforms = platforms.linux;
90   };