summaryrefslogtreecommitdiff
path: root/net-proxy
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy')
-rw-r--r--net-proxy/mitmproxy-linux/Manifest5
-rw-r--r--net-proxy/mitmproxy-linux/mitmproxy-linux-0.12.8.ebuild118
2 files changed, 123 insertions, 0 deletions
diff --git a/net-proxy/mitmproxy-linux/Manifest b/net-proxy/mitmproxy-linux/Manifest
index dece929d6f3e..e568fe0a6db5 100644
--- a/net-proxy/mitmproxy-linux/Manifest
+++ b/net-proxy/mitmproxy-linux/Manifest
@@ -4,9 +4,11 @@ DIST boringtun-2f3c85f5c4a601018c10b464b1ca890d9504bf6e.gh.tar.gz 219297 BLAKE2B
DIST cfg-if-1.0.1.crate 8683 BLAKE2B 7d7f98e46b98e0f6fe069fff5dede72390adb7522f13be35c37f99713641e98dff87bd58e594908565a6f42ec898f11597e8a82a01ca2e8e65b38563e09956a8 SHA512 56af0d562fe60022e8df9c5b4e9b2eed6d7ca1874c4d3bbb52148d6f3c6f7d30e0b63d4b1e652ccfc8881a663fb6f450a48447d5a8cce0c2e5a2ac12c6ac655f
DIST compiler_builtins-0.1.158.crate 245300 BLAKE2B 2f0c6281af04eab6d8b2d819e3169ec384beda8b2326a41bfef77fcea24b2fe20d83ed5e2cc0a2c1635dd2f4a4b42fba161a1d6305451e767c8f79c501065d8b SHA512 8b440293d8fb3184b665cddd25dfcc8c65f216dfe5e353db0e867f0346b1aff48e3af82ed3e77aee0ff1a1767e6f35ce348048d3aabc168feb6ab633f19214e5
DIST compiler_builtins-0.1.160.crate 242364 BLAKE2B c85996e22b19e08eb4fb0d679b0b357d60f072ed2611b332d042f6d02d02f5c8fad6bad32baa5c86d5142ddeb79ff939fbb25ed68a9f8134f4a25c6cb961387c SHA512 b8a10cf1b1b42fdc070ba7b3ea4a018c912beb1540b1aef2622302e6ad876b1d488c8ef08b90d2fcab4d32d9c836c0fa552c52c1fe96afc2ad0e1be95c3ef6f6
+DIST dlmalloc-0.2.10.crate 86645 BLAKE2B e0b0369c83a5853ccc361439c33cce90b0448cfc00550d76bf49fd29095ad4528b65c513c77c2208ab09684c24721c4abf5f0dce378605da8361dc3e3f2cdc9e SHA512 5e04bfae17685a5b55f2d2550a790e73c5b377cde82c113275cf80e60c258746cf8f236942bc0717c96fd753332a7cb051ff773b7af6cc410061200b88857a81
DIST dlmalloc-0.2.8.crate 85937 BLAKE2B d1d5f22efa6f5f7de9ef411e70483e471babfc6c28941a735766e21a94bf33452330ca88a768513b8b90cef86ab64f877eecf70d97586f5b6a55c5f867d993ae SHA512 5c2dec343d338c29500428d5022f9bd3b00ddeacbaab56d3ecbc33f5d8ef1f5e61c53e0478d08721dec11511055c7e289353117c8f71129b623272961c2158b4
DIST dlmalloc-0.2.9.crate 85868 BLAKE2B c9b3f2b2ad3d43d4559ef0c390de5eb77c2e83c08bfb5a1a050a49d0e6f45391f4597efec8150267d346b09aa26e4b9f244b5d09333ec4154a386daef3f2c413 SHA512 5a9397b0d65f1f10d8e3e7bd84266129dd6a4e2a7c2822e84249121bb0badff15fb530242984efaa78744d919f49658d3c425d9f89dc2741b139eafa71b14ade
DIST fortanix-sgx-abi-0.5.0.crate 13334 BLAKE2B ccdfdd2e7a0592b0efcd4269695b7367e1e6fd2da7aac3b6e2b174375e787ec00134c3156286656155839367c031aabb748e50c15aa539ab3b3da22de3fef132 SHA512 4239bd0fe3a2c9e0b4a0e0eb82bacb417e1f798fb4d908bb5cc021ddfe6e41688f8ee16f9a18cda692ef78afb264a440af7444cfde43a0c29d0299781ea43ccb
+DIST fortanix-sgx-abi-0.6.1.crate 13691 BLAKE2B e97992a0e93a290bef2adc7115a158385c0c8b59f50744a2a6c7a3b73d164c3dc7b6278118062c64cac98234d9ffffdb94365e79bb489ead5f48c222d87c8771 SHA512 422cee56dfc9066c2c9de032ba92ea5b9cd572193a10b94ce2a9886fb0875375497e7c46b4bc3684d14293b4f82733b519663c807bf73ded62e9c5b1cdd08b64
DIST getopts-0.2.21.crate 18457 BLAKE2B 10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d SHA512 5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f
DIST getopts-0.2.23.crate 21409 BLAKE2B fbe2c229f7aff2bdaac17ff5c670363c135e69651cb924af1950d79c7eace1616a30425a181cd0116004ca8167bcb1364e208d92ad16a2280f1e77798d680657 SHA512 8d4c08e88a8532d107052c34305b6381e8759958a12eafe8791816fbed85e405fe901aa11c8a8e0110a6d44f87cd1f55a332d2c76c7c12d13a86e00731842e43
DIST gimli-0.32.0.crate 286715 BLAKE2B 761fa6ceaf967f03b235e07f05d596ea0535cbb38678f6c543f8ca682058450e29e82ffaf3960689b945646db0d2b7afe503ac4d6bdaa52c3ad4de7315295d73 SHA512 9ba4a781c98507fb5a4cd3a8a0fccc03cae5a78eb7e67d001f02396e157b340d6aabf96b7ce54e89bbc00ab61921d3434c355aa0b0b7b968056db2f526392c96
@@ -20,7 +22,9 @@ DIST memchr-2.7.5.crate 97603 BLAKE2B ee41ef722d90265064db3ffe22d52eff8f7627ac1a
DIST miniz_oxide-0.8.3.crate 61827 BLAKE2B ae8626de8711a8b7c2bce52d2e226a3e973ba6919ed33904883ae6287f848fcf40642afdb9ad71bba19db181fe9ea354c85cd81c1dad889588d5df8fcc99b9f2 SHA512 b79cd67a477851b18ed87c887bfd9f40f97059eb3fedbdc3a52eac66b5fcea42cae833eea39fd62becdb057b337f91d27f2087a407d02770feeaea934c0b1e1c
DIST miniz_oxide-0.8.9.crate 67132 BLAKE2B 1a11c5aeef43ac93635942e0c4f17538150f8307fb280b0d66436e4b6697638f0b1bafbdebb377a5dba14a75f213024201e325747419623e5f7d57060bba4445 SHA512 3f6fd786c5fa5b4abafaf21244dd4830d26688d5b6975522bda595206517f354d92d13fb95235667cbc39c0275371c737164d9c7a58e32e09da86eed2f239242
DIST mitmproxy_linux-0.12.7.tar.gz 1287189 BLAKE2B 3196c39e5d860a8aa3684c116579eeb11cd48ad14340fe32a08ea74fdea93e9153fbb233b93957237be083b53e984744c7780ebe8f3105fd0714fce135e407bd SHA512 f71808435ff3c37a8aa20e1d889d8ebbdb16e8c0bad5575f88d10186cd70fad0fb0277ddf7a27f70188cdf6a8525b8e0bd4d155ce630705aa6798c3f45b932a9
+DIST mitmproxy_linux-0.12.8.tar.gz 1287560 BLAKE2B 62cdd871859586cc043f407b2559badec2214486928dd13d97801eb5b9b222899a55b7a5d6fa65b927bf0814a34cbe285f566c8c0ea70435e9c0a030183fac41 SHA512 0a2ee8abe6c9932a11c68be052eb20213398776808635a1730314b2c1c757e9ce944756c5362c807a9705b237931ac51cf0b815109f1e3b5062d3f618e641377
DIST mitmproxy_rs-0.12.7-crates.tar.xz 49031076 BLAKE2B 7ce59d1b03fb67543832d0482909568502778a952d91f7d233005542368c9bf4cfc9d6666e9b41fa148d45c4153a9056cdd27f2cbcb56154a787c8780a48eed1 SHA512 252fb9941b74ad02b53c66ad2f9527df98c0ccd205e6d5913869b5a1405bc3ff05994dce31ed2bc0e8a5ec0b2e33efe85f7fdd9634c3511244b1cdb870f6ec94
+DIST mitmproxy_rs-0.12.8-crates.tar.xz 49230272 BLAKE2B 9bd32b59d82a6e1d28701373427600d774caecefc406d4646c601f68ae05c46c1d857b00a4a018f6ab15c864f6984377153b99f306024560195b44ef45d0e75c SHA512 b71360be285f4f81feed8cbd283ed00928e8e09d5fa7ba99ecf3a9c2a7ee4a137ca4a7357579925b4e98080f0fa756bc78a58b92badb19fbc7e8992fc63bef4c
DIST object-0.37.1.crate 338929 BLAKE2B b2bc4f27968ec308b8d569e71de449adf5cf545aa2054d65cda03cfa44e3d3b108bd39e1288e1c983d08656b4c50a384c2101f2bf049b7d67d42e60c95160cba SHA512 ca9c7857185b6fb7f81a594d73df10cace40b47d7475f8d4ac0c6be9c3f327dc98a86fd4fc8f70da762eb978a0427ecff1e3c181bd3efeefbf3d2f51615b9745
DIST r-efi-5.2.0.crate 64764 BLAKE2B ee17fae983b2c39137cb75698062a3bf8edb4bc680b04900797730618b54298e2f1d13ceab6b660f7a1799f6fc4113ca15d4320b1b95fc42913e0930f3aa16f8 SHA512 80f89d467b482297ec2c13cb0dc8e310442495483e25c33bb523f1cb66d6ce01fee4a57b36880a4f51c0e9f20eb3f993a5bc0a13224d52693dbc81b97c630158
DIST r-efi-5.3.0.crate 64532 BLAKE2B 54bc882e333f7ba52b6dd6ac92b8a282581c10b47de91a4c4b71b15a27b2df885ab52ae2fcc8a546367ee1ce98300dcaec3c33cbd7393b134383528540bb7d14 SHA512 e748db9729dbddf215d5c37630fa272197dd2921297800209ca7bfcd6ffd8530b598b944d95547ad9723655cafdfb69b1c1fade9ba5f8c2ac5c55ec38258fdad
@@ -28,6 +32,7 @@ DIST r-efi-alloc-2.0.0.crate 14497 BLAKE2B 690c550d414e8f2cb86c6c3db705f5fabb248
DIST r-efi-alloc-2.1.0.crate 14475 BLAKE2B b316af45913ed4fe3b3efd01f800aaafcad9d1d0d05a8ed3685a85246f458cf65f4da50229322ce059a9eea0d341af41b765ef321be31161ec07c3768d6f88ed SHA512 9213827d81f2809341b9ec101bb6d94dc5d4a0e8b87252a34bf21dc200dcc13d7b20013c7ec87ad0e9c24384f4b4f31b37f4bc2126bb8479db7bb1118ab7acef
DIST rustc-demangle-0.1.25.crate 29590 BLAKE2B affc3a85edfae0bd4a3a0165a9fa8d0d8c5be7958b70f98769d24eb6fe44c33bb05c33fc312bf35c887ce927c2f8feeb287b50f4f230d8dd74109be8faa34999 SHA512 d130a885b62470f4429dd5a9b11cb81e045c42e093125c2fed1eb79d07dd0990cd38e049a314babd1fd8b8ffab0bbcb0453fc7aae3e3adb7006e943d416162a8
DIST rustc-literal-escaper-0.0.2.crate 11073 BLAKE2B fe7423ab43605fabf26788a98629a1dc37da5ded1339ed13d63e00f7e4d6167284e82da42c439db3d09d580e8fd1a5c12b8192bb9a676de09f89f9ccd9912525 SHA512 01b3a3b918133bedd6ce02a182a1eeb1459d33cb538808951eb64dcdc3ced542768cfe76a226b825f827d8506d9bb967c562df5697c9b48f471494710c676db3
+DIST rustc-literal-escaper-0.0.5.crate 14220 BLAKE2B f871e30a7015cc0e498dfbd75d322d4263ca3a986cea898d86ea50c696421e8922d112719631d429bf51d19bec2fa3f1b7a2aa8dbff0f011a4e71d81db511371 SHA512 a14118bdf2c5024b48a2ee2c06b371e94d951eff50db37b8727d25dd8ac37249c7bdf6c7d450873e5810778e28d0da950e8c630ffe81d01b46860db94164fac4
DIST unicode-width-0.1.14.crate 271615 BLAKE2B dd2e1504caedecb5d37c397ba05446d3d762b8b6833a8032ebbc213e324d53d89db5e96ed2f7223096e5754d800b39a54105906effc88d9437d7acb9e7beb81e SHA512 3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb
DIST unicode-width-0.2.1.crate 279344 BLAKE2B d4128c165016a76196e0eda9cc4a0edccf326cc3c7ecf0e1b43848446e758c703e9a9e843dbd256a523e1654ae3faaf6c172e21b0b6324757610fc5333c56e8e SHA512 705ce2ca2964761d9fcf014ef5ad9af2973b5f7c0c3561fece10378d817135afc5f24b9ac16290b98edecab77a01ddee9ec8dca5bd2b4eaec1f3124065ab8708
DIST unwinding-0.2.6.crate 28127 BLAKE2B 6c23b3d6b950f7d6ce748d35ffc957e71781de11b8bbf86869497b252af5ee1d22aa8c03aaa223ac8b53823d23abc105e1ce4c7d82550d817ae72336ca024efc SHA512 a9916e973951dae6584d0b9d47bf4903dbde8f59330e751e8a53f50bafbf4ab184c02a97809c864b4c17a2aecc4d55343c53cc1575e2cd3df82c3f2fc9c842bb
diff --git a/net-proxy/mitmproxy-linux/mitmproxy-linux-0.12.8.ebuild b/net-proxy/mitmproxy-linux/mitmproxy-linux-0.12.8.ebuild
new file mode 100644
index 000000000000..73aee1b05991
--- /dev/null
+++ b/net-proxy/mitmproxy-linux/mitmproxy-linux-0.12.8.ebuild
@@ -0,0 +1,118 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Extra crates required at runtime via rustc-build-sysroot crate.
+# Note: versions are locked in /usr/lib/rust/*/lib/rustlib/src/rust/library/Cargo.lock.
+CRATES="
+ addr2line@0.25.0
+ adler2@2.0.1
+ cfg-if@1.0.1
+ compiler_builtins@0.1.160
+ dlmalloc@0.2.9
+ dlmalloc@0.2.10
+ fortanix-sgx-abi@0.5.0
+ fortanix-sgx-abi@0.6.1
+ getopts@0.2.23
+ gimli@0.32.0
+ hashbrown@0.15.4
+ hermit-abi@0.5.2
+ libc@0.2.174
+ memchr@2.7.5
+ miniz_oxide@0.8.9
+ object@0.37.1
+ r-efi-alloc@2.1.0
+ r-efi@5.3.0
+ rustc-demangle@0.1.25
+ rustc-literal-escaper@0.0.2
+ rustc-literal-escaper@0.0.5
+ unwinding@0.2.7
+ unicode-width@0.2.1
+ wasi@0.11.1+wasi-snapshot-preview1
+"
+
+# Implied by crates above.
+RUST_MIN_VER=1.89.0
+RUST_MAX_VER=1.90.0
+
+declare -A GIT_CRATES=(
+ [boringtun]='https://github.com/cloudflare/boringtun;2f3c85f5c4a601018c10b464b1ca890d9504bf6e;boringtun-%commit%/boringtun'
+)
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{12..14} )
+RUST_REQ_USE="llvm_targets_BPF(+),rust-src"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="mitmproxy's Rust bits"
+HOMEPAGE="
+ https://github.com/mitmproxy/mitmproxy_rs/
+ https://pypi.org/project/mitmproxy-rs/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ https://github.com/gentoo-crate-dist/mitmproxy_rs/releases/download/v${PV}/mitmproxy_rs-${PV}-crates.tar.xz
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC
+ LGPL-3+ MIT Unicode-3.0 WTFPL-2 ZLIB
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="
+ dev-util/bpf-linker
+"
+
+src_prepare() {
+ local PATCHES=(
+ # aya-ebpf overwrites libc functions with incompatible
+ # implementations that break everything, and therefore
+ # can only be used for bpf* targets
+ # https://github.com/aya-rs/aya/issues/1254
+ "${FILESDIR}/${PN}-0.11.5-no-host-aya-ebpf.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # replace upstream crate substitution with our crate substitution, sigh
+ local bor_dep=$(grep ^boringtun "${ECARGO_HOME}"/config.toml || die)
+ sed -i -e "/boringtun/s;^.*$;${bor_dep};" Cargo.toml || die
+
+ # this only implicitly builds mitmproxy-linux-ebpf, and is broken
+ # https://github.com/mitmproxy/mitmproxy/issues/7663
+ rm mitmproxy-linux/build.rs || die
+}
+
+src_configure() {
+ # first, we must build mitmproxy-linux-ebpf for the bpf target
+ # bpf-linker requires BPF target that is only available in nightly
+ local -x RUSTC_BOOTSTRAP=1
+ # no clue why this needs to be explicit
+ local -x RUSTFLAGS="-C linker=bpf-linker"
+
+ local cmd=(
+ "${CARGO}" build
+ -Z build-std=core
+ --bins
+ --release
+ --target=bpfel-unknown-none
+ )
+
+ pushd mitmproxy-linux-ebpf >/dev/null || die
+ echo "${cmd[*]}" >&2
+ "${cmd[@]}" || die "${cmd[*]} failed"
+ popd >/dev/null || die
+
+ export OUT_DIR="${S}/target/bpfel-unknown-none/release"
+}
+
+python_test() {
+ cargo_src_test --manifest-path mitmproxy-linux/Cargo.toml
+}