summary refs log tree commit diff
path: root/pkgs/development/python-modules/gast/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/gast/default.nix')
-rw-r--r--pkgs/development/python-modules/gast/default.nix34
1 files changed, 27 insertions, 7 deletions
diff --git a/pkgs/development/python-modules/gast/default.nix b/pkgs/development/python-modules/gast/default.nix
index 7e8d9f8d4ac..6d18a7ba6d1 100644
--- a/pkgs/development/python-modules/gast/default.nix
+++ b/pkgs/development/python-modules/gast/default.nix
@@ -1,16 +1,36 @@
-{ lib, fetchPypi, buildPythonPackage, astunparse }:
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, buildPythonPackage
+, astunparse
+}:
 
 buildPythonPackage rec {
   pname = "gast";
-  version =  "0.5.0";
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8109cbe7aa0f7bf7e4348379da05b8137ea1f059f073332c3c1cedd57db8541f";
+  version = "0.5.0";
+
+  # TODO: remove this patch on the next release, this fixes a bug with parsing
+  # assignment expressions e.g., `x := 1`.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/serge-sans-paille/gast/commit/3cc9b4d05a80e4bb42882de00df314aaa1e6e591.patch";
+      sha256 = "0ylpn0x0a4y6139vd048blsh77yd08npjcn4b5ydf89xnji5mlm1";
+    })
+  ];
+
+  src = fetchFromGitHub {
+    owner = "serge-sans-paille";
+    repo = "gast";
+    rev = version;
+    sha256 = "0qsg36knv0k2ppzbr5m4w6spxxw7a77lw88y8vjx7m176bajnsbw";
   };
-  checkInputs = [ astunparse ] ;
+
+  checkInputs = [ astunparse ];
+
   meta = with lib; {
     description = "GAST provides a compatibility layer between the AST of various Python versions, as produced by ast.parse from the standard ast module.";
+    homepage = "https://github.com/serge-sans-paille/gast/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ jyp ];
+    maintainers = with maintainers; [ jyp cpcloud ];
   };
 }