]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - flakes/mediagoblin/default.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / flakes / mediagoblin / default.nix
similarity index 89%
rename from pkgs/webapps/mediagoblin/default.nix
rename to flakes/mediagoblin/default.nix
index 22cb2923c8ba451a4d9e90cc6c5d640056d0df55..47cc6280a2a0a4e13b3a42519f2653827227d22e 100644 (file)
@@ -1,4 +1,4 @@
-{ makeWrapper, stdenv, writeScript, fetchurl, buildBowerComponents, mylibs, which, python36, gst_all_1, automake, autoconf, nodejs, nodePackages, lib, callPackage, fetchgit }:
+{ src, makeWrapper, stdenv, writeScript, fetchurl, buildBowerComponents, which, python36, gst_all_1, automake, autoconf, nodejs, nodePackages, lib, callPackage, fetchgit, fetchFromGitHub }:
 let
   overridePython = let
     packageOverrides = self: super: {
@@ -67,10 +67,20 @@ let
         };
         doCheck = false;
       });
-      tempita_5_3_dev = super.buildPythonPackage (mylibs.fetchedGithub ./tempita.json // rec {
+      tempita_5_3_dev = super.buildPythonPackage rec {
+        version = "47414a7-master";
+        pname = "tempita";
+        name = "${pname}-${version}";
+        src = fetchFromGitHub {
+          owner = "gjhiggins";
+          repo = "tempita";
+          rev = "47414a7c6e46a9a9afe78f0bce2ea299fa84d10d";
+          sha256 = "0f33jjjs5rvp7ar2j6ggyfykcrsrn04jaqcq71qfvycf6b7nw3rn";
+          fetchSubmodules = true;
+        };
         buildInputs = with self; [ nose ];
         disabled = false;
-      });
+      };
       sqlalchemy_migrate = super.sqlalchemy_migrate.overridePythonAttrs(old: rec {
         propagatedBuildInputs = with self; [ pbr tempita_5_3_dev decorator sqlalchemy six sqlparse ];
       });
@@ -125,23 +135,16 @@ let
             load_entry_point('mediagoblin', 'console_scripts', 'gmg')()
         )
     '';
-  mediagoblinSrc = fetchgit {
-    name = "mediagoblin";
-    url = "git://git.savannah.gnu.org/mediagoblin.git";
-    rev = "cd465ebfec837a75a44c4ebd727dffe2fff6d850";
-    sha256 = "1yz4i4i97z3rxl534a6psaybyjbyp5nnc52v3nvbpzc4pd2s69mx";
-    fetchSubmodules = true; # important!
-  };
   bowerComponents = buildBowerComponents {
     name = "mediagoblin-bower-components";
     generated = ./bower-packages.nix;
-    src = mediagoblinSrc;
+    inherit src;
   };
   pluginNames = [ "basicsearch" ];
   allPlugins = lib.attrsets.genAttrs pluginNames
     (name: callPackage (./plugins + "/${name}") {});
-  toPassthru = pkg: {
-    inherit allPlugins;
+  toPassthru = pkg: plugins: {
+    inherit allPlugins plugins;
     withPlugins = withPlugins pkg;
   };
   withPlugins = pkg: toPlugins:
@@ -150,14 +153,14 @@ let
       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;
+        passthru = toPassthru newMediagoblin plugins;
       });
     in newMediagoblin;
   package = stdenv.mkDerivation rec {
     pname = "mediagoblin";
     name = "${pname}-${version}";
     version = "cd465eb-stable";
-    src = mediagoblinSrc;
+    inherit src;
     preConfigure = ''
       # ./bootstrap.sh
       aclocal -I m4 --install
@@ -205,6 +208,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 = toPassthru package;
+    passthru = toPassthru package [];
   };
 in package