X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=pkgs%2Fwebapps%2Fmediagoblin%2Fdefault.nix;h=29c1981b3ffe243af0aedbd7bdbfe160d1840cdc;hb=db343436f0e678ef3a97e6f8ac559ffa0507e422;hp=e1ca898640d72de885a92971a1cc0aa7a606355f;hpb=ddd3f845089062716d7fc64e5a5e4e413363df91;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/pkgs/webapps/mediagoblin/default.nix b/pkgs/webapps/mediagoblin/default.nix index e1ca898..29c1981 100644 --- a/pkgs/webapps/mediagoblin/default.nix +++ b/pkgs/webapps/mediagoblin/default.nix @@ -1,7 +1,16 @@ -{ 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: { + pybcrypt = super.buildPythonPackage rec { + pname = "pybcrypt"; + version = "0.4"; + + src = self.fetchPypi { + inherit pname version; + sha256 = "5fa13bce551468350d66c4883694850570f3da28d6866bb638ba44fe5eabda78"; + }; + }; celery = super.celery.overridePythonAttrs(old: rec { version = "3.1.26.post2"; src = self.fetchPypi { @@ -19,6 +28,8 @@ let inherit (old) pname; sha256 = "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9"; }; + doCheck = false; + doInstallCheck = false; }); amqp = super.amqp.overridePythonAttrs(old: rec { version = "1.4.9"; @@ -45,6 +56,7 @@ let inherit (old) pname; sha256 = "8b0ec71af9291191ba83a91c03d157b19ab3e7119e27da97932a4773a3f664a9"; }; + doCheck = false; }); tempita_5_3_dev = super.buildPythonPackage (mylibs.fetchedGithub ./tempita.json // rec { buildInputs = with self; [ nose ]; @@ -96,22 +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.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; preConfigure = '' # ./bootstrap.sh aclocal -I m4 --install @@ -159,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