From 7b6433b0eb3f1acf03b964636ef1bd12fac0bda5 Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Sun, 29 Apr 2018 12:34:38 +0800 Subject: [PATCH] gcalcli: pin older versions of needed python packages --- pkgs/applications/misc/gcalcli/default.nix | 63 +++++++++++++++------- 1 file changed, 44 insertions(+), 19 deletions(-) diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index d3ba5a97333..6a7a7ae604d 100644 --- a/pkgs/applications/misc/gcalcli/default.nix +++ b/pkgs/applications/misc/gcalcli/default.nix @@ -1,7 +1,38 @@ -{ stdenv, lib, fetchFromGitHub, pythonPackages +{ stdenv, lib, fetchFromGitHub, python2 , libnotify ? null }: -pythonPackages.buildPythonApplication rec { +let + py = python2.override { + packageOverrides = self: super: { + google_api_python_client = super.google_api_python_client.overridePythonAttrs (oldAttrs: rec { + version = "1.5.1"; + src = oldAttrs.src.override { + inherit version; + sha256 = "1ggxk094vqr4ia6yq7qcpa74b4x5cjd5mj74rq0xx9wp2jkrxmig"; + }; + }); + + oauth2client = super.oauth2client.overridePythonAttrs (oldAttrs: rec { + version = "1.4.12"; + src = oldAttrs.src.override { + inherit version; + sha256 = "0phfk6s8bgpap5xihdk1xv2lakdk1pb3rg6hp2wsg94hxcxnrakl"; + }; + }); + + uritemplate = super.uritemplate.overridePythonAttrs (oldAttrs: rec { + version = "0.6"; + src = oldAttrs.src.override { + inherit version; + sha256 = "1zapwg406vkwsirnzc6mwq9fac4az8brm6d9bp5xpgkyxc5263m3"; + }; + # there are no checks in this version + doCheck = false; + }); + }; + }; + +in with py.pkgs; buildPythonApplication rec { version = "3.4.0"; name = "gcalcli-${version}"; @@ -12,27 +43,21 @@ pythonPackages.buildPythonApplication rec { sha256 = "171awccgnmfv4j7m2my9387sjy60g18kzgvscl6pzdid9fn9rrm8"; }; - propagatedBuildInputs = with pythonPackages; [ - dateutil - gflags - google_api_python_client - httplib2 - oauth2client - parsedatetime - six - vobject - ] - ++ lib.optional (!pythonPackages.isPy3k) futures; - - # there are no tests as of 3.4.0 - doCheck = false; + propagatedBuildInputs = [ + dateutil gflags httplib2 parsedatetime six vobject + # overridden + google_api_python_client oauth2client uritemplate + ] ++ lib.optional (!isPy3k) futures; postInstall = lib.optionalString stdenv.isLinux '' - substituteInPlace $out/bin/gcalcli \ - --replace "command = 'notify-send -u critical -a gcalcli %s'" \ - "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'" + substituteInPlace $out/bin/gcalcli --replace \ + "command = 'notify-send -u critical -a gcalcli %s'" \ + "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'" ''; + # There are no tests as of 3.4.0 + doCheck = false; + meta = with lib; { homepage = https://github.com/insanum/gcalcli; description = "CLI for Google Calendar";