Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / seafile-server / default.nix
blob109484c467b4deef4a52e95cd9390e55f939c559
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , pkg-config
5 , python3
6 , autoreconfHook
7 , libuuid
8 , sqlite
9 , glib
10 , libevent
11 , libsearpc
12 , openssl
13 , fuse
14 , libarchive
15 , libjwt
16 , curl
17 , which
18 , vala
19 , cmake
20 , oniguruma
21 , nixosTests
24 let
25   # seafile-server relies on a specific version of libevhtp.
26   # It contains non upstreamed patches and is forked off an outdated version.
27   libevhtp = import ./libevhtp.nix {
28     inherit stdenv lib fetchFromGitHub cmake libevent;
29   };
31 stdenv.mkDerivation rec {
32   pname = "seafile-server";
33   version = "10.0.1";
35   src = fetchFromGitHub {
36     owner = "haiwen";
37     repo = "seafile-server";
38     rev = "db09baec1b88fc131bf4453a808ab63a3fc714c9"; # using a fixed revision because upstream may re-tag releases :/
39     sha256 = "sha256-a5vtJcbnaYzq6/3xmhbWk23BZ+Wil/Tb/q22ML4bDqs=";
40   };
42   nativeBuildInputs = [ autoreconfHook pkg-config ];
44   buildInputs = [
45     libuuid
46     sqlite
47     openssl
48     glib
49     libsearpc
50     libevent
51     python3
52     fuse
53     libarchive
54     libjwt
55     curl
56     which
57     vala
58     libevhtp
59     oniguruma
60   ];
62   postInstall = ''
63     mkdir -p $out/share/seafile/sql
64     cp -r scripts/sql $out/share/seafile
65   '';
67   passthru.tests = {
68     inherit (nixosTests) seafile;
69   };
71   meta = with lib; {
72     description = "File syncing and sharing software with file encryption and group sharing, emphasis on reliability and high performance";
73     homepage = "https://github.com/haiwen/seafile-server";
74     license = licenses.agpl3Plus;
75     platforms = platforms.linux;
76     maintainers = with maintainers; [ greizgh schmittlauch ];
77   };