diff --git a/dev-python/agent-client-protocol/Manifest b/dev-python/agent-client-protocol/Manifest new file mode 100644 index 000000000..3883c3e5f --- /dev/null +++ b/dev-python/agent-client-protocol/Manifest @@ -0,0 +1 @@ +DIST agent-client-protocol-0.6.3.tar.gz 152382 BLAKE2B cc8c8210d0c5560d8d47b153cbe13be8819305c0b28c447e1ea4d9aa2a84f54cd24b39aa817536e2c9d6c813a335de2d3b69a1bf558f59d10a26337e602354be SHA512 50fc336cd0a567c374c384505573b4e3bf122bac66fd039855870e1018e7bb604f9d2f51dc761001f6058cab7c4461f562ed4495cae4850a939e45ccdd258dc8 diff --git a/dev-python/agent-client-protocol/agent-client-protocol-0.6.3.ebuild b/dev-python/agent-client-protocol/agent-client-protocol-0.6.3.ebuild new file mode 100644 index 000000000..de4c2fe4d --- /dev/null +++ b/dev-python/agent-client-protocol/agent-client-protocol-0.6.3.ebuild @@ -0,0 +1,25 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +DISTUTILS_USE_PEP517=hatchling + +inherit distutils-r1 + +DESCRIPTION="Agent Client Protocol" +HOMEPAGE="https://github.com/mistralai/agent-client-protocol" +SRC_URI="https://files.pythonhosted.org/packages/c6/fe/147187918c5ba695db537b3088c441bcace4ac9365fae532bf36b1494769/agent_client_protocol-0.6.3.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/agent_client_protocol-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RESTRICT="test" + +RDEPEND=" + dev-python/pydantic[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" diff --git a/dev-python/agent-client-protocol/metadata.xml b/dev-python/agent-client-protocol/metadata.xml new file mode 100644 index 000000000..847c1e40d --- /dev/null +++ b/dev-python/agent-client-protocol/metadata.xml @@ -0,0 +1,11 @@ + + + + + unknown@pentoo.ch + Author Unknown + + + mistralai/agent-client-protocol + + diff --git a/dev-python/chromadb/Manifest b/dev-python/chromadb/Manifest index aa4a2fb44..76169cfb6 100644 --- a/dev-python/chromadb/Manifest +++ b/dev-python/chromadb/Manifest @@ -1 +1 @@ -DIST chromadb-1.0.20.tar.gz 1244999 BLAKE2B 3a9f99153f77679d444d107d3f04f3ebfaf30b2e04935fc6a34e1fcf013ce796450a715487b22c4091e764ef313b80a517c7d76ec93a88b4bb395d9d63f3c8ef SHA512 a093bbcaeb7fc0bd4bb02bfb8a8efab100107faa57b3ae8fdf95b4e2ed5107470df629be9bc522b8ed26627eefacf22585f4aae7673b7a40da5d5c45b3dab4a2 +DIST chromadb-1.4.1.tar.gz 2226347 BLAKE2B 0b6d196b9c9f6ba847f18be0475a7b8e78baf0ac33ff59323574be19e16bd572e519772f19035e99618876cb5de8cbf41cef87bb27e8d1ceeaebc6e800284939 SHA512 fd9d712ae26236c99e5c4ede3880f5d72e2db357001b1805b6240ca0b72c1e6ce26040da74f31d64587f8b30588ae3d00addbfcd4164b3b05f7f83f8c7b8d8f1 diff --git a/dev-python/chromadb/chromadb-1.0.20.ebuild b/dev-python/chromadb/chromadb-1.4.1.ebuild similarity index 100% rename from dev-python/chromadb/chromadb-1.0.20.ebuild rename to dev-python/chromadb/chromadb-1.4.1.ebuild diff --git a/dev-python/ghidrecomp/Manifest b/dev-python/ghidrecomp/Manifest new file mode 100644 index 000000000..a4b845b2a --- /dev/null +++ b/dev-python/ghidrecomp/Manifest @@ -0,0 +1 @@ +DIST ghidrecomp-0.5.9.tar.gz 77433 BLAKE2B af654d5b3fde9027f02a8aa40e5f285717045510ed9443a878ce56642b8b510c71dd8b49ecb929bdf3e874f5e5f3058f8fe67a527f68f6b04782f529f87a2ee8 SHA512 f9504ae6815331fba78576cd970658fde00f496b6fd42c488c431f034f59682b3dfaca72bb12f2f3beb05eca0292a6c347d18eb7bde3333596b9ad2be775e3c1 diff --git a/dev-python/ghidrecomp/ghidrecomp-0.5.9.ebuild b/dev-python/ghidrecomp/ghidrecomp-0.5.9.ebuild new file mode 100644 index 000000000..7fd58af3d --- /dev/null +++ b/dev-python/ghidrecomp/ghidrecomp-0.5.9.ebuild @@ -0,0 +1,23 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Python Command-Line Ghidra Decomplier" +HOMEPAGE="https://pypi.org/project/ghidrecomp/" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RDEPEND=">=dev-python/pyghidra-2.2.1[${PYTHON_USEDEP}]" +DEPEND="${RDEPEND}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="test" +#distutils_enable_tests pytest diff --git a/dev-python/ghidrecomp/metadata.xml b/dev-python/ghidrecomp/metadata.xml new file mode 100644 index 000000000..a0a37a734 --- /dev/null +++ b/dev-python/ghidrecomp/metadata.xml @@ -0,0 +1,11 @@ + + + + + unknown@pentoo.ch + Author Unknown + + + ghidrecomp + + diff --git a/dev-python/httpx-sse/Manifest b/dev-python/httpx-sse/Manifest new file mode 100644 index 000000000..0c291e4d2 --- /dev/null +++ b/dev-python/httpx-sse/Manifest @@ -0,0 +1 @@ +DIST httpx_sse-0.4.3.tar.gz 15943 BLAKE2B 9398dd35baf19087f351098c9127c1dc782eaa675e465333f730089bdbb664c9201ba7119366bc655433d88569cf62d6449d1121d0fe4cd008b9b54c0357e8d4 SHA512 72e3b893c3e2a2c6db0e985e43c049ae177cd39a3f00747a7df7f6b1b7a058eedce328db5563a39323d23baca24b32bbba965423a11f05e6f05d6ff9a075a5cf diff --git a/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild b/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild new file mode 100644 index 000000000..a2145a8a0 --- /dev/null +++ b/dev-python/httpx-sse/httpx-sse-0.4.3.ebuild @@ -0,0 +1,23 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 pypi + +DESCRIPTION="Consume Server-Sent Event (SSE) messages with HTTPX" +HOMEPAGE="https://github.com/florimondmanca/httpx-sse" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RESTRICT="test" + +RDEPEND=" + dev-python/httpx[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" diff --git a/dev-python/httpx-sse/metadata.xml b/dev-python/httpx-sse/metadata.xml new file mode 100644 index 000000000..7715b2290 --- /dev/null +++ b/dev-python/httpx-sse/metadata.xml @@ -0,0 +1,12 @@ + + + + + unknown@pentoo.ch + Author Unknown + + + florimondmanca/httpx-sse + httpx-sse + + diff --git a/dev-python/mcp/Manifest b/dev-python/mcp/Manifest new file mode 100644 index 000000000..edcc94345 --- /dev/null +++ b/dev-python/mcp/Manifest @@ -0,0 +1 @@ +DIST mcp-1.14.0.tar.gz 454855 BLAKE2B 653de9bae1f74da6345ada35914a310e6605a67cf58a6cff2479cd7dd997636c23ca92b31c517457aac983654202a29b173b41eadfee066bb0984f816b0a090f SHA512 c86e9eaa0e9d4acd5782164d4bf6b5dc94fa3031493e9d2245aa74fb3bef8900091a2fe02a409e13bd14beaa505e2da9f1756e7ff8ec4b9042dba03abe05c1ac diff --git a/dev-python/mcp/mcp-1.14.0.ebuild b/dev-python/mcp/mcp-1.14.0.ebuild new file mode 100644 index 000000000..926ea5884 --- /dev/null +++ b/dev-python/mcp/mcp-1.14.0.ebuild @@ -0,0 +1,29 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{12..14} ) +DISTUTILS_USE_PEP517=hatchling + +inherit distutils-r1 pypi + +DESCRIPTION="Python SDK for Model Context Protocol" +HOMEPAGE="https://github.com/modelcontextprotocol/python-sdk" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RESTRICT="test" + +RDEPEND=" + >=dev-python/agent-client-protocol-0.6.3[${PYTHON_USEDEP}] + dev-python/anyio[${PYTHON_USEDEP}] + >=dev-python/jsonschema-4.20.0[${PYTHON_USEDEP}] + dev-python/httpx-sse[${PYTHON_USEDEP}] + dev-python/pydantic[${PYTHON_USEDEP}] + dev-python/starlette[${PYTHON_USEDEP}] + dev-python/sse-starlette[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" diff --git a/dev-python/mcp/metadata.xml b/dev-python/mcp/metadata.xml new file mode 100644 index 000000000..3d6585895 --- /dev/null +++ b/dev-python/mcp/metadata.xml @@ -0,0 +1,12 @@ + + + + + unknown@pentoo.ch + Author Unknown + + + modelcontextprotocol/python-sdk + mcp + + diff --git a/dev-python/pyghidra-mcp/Manifest b/dev-python/pyghidra-mcp/Manifest index 135f0e544..356d14960 100644 --- a/dev-python/pyghidra-mcp/Manifest +++ b/dev-python/pyghidra-mcp/Manifest @@ -1 +1 @@ -DIST pyghidra_mcp-0.1.8.tar.gz 25564 BLAKE2B c9eba0a45f0769eb3ebcde55ca05a891148190739e0fed738e0488c2360445e8f831a52b6e71e93a08f10709036cf7ace6d1349c9f2efeb5d41c84dbce5ed5e7 SHA512 9437e5f627c74b90971ca838ac89b89c5eae168e327c46db38bc7fd8831634d998994e6ca56bf55647c8a3be351946823dc5f035dceda8577fa754ea7cf3b3b8 +DIST pyghidra_mcp-0.1.13.tar.gz 34652 BLAKE2B e0c9bbc7982460f47a4a7bf22a78ad1ed842d54e8b40ab97abe37da0c8e082a6a0c8c59d7ce592aa93df96f74f5f7e6b248761688118eca5483ba1520d4f4f75 SHA512 c46cb4218c61fc0ab90b9c0ba375d101f8b7627435ef5ebdf568a76bdefbc0e80115294491f71396a7dbe4f3c486cd8bb05d895d05a4aff4be38cc6865dc8ad9 diff --git a/dev-python/pyghidra-mcp/pyghidra-mcp-0.1.8.ebuild b/dev-python/pyghidra-mcp/pyghidra-mcp-0.1.13.ebuild similarity index 52% rename from dev-python/pyghidra-mcp/pyghidra-mcp-0.1.8.ebuild rename to dev-python/pyghidra-mcp/pyghidra-mcp-0.1.13.ebuild index daf7b9be4..927add855 100644 --- a/dev-python/pyghidra-mcp/pyghidra-mcp-0.1.8.ebuild +++ b/dev-python/pyghidra-mcp/pyghidra-mcp-0.1.13.ebuild @@ -1,9 +1,9 @@ -# Copyright 2025 Gentoo Authors +# Copyright 2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -DISTUTILS_USE_PEP517=setuptools +DISTUTILS_USE_PEP517=hatchling PYTHON_COMPAT=( python3_{12..14} ) inherit distutils-r1 pypi @@ -13,16 +13,17 @@ HOMEPAGE="https://pypi.org/project/pyghidra-mcp/" LICENSE="Apache-2.0" SLOT="0" -#KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64 ~x86" -#RDEPEND="" -DEPEND="${RDEPEND} +RDEPEND=" >=dev-python/click-8.2.1[${PYTHON_USEDEP}] - >=dev-python/pyghidra-2.1.0[${PYTHON_USEDEP}] - >=dev-python/chromadb-0.5.5[${PYTHON_USEDEP}] + >=dev-python/click-option-group-0.5.9[${PYTHON_USEDEP}] + >=dev-python/mcp-1.9.4[${PYTHON_USEDEP}] + >=dev-python/pyghidra-2.2.1[${PYTHON_USEDEP}] + >=dev-python/chromadb-1.3.5[${PYTHON_USEDEP}] + >=dev-python/ghidrecomp-0.5.8[${PYTHON_USEDEP}] " -#FIXME: -# >=dev-python/mcp-1.9.4[cli,${PYTHON_USEDEP}] +DEPEND="${RDEPEND}" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/dev-python/pyghidra/Manifest b/dev-python/pyghidra/Manifest index 79c28c89b..3e20267a1 100644 --- a/dev-python/pyghidra/Manifest +++ b/dev-python/pyghidra/Manifest @@ -1 +1,2 @@ DIST pyghidra-2.2.0.tar.gz 42968 BLAKE2B 3ece1ffd49596b530abce3b0a00a25fb29939f2b865824029e12aab6f06ee2bdceaf4143e099dfdb08be1c9171cd0cec4f7d2c1a97d0ff9bc31a6c7c1e74466c SHA512 5f99fb5b44b8d81f82761520a3d405bcdd58c69f12ebc9335c3c84b1a5702780c79cf8154644e018e50d0abe4d04bce02cd7948f95f1c9a1335c2e93c0fd4a6b +DIST pyghidra-3.0.2.tar.gz 52479 BLAKE2B 88c0e975094363f0aee21274ccdf6694e47fa705ca394d70ba8f614954c4d0c9c09cd9811ca422113ae798ccb393fca599016ba47d3e568eae98d7c7d19da65b SHA512 b81fd1fa559443c84426dc3b8644004b521d57e55362e91fd6d8309f1f157da4b2a8d4b5b45bc34c590b88a8f62bf0dd6980cc7c07f4e786557a283bc4bc4c8a diff --git a/dev-python/pyghidra/pyghidra-3.0.2.ebuild b/dev-python/pyghidra/pyghidra-3.0.2.ebuild new file mode 100644 index 000000000..92e31e253 --- /dev/null +++ b/dev-python/pyghidra/pyghidra-3.0.2.ebuild @@ -0,0 +1,29 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{12..14} ) + +inherit distutils-r1 pypi + +DESCRIPTION="a Python library that provides direct access to the Ghidra API" +HOMEPAGE="https://github.com/NationalSecurityAgency/ghidra https://pypi.org/project/pyghidra/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" + +RDEPEND=" + >=dev-python/jpype1-1.5.2[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND}" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="test" +#distutils_enable_tests pytest + +# FIXME: add env variable: +#export GHIDRA_INSTALL_DIR=/usr/share/ghidra/ diff --git a/dev-python/sse-starlette/Manifest b/dev-python/sse-starlette/Manifest new file mode 100644 index 000000000..517fce0b5 --- /dev/null +++ b/dev-python/sse-starlette/Manifest @@ -0,0 +1 @@ +DIST sse_starlette-3.1.2.tar.gz 26303 BLAKE2B ff15027b5b86f4bfdbce40dc966790634c64ed8b6e02cc793923908be180f955fc85b756d5c8e85bfaf98cc8bfb7e5aa28ade7fd69088cee03ea8bc6d4c38ca3 SHA512 0645d51a38e02b15e0751882f6fbda10850079d0113f024e8c2a173da22847676803f75d67021924d9591c2e117ece6b053670fa7b38d242c49ef01357f95694 diff --git a/dev-python/sse-starlette/metadata.xml b/dev-python/sse-starlette/metadata.xml new file mode 100644 index 000000000..d88da1238 --- /dev/null +++ b/dev-python/sse-starlette/metadata.xml @@ -0,0 +1,12 @@ + + + + + unknown@pentoo.ch + Author Unknown + + + sysid/sse-starlette + sse-starlette + + diff --git a/dev-python/sse-starlette/sse-starlette-3.1.2.ebuild b/dev-python/sse-starlette/sse-starlette-3.1.2.ebuild new file mode 100644 index 000000000..2f5fc3528 --- /dev/null +++ b/dev-python/sse-starlette/sse-starlette-3.1.2.ebuild @@ -0,0 +1,24 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..14} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 pypi + +DESCRIPTION="SSE plugin for Starlette." +HOMEPAGE="https://github.com/sysid/sse-starlette https://pypi.org/project/sse-starlette/" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RESTRICT="test" + +RDEPEND=" + >=dev-python/starlette-0.49.1[${PYTHON_USEDEP}] + >=dev-python/anyio-4.7.0[${PYTHON_USEDEP}] + " +DEPEND="${RDEPEND}" diff --git a/dev-util/ghidra/Manifest b/dev-util/ghidra/Manifest index fd54f062b..f24628a14 100644 --- a/dev-util/ghidra/Manifest +++ b/dev-util/ghidra/Manifest @@ -1,5 +1,6 @@ DIST AXMLPrinter2.jar 24552 BLAKE2B 3ff09da948c2962919927ad35f8d38a13391c763a83962f8fdce90ec4720430b00be891f68fc149f62180ddf5f5e818af4e6b6a153d1a55e871f181e930d2b7b SHA512 c1168ec913f1fbb0675915d4fd865ec9a8e8573f6c8aedcb6e68166f61f11aeaececc7548d54d78134843c0102c57d6350973f6d3027d0ffdae52a5c57a7f601 DIST Ghidra_11.4.3_build.tar.gz 74475006 BLAKE2B 489985502b464854f0a72c87e3c6380044e45f7f734b244326ea79f159ae2f1e796bf9df9718913a4a559a917a15c83f21fd07d58556740d15c1b296a75430eb SHA512 f711d45e235e1df65d928fd67dafca36809caea6f6e4bb831500441f4e894466749260d9fceed7a234f8472ed4e6b7279db099c14932bb7822d789bbde6ad41f +DIST Ghidra_12.0.1_build.tar.gz 78575589 BLAKE2B c68e5d5f7b5e4d9c981147f9f6b424afe86d1ba610d89264806f660e4a4119508170083a5cf10d5798deec3db7bb4dac390483813bb104ae11320d29d24cace6 SHA512 1685c68418c0dfa92a64096e16a379d967d9756ed22171eab2b5366b114a56564501808708ba7a65cdd60cec75194eff204b5b9d1bde5965c84edc8135bb4336 DIST Ghidra_12.0_build.tar.gz 78508855 BLAKE2B 7641373fdb02a0bf697ec6181cfeee48652aeb935fa8be1a82fe5aafa20bfe16f8de0f511f4e3adc102849abac38f3c55e8e8a64642622e7db5c45bf3d4f2ce0 SHA512 d403938c2169d877b58c6b137a9b5d403c8f8f975a96c660d7519ca7c38625e567c480591de87d26247cae5b7ee924743636ff02a8ebdf21c255974a5ace78ec DIST PyDev-9.3.0.zip 29897762 BLAKE2B 426867e2322988be23eaa6c0662049be7c34d9b019a17847fd7a4f875b971229db1c3ffb65e676dfe8d3a6b0683c0c514c9408092a7cf0afc652641f57ae31ca SHA512 5d13c012e5c0e25a1a3f43dce7b797f612d5e59b7985b30aa7588f98942a50e5723ee8d311203e9c1209a488be088a8cfb97d490095ceaef01a07e51a8c495b4 DIST Pybag-2.2.12-py3-none-any.whl 298073 BLAKE2B 664879d7c4a58f86bfdea5663637fb9a8c08631c8ba37da1d51a3632e9cfa8b0255cc8fe41e8b880375e6c7fd2725977b5910b7cc206b225ab9570e5558f6c05 SHA512 308ff5ae3adb3995ec0cbf125e866002368f634208425301f86d4b95a1d40972fa976213d08b2aa6c88b0eaed2b7a90a83ca609f659492511ba9aac25c41f102 @@ -10,6 +11,7 @@ DIST dbgmodel.tlb 62336 BLAKE2B d8174f421b93246cf3836d9cf37e0f3f645fadeac0288ec9 DIST dex-tools-v2.4.zip 19105975 BLAKE2B bbda5e123bdf500ff736fb38424002d41162ed1e5be34116e5722723ef13ea908ede4d8a3079bc1a376b1e47c985b0cd54ea5927edf774d1414d300de616a571 SHA512 8c1381920293195fba5ec4f9934d1cb0254cf94ef1dfb420519cf3da364c7e25fed7da7736692f36d3d068bdbbb46884d890ff43626b1b521823206f4666fc4f DIST ghidra-dependencies-20250625.tar.gz 101631250 BLAKE2B a03e215ef986e61a8204e792f8e92f8afb3cc764d9e7d55e39c840339ace2aa4f35d5dc3826ee04ccc5a701d5b890999f5cc2a7de0536978976887d950b948d6 SHA512 aee1af9e60975511884148e4e820e2d61e086a00ac2d19cd6e06a6b8929753d8e63043fce16d5b00f189a5936665d18a9044fd1cf75cea96a8461ce34a027cdd DIST ghidra-dependencies-20251209.tar.gz 105023467 BLAKE2B 63f2936cc1a67986cde053c17c622caca7e35924db25d9ea31ccb908f318135aa38db5651ab717f662d04bbd219d186ff50e1276f672e8f1fa2f334c998c65d0 SHA512 5d48375767e428fdb555567ad92a9b4143080807b8e987c1f31831ef4fa0b567b2cacdc4160bf2177da782b3a4802db9631747966e581a9f7966d15be7c00c8b +DIST ghidra-dependencies-20260118.tar.gz 107099640 BLAKE2B 15a65116cf77defa9d5b8d4e7451568bf6ead7c88ebdc530f2eeba99dfc1f358bc828e1ebe2eb10110398ac366c1c749350448befffb9c105d296e1b4b8f5665 SHA512 e0fc49a22b9fa1da164632dfbcfd96e90cb94c3b9fd387d82858ef22198fa4489fbe426e76314ca886858c437701b3c7d2a047d4b2a95b7929eb81447a560ec3 DIST hfsexplorer-0_21-bin.zip 1473278 BLAKE2B e9d2a3fae4da8046a17ce5e6828b4d1ff27da6384aac4be3864fe2c16f83bb95cb728eaeec9a42c3e1febaef98ba9357bfc3744b4950deb4b783d36e723d6cc0 SHA512 b85b4316115695acc78cc7c675c673058c05a238451562be0c6a48b2d11a28e5645a42cb62cdf063be015369df26201dfab6cf2e60f39e6468d1d53b23f94415 DIST java-sarif-2.1-modified.jar 227352 BLAKE2B d768865f09f2aa4ec6b965347df13d7e1bcda38e2401cdcdad7eaabd68dba901e29525c1632b8d4ea3529ed894193abe09a38293f21d3155bba4c55b7c90ed8e SHA512 04d1f895f87a8f0a653ee5c2b18ed0b6d158f1b7de4e16de2e50ed5a3087b1e83ca01f6c4c8c53d1788942e29d2f41528c910f224c41e27098cb5c2838a8ddf3 DIST postgresql-15.10.tar.gz 30424979 BLAKE2B 926015ad5e76e84f71db77b3ba3235d71bbffe6c39047cd34d95b987c10eb316017a9aa857f5dde4e8ad7f7e6acdafabae0fa69ee07c3776e67fec0ea14e539a SHA512 92906d4c6bb958b4dccfe7e978a21a8a6459616650c74013fe5662ac97fdea105ee009e38b9145716bcb07d160f8d4d793be4fb3651d40930bbfe04cef352403 diff --git a/dev-util/ghidra/ghidra-12.0.1.ebuild b/dev-util/ghidra/ghidra-12.0.1.ebuild new file mode 100644 index 000000000..2023c74b8 --- /dev/null +++ b/dev-util/ghidra/ghidra-12.0.1.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{12..14} ) +inherit java-pkg-2 desktop python-single-r1 + +GRADLE_DEP_VER="20260118" +# Ghidra/application.properties +GRADLE_VER="8.5" + +RELEASE_VERSION="11.4" #${PV} + +DESCRIPTION="A software reverse engineering framework" +HOMEPAGE="https://ghidra-sre.org/" + +# ./gradle/support/fetchDependencies.gradle +FIDB_FILES="vs2012_x86.fidb vs2012_x64.fidb vs2015_x86.fidb vs2015_x64.fidb \ +vs2017_x86.fidb vs2017_x64.fidb vs2019_x86.fidb vs2019_x64.fidb vsOlder_x86.fidb vsOlder_x64.fidb" + +Z3_VER="4.13.0" +#Z3_ARM64_OSX_VER = "11.0" +#Z3_X64_OSX_VER = "11.7.10" +Z3_X64_GLIBC_VER="2.31" +Z3_NAME="z3-${Z3_VER}-x64-glibc-${Z3_X64_GLIBC_VER}" +# ./gradle/support/fetchDependencies.gradle +# https://github.com/NationalSecurityAgency/ghidra/archive/refs/tags/Ghidra_11.4_build.tar.gz +SRC_URI="https://github.com/NationalSecurityAgency/${PN}/archive/refs/tags/Ghidra_${PV}_build.tar.gz + https://dev.pentoo.ch/~blshkv/distfiles/${PN}-dependencies-${GRADLE_DEP_VER}.tar.gz + https://github.com/pxb1988/dex2jar/releases/download/v2.4/dex-tools-v2.4.zip + https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_${RELEASE_VERSION}/Debugger/dbgmodel.tlb + https://github.com/digitalsleuth/AXMLPrinter2/raw/691036a3caf84950fbb0df6f1fa98d7eaa92f2a0/AXMLPrinter2.jar + https://github.com/unsound/hfsexplorer/releases/download/hfsexplorer-0.21/hfsexplorer-0_21-bin.zip + https://downloads.sourceforge.net/yajsw/yajsw/yajsw-stable-13.12.zip + https://ftp.postgresql.org/pub/source/v15.10/postgresql-15.10.tar.gz + https://archive.eclipse.org/tools/cdt/releases/8.6/cdt-8.6.0.zip + https://sourceforge.net/projects/pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0.zip -> PyDev-9.3.0.zip + https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_${RELEASE_VERSION}/lib/java-sarif-2.1-modified.jar + https://github.com/Z3Prover/z3/releases/download/z3-${Z3_VER}/${Z3_NAME}.zip +" +for FIDB in ${FIDB_FILES}; do + SRC_URI+=" https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_${RELEASE_VERSION}/FunctionID/${FIDB}" +done + + SRC_URI+=" https://files.pythonhosted.org/packages/8d/14/619e24a4c70df2901e1f4dbc50a6291eb63a759172558df326347dce1f0d/protobuf-3.20.3-py2.py3-none-any.whl + https://files.pythonhosted.org/packages/90/c7/6dc0a455d111f68ee43f27793971cf03fe29b6ef972042549db29eec39a2/psutil-5.9.8.tar.gz + https://files.pythonhosted.org/packages/c7/42/be1c7bbdd83e1bfb160c94b9cafd8e25efc7400346cf7ccdbdb452c467fa/setuptools-68.0.0-py3-none-any.whl + https://files.pythonhosted.org/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl + https://files.pythonhosted.org/packages/ce/78/91db67e7fe1546dc8b02c38591b7732980373d2d252372f7358054031dd4/Pybag-2.2.12-py3-none-any.whl + https://files.pythonhosted.org/packages/d0/dd/b28df50316ca193dd1275a4c47115a720796d9e1501c1888c4bfa5dc2260/capstone-5.0.1-py3-none-win_amd64.whl + https://files.pythonhosted.org/packages/50/8f/518a37381e55a8857a638afa86143efa5508434613541402d20611a1b322/comtypes-1.4.1-py3-none-any.whl + https://files.pythonhosted.org/packages/83/1c/25b79fc3ec99b19b0a0730cc47356f7e2959863bf9f3cd314332bddb4f68/pywin32-306-cp312-cp312-win_amd64.whl" + +# run: "pentoo/scripts/gradle_dependencies.py buildGhidra" from "${S}" directory to generate dependencies +# https://www.eclipse.org/downloads/download.php?r=1&protocol=https&file=/tools/cdt/releases/8.6/cdt-8.6.0.zip +# https://sourceforge.net/projects/yajsw/files/yajsw/yajsw-stable-13.05/yajsw-stable-13.05.zip/download + +S="${WORKDIR}/ghidra-Ghidra_${PV}_build" +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64" + +#FIXME: +# * QA Notice: Files built without respecting CFLAGS have been detected +# * QA Notice: Files built without respecting LDFLAGS have been detected +# * Please include the following list of files in your report: +# * /usr/share/ghidra/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_24 +# * /usr/share/ghidra/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_41 +# * /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/decompile +# * /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/sleigh +# * /usr/share/ghidra/Ghidra/Features/FileFormats/data/sevenzipnativelibs/Linux-amd64/lib7-Zip-JBinding.so +# * /usr/share/ghidra/Ghidra/Features/FileFormats/os/linux_x86_64/lzfse + +# FIXME: +# build fails with system-vm jdk-25, see: +# https://github.com/gradle/gradle/issues/35111 +# java-pkg-2 does not set it for some reason +JAVA_PKG_WANT_SOURCE="21" +JAVA_PKG_WANT_TARGET="21" + +REQUIRED_USE=${PYTHON_REQUIRED_USE} +#java-pkg-2 sets java based on RDEPEND so the java slot in rdepend is used to build +#>=virtual/jdk-21:* +RDEPEND="virtual/jre:21 + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + virtual/jdk:21 + sys-devel/bison + dev-java/jflex + app-arch/unzip" +BDEPEND=">=dev-java/gradle-bin-${GRADLE_VER}:* = ${requiredver}, proceeding with build..." + else + eerror "Gradle version ${requiredver} or higher must be eselected before building ${PN}." + die "Please run 'eselect gradle set gradle-bin-XX' when XX is a version of gradle higher than ${requiredver}" + fi +} + +pkg_setup() { + java-pkg-2_pkg_setup + python-single-r1_pkg_setup +} + +src_unpack() { + # https://github.com/NationalSecurityAgency/ghidra/blob/master/DevGuide.md + # alternative: + # gradle -I gradle/support/fetchDependencies.gradle init + # gradle -g dependencies/gradle prepdev + # build: gradle -g dependencies/gradle buildGhidra + unpack ${A} + mkdir -p "${S}/.gradle/flatRepo" || die "(1) mkdir failed" + cd "${S}/.gradle" + + unpack dex-tools-v2.4.zip + cp dex-tools-v2.4/lib/dex-*.jar ./flatRepo || die "(2) cp failed" + + cp "${DISTDIR}/AXMLPrinter2.jar" ./flatRepo || die "(3) cp failed" + cp "${DISTDIR}/java-sarif-2.1-modified.jar" ./flatRepo || die "(4) cp failed" + + unpack hfsexplorer-0_21-bin.zip + cp lib/*.jar ./flatRepo || die "(5) cp failed" + + mkdir -p "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(6) mkdir failed" + cp "${DISTDIR}"/yajsw-stable-13.12.zip "${WORKDIR}"/ghidra.bin/Ghidra/Features/GhidraServer/ || die "(7) cp failed" + + PLUGIN_DEP_PATH="ghidra.bin/GhidraBuild/EclipsePlugins/GhidraDev/buildDependencies" + mkdir -p "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(8) mkdir failed" + cp "${DISTDIR}"/PyDev-9.3.0.zip "${WORKDIR}/${PLUGIN_DEP_PATH}/PyDev 9.3.0.zip" || die "(9) cp failed" + cp "${DISTDIR}"/cdt-8.6.0.zip "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(10) cp failed" + cp "${DISTDIR}"/postgresql-15.10.tar.gz "${WORKDIR}/${PLUGIN_DEP_PATH}/" || die "(10) cp failed" + + unpack ${Z3_NAME}.zip + mkdir -p ./dependencies/SymbolicSummaryZ3/os/linux_x86_64 + cp ${Z3_NAME}/bin/libz3*.so ./dependencies/SymbolicSummaryZ3/os/linux_x86_64 || die "(11) cp failed" + cp ${Z3_NAME}/bin/*.jar ./flatRepo || die "(12) cp failed" + + cd "${S}" + mv ../dependencies . + + mkdir ./dependencies/fidb || die "failed to create fidb dir" + for FIDB in ${FIDB_FILES}; do + cp "${DISTDIR}/${FIDB}" ./dependencies/fidb/ || die + done + + #copy whl + mkdir -p ./dependencies/{Debugger-rmi-trace,Debugger-agent-dbgeng} || die "failed to create Debugger dir" + cp "${DISTDIR}"/protobuf-3.20.3-py2.py3-none-any.whl ./dependencies/Debugger-rmi-trace/ || die + cp "${DISTDIR}"/psutil-5.9.8.tar.gz ./dependencies/Debugger-rmi-trace/ || die + cp "${DISTDIR}"/setuptools-68.0.0-py3-none-any.whl ./dependencies/Debugger-rmi-trace/ || die + cp "${DISTDIR}"/wheel-0.37.1-py2.py3-none-any.whl ./dependencies/Debugger-rmi-trace/ || die + + cp "${DISTDIR}"/Pybag-2.2.12-py3-none-any.whl ./dependencies/Debugger-agent-dbgeng/ || die + cp "${DISTDIR}"/capstone-5.0.1-py3-none-win_amd64.whl ./dependencies/Debugger-agent-dbgeng/ || die + cp "${DISTDIR}"/comtypes-1.4.1-py3-none-any.whl ./dependencies/Debugger-agent-dbgeng/ || die + cp "${DISTDIR}"/pywin32-306-cp312-cp312-win_amd64.whl ./dependencies/Debugger-agent-dbgeng/ || die + + cp "${DISTDIR}"/dbgmodel.tlb ./dependencies/Debugger-agent-dbgeng/ || die + +} + +src_prepare() { + mkdir -p ".gradle/init.d" || die "(10) mkdir failed" + cp "${FILESDIR}"/repos.gradle .gradle/init.d || die "(11) cp failed" + sed -i "s|S_DIR|${S}|g" .gradle/init.d/repos.gradle || die "(12) sed failed" + #remove build date so we can unpack dist.zip later + sed -i "s|_\${rootProject.BUILD_DATE_SHORT}||g" gradle/root/distribution.gradle || die "(13) sed failed" + #10.0 workaround + ln -s ../.gradle/flatRepo ./dependencies/flatRepo + + # First attempt at disabling pip + #sed -i 's#pip#echo#' Ghidra/Features/PyGhidra/build.gradle || die + + # Use the correct python version + # https://github.com/pentoo/pentoo-overlay/issues/2243 + #sed -i "s/findPython3\(true\)/\"${EPYTHON}\"/" build.gradle || die + sed -i "s/findPython3(true)/\"${EPYTHON}\"/" build.gradle || die + + eapply_user +} + +src_compile() { + check_gradle_binary + export _JAVA_OPTIONS="$_JAVA_OPTIONS -Duser.home=$HOME -Djava.io.tmpdir=${T}" + + GRADLE="gradle --gradle-user-home .gradle --console rich --no-daemon" + GRADLE="${GRADLE} --offline --parallel --max-workers $(nproc)" + unset TERM + ${GRADLE} prepDev -x check -x test || die + ${GRADLE} assembleAll -x check -x test --parallel || die + +#build without eclipse plugin +# ${GRADLE} yajswDevUnpack -x check -x test || die +# ${GRADLE} buildNatives_linux64 -x check -x test || die +# ${GRADLE} sleighCompile -x check -x test || die +} + +src_install() { + # remove zip files which aren't needed at runtime + find build/dist/ghidra_${PV}_DEV/ -type f -name '*.zip' -exec rm -f {} + + #FIXME: add doc flag + rm -r build/dist/ghidra_${PV}_DEV/docs/ || die "rm failed" + + insinto /usr/share/ghidra + doins -r build/dist/ghidra_${PV}_DEV/* + fperms +x /usr/share/ghidra/ghidraRun + fperms +x /usr/share/ghidra/support/launch.sh + fperms +x /usr/share/ghidra/GPL/DemanglerGnu/os/linux_x86_64/demangler_gnu_v2_41 + fperms +x /usr/share/ghidra/Ghidra/Features/Decompiler/os/linux_x86_64/decompile + shopt -s nullglob + # cd to install dir so the globbing works even when Ghidra isn't installed already + pushd "${ED}" + fperms +x usr/share/ghidra/Ghidra/Debug/Debugger-*/data/{debugger-launchers,support}/*.sh + popd + shopt -u nullglob + + dosym -r /usr/share/ghidra/ghidraRun /usr/bin/ghidra + + # icon + doicon GhidraDocs/GhidraClass/Beginner/Images/GhidraLogo64.png + # desktop entry + make_desktop_entry ${PN} "Ghidra" /usr/share/pixmaps/GhidraLogo64.png "Utility" +}