Помощь. ebuild для corrade и magnum [РЕШЕНО]
Добрый день!
Я не умею создавать файлы *.ebuild и с CMake я не работала.
Перед тем, как обратиться за помощью, я выполнила eix-remote update и eix -R magn и eix -R corra - ничего нет.
На сайте https://github.com/fffaraz/awesome-cpp#graphics я наткнулась на библиотеку http://mosra.cz/blog/magnum.php
Я уже хотела было собрать c -DCMAKE_INSTALL_PREFIX=/home/olga/tmp/usr но в зависимостях у magnum, видимо, https://github.com/mosra/corrade
потому что CMake сообщает CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find Corrade (missing: CORRADE_UTILITY_LIBRARY
Если у вам будет время и если вам не трудно и вы знаете CMake и умеете создавать файлы *.ebuild, пожалуйста, не могли бы вы сделать corrade-9999.ebuild и magnum-9999.ebuild, зависящий от corrade-9999?
Спасибо, WiseLord!
- Для комментирования войдите или зарегистрируйтесь
А что вы дальше с этим будете
А что вы дальше с этим будете делать?
А дальше я положу эти два
А дальше я положу эти два файла в локальный оверлей, сделаю emerge magnum, а потом буду писать 2d игру простенькую с какой-нибудь базовой графикой.
^_^
Держите
Набросал за пару минут на базе чего-то git-ового из portage. С правильной категорией и другими возможными зависимостями разбирайтесь по необходимости сами.
Большое спасибо! Всё
Большое спасибо! Всё собралось!
^_^
В сооответствии с
В сооответствии с https://github.com/mosra/magnum/blob/master/package/archlinux/PKGBUILD
добавила
^_^
Я сегодня славно поработала и
Я сегодня славно поработала и славно отдохну:
* http://paste.kde.org/pzwtbrrob - corrade-9999.ebuild
* http://paste.kde.org/p150ls8go - magnum-9999.ebuild
* http://paste.kde.org/pevp2xf6a - magnum-examples-9999.ebuild"
* http://paste.kde.org/pfnyeykm3 - magnum-examples/files/MotionBlurCamera.cpp.patch
* http://paste.kde.org/pazh5ipt7 - magnum-integration-9999.ebuild
* http://paste.kde.org/po99ccm7y - magnum-plugins-9999.ebuild
Но в конце magnum-examples происходит
Что-то надо подправить, а что - я не знаю.
^_^
.
Есть мнение, что после проверки/отладки итоговые версии ебилдов правильно унести в родной трекер: https://bugs.gentoo.org/
man portage
man 1 ebuild
man 5 ebuild
И на десерт
emerge app-portage/eclass-manpages
Практически цитированная ошибка сообщает об отсутствии в
Makefile
'ах пакета целиinstall
. И как следствие — невозможность установить посредством стандартных функций.Вам надо разобраться с содержимым пакета и переопределить (написать) функцию
src_install()
. Инструкции перечислены.:wq
--
Live free or die
Вы правы, я сравнила
Вы правы, я сравнила файлы
magnum-examples-9999_build/src/bullet/cmake_install.cmake
magnum-9999_build/src/Magnum/cmake_install.cmake
и увидела недостающую "FILE(INSTALL DESTINATION "/usr/include/Magnum" TYPE FILE FILES" часть,
после чего "grep -R add_executable" показал строки вида
add_executable(magnum-fontconverter fontconverter.cpp)
add_executable(magnum-distancefieldconverter distancefieldconverter.cpp)
add_executable(magnum-info magnum-info.cpp)
Сейчас попытаюсь добавить аналогичные add_executable в CMakeLists.txt в magnum-examples-9999
для каждого из {bullet, cubemap, framebuffer, motionblur, primitives, text, textured-triangle, triangle, viewer}
^_^
Странно, все add_executable
Странно, все add_executable уже добавлены...
Например, в src/triangle/CMakeLists.txt есть строка add_executable(triangle TriangleExample.cpp), но она не приводит к генерации "FILE(INSTALL DESTINATION ..."
^_^
а оно вручную хоть
а оно вручную хоть собирается?
Я даже нагуглила, как
Я даже нагуглила, как дебажить CMakeLists.txt с помощью вставок message("01"), message("02") ...
и увидела, что, например, add_executable(triangle TriangleExample.cpp) выполняется в момент конфигурации:
Это всё отдельные CMakeLists.txt отрабатывают. А цели install всё равно нет. Это, возможно, магия CMake...
^_^
Всё понятно. Если хотя бы в
Всё понятно. Если хотя бы в один CMakeLists.txt c add_executable добавить ещё и install(TARGETS имямодуля DESTINATION ${MAGNUM_BINARY_INSTALL_DIR}) то цель install появляется.
Вот уж теперь полностью РЕШЕНО.
^_^
http://paste.kde.org/pl9otfnf
http://paste.kde.org/pl9otfnfh - magnum-examples-9999.ebuild
http://paste.kde.org/pfnyeykm3 - magnum-examples/files/MotionBlurCamera.cpp.patch
http://paste.kde.org/pq3dkx5sp - magnum-examples/files/CMakeLists.txt.patch
bullet:
^_^
если я верно понял то, что у
если я верно понял то, что у Вас происходит – это огромный повод сообщить автору о жуке
/
Ваш подход правильнее.
Но без таракана в трекере апстрима о решении проблемы говорить нельзя.
Про особенность применения live (-9999) пакетов в Gentoo знаете?
И да: не стесняемся, проходим в родной трекер https://bugs.gentoo.org/ регистрируемся если ещё не зарегистрированы, открываем баг (или даже два бага) и прикрепляем к ним полученные файлы ебилдов.
;)
И только после этого проблема темы действительно решена.
:wq
--
Live free or die
>И да: не стесняемся,
>И да: не стесняемся, проходим в родной трекер https://bugs.gentoo.org/ регистрируемся если ещё не зарегистрированы, открываем баг (или даже два бага) и прикрепляем к ним полученные файлы ебилдов
и ждем пару месяцев ответа в стиле «это никому не нужно, поддерживать никто не будет – если хотите, запиливайте свой оверлей [и идите нафиг отсюдова]»
/
…или не месяцев, а лет.
Но это совершенно не оправдывает нежелания поступать _правильно_.
Ибо при таком подходе не то, что проблема не будет решена, но нет даже перспективы её решения.
Выкладку оправдывает уже только то, что трекер — место куда более надёжное, чем паста. И стандартное для правильного маршрута место поиска заинтересованными.
А когда заинтересованных наберётся достаточно, можно будет ставить вопрос и о запиливании в дерево.
ЗЫ: Хотя по мне задача совсем не проста и ни фига не однозначна, основное дерево уже содержит достаточно много несогласуемых противоречий, и назрела необходимость творческой обрезки.
Например в моём случае (Linux) первым кандидатом на
rsync_excludes
закономерно идётsys-freebsd/*
.:wq
--
Live free or die
Я пока поступила
Я пока поступила так:
https://github.com/mosra/corrade/pull/16
https://github.com/mosra/magnum/pull/69
https://github.com/mosra/magnum-integration/pull/2
https://github.com/mosra/magnum-plugins/pull/5
https://github.com/mosra/magnum-examples/pull/8
Посмотрим, понравится ли автору. А там уж видно будет.
^_^
/
Полагаю, автор не оценит, а то и не поймёт.
Было бы куда лучше, если бы Вы сообщили о неполных правилах сборки (пропуске цели install).
С приложением предлагаемого патча.
:wq
--
Live free or die
Anarchist
Автор понял и оценил. Минут 10 назад
^_^
Йя плакаль! Вот за такие
Йя плакаль! Вот за такие дебилды гентушников и гонят изо всех мест поганой метлой.
Хоть бы в ирке на ревью отдали ....
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
¯\_(ツ)_/¯
¯\_(ツ)_/¯
^_^