From fffbbb5623649ca7c7b32b74558a26ec5cf11abb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 7 May 2019 10:20:12 +0200 Subject: Add roundcubemail to pkgs --- pkgs/webapps/default.nix | 17 ++++++ pkgs/webapps/roundcubemail/default.nix | 61 ++++++++++++++++++++++ .../plugins/automatic_addressbook/default.nix | 7 +++ .../roundcubemail/plugins/carddav/default.nix | 7 +++ .../roundcubemail/plugins/contextmenu/default.nix | 7 +++ .../plugins/contextmenu_folder/default.nix | 7 +++ .../plugins/html5_notifier/default.nix | 7 +++ .../roundcubemail/plugins/ident_switch/default.nix | 7 +++ .../plugins/message_highlight/default.nix | 7 +++ .../plugins/thunderbird_labels/default.nix | 7 +++ 10 files changed, 134 insertions(+) create mode 100644 pkgs/webapps/roundcubemail/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/carddav/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix create mode 100644 pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix (limited to 'pkgs/webapps') diff --git a/pkgs/webapps/default.nix b/pkgs/webapps/default.nix index f9ecd4f..073905c 100644 --- a/pkgs/webapps/default.nix +++ b/pkgs/webapps/default.nix @@ -50,6 +50,23 @@ rec { phpldapadmin = callPackage ./phpldapadmin {}; rompr = callPackage ./rompr { inherit mylibs; }; + roundcubemail = callPackage ./roundcubemail {}; + roundcubemail-with-plugins-skins = roundcubemail.withPlugins (builtins.attrValues roundcubemail-plugins) (builtins.attrValues roundcubemail-skins); + roundcubemail-skins = let + names = []; + in + lib.attrsets.genAttrs names + (name: callPackage (./roundcubemail/skins + "/${name}") {}); + roundcubemail-plugins = let + names = [ + "automatic_addressbook" "carddav" "contextmenu" + "contextmenu_folder" "html5_notifier" "ident_switch" + "message_highlight" "thunderbird_labels" + ]; + in + lib.attrsets.genAttrs names + (name: callPackage (./roundcubemail/plugins + "/${name}") { buildPlugin = roundcubemail.buildPlugin; }); + yourls = callPackage ./yourls { inherit mylibs; }; yourls-with-plugins = yourls.withPlugins (builtins.attrValues yourls-plugins); yourls-plugins = let diff --git a/pkgs/webapps/roundcubemail/default.nix b/pkgs/webapps/roundcubemail/default.nix new file mode 100644 index 0000000..ba85f37 --- /dev/null +++ b/pkgs/webapps/roundcubemail/default.nix @@ -0,0 +1,61 @@ +{ varDir ? "/var/lib/roundcubemail" +, roundcube_config ? "/etc/roundcube/config.php" +, stdenv, fetchurl }: +let + defaultInstall = '' + mkdir -p $out + cp -R . $out/ + cd $out + if [ -d skins -a -d skins/larry -a ! -d skins/elastic ]; then + ln -s larry skins/elastic + fi + ''; + buildPlugin = { appName, version, url, sha256, installPhase ? defaultInstall }: + stdenv.mkDerivation rec { + name = "roundcube-${appName}-${version}"; + inherit version; + phases = "unpackPhase installPhase"; + inherit installPhase; + src = fetchurl { inherit url sha256; }; + passthru.pluginName = appName; + }; + withPlugins = plugins: skins: package.overrideAttrs(old: { + name = "${old.name}${if builtins.length skins > 0 then "-with-skins" else ""}${if builtins.length plugins > 0 then "-with-plugins" else ""}"; + installPhase = old.installPhase + + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} $out/plugins/${value.pluginName}") plugins + ) + + builtins.concatStringsSep "\n" ( + map (value: "ln -s ${value} $out/skins/${value.skinName}") skins + ); + passthru = old.passthru // { + inherit plugins skins; + withPlugins = morePlugins: moreSkins: old.withPlugins (morePlugins ++ plugins) (morePlugins ++ skins); + }; + }); + package = stdenv.mkDerivation rec { + version = "1.4-rc1"; + name = "roundcubemail-${version}"; + src= fetchurl { + url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/${name}-complete.tar.gz"; + sha256 = "0p18wffwi2prh6vxhx1bc69qd1vwybggm8gvg3shahfdknxci9i4"; + }; + buildPhase = '' + sed -i \ + -e "s|RCUBE_INSTALL_PATH . 'temp.*|'${varDir}/cache';|" \ + config/defaults.inc.php + sed -i \ + -e "s|RCUBE_INSTALL_PATH . 'logs.*|'${varDir}/logs';|" \ + config/defaults.inc.php + ''; + installPhase = '' + cp -a . $out + ln -s ${roundcube_config} $out/config/config.inc.php + ''; + passthru = { + plugins = []; + skins = []; + inherit withPlugins buildPlugin; + }; + }; +in package diff --git a/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix b/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix new file mode 100644 index 0000000..cd9efee --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/automatic_addressbook/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "automatic_addressbook"; + version = "0.4.3"; + url = "https://github.com/sblaisot/${appName}/archive/${version}.tar.gz"; + sha256 = "0bx5qjzp3a3wc72fr295bvgsy5n15949c041hq76n6c7sqdn7inc"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/carddav/default.nix b/pkgs/webapps/roundcubemail/plugins/carddav/default.nix new file mode 100644 index 0000000..ad6856b --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/carddav/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "carddav"; + version = "3.0.3"; + url = "https://github.com/blind-coder/rcmcarddav/releases/download/v${version}/${appName}-${version}.tar.bz2"; + sha256 = "0cf5rnqkhhag2vdy808zfpr4l5586fn43nvcia8ac1ha58azrxal"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix b/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix new file mode 100644 index 0000000..c970007 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/contextmenu/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "contextmenu"; + version = "2.3"; + url = "https://github.com/johndoh/roundcube-${appName}/archive/${version}.tar.gz"; + sha256 = "1rb8n821ylfniiiccfskc534vd6rczhk3g82455ks3m09q6l8hif"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix b/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix new file mode 100644 index 0000000..e5cb46d --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/contextmenu_folder/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "contextmenu_folder"; + version = "1.3.3"; + url = "https://github.com/random-cuber/${appName}/archive/${version}.tar.gz"; + sha256 = "1ngfws1v8qrpa52rjh7kirc98alchk2vbqwra86h00agyjjlcc57"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix b/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix new file mode 100644 index 0000000..35bff06 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/html5_notifier/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "html5_notifier"; + version = "v0.6.2"; + url = "https://github.com/stremlau/${appName}/archive/${version}.tar.gz"; + sha256 = "0s1wq9ira4bcd8jvhn93nhxiqzpp92i0za2kw37kf7ksyhr0xslq"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix b/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix new file mode 100644 index 0000000..1dfc402 --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/ident_switch/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "ident_switch"; + version = "4.0.1"; + url = "https://bitbucket.org/BoresExpress/${appName}/get/${version}.tar.gz"; + sha256 = "1zyy40lfq2kn7hkghbl8lgp18fb634zr4fxmmxvb1wqyvqdpdpyk"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix b/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix new file mode 100644 index 0000000..dc7138a --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/message_highlight/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "message_highlight"; + version = "4.4"; + url = "https://github.com/corbosman/${appName}/archive/${version}.tar.gz"; + sha256 = "12c4x47y70xdl5pgm8csh5i4yiyhpi232lvjbixmca6di4lkhh9j"; +} diff --git a/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix b/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix new file mode 100644 index 0000000..ca7245f --- /dev/null +++ b/pkgs/webapps/roundcubemail/plugins/thunderbird_labels/default.nix @@ -0,0 +1,7 @@ +{ buildPlugin }: +buildPlugin rec { + appName = "thunderbird_labels"; + version = "v1.3.2"; + url = "https://github.com/mike-kfed/roundcube-${appName}/archive/${version}.tar.gz"; + sha256 = "1q4x30w66m02v3lw2n8020g0158rmyfzs6gydfk89pa1hs28k9bg"; +} -- cgit v1.2.3