roundcube: don't resolve symlinks in update.sh

A side-effect of this is that the derivation required a rewrite in order
to apply the patch properly.
This commit is contained in:
Maximilian Bosch 2019-04-02 16:25:31 +02:00
parent 6b6348eaba
commit 324e6dba04
No known key found for this signature in database
GPG Key ID: 091DBF4D1FC46B8E
2 changed files with 42 additions and 8 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', __DIR__ . '/../' );
require_once INSTALL_PATH . 'program/include/clisetup.php';
--
2.19.2

View File

@ -1,14 +1,21 @@
{ lib, stdenv, fetchzip, buildEnv, roundcube, roundcubePlugins }:
let
{ lib, fetchurl, stdenv, buildEnv, roundcube, roundcubePlugins }:
stdenv.mkDerivation rec {
pname = "roundcube";
version = "1.3.8";
in
fetchzip rec {
name= "roundcube-${version}";
url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
sha256 = "1lhwr13bglm8rqgamnb480b07wpqhw9bskjj2xxb0x8kdjly29ks";
src = fetchurl {
url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
sha256 = "018djad7ygfl9c9f2l2j42qkg31ml3hs2f01f0dk361zckwk77n4";
};
extraPostFetch = ''
patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
dontBuild = true;
installPhase = ''
mkdir $out
cp -r * $out/
ln -sf /etc/roundcube/config.inc.php $out/config/config.inc.php
rm -rf $out/installer
'';