From bb0fe34d79f02db24d671553db71f87313dd8c39 Mon Sep 17 00:00:00 2001 From: Dmitry Ivankov Date: Tue, 14 Nov 2023 11:12:54 +0100 Subject: maintainers: add boltzmannrain --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4aa8608da7a..bf847253052 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2468,6 +2468,12 @@ githubId = 50839; name = "Brian Jones"; }; + boltzmannrain = { + email = "boltzmannrain@gmail.com"; + github = "boltzmannrain"; + githubId = 150560585; + name = "Dmitry Ivankov"; + }; booklearner = { name = "booklearner"; email = "booklearner@proton.me"; -- cgit 1.4.1 From 0dd2238ac7fb39e9123ecc0c7332a6930397f5d2 Mon Sep 17 00:00:00 2001 From: Dmitry Ivankov Date: Mon, 13 Nov 2023 20:34:06 +0100 Subject: mitmproxy: fix macos build https://hydra.nixos.org/build/240114924/nixlog/1 ``` error: linking with `/nix/store/sa6hywsm1mqfyd1xakyzv4ljjsb3hawh-clang-wrapper-11.1.0/bin/cc` failed: exit status: 1 | ... = note: ld: library not found for -liconv clang-11: error: linker command failed with exit code 1 (use -v to see invocation) ``` after adding libiconv it starts to fail with ``` File "/nix/store/ncs3h7zqjl3cl2cwflka40rrirb6qg1m-python3.11-mitmproxy-rs-0.3.11/lib/python3.11/site-packages/mitmproxy_rs/__init__.py", line 1, in from .mitmproxy_rs import * ModuleNotFoundError: No module named 'mitmproxy_macos' ``` so it needs extra module https://github.com/mitmproxy/mitmproxy_rs/tree/main/mitmproxy-macos So the fixes are - add `libiconv` dependency to mitmproxy-rs - add `mitmproxy-macos` python package and add it to dependencies of `mitmproxy-rs` and `mitmproxy` itself (otherwise import fails, looks like the import is sneaky because it is platform-conditional) --- .../python-modules/mitmproxy-macos/default.nix | 33 ++++++++++++++++++++++ .../python-modules/mitmproxy-rs/default.nix | 6 +++- .../python-modules/mitmproxy/default.nix | 4 +++ pkgs/top-level/python-packages.nix | 2 ++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/mitmproxy-macos/default.nix diff --git a/pkgs/development/python-modules/mitmproxy-macos/default.nix b/pkgs/development/python-modules/mitmproxy-macos/default.nix new file mode 100644 index 00000000000..39798d90b15 --- /dev/null +++ b/pkgs/development/python-modules/mitmproxy-macos/default.nix @@ -0,0 +1,33 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, hatchling +}: + +buildPythonPackage rec { + pname = "mitmproxy-macos"; + version = "0.3.11"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mitmproxy"; + repo = "mitmproxy_rs"; + rev = version; + hash = "sha256-V6LUr1jJiTo0+53jipkTyzG5JSw6uHaS6ziyBaFbETw="; + }; + + sourceRoot = "${src.name}/mitmproxy-macos"; + pythonImportsCheck = [ "mitmproxy_macos" ]; + nativeBuildInputs = [ + hatchling + ]; + + meta = with lib; { + description = "The MacOS Rust bits in mitmproxy"; + homepage = "https://github.com/mitmproxy/mitmproxy_rs/tree/main/mitmproxy-macos"; + changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ boltzmannrain ]; + platforms = platforms.darwin; + }; +} diff --git a/pkgs/development/python-modules/mitmproxy-rs/default.nix b/pkgs/development/python-modules/mitmproxy-rs/default.nix index 15850ab7cd7..d90e1e0c2a9 100644 --- a/pkgs/development/python-modules/mitmproxy-rs/default.nix +++ b/pkgs/development/python-modules/mitmproxy-rs/default.nix @@ -4,6 +4,8 @@ , fetchFromGitHub , rustPlatform , darwin +, libiconv +, mitmproxy-macos }: buildPythonPackage rec { @@ -34,13 +36,15 @@ buildPythonPackage rec { buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security + libiconv + mitmproxy-macos ]; pythonImportsCheck = [ "mitmproxy_rs" ]; meta = with lib; { description = "The Rust bits in mitmproxy"; - homepage = " https://github.com/mitmproxy/mitmproxy_rs"; + homepage = "https://github.com/mitmproxy/mitmproxy_rs"; changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ fab ]; diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix index 1c57361a640..566c1e0b329 100644 --- a/pkgs/development/python-modules/mitmproxy/default.nix +++ b/pkgs/development/python-modules/mitmproxy/default.nix @@ -2,6 +2,7 @@ , fetchFromGitHub , buildPythonPackage , pythonOlder +, stdenv # Mitmproxy requirements , aioquic , asgiref @@ -15,6 +16,7 @@ , hyperframe , kaitaistruct , ldap3 +, mitmproxy-macos , mitmproxy-rs , msgpack , passlib @@ -81,6 +83,8 @@ buildPythonPackage rec { urwid wsproto zstandard + ] ++ lib.optionals stdenv.isDarwin [ + mitmproxy-macos ]; nativeCheckInputs = [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f0502b4eeb5..78f2c18e582 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6877,6 +6877,8 @@ self: super: with self; { mitmproxy = callPackage ../development/python-modules/mitmproxy { }; + mitmproxy-macos = callPackage ../development/python-modules/mitmproxy-macos { }; + mitmproxy-rs = callPackage ../development/python-modules/mitmproxy-rs { }; mitmproxy-wireguard = callPackage ../development/python-modules/mitmproxy-wireguard { }; -- cgit 1.4.1