1{
2 fetchurl,
3 lib,
4 stdenv,
5 buildEnv,
6 roundcube,
7 roundcubePlugins,
8 nixosTests,
9}:
10
11stdenv.mkDerivation rec {
12 pname = "roundcube";
13 version = "1.6.11";
14
15 src = fetchurl {
16 url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
17 sha256 = "sha256-ojDkMgZVVb+ie+o/z0rGcvI1nvKK2E9ZReo8z3AudGY=";
18 };
19
20 patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
21
22 dontBuild = true;
23
24 # FIXME: this should be removed after upstream releases the update forcing the use of public_html.
25 dontCheckForBrokenSymlinks = true;
26
27 installPhase = ''
28 mkdir $out
29 cp -r * $out/
30 ln -sf /etc/roundcube/config.inc.php $out/config/config.inc.php
31 rm -rf $out/installer
32 # shut up updater
33 rm $out/composer.json-dist
34 '';
35
36 passthru.withPlugins =
37 f:
38 buildEnv {
39 name = "${roundcube.name}-with-plugins";
40 paths = (f roundcubePlugins) ++ [ roundcube ];
41 };
42
43 passthru.tests = { inherit (nixosTests) roundcube; };
44
45 meta = {
46 description = "Open Source Webmail Software";
47 maintainers = with lib.maintainers; [
48 vskilet
49 globin
50 ma27
51 ];
52 license = lib.licenses.gpl3;
53 platforms = lib.platforms.all;
54 };
55}