push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
From c1832eabb99cec47f1714f696275285e1e28da34 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Tue, 2 Apr 2019 16:20:50 +0200
Subject: [PATCH] Don't resolve symlinks when trying to find INSTALL_PATH
Nix specific patch. This behavior breaks roundcube setups where plugins
are in a store path with symlinks to the actual source.
---
bin/update.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/update.sh b/bin/update.sh
index 08e3bb5..b2ad498 100755
--- a/bin/update.sh
+++ b/bin/update.sh
@@ -19,7 +19,7 @@
+-----------------------------------------------------------------------+
*/
-define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
+define('INSTALL_PATH', dirname(dirname($argv[0])).'/');
require_once INSTALL_PATH . 'program/include/clisetup.php';
--
2.19.2

View File

@@ -0,0 +1,55 @@
{
fetchurl,
lib,
stdenv,
buildEnv,
roundcube,
roundcubePlugins,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "roundcube";
version = "1.6.11";
src = fetchurl {
url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
sha256 = "sha256-ojDkMgZVVb+ie+o/z0rGcvI1nvKK2E9ZReo8z3AudGY=";
};
patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
dontBuild = true;
# FIXME: this should be removed after upstream releases the update forcing the use of public_html.
dontCheckForBrokenSymlinks = true;
installPhase = ''
mkdir $out
cp -r * $out/
ln -sf /etc/roundcube/config.inc.php $out/config/config.inc.php
rm -rf $out/installer
# shut up updater
rm $out/composer.json-dist
'';
passthru.withPlugins =
f:
buildEnv {
name = "${roundcube.name}-with-plugins";
paths = (f roundcubePlugins) ++ [ roundcube ];
};
passthru.tests = { inherit (nixosTests) roundcube; };
meta = {
description = "Open Source Webmail Software";
maintainers = with lib.maintainers; [
vskilet
globin
ma27
];
license = lib.licenses.gpl3;
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,11 @@
{ roundcubePlugin, fetchzip }:
roundcubePlugin rec {
pname = "carddav";
version = "4.4.6";
src = fetchzip {
url = "https://github.com/mstilkerich/rcmcarddav/releases/download/v${version}/carddav-v${version}.tar.gz";
sha256 = "10s4idf5kmkap47fn3i4jkr3mbipibdjcqds8p6p906nr45ngs57";
};
}

View File

@@ -0,0 +1,11 @@
{ roundcubePlugin, fetchzip }:
roundcubePlugin rec {
pname = "contextmenu";
version = "3.3.1";
src = fetchzip {
url = "https://github.com/johndoh/roundcube-contextmenu/archive/refs/tags/${version}.tar.gz";
sha256 = "0aya3nv8jwfvd9rlvxfxnyfpdcpw858745xal362l3zzkbkhcrmb";
};
}

View File

@@ -0,0 +1,11 @@
{ roundcubePlugin, fetchzip }:
roundcubePlugin rec {
pname = "custom_from";
version = "1.6.6";
src = fetchzip {
url = "https://github.com/r3c/custom_from/archive/refs/tags/${version}.zip";
hash = "sha256-QvMYwFWY0BZOkzhDtW7XJ77i5mVkDNAiN4JBdsCuUy0=";
};
}

View File

@@ -0,0 +1,11 @@
{ newScope, pkgs }:
let
callPackage = newScope (pkgs // plugins);
plugins = import ./plugins.nix { inherit callPackage; };
in
plugins

View File

@@ -0,0 +1,13 @@
{ roundcubePlugin, fetchFromGitHub }:
roundcubePlugin rec {
pname = "persistent_login";
version = "5.3.0";
src = fetchFromGitHub {
owner = "mfreiholz";
repo = pname;
rev = "version-${version}";
sha256 = "1qf7q1sypwa800pgxa3bg6ngcpkf4dqgg6jqx8cnd6cb7ikbfldb";
};
}

View File

@@ -0,0 +1,13 @@
{ callPackage }:
{
inherit callPackage;
roundcubePlugin = callPackage ./roundcube-plugin.nix { };
carddav = callPackage ./carddav { };
contextmenu = callPackage ./contextmenu { };
custom_from = callPackage ./custom_from { };
persistent_login = callPackage ./persistent_login { };
thunderbird_labels = callPackage ./thunderbird_labels { };
}

View File

@@ -0,0 +1,11 @@
{ runCommand }:
{
pname,
version,
src,
}:
runCommand "roundcube-plugin-${pname}-${version}" { } ''
mkdir -p $out/plugins/
cp -r ${src} $out/plugins/${pname}
''

View File

@@ -0,0 +1,11 @@
{ roundcubePlugin, fetchzip }:
roundcubePlugin rec {
pname = "thunderbird_labels";
version = "1.6.0";
src = fetchzip {
url = "https://github.com/mike-kfed/roundcube-thunderbird_labels/archive/refs/tags/v${version}.tar.gz";
sha256 = "09hh3d0n12b8ywkazh8kj3xgn128k35hyjhpa98c883b6b9y8kif";
};
}