[Solved] Проверка значения eselect-* в ебилде
Дополз-таки до самообразования :)
Выяснилось, что товарищи уже почти всё сделали. Это "почти" и хочу исправить :)
Есть приложение (CoolReader3, ебилд взял с багзиллы).
Сочинил ебилд следующего содержания. coolreader3-9999.ebuild
# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" EGIT_REPO_URI="git://crengine.git.sourceforge.net/gitroot/crengine/crengine" inherit cmake-utils git HYP_ARCH="AlReader2.Hyphen.zip" DESCRIPTION="CoolReader - reader of eBook files (fb2,epub,htm,rtf,txt)" HOMEPAGE="http://www.coolreader.org/" SRC_URI="" LICENSE="GPLv2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="qt4 +wxwidgets hyphen" RDEPEND="media-fonts/corefonts" DEPEND="sys-libs/zlib media-libs/libpng media-libs/jpeg media-libs/freetype wxwidgets? ( >=x11-libs/wxGTK-2.8 ) qt4? ( x11-libs/qt-core:4 x11-libs/qt-gui:4 ) hyphen? ( app-arch/unzip )" src_unpack() { git_src_unpack if use hyphen; then unpack ${HYP_ARCH} fi mkdir ${S} cd "${S}" || die "failed to cd to build dir" # fix for amd64 if use amd64; then sed -e 's/unsigned int/unsigned long/g' -i "${WORKDIR}/${P}/crengine/src/lvdocview.cpp" \ || die "patching lvdocview.cpp for amd64 failed" fi } src_configure() { CMAKE_USE_DIR="${WORKDIR}"/"${SRC_UNPACK}"/"${P}" CMAKE_BUILD_TYPE="Release" if use qt4 && ! use wxwidgets; then mycmakeargs="-D GUI=QT" elif use wxwidgets && ! use qt4; then . "${ROOT}/var/lib/wxwidgets/current" if [[ "${WXCONFIG}" -eq "none" ]]; then die "The wxGTK profile should be selected!" fi mycmakeargs="-D GUI=WX" else die "Only one GUI must be selected" fi cmake-utils_src_configure } src_install() { cmake-utils_src_install if use hyphen; then cd ${WORKDIR} insinto /usr/share/crengine find . -name "*hyphen*pdb" -exec \ doins {} \; fi dosym ../fonts/corefonts /usr/share/crengine/fonts dodoc "${FILESDIR}/README" }
Собственно, вопросы:
1. Насколько я помню, автоматическая отработка eselect
в ебилде не есть правильно...
Update: Но местами присутствует. Сделано в обход, т.е. без явного вызова eselect
'а.
2. В какой функции место для этой проверки (с учётом того, что положительный результат является необходимым условием компилляции): src_prepare()
или src_configure()
?
Update: repoman
в помощь :)
3. Где бы (в смысле: в каком ебилде) подсмотреть как оно делается?
Update: Идея проверки подсмотрена в ебилде eselect-wxwidgets
.
ЗЫ: Ну и попутно вопрос: как в системе обнулить значение eselect-*
в случае, если список состоит из одной позиции (для полноценной проверки)?
emerge -av1 eselect-blah
прокатит?
Update: Ни фига! Для этого есть (надо использовать) ключевое слово 'none'..
- Для комментирования войдите или зарегистрируйтесь
.
Некоторое время (ЕМНИП почти весь июль) -9999 версия не собиралась с актуальными версиями
libpng
.В конце июля патч был включён в основную ветку, ебилд снова работает.
:wq
--
Live free or die
.
qt-версия приложения локализована.
Но, благодаря известной баге qt (подробности здесь) в нормальном (рекомендованном) режиме локализации Gentoo GNU/Linux (переменная
LC_ALL
не задана) приложение всё равно запускается с аглицким интерфейсом.Решить можно например поменяв строку запуска приложения на:
$ LC_ALL=ru_RU.KOI8-R cr3
(можно прописать соответствующий alias в
~/.bashrc
, но запуска через gui оно не исправит, другие варианты решения можно посмотреть в этой теме)Лениво размышляю на предмет правки desktop-файла (в ебилде).
:wq
--
Live free or die
пока размышляешь - поправь
пока размышляешь - поправь ебилд :) и приучись юзать репоман
Депенд ? ( >=x11-libs/wxGTK-2.8 ) требует в обязательном порядке подключения wxwidgets.eclass, и как юзер prefix, прошу переписать на >=EAPI=3
Весьма странно, глаз режет :)
Почему не "Gentoo" ? :)
Эти 2 флага точно не блочат друг друга ? :)
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 ;)
slepnoga написал(а): пока
Ты первый :)
Приучись учитывать Фактор Времени.
На момент написания ебилда он на это не ругался
Какую доку порекомендуешь?
Или традиционно: геть the force...
Пробовал как-то
dosed
задействовать... Не получилось.Должны.
Но кашу маслом не испортишь. :)
:wq
--
Live free or die
http://www.gentoo.org/proj/en
http://www.gentoo.org/proj/en/gentoo-alt/prefix/ и конечно pms
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 ;)