diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix index d3ba5a97333a..6a7a7ae604de 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";