Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / web-apps / freshrss / default.nix
blob78c73719b481bd11bbb9b467b19666557705d50f
1 { stdenvNoCC
2 , lib
3 , fetchFromGitHub
4 , nixosTests
5 , php
6 , writeText
7 }:
9 stdenvNoCC.mkDerivation rec {
10   pname = "FreshRSS";
11   version = "1.24.1";
13   src = fetchFromGitHub {
14     owner = "FreshRSS";
15     repo = "FreshRSS";
16     rev = version;
17     hash = "sha256-AAOON1RdbG6JSnCc123jmIlIXHOE1PE49BV4hcASO/s=";
18   };
20   postPatch = ''
21     patchShebangs cli/*.php app/actualize_script.php
22   '';
24   # the thirdparty_extension_path can only be set by config, but should be read by an env-var.
25   overrideConfig = writeText "constants.local.php" ''
26     <?php
27       define('THIRDPARTY_EXTENSIONS_PATH', getenv('THIRDPARTY_EXTENSIONS_PATH') . '/extensions');
28   '';
30   buildInputs = [ php ];
32   # There's nothing to build.
33   dontBuild = true;
35   installPhase = ''
36     runHook preInstall
37     mkdir -p $out
38     cp -vr * $out/
39     cp $overrideConfig $out/constants.local.php
40     runHook postInstall
41   '';
43   passthru.tests = {
44     inherit (nixosTests) freshrss-sqlite freshrss-pgsql freshrss-http-auth freshrss-none-auth freshrss-extensions;
45   };
47   meta = with lib; {
48     description = "FreshRSS is a free, self-hostable RSS aggregator";
49     homepage = "https://www.freshrss.org/";
50     license = licenses.agpl3Plus;
51     maintainers = with maintainers; [ etu stunkymonkey ];
52   };