lol

Merge pull request #31254 from LumiGuide/graphite-python-overrides

graphite: override django and django_tagging

authored by

Frederik Rietdijk and committed by
GitHub
dd851a8d f825642e

+26 -11
+15 -7
nixos/modules/services/monitoring/graphite.nix
··· 467 467 ]; 468 468 }) 469 469 470 - (mkIf cfg.web.enable { 470 + (mkIf cfg.web.enable (let 471 + python27' = pkgs.python27.override { 472 + packageOverrides = self: super: { 473 + django = self.django_1_8; 474 + django_tagging = self.django_tagging_0_4_3; 475 + }; 476 + }; 477 + pythonPackages = python27'.pkgs; 478 + in { 471 479 systemd.services.graphiteWeb = { 472 480 description = "Graphite Web Interface"; 473 481 wantedBy = [ "multi-user.target" ]; ··· 477 485 PYTHONPATH = let 478 486 penv = pkgs.python.buildEnv.override { 479 487 extraLibs = [ 480 - pkgs.python27Packages.graphite_web 481 - pkgs.python27Packages.pysqlite 488 + pythonPackages.graphite_web 489 + pythonPackages.pysqlite 482 490 ]; 483 491 }; 484 492 penvPack = "${penv}/${pkgs.python.sitePackages}"; ··· 516 524 fi 517 525 518 526 # Only collect static files when graphite_web changes. 519 - if ! [ "${dataDir}/current_graphite_web" -ef "${pkgs.python27Packages.graphite_web}" ]; then 527 + if ! [ "${dataDir}/current_graphite_web" -ef "${pythonPackages.graphite_web}" ]; then 520 528 mkdir -p ${staticDir} 521 529 ${pkgs.pythonPackages.django_1_8}/bin/django-admin.py collectstatic --noinput --clear 522 530 chown -R graphite:graphite ${staticDir} 523 - ln -sfT "${pkgs.python27Packages.graphite_web}" "${dataDir}/current_graphite_web" 531 + ln -sfT "${pythonPackages.graphite_web}" "${dataDir}/current_graphite_web" 524 532 fi 525 533 ''; 526 534 }; 527 535 528 - environment.systemPackages = [ pkgs.python27Packages.graphite_web ]; 529 - }) 536 + environment.systemPackages = [ pythonPackages.graphite_web ]; 537 + })) 530 538 531 539 (mkIf cfg.api.enable { 532 540 systemd.services.graphiteApi = {
+11 -4
pkgs/top-level/python-packages.nix
··· 8071 8071 8072 8072 django_tagging = callPackage ../development/python-modules/django_tagging { }; 8073 8073 8074 - django_tagging_0_4_3 = self.django_tagging.overrideAttrs (attrs: rec { 8074 + django_tagging_0_4_3 = if 8075 + self.django != self.django_1_8 8076 + then throw "django_tagging_0_4_3 should be build with django_1_8" 8077 + else (callPackage ../development/python-modules/django_tagging {}).overrideAttrs (attrs: rec { 8075 8078 name = "django-tagging-0.4.3"; 8076 8079 8077 8080 src = pkgs.fetchurl { 8078 8081 url = "mirror://pypi/d/django-tagging/${name}.tar.gz"; 8079 8082 sha256 = "0617azpmp6jpg3d88v2ir97qrc9aqcs2s9gyvv9bgf2cp55khxhs"; 8080 8083 }; 8081 - propagatedBuildInputs = with self; [ django_1_8 ]; 8084 + propagatedBuildInputs = with self; [ django ]; 8082 8085 }); 8083 8086 8084 8087 django_classytags = buildPythonPackage rec { ··· 22794 22797 }; 22795 22798 }; 22796 22799 22797 - graphite_web = buildPythonPackage rec { 22800 + graphite_web = if 22801 + self.django != self.django_1_8 22802 + || self.django_tagging != self.django_tagging_0_4_3 22803 + then throw "graphite_web should be build with django_1_8 and django_tagging_0_4_3" 22804 + else buildPythonPackage rec { 22798 22805 name = "graphite-web-${version}"; 22799 22806 disabled = isPy3k; 22800 22807 version = graphiteVersion; ··· 22805 22812 }; 22806 22813 22807 22814 propagatedBuildInputs = with self; [ 22808 - django_1_8 django_tagging_0_4_3 whisper pycairo cairocffi 22815 + django django_tagging whisper pycairo cairocffi 22809 22816 ldap memcached pytz urllib3 scandir 22810 22817 ]; 22811 22818