- withPlugins = plugins: package.overrideAttrs(old: {
- name = "${old.name}-with-plugins";
- postBuild = old.postBuild + (
- builtins.concatStringsSep "\n" (
- map (value: "ln -s ${value} mediagoblin/plugins/${value.pluginName}") plugins
- )
- );
- passthru.plugins = plugins;
- passthru.withPlugins = morePlugins: old.withPlugins (morePlugins ++ plugins);
- });
- package = stdenv.mkDerivation (mylibs.fetchedGit ./mediagoblin.json // rec {
+ pluginNames = [ "basicsearch" ];
+ allPlugins = lib.attrsets.genAttrs pluginNames
+ (name: callPackage (./plugins + "/${name}") {});
+ toPassthru = pkg: {
+ inherit allPlugins;
+ withPlugins = withPlugins pkg;
+ };
+ withPlugins = pkg: toPlugins:
+ let
+ plugins = toPlugins allPlugins;
+ toBuildPlugin = n: "ln -s ${n} mediagoblin/plugins/${n.pluginName}";
+ newMediagoblin = pkg.overrideAttrs(old: {
+ postBuild = old.postBuild + "\n" + builtins.concatStringsSep "\n" (map toBuildPlugin plugins);
+ passthru = toPassthru newMediagoblin;
+ });
+ in newMediagoblin;
+ package = stdenv.mkDerivation rec {
+ pname = "mediagoblin";
+ name = "${pname}-${version}";
+ version = mediagoblinSrc.version;
+ src = mediagoblinSrc;