X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=pkgs%2Fwebapps%2Fmediagoblin%2Fdefault.nix;h=29c1981b3ffe243af0aedbd7bdbfe160d1840cdc;hb=db343436f0e678ef3a97e6f8ac559ffa0507e422;hp=f6393fe3a433d2e17647945d6857e246786b30cf;hpb=5400b9b6f65451d41a9106fae6fc00f97d83f4ef;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/pkgs/webapps/mediagoblin/default.nix b/pkgs/webapps/mediagoblin/default.nix index f6393fe..29c1981 100644 --- a/pkgs/webapps/mediagoblin/default.nix +++ b/pkgs/webapps/mediagoblin/default.nix @@ -1,4 +1,4 @@ -{ makeWrapper, stdenv, writeScript, fetchurl, buildBowerComponents, mylibs, which, python36, gst_all_1, automake, autoconf, nodejs, nodePackages }: +{ makeWrapper, stdenv, writeScript, fetchurl, buildBowerComponents, mylibs, which, python36, gst_all_1, automake, autoconf, nodejs, nodePackages, lib, callPackage, sources }: let overridePython = let packageOverrides = self: super: { @@ -28,6 +28,8 @@ let inherit (old) pname; sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; }; + doCheck = false; + doInstallCheck = false; }); amqp = super.amqp.overridePythonAttrs(old: rec { version = "1.4.9"; @@ -106,24 +108,33 @@ let load_entry_point('mediagoblin', 'console_scripts', 'gmg')() ) ''; + mediagoblinSrc = sources.webapps-mediagoblin; bowerComponents = buildBowerComponents { name = "mediagoblin-bower-components"; generated = ./bower-packages.nix; - src = (mylibs.fetchedGit ./mediagoblin.json).src; + src = mediagoblinSrc; }; - 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 = old.passthru // { - inherit plugins; - 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; preConfigure = '' # ./bootstrap.sh aclocal -I m4 --install @@ -171,9 +182,6 @@ let ''; buildInputs = [ makeWrapper automake autoconf which nodePackages.bower nodejs python ]; propagatedBuildInputs = with gst_all_1; [ python gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly gstreamer ]; - passthru = { - plugins = []; - inherit withPlugins; - }; - }); + passthru = toPassthru package; + }; in package