blob: 7b78835ab212cc01774f877b14e59af604706cd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
{
stdenvNoCC,
lib,
fetchFromGitHub,
nixosTests,
php,
writeText,
}:
stdenvNoCC.mkDerivation rec {
pname = "FreshRSS";
version = "1.30.0";
src = fetchFromGitHub {
owner = "FreshRSS";
repo = "FreshRSS";
rev = version;
hash = "sha256-kJHRbeD4FfALj6N81ZwsoBD+pzM0rSqm+RuIqFssd2I=";
};
postPatch = ''
patchShebangs cli/*.php app/actualize_script.php
'';
# THIRDPARTY_EXTENSIONS_PATH can only be set by config, but should be read from an env-var.
overrideConfig = writeText "constants.local.php" ''
<?php
$thirdpartyExtensionsPath = getenv('THIRDPARTY_EXTENSIONS_PATH');
if (is_string($thirdpartyExtensionsPath) && $thirdpartyExtensionsPath !== "") {
define('THIRDPARTY_EXTENSIONS_PATH', $thirdpartyExtensionsPath . '/extensions');
}
'';
buildInputs = [ php ];
# There's nothing to build.
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out
cp -vr * $out/
cp $overrideConfig $out/constants.local.php
runHook postInstall
'';
passthru.tests = {
inherit (nixosTests) freshrss;
};
meta = {
description = "FreshRSS is a free, self-hostable RSS aggregator";
homepage = "https://www.freshrss.org/";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [
stunkymonkey
];
};
}
|