diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-05-08 23:59:21 +0200 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2020-05-09 00:30:49 +0200 |
commit | 34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308 (patch) | |
tree | b0ace6db106ee8ce19ee17c4cc798dcccf5c77f9 /pkgs/webapps/ttrss | |
parent | c4216ddb8bedd0b75149c039bd5dc86c3d6a9b7f (diff) | |
download | Nix-34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308.tar.gz Nix-34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308.tar.zst Nix-34c7b88e16d1768b1b9a0cfa6dd21ea5d9b1b308.zip |
Use new withPlugin system
- dokuwiki
- mantisbt
- mediagoblin
- roundcube
- ttrss
- yourls
Diffstat (limited to 'pkgs/webapps/ttrss')
-rw-r--r-- | pkgs/webapps/ttrss/default.nix | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/pkgs/webapps/ttrss/default.nix b/pkgs/webapps/ttrss/default.nix index 0ce2f94..38200a1 100644 --- a/pkgs/webapps/ttrss/default.nix +++ b/pkgs/webapps/ttrss/default.nix | |||
@@ -1,30 +1,33 @@ | |||
1 | { ttrss_config ? "/etc/ttrss/config.php" | 1 | { ttrss_config ? "/etc/ttrss/config.php" |
2 | , varDir ? "/var/lib/ttrss" | 2 | , varDir ? "/var/lib/ttrss" |
3 | , stdenv, mylibs }: | 3 | , stdenv, mylibs, lib, callPackage }: |
4 | let | 4 | let |
5 | withPlugins = plugins: package.overrideAttrs(old: rec { | 5 | pluginNames = [ "auth_ldap" "af_feedmod" "feediron" "ff_instagram" "tumblr_gdpr_ua" ]; |
6 | name = "${old.name}-with-plugins"; | 6 | allPlugins = lib.attrsets.genAttrs pluginNames |
7 | installPhase = old.installPhase + | 7 | (name: callPackage (./plugins + "/${name}") {}); |
8 | builtins.concatStringsSep "\n" ( | 8 | toPassthru = pkg: plugins: { |
9 | map (value: "ln -s ${value} $out/plugins/${value.pluginName}") plugins | 9 | inherit plugins allPlugins; |
10 | ); | 10 | withPlugins = withPlugins pkg; |
11 | passthru = old.passthru // { | 11 | }; |
12 | inherit plugins; | 12 | withPlugins = pkg: toPlugins: |
13 | withPlugins = morePlugins: old.withPlugins (morePlugins ++ plugins); | 13 | let |
14 | }; | 14 | plugins = toPlugins allPlugins; |
15 | }); | 15 | toInstallPlugin = n: |
16 | "ln -sf ${n} $out/plugins/${n.pluginName}"; | ||
17 | newTtrss = pkg.overrideAttrs(old: { | ||
18 | installPhase = old.installPhase + "\n" + builtins.concatStringsSep "\n" (map toInstallPlugin plugins); | ||
19 | passthru = toPassthru newTtrss (pkg.plugins ++ plugins); | ||
20 | }); | ||
21 | in newTtrss; | ||
16 | package = stdenv.mkDerivation (mylibs.fetchedGit ./tt-rss.json // rec { | 22 | package = stdenv.mkDerivation (mylibs.fetchedGit ./tt-rss.json // rec { |
17 | buildPhase = '' | 23 | buildPhase = '' |
18 | rm -rf lock feed-icons cache | 24 | rm -rf lock feed-icons cache |
19 | ln -sf ${varDir}/{lock,feed-icons,cache} . | 25 | ln -sf ${varDir}/{lock,feed-icons,cache} . |
20 | ''; | 26 | ''; |
21 | installPhase = '' | 27 | installPhase = '' |
22 | cp -a . $out | 28 | cp -a . $out |
23 | ln -s ${ttrss_config} $out/config.php | 29 | ln -s ${ttrss_config} $out/config.php |
24 | ''; | 30 | ''; |
25 | passthru = { | 31 | passthru = toPassthru package []; |
26 | plugins = []; | ||
27 | inherit withPlugins; | ||
28 | }; | ||
29 | }); | 32 | }); |
30 | in package | 33 | in package |