blob: d940c54d1b505ebeeadb0b876c71b726775dda9d (
plain) (
tree)
|
|
{ yourls_config ? "/etc/yourls/config.php", mylibs, callPackage, lib, stdenv }:
let
pluginNames = [ "ldap" ];
allPlugins = lib.attrsets.genAttrs pluginNames
(name: callPackage (./plugins + "/${name}") { inherit mylibs; });
toPassthru = pkg: plugins: {
inherit plugins allPlugins;
withPlugins = withPlugins pkg;
};
withPlugins = pkg: toPlugins:
let
plugins = toPlugins allPlugins;
toInstallPlugin = n: "ln -s ${n} $out/user/plugins/${n.pluginName}";
newYourls = pkg.overrideAttrs(old: {
installPhase = old.installPhase + "\n" + builtins.concatStringsSep "\n" (map toInstallPlugin plugins);
passthru = toPassthru newYourls (pkg.plugins ++ plugins);
});
in newYourls;
package = stdenv.mkDerivation (mylibs.fetchedGithub ./yourls.json // rec {
installPhase = ''
mkdir -p $out
cp -a */ *.php $out/
cp sample-robots.txt $out/robots.txt
ln -sf ${yourls_config} $out/includes/config.php
'';
passthru = toPassthru package [];
});
in package
|