Новогодние праздники

Предлагаю в новогодние праздники написать что-нибудь небольшое (либо начать что-то большое) от русскоязычного сообщества Rust - на пользу всему сообществу. Может быть библиотеку, враппер на расте для популярной библиотеки, приложение, игру, субкоманду cargo, перевод, в конце концов. Например, был недавно разговор, что нет хорошей библиотеки для десериализации xml, если мне не изменяет память.
Идеи, предложения?

2 лайка

Лично мне нужен “честный” cargo-android, вместо костыльного apk-builder.

Да и вообще, если довести до ума это дело, то в том же Servo, думаю, были бы рады выкинуть свои костыли для сборки под андроид.

Я попробовал как-то, но не осилил в тот раз архитектуру cargo и забил. Теперь вот руки никак не доходят этим заняться, потому что времени явно много займет.

Я потихоньку пилю vkrs для Вконтактика, но больше для себя.

1 лайк

Есть у меня один знакомый kbknapp, который любит всякие субкоманды для cargo делать, посоветуюсь у него, как лучше сделать, а можешь описать шаги, которые сейчас приходится делать вручную. Посмотрел у тебя в .travis.yml - там вроде одна команда.

UPD конечно в Makefile, а не в .travis.yml

Шаги по настройке окружения у Томаки есть тут: https://github.com/tomaka/android-rs-glue#how-to-compile

В тревисе сборка под андроид не тестируется, потому что трэвис лопнет от сборки стандартной библиотеки ржавчины под arm. А бинарную версию я не в курсе, что бы кто-то поддерживал.

Для сборки zoc’а под андроид надо просто выполнить make android или просто cargo build --target arm-linux-androideabi. Вся фишка в хаке в .cargo/config - там линковщик подменяется на apk-builder.

Из-за этого хака нельзя нормально какие-то настройки передать в apk-builder, как минимум.

Собственно, все сводится к тому, что я хз как сделать аналог cargo build, без линковки и как потом получить аргументы. Думаю, остальные шаги должно быть уже не слишком сложно повторить, там просто вызов внешних команд.

Если выбирать небольшие проекты, можно поучаствовать в разработке rust-rosetta. Набор “rustic” решений (читай: best practices) популярных проблем всегда будет полезен.

О! Спасибо, просто кладезь идей. Сколько всего :open_mouth:

Записал курс про Rust на Udemy, плюс опубликовал блог-пост по результатам наблюдений.