diff options
author | Guillaume Maudoux <guillaume.maudoux@uclouvain.be> | 2017-11-01 01:09:39 +0100 |
---|---|---|
committer | Bas van Dijk <v.dijk.bas@gmail.com> | 2017-11-04 17:53:35 +0100 |
commit | 7325ad9ab735424257b05a81e0c8197e4651e68f (patch) | |
tree | dc726222579ddadc371a1ef61bf615e6c3d512d4 /nixos/modules | |
parent | b51aa7b6d8b5d5ca207cdc6e3c515d26488de265 (diff) | |
download | nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.tar nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.tar.gz nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.tar.bz2 nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.tar.lz nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.tar.xz nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.tar.zst nixlib-7325ad9ab735424257b05a81e0c8197e4651e68f.zip |
graphite: override django and django_tagging
instead of depending on specific versions in the django_tagging_0_4_3 and graphite_web derivations. This should fix: https://github.com/NixOS/nixpkgs/pull/30277#discussion_r145393088 This was joint work of @basvandijk and @layus at NixCon 2017.
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/services/monitoring/graphite.nix | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 645dfeab0193..4b1ad34b3a4e 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -467,7 +467,15 @@ in { ]; }) - (mkIf cfg.web.enable { + (mkIf cfg.web.enable (let + python27' = pkgs.python27.override { + packageOverrides = self: super: { + django = self.django_1_8; + django_tagging = self.django_tagging_0_4_3; + }; + }; + pythonPackages = python27'.pkgs; + in { systemd.services.graphiteWeb = { description = "Graphite Web Interface"; wantedBy = [ "multi-user.target" ]; @@ -477,8 +485,8 @@ in { PYTHONPATH = let penv = pkgs.python.buildEnv.override { extraLibs = [ - pkgs.python27Packages.graphite_web - pkgs.python27Packages.pysqlite + pythonPackages.graphite_web + pythonPackages.pysqlite ]; }; penvPack = "${penv}/${pkgs.python.sitePackages}"; @@ -516,17 +524,17 @@ in { fi # Only collect static files when graphite_web changes. - if ! [ "${dataDir}/current_graphite_web" -ef "${pkgs.python27Packages.graphite_web}" ]; then + if ! [ "${dataDir}/current_graphite_web" -ef "${pythonPackages.graphite_web}" ]; then mkdir -p ${staticDir} ${pkgs.pythonPackages.django_1_8}/bin/django-admin.py collectstatic --noinput --clear chown -R graphite:graphite ${staticDir} - ln -sfT "${pkgs.python27Packages.graphite_web}" "${dataDir}/current_graphite_web" + ln -sfT "${pythonPackages.graphite_web}" "${dataDir}/current_graphite_web" fi ''; }; - environment.systemPackages = [ pkgs.python27Packages.graphite_web ]; - }) + environment.systemPackages = [ pythonPackages.graphite_web ]; + })) (mkIf cfg.api.enable { systemd.services.graphiteApi = { |