[09:46:33] <ada_ru> (Максим) Просто идеи для API подсмотреть
[10:08:52] <ada_ru> (Максим) В четверг АдаКора на течдей объявили, что alire вроде бета уже и можно пробовать использовать. Сделали даже сайт для поиска пакетов.
[10:39:47] <ada_ru> (I_vlxy_I) отвечает (Максим) на <Просто идеи для API …>
У Qt вроде ещё есть
[12:18:44] <ada_ru> (Максим) https://alire.ada.dev/
[13:53:32] <ada_ru> (I_vlxy_I) отвечает (Максим) на <https://alire.ada.de…>
Вау!
[13:53:55] <ada_ru> (I_vlxy_I) Надо пробовать :-)
[13:59:27] <ada_ru> (I_vlxy_I) А, кстати, я этот сайт уже видел :-)
[14:03:08] <ada_ru> (I_vlxy_I) Там прямо сильно не хватает для каждого пакета описания, ссылки на исходники и команды как установить
[14:03:24] <ada_ru> (I_vlxy_I) Без этого сайт пустоват
[14:17:38] <ada_ru> (I_vlxy_I) ну, то есть:
https://alire.ada.dev/crates/sdlada.html
vs
https://crates.io/crates/sdl2
[14:23:08] <ada_ru> (I_vlxy_I) списка доступных версий еще не хватает. alire версионность поддерживает?
[15:28:07] <ada_ru> (I_vlxy_I) В D: https://code.dlang.org/packages/derelict-sdl2
[18:28:06] <ada_ru> (Максим) Видимо чувак плюнул выписывать всё на Аде и запилил свой велосипед https://github.com/alire-project/alire/blob/master/doc/catalog-format-spec.rst
[18:35:20] <ada_ru> (I_vlxy_I) отвечает (Максим) на <Видимо чувак плюнул …>
да alire вообще очень много отсылок к Rust cargo имеет
и там и там для описания пакетов используется toml, и там и там сами пакеты называтся crate
[18:36:11] <ada_ru> (I_vlxy_I) правда в расте оно crate на уровне прям языка называется даже, а в пакетном манагере оно из языка появилось
[18:37:43] <ada_ru> (Максим) TOML это очередной XML, JSON, YAML язык?
[18:38:52] <ada_ru> (I_vlxy_I) отвечает (Максим) на <TOML это очередной X…>
скорее очередной ini
[18:39:00] <ada_ru> (I_vlxy_I) то есть он конкретно для конфигов
[18:43:46] <ada_ru> (Максим) Хотел матрешку закодить туда, не пойму как создавать это всё
[18:47:50] <ada_ru> (I_vlxy_I) я не понял, там есть версионность или нет
[18:48:42] <ada_ru> (Максим) да вроде есть. всё ради нее же и затевалось
[18:51:27] <ada_ru> (I_vlxy_I) https://github.com/toml-lang/toml
[19:21:14] <ada_ru> (I_vlxy_I) а как там решается вопрос с зависимостями от Сишных либ? ведь их тоже подтянуть нужно
[19:29:08] <ada_ru> (Максим) там вроде через sudo запускается apt install
[19:29:35] <ada_ru> (I_vlxy_I) отвечает (Максим) на <там вроде через sudo…>
так себе идея. а если у меня arch? а если винда?
[19:29:50] <ada_ru> (I_vlxy_I) а если в репозитории нет нужной версии сишного пакета собранного с нужными опциями?
[19:44:04] <ada_ru> (Максим) Ну, наверное, будет под каждую ось свои команды установки
[19:44:09] <ada_ru> (I_vlxy_I) кто юзает toml: https://github.com/toml-lang/toml/wiki#projects-using-toml
[19:44:28] <ada_ru> (I_vlxy_I) отвечает (Максим) на <Ну, наверное, будет …>
мне кажется, что это в корне не верно.
[19:44:56] <ada_ru> (Максим) А как делает conan?
[19:45:14] <ada_ru> (I_vlxy_I) отвечает (Максим) на <А как делает conan?>
всё ставит сам
[19:45:25] <ada_ru> (I_vlxy_I) вне зависимости от того, что у тебя там в системе есть
[19:45:38] <ada_ru> (I_vlxy_I) также делает и какой-нибудь pip, или npm
[19:46:10] <ada_ru> (Максим) и компиляторы ставит?
[19:46:51] <ada_ru> (I_vlxy_I) он действительно может доустановить к себе в кеш нужный инструментарий.
[19:47:27] <ada_ru> (I_vlxy_I) в теории можно и компилятор в пакет засунуть. но поскольку до сий поры я общался с конаном только для с++ проектов, то, как понимаешь, обычно компилятор уже есть.
[19:47:36] <ada_ru> (Максим) давай законаним какой-то адский пакет 😊
[19:48:25] <ada_ru> (Максим) а если нужен имено конкретный компилятор. или такого не бывает?
[19:49:50] <ada_ru> (I_vlxy_I) с таким не сталкивался. то есть в теории такое может быть, но на практике - не видел пока.
обычно в плюсах если у тебя есть твой проект и ты зависишь от какого-то пакета, то тебе нужно чтобы всё было собрано либо вообще одним и тем же компилятором, либо совместимыми компиляторами.
[19:50:03] <ada_ru> (I_vlxy_I) и компилятор для твоего проекта у тебя ведь уже есть.
[19:59:30] <ada_ru> (Максим) cmake и canon путаются в моих GCC, один берет тот что первый в PATH, а другой тот, что в /usr/bin 😊
[20:01:32] <ada_ru> (I_vlxy_I) хы. но и тому и другому можно явным образом подсунуть конкретный
[21:31:40] <ada_ru> (Максим) А чтобы адаптировать cocnan для GNAT, надо написать новый generator, да?
[21:34:12] <ada_ru> (I_vlxy_I) отвечает (Максим) на <А чтобы адаптировать…>
Ага. Точнее это даже не для гнат, а для gpr
[21:35:32] <ada_ru> (Максим) А что он будет генерить? Какой-то агрегатный проект, который ты потом будешь строить?
[21:46:21] <ada_ru> (I_vlxy_I) На самом деле можно рецепт прямо руками наструячить без доп. отвязки
[21:59:58] <ada_ru> (Максим) cmake.build() - получается поддержка cmake прямо в Conan зашита, и такую же для gprbuild уже не сделать?
[22:03:01] <ada_ru> (Максим) а, можно написать self.run("xxx")
[22:12:01] <ada_ru> (I_vlxy_I) отвечает (Максим) на <cmake.build() - полу…>
сделать
[22:12:40] <ada_ru> (I_vlxy_I) https://docs.conan.io/en/latest/howtos/other_languages_package_manager.html
[22:13:56] <ada_ru> (I_vlxy_I) список генераторов для которых уже есть поддержка: https://docs.conan.io/en/latest/reference/generators.html
[22:14:17] <ada_ru> (I_vlxy_I) "If none of these generators fit your needs, you can create your own Custom generator."
[22:14:26] <ada_ru> (I_vlxy_I) https://docs.conan.io/en/latest/reference/generators/custom.html#custom-generator
[22:16:36] <ada_ru> (I_vlxy_I) а рецепт конана он же на питоне. переопределив метод build() не обязательно там звать какой-нибудь conan.build(), можно что угодно делать 🙂 можно шелл команду запустить с gprbuild каким-нибудь
[23:01:49] <ada_ru> (Максим) а как в package() скопировать весь каталог целиком? чтобы не перечислять все расширения?
[23:08:32] <ada_ru> (I_vlxy_I) отвечает (Максим) на <а как в package() ск…>
дык *.* не?
[23:08:40] <ada_ru> (I_vlxy_I) или даже просто *
[23:09:49] <ada_ru> (I_vlxy_I) https://docs.conan.io/en/latest/reference/conanfile/methods.html#package
[23:10:17] <ada_ru> (Максим) https://pastebin.com/c8H3XxiQ
[23:11:29] <ada_ru> (Максим) Но там еще какой-то test package, на нем ломается
[23:12:20] <ada_ru> (Максим) его надо делать?
[23:13:24] <ada_ru> (I_vlxy_I) ну если на нем ломается, значит надо 🙂
[23:13:43] <ada_ru> (I_vlxy_I) но если без этого хоть как-то работает, то можно и забить пока
[23:33:20] <ada_ru> (Максим) а как из test package достать директорию, куда ставится этот мой asis
[23:39:30] <ada_ru> (Максим) типа self.deps_cpp_info["asis"].rootpath ?