lol
1{
2 lib,
3 stdenv,
4 python3Packages,
5 fetchPypi,
6 autoPatchelfHook,
7 zlib,
8}:
9
10let
11 platformInfos = {
12 "x86_64-linux" = {
13 platform = "manylinux1_x86_64";
14 hash = "sha256-tnRFcgMgHGcWtTGPFZZPkE9IKDfvejLmvvD2iwPbbLY=";
15 };
16 "x86_64-darwin" = {
17 platform = "macosx_10_9_universal2";
18 hash = "sha256-6dbLiFUku0F+UiFV6P6nXpR6dezSntriVJyTfFaIgP0=";
19 };
20 };
21
22 inherit (stdenv.hostPlatform) system;
23 platformInfo = platformInfos.${system} or (throw "Unsupported platform ${system}");
24in
25python3Packages.buildPythonApplication rec {
26 pname = "sourcery";
27 version = "1.37.0";
28 format = "wheel";
29
30 src = fetchPypi {
31 inherit pname version format;
32 inherit (platformInfo) platform hash;
33 };
34
35 nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
36
37 buildInputs = [ zlib ];
38
39 meta = {
40 changelog = "https://sourcery.ai/changelog/";
41 description = "AI-powered code review and pair programming tool for Python";
42 downloadPage = "https://pypi.org/project/sourcery/";
43 homepage = "https://sourcery.ai";
44 license = lib.licenses.unfree;
45 mainProgram = "sourcery";
46 maintainers = with lib.maintainers; [ tomasajt ];
47 platforms = [
48 "x86_64-linux"
49 "x86_64-darwin"
50 ];
51 };
52}