diff options
| author | root <root@alpha.trunkmasters.com> | 2026-09-15 16:25:10 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-09-15 16:25:10 -0500 |
| commit | 709cefca42ef2a976a9aff8afb44a95ffc545b79 (patch) | |
| tree | 4a0c9baada24031c4187bce895ad742f7f5eb85f /dev-python/kicad-python | |
| parent | c012d247f03a893c117c88f73bcf6cb6494dcd22 (diff) | |
| download | baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.tar.gz baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.tar.xz baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.zip | |
Adding metadata
Diffstat (limited to 'dev-python/kicad-python')
| -rw-r--r-- | dev-python/kicad-python/Manifest | 13 | ||||
| -rw-r--r-- | dev-python/kicad-python/kicad-python-0.8.0.ebuild | 115 |
2 files changed, 128 insertions, 0 deletions
diff --git a/dev-python/kicad-python/Manifest b/dev-python/kicad-python/Manifest index fb7be909add8..c3450ec795bc 100644 --- a/dev-python/kicad-python/Manifest +++ b/dev-python/kicad-python/Manifest @@ -10,4 +10,17 @@ DIST kicad-10.0.1-common-types-enums.proto 2841 BLAKE2B f47ac9c7f9e0dcaf9ce3d0a8 DIST kicad-10.0.1-common-types-project_settings.proto 3198 BLAKE2B fa82673dae3f11310319215eb46eca0a9db6301a0be601286028a78e951d7539998ee468c22f31cf2e0c8026c333aeaee3e95bca8e8951347a29a83536e3d93e SHA512 4d0fd27441a6f4354b79732da503926c0a125d8ee9adaa4fefb3f8b6ec1181aec4b7cfdb6f00e9083f5d4ca7659d3be74b66b9e5a6678052f23720c90a43cbfd DIST kicad-10.0.1-schematic-schematic_commands.proto 866 BLAKE2B 946b35676e26d091ed35e34331c8c3ffc55007cae5729ea7483b56caccb25de1eefb438dd16a50f731328d908d26faf516353c22acd275ca0945942645183bcf SHA512 031243204c96720f62ad25cb62731d65b9607b6237ee94ee3e28f3831f11a8845351413e5047f7fd695768efbd017094f906289cacd2302e43babd0e2151759d DIST kicad-10.0.1-schematic-schematic_types.proto 1941 BLAKE2B 23ad01b5bd15e7030b76693dd5c80729af6c80ddf782110f3c3a02fa4274dac6f0f26a7bffa5f4456262a8c93fe25e95169395f0cbfe384e07dd50095090f7c0 SHA512 8a762f7c8a1cf8eb0b5691661bcf82c448ef34c3142f8cfe3c77a1bd9666c9704747056c6ea4e08734b7cf7370ff3bd72e1d59414e3cde3a48b79ec371a74cf9 +DIST kicad-10.0.6-board-board.proto 4251 BLAKE2B e959f1c28c0f94bb3166cfbe3cfe6a806dd1299bf94935a35b7275432f66a14a9b90cc066933cb2dcdbc791e71c1a29b5cadf1f5ffa6a5d7e591498dec31fef2 SHA512 eede567853f965557ae71ef2131550504113e2dc93e4fcb7782312d96187d258a8cc3d9f6d2c18acaf268c46401e0111e844d9b3ce8991babb1bbd71b635a52c +DIST kicad-10.0.6-board-board_commands.proto 13903 BLAKE2B 0cc429fb4143c658c3d2da93d2305de4543aa24efd6c7ed8387fdb0ccac73222b35e7e82c49063ef38576ad4c7b0007d8014ba43c783da020045627033e7acc1 SHA512 cd5a1df20d94bca7ffe2335163f708f14456f7c4c778a9e852aaa673d406dd5a893870819d854474044750dd00f2d64919527afd1d83a9b8ab4865589b0587fe +DIST kicad-10.0.6-board-board_types.proto 28482 BLAKE2B 6283436c4ee4be0b5a23b76e7b358ae81f9e8c1bf7df7a3929ecbd0aadd08841cebf7125fd0dfabd83227673191f83d7db480a29a9b22c3b29799880c7d9ff88 SHA512 36250da123280a837fb0db538e2f9638799391594adfd7efd500582c55bf43fea802e5ee577b1b518173dfd7a711d24c4f1d49c25ec91c078ef3cf36ed0fd097 +DIST kicad-10.0.6-common-commands-base_commands.proto 2631 BLAKE2B c3123a1e5eeedf50e4abf65cbe255cf4613b08e21996f2ac554d6721ea94dcc37e09e9eebf133cfb50007797a467a369ca2807a3d1f77410a07cd32b58b910a8 SHA512 5735e90da9ee96f24cae041d2ad49d811be977d2c49b2910343032008cad80a79add5c59f6b33983bd67b8f922e5bfc8369240fff0e0034fb06d5464553f6ff1 +DIST kicad-10.0.6-common-commands-editor_commands.proto 11407 BLAKE2B 99a78a5dec3d65780fe6cac8f2745c0b9db3041d57bec1456c5dd8601b96f764a2319e40c3c589fb88de43efaf901715bf97ca18684c9aa68ee9613f40d5623e SHA512 962f718fed8656667443ee51fc7f94b871f5f04c500d34e411919c740cbaf58386e28103fb28d1afed25837cc8c0161f507c9ca607d21bb62b8cd7afbf4d33fd +DIST kicad-10.0.6-common-commands-project_commands.proto 2589 BLAKE2B 5992d8bb2640d3abd2c53969f37456dd2f1ed1162bc992e88165a9ba567e6585add950d665a58a6647740edee1a3f75020451e04c8ba212f2a178716cace060c SHA512 182c8425b71d1ca8c87088bceff916b128221e593e575cd0f5c46e65a8a6c92a6376185c9e7a01ce8e245b07bb7896c869fc301eae52f41a3d59d3deba7b839b +DIST kicad-10.0.6-common-envelope.proto 3139 BLAKE2B 95d99d7f22d26ba509df66c3bf3ec8ef11478821433621a76e42ca03f9e0470312746945fa2ae0bec8e8095b309ce90dab3cd94ba247c13e883782c05858f8c8 SHA512 c2b7ee51e6016ed6ecff89fdd43b64497b710b1af6e79b9c978863aebb3b511122aca8a6a1bb23f10185ddb386b7aeeca3241e7650858c0ad4c5f4eac4dab0ed +DIST kicad-10.0.6-common-types-base_types.proto 11894 BLAKE2B 4d191dc45e69a323926866cac3ec8e2190e047a06af3e2c06ddc51e421cd41b1cdcf97af4cf05276a5969fee3410b74c89db191c334ab0407e4c0f510c8fd820 SHA512 131a3902433651a2a4b9eeb3be26a28b6af66e48ec768c60adfa644009a4775dceda37e86d053ac3faad1c4f5d97f1a9f5ec72ddb2ae2a5bc2b312d020210ead +DIST kicad-10.0.6-common-types-enums.proto 2841 BLAKE2B f47ac9c7f9e0dcaf9ce3d0a83e5719d86c8f8d053d55105e5a92d98294e3dc3709d393b10a415b21ab20c6535cbe3278ae18978eda013b29e01c2b9d70920ddf SHA512 fe33cb56d1c7a7406fb4b5b9a94c2e44e2a2fd1f17eafa1a345df1aadf8e8ffa90ef5f6a32a4fcf857cd275823282e17f9a15a21325d85d6a5a778154a11abe4 +DIST kicad-10.0.6-common-types-project_settings.proto 3198 BLAKE2B fa82673dae3f11310319215eb46eca0a9db6301a0be601286028a78e951d7539998ee468c22f31cf2e0c8026c333aeaee3e95bca8e8951347a29a83536e3d93e SHA512 4d0fd27441a6f4354b79732da503926c0a125d8ee9adaa4fefb3f8b6ec1181aec4b7cfdb6f00e9083f5d4ca7659d3be74b66b9e5a6678052f23720c90a43cbfd +DIST kicad-10.0.6-schematic-schematic_commands.proto 866 BLAKE2B 946b35676e26d091ed35e34331c8c3ffc55007cae5729ea7483b56caccb25de1eefb438dd16a50f731328d908d26faf516353c22acd275ca0945942645183bcf SHA512 031243204c96720f62ad25cb62731d65b9607b6237ee94ee3e28f3831f11a8845351413e5047f7fd695768efbd017094f906289cacd2302e43babd0e2151759d +DIST kicad-10.0.6-schematic-schematic_types.proto 1941 BLAKE2B 23ad01b5bd15e7030b76693dd5c80729af6c80ddf782110f3c3a02fa4274dac6f0f26a7bffa5f4456262a8c93fe25e95169395f0cbfe384e07dd50095090f7c0 SHA512 8a762f7c8a1cf8eb0b5691661bcf82c448ef34c3142f8cfe3c77a1bd9666c9704747056c6ea4e08734b7cf7370ff3bd72e1d59414e3cde3a48b79ec371a74cf9 DIST kicad_python-0.7.1.tar.gz 295159 BLAKE2B 1c2a687265343c0f157dfb52394444b93d844f3ae6308c7fd75c81f13b3013d6af893db70cd2f4942811d956faab560c890d5cc91ff29e2ef84523f520f47ebf SHA512 67214002eaf8eff60791495e766ed4282bd934e6f4a66d06856b577f56b88bef6525c1f7eeac49bce9a3fb0ec1dcbdc8ef2a0673b7c42cbafedde2a3cc797108 +DIST kicad_python-0.8.0.tar.gz 971584 BLAKE2B 7389533eb1af63a6dac1031085380a6d8d3855ef608979534a071222ee93be721605b0db6e8d20361112eabd9b678e283b00453421f602029ccfe2b6b4eb1ff0 SHA512 f0ee28e511fc4b74c9430a92ed5cf7fc9527e67b91d207a100a7ba8e754fdfa96ba1e837f6dffc804cafaabe81ba2b651d1dd0cc75da522bbaf9076a55e56f40 diff --git a/dev-python/kicad-python/kicad-python-0.8.0.ebuild b/dev-python/kicad-python/kicad-python-0.8.0.ebuild new file mode 100644 index 000000000000..d02a23582196 --- /dev/null +++ b/dev-python/kicad-python/kicad-python-0.8.0.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{13..14} ) +inherit distutils-r1 pypi + +DESCRIPTION="KiCad API Python Bindings for interacting with running KiCad sessions" +HOMEPAGE="https://gitlab.com/kicad/code/kicad-python https://pypi.org/project/kicad-python" + +# Proto files version should match kicad release +KICAD_TAG="10.0.6" +KICAD_PROTO_BASE="https://gitlab.com/kicad/code/kicad/-/raw/${KICAD_TAG}/api/proto" + +# List of proto files needed +PROTO_FILES=( + "board/board.proto" + "board/board_commands.proto" + "board/board_types.proto" + "common/commands/base_commands.proto" + "common/commands/editor_commands.proto" + "common/commands/project_commands.proto" + "common/envelope.proto" + "common/types/base_types.proto" + "common/types/enums.proto" + "common/types/project_settings.proto" + "schematic/schematic_commands.proto" + "schematic/schematic_types.proto" +) + +SRC_URI="$(pypi_sdist_url)" +for _p in "${PROTO_FILES[@]}"; do + SRC_URI+=" ${KICAD_PROTO_BASE}/${_p} -> kicad-${KICAD_TAG}-${_p//\//-}" +done +unset _p + +LICENSE="MIT" +SLOT=0 +KEYWORDS="~amd64" + +# Tests not included in PyPI sdist +RESTRICT="test" + +# Regenerate protobuf files at build time to match system protobuf version +# Use := slot operator to trigger rebuild when protobuf is upgraded +RDEPEND=" + >=dev-python/jsonschema-4.23.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-5[${PYTHON_USEDEP}] + >=dev-python/protobuf-5.29:=[${PYTHON_USEDEP}] + >=dev-python/pynng-0.9.0[${PYTHON_USEDEP}] + <dev-python/pynng-0.10.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.13.2[${PYTHON_USEDEP}] + ' python3_{10..12}) +" +BDEPEND=" + ${RDEPEND} + dev-libs/protobuf[protoc(+)] +" + +src_prepare() { + # Remove build script config from pyproject.toml + sed -i '/\[tool.poetry.build\]/,/^$/d' pyproject.toml || die + rm -f setup.py build.py || die + + # Setup proto source directory + local proto_src="${WORKDIR}/proto" + mkdir -p "${proto_src}"/{board,common/commands,common/types,schematic} || die + + # Copy downloaded proto files to proper structure + local _p _f + for _p in "${PROTO_FILES[@]}"; do + _f="kicad-${KICAD_TAG}-${_p//\//-}" + cp "${DISTDIR}/${_f}" "${proto_src}/${_p}" || die + done + + einfo "Regenerating protobuf files with system protoc..." + + # Remove only pre-generated _pb2.py and _pb2.pyi files, keep __init__.py + find "${S}"/kipy/proto -name '*_pb2.py' -delete || die + find "${S}"/kipy/proto -name '*_pb2.pyi' -delete || die + rm -rf "${S}"/build/lib/kipy/proto || die + + # Compile all proto files (output to temp dir first) + local proto_out="${WORKDIR}/proto_out" + mkdir -p "${proto_out}" || die + + protoc \ + --proto_path="${proto_src}" \ + --python_out="${proto_out}" \ + --pyi_out="${proto_out}" \ + "${proto_src}"/board/*.proto \ + "${proto_src}"/common/*.proto \ + "${proto_src}"/common/commands/*.proto \ + "${proto_src}"/common/types/*.proto \ + "${proto_src}"/schematic/*.proto \ + || die "protoc failed" + + # Copy only _pb2.py and _pb2.pyi files to kipy/proto, preserving original __init__.py + find "${proto_out}" \( -name '*_pb2.py' -o -name '*_pb2.pyi' \) | while read -r f; do + local rel="${f#${proto_out}/}" + cp "${f}" "${S}/kipy/proto/${rel}" || die + done + + # Fix imports: protoc generates absolute imports (e.g., "from common.types import ...") + # but kipy expects them relative to kipy.proto (e.g., "from kipy.proto.common.types import ...") + find "${S}/kipy/proto" \( -name '*_pb2.py' -o -name '*_pb2.pyi' \) -exec \ + sed -i -E \ + -e 's/^(from|import) (common|board|schematic)([ .])/\1 kipy.proto.\2\3/g' \ + {} + || die "failed to fix protobuf imports" + + distutils-r1_src_prepare +} |
