[personal profile] ex0_planet
TL;DR Побился башкой и отступил пока.

В кикаде скриптами, по идее, можно сделать всё. Для этого в ём встроен интерпретатор python и некий функционал™ позволяющий загружать их из заранее предусмотренных мест. После чего меню и тулбар должны быть дополнены новыми разноцветными фантиками. Но не тут-то было!


Для начала, KiCad в дебиане собран с отключенной скриптовой консолью (об этом чуть ниже). Что приводит к полной невозможности как-то разобраться в происходящем, потому что скриптовый интерфейс недокументирован чуть более чем полностью. Точнее, он прекрасно документирован — в питоновом коде pcbnew.py.... Так-то даже поставляемые footprint wizard'ы работают, но сделать что-то сверх этого — пожалте биться башкой об стенку.

Например. кнопка "Refresh Plugins". Она не делает никаких видимых действий. Нет, я в strace вижу что оно сканирует папки с плагинами, но что там дальше... короче, всё понимает, но ничего сказать не может.

Так-то простой плагин, найденный на просторах интернетов, после нажатия Кнопки обнаруживается, добавляет иконку на панель и даже отзывается в консоль на неё. Что-то более затейливое... ну... результаты могут быть разные. Вплоть до падения.

Итак, нам нужна консоль. Выпилена она по одной простой причине — KiCad работает исключительно на wxgtk2. Нет, его можно собрать с wxgtk3, но после этого у него немного разносит интерфейс и eeschema начинает тормозить и глючить. Это вполне официально, причем, баг вероятно никто искать уже не будет, а просто заменят canvas на accelerated реализацию как в pcbnew и большая часть проблем уйдет. Но до этого светлого момента kicad должен жить на gtk2. Короче говоря, чтобы консоль работала, ей нужен python-wxgtk, в котором лежат питоновые биндинги. Причем именно второй версии, чтобы быть совместимым по abi с основным тулкитом.

Теперь финт ушами: в какой-то момент в testing'е python-wxgtk переключили на использование wxgtk3. Молча. Сломав этим все приложения, использующие wxgtk2 (коих немало, в дистрибутиве пока только один пакет на wxgtk3). При этом сам wxgtk доступен в виде обеих версий: gtk2 и gtk3.

Надо теперь попробовать собрать wxpython со второй версией, сделав этим из системы слаку, ну или посмотреть будет ли работаь kicad с чуть более старым wxpython (там после stable вроде какие-то фиксы были).


Сраные питонасты. Везде, просто везде, где встречается питон, жди проблем с деплойментом, с преемственностью версий, с постоянным устареванием всего и вся, с какой-то долбаной, ничему не подконтрольной магией... Постоянно вот этот подход везде — "нам насрать, живите на bleeding edge"...

UPD: kicad замечательно собрался с wxpython из stable. Консоль работает, совсем злых багов не видно. Просто надо было при бэкпорте оторвать требование совсем свежей версии.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

ex0_planet

April 2023

S M T W T F S
      1
234567 8
910111213 1415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 25th, 2026 09:25 am
Powered by Dreamwidth Studios