@tryge , если ты не против, я бы взял это на себя
Пожалуйста продолжай!
Как обсуждалось в #1184, было бы также неплохо собрать бинарные файлы для mac os x с помощью travis.
Но добавление Homebrew Formula имеет наивысший приоритет, я надеюсь, что кто-то с Mac сможет это сделать!
Я создал формулу Homebrew и кран для Elektra.
@ markus2330 Я передал репозиторий тебе, Маркус, поскольку мне понадобился бы статус администратора, чтобы переместить репозиторий в организацию ElektraInitiative. Не могли бы вы перенести репозиторий из личного кабинета в организацию ElektraInitiative?
Я создал формулу Homebrew и кран для Elektra.
Спасибо, это действительно здорово!
Включает ли он также бинарные пакеты для последней версии?
Я передал репозиторий вам, Маркус, поскольку мне понадобился бы статус администратора, чтобы передать репозиторий организации ElektraInitiative. Не могли бы вы перенести репозиторий из личного кабинета в организацию ElektraInitiative?
Извините, а где его найти? В https://github.com/sanssecours/homebrew-elektra у меня нет кнопки "настройки" (которая потребовалась бы для переноса).
Почему бы просто не клонировать его? (Или воссоздать его, вставив в него те же коммиты)
Кстати. Можно ли довести эту Формулу до пивоварения?
@omnidan Можете ли вы проверить, работает ли кран/бутылка и для вас?
Должны ли мы создавать вопросы о кране/бутылке здесь или на
https://github.com/ElektraInitiative/homebrew-elektra?
Включает ли он также бинарные пакеты для последней версии?
Пока нет, создание бинарного пакета не кажется таким уж сложным . Я посмотрю.
Извините, а где его найти? В https://github.com/sanssecours/homebrew-elektra у меня нет кнопки "настройки" (которая потребовалась бы для переноса).
Спасибо за доступ администратора. Я только что перенес репо .
Кстати. Можно ли довести эту Формулу до пивоварения?
да. Я хотел сделать это в первую очередь, но, насколько я могу судить, разработчики Homebrew довольно разборчивы в том, что они принимают . Особенно текст
Мы не одобряем авторов, представляющих свои собственные работы, если только они не пользуются большой популярностью.
звучит как проблема.
Я только что перенес репо.
Пока нет, создание бинарного пакета не кажется таким уж сложным. Я посмотрю.
Спасибо!
Спасибо за доступ администратора.
В любое время снова, если вам это нужно. Мы также можем обсудить постоянный доступ администратора.
да. Я хотел сделать это первым, но, насколько я могу судить, разработчики Homebrew довольно разборчивы в том, что они принимают. Особенно текст
Хорошо, если мы получим обратную связь, даже если они ее не примут.
Мы не одобряем авторов, представляющих свои собственные работы, если только они не пользуются большой популярностью.
Я понимаю это предложение о том, что вы не должны отправлять формулу для своей работы (= репозиторий, написанный вами в одиночку). Здесь это вряд ли так.
Теперь доступен бинарный пакет Homebrew (бутылка). Если кто-то хочет попробовать формулу, выполните следующие действия.
brew doctor
и удалите все фрагменты Elektra, о которых сообщает команда.brew tap ElektraInitiative/homebrew-elektra
.brew install elektra
.brew install --build-from-source elektra
.brew install --HEAD elektra
.brew test elektra
.Хорошо, если мы получим обратную связь, даже если они ее не примут.
Хм, хорошо. Если у меня будет время, я попытаюсь завтра открыть запрос на включение.
Это снова отличные новости!
Можете ли вы обновить README.md сайта homebrew-elektra, чтобы он содержал это более подробное описание?
У вас есть журналы сборки, в которых включены плагины и привязки? В частности, мне было бы интересно, включены ли привязки python2 (и работают ли вы: можете ли вы попробовать import kdb
в интерпретаторе python)?
Можете ли вы обновить README.md сайта homebrew-elektra, чтобы он содержал это более подробное описание?
Хорошо, вы можете взглянуть на обновленный ReadMe здесь .
У вас есть журналы сборки, в которых включены плагины и привязки?
Список плагинов должен быть довольно обширным, так как я установил на свою машину множество необязательных зависимостей Elektra. Вот журнал , созданный brew install --build-from-source -debug -verbose elektra
.
В частности, мне было бы интересно, включены ли привязки python2 (и работают ли вы: можете ли вы попробовать
import kdb
в интерпретаторе python)?
Они должны быть включены (см. лог выше), но тем не менее import kdb
сообщает о следующей ошибке как в системной версии Python ( /usr/bin/python
), так и в установленной через Homebrew ( /usr/local/bin/python
):
import kdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named kdb
.
Хорошо, вы можете взглянуть на обновленный ReadMe
Отлично, спасибо!
Список плагинов должен быть довольно обширным, так как я установил на свою машину множество необязательных зависимостей Elektra.
-DBINDINGS=ALL
kdb gen
потребуется python cheetah и --install-layout
. Кажется, это сложно исправить (лучше пока оставить это и просто отключить gen из TOOLS).Они должны быть включены (см. лог выше)
Я думаю, вы перепутали привязки python и плагины, привязки нет (нет -- Include Binding swig_python2
).
- Ронн, кажется, отсутствует (поэтому нет справочных страниц)
Только кажется, что его не хватает. Я установил ronn
через rbenv . Похоже, что среда Homebrew использует другое значение для PATH
, которое не включает ~/.rbenv/shims
. После некоторых исследований я нашел способ добавить ronn
в качестве дополнительной зависимости Ruby. В данный момент формула не распознает мою установку ronn
. Надеюсь, я найду решение этой проблемы.
- вы, кажется, не включаете никакую привязку (кроме cpp), похоже, вам нужен
-DBINDINGS=ALL
Вы правы, спасибо. Я добавил параметр в аргументы формулы CMake.
Я думаю, вы перепутали привязки python и плагины, привязки нет (нет
-- Include Binding swig_python2
).
Вы снова правы :о). Я проверю, работают ли привязки позже.
Я добавил здесь ronn
в качестве необходимой зависимости для процесса сборки . Я не думаю, что требование ronn
для сборки является проблемой, так как большинство людей все равно будут использовать бутылочную версию формулы.
Вы можете спросить, почему я не добавил ronn
в качестве необязательной зависимости. Причиной этого был вывод brew info
, который выглядит довольно глупо, а также очень неправильно, если я добавлю тег :optional
:
…
==> Dependencies
Build: cmake ✔
==> Requirements
Build: ronn (ruby module) ✔
Optional: ronn (ruby module) ✔
==> Options
--with-languagemodule
Build with languagemodule support
…
. В приведенном ниже тексте показан текущий вывод brew info elektra
:
elektrainitiative/elektra/elektra: stable 0.8.19 (bottled), HEAD
Configuration Framework
https://web.libelektra.org
Not installed
From: https://github.com/ElektraInitiative/homebrew-elektra/blob/master/Formula/elektra.rb
==> Dependencies
Build: cmake ✔
==> Requirements
Build: ronn (ruby module) ✔
.
После добавления -DBINDINGS=ALL
в параметры CMake формулы brew audit --strict elektra
отображается следующее сообщение (после установки Elektra):
elektrainitiative/elektra/elektra:
* python modules have explicit framework links
These python extension modules were linked directly to a Python
framework binary. They should be linked with -undefined dynamic_lookup
instead of -lpython or -framework Python.
/usr/local/Cellar/elektra/0.8.19/lib/python2.7/site-packages/_kdb.so
/usr/local/Cellar/elektra/0.8.19/lib/python3.5/site-packages/_kdb.so
Error: 1 problem in 1 formula
. Если я попробую import kdb
в версии Python для домашних животных, интерпретатор Python выйдет из строя, отображая следующее сообщение об ошибке:
Fatal Python error: PyThreadState_Get: no current thread
fish: '/usr/local/bin/python' terminated by signal SIGABRT (Abort)
Это кажется нормальным, поскольку ninja test
— в моем обычном каталоге сборки — тоже не работает, показывая следующие ошибки:
31 - testpy2_kdb.py (OTHER_FAULT)
32 - testpy2_key.py (OTHER_FAULT)
33 - testpy2_keyset.py (OTHER_FAULT)
34 - test_kdb.py (OTHER_FAULT)
35 - test_key.py (OTHER_FAULT)
36 - test_keyset.py (OTHER_FAULT)
40 - testruby_kdb (OTHER_FAULT)
41 - testruby_key (OTHER_FAULT)
42 - testruby_keyset (OTHER_FAULT)
. Я использовал следующую команду для создания проекта Ninja:
cmake .. \
-GNinja \
-DENABLE_TESTING=ON \
-DENABLE_DEBUG=ON \
-DENABLE_LOGGER=OFF \
-DBUILD_PDF=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DPDFLATEX_COMPILER=`which latexmk` \
-DPDFLATEX_COMPILER_OPTIONS='-pdf;-f;-quiet' \
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt5 \
-DTOOLS=ALL \
-DBINDINGS=ALL
. Привязки Lua работают нормально. По крайней мере require 'kdb'
не показывает никаких сообщений об ошибках.
Спасибо за ваши усилия!
справочные страницы
Да, я согласен, что люди предпочтут бутылочную версию. И отсутствие справочных страниц действительно является серьезной проблемой удобства использования, поэтому требование разумно.
крах
import kdb
@manuelm lm у вас есть идея, почему привязки падают?
@sanssecours Может быть, версия swig слишком старая или используется неправильный swig?
Они должны быть связаны с -undefined dynamic_lookup вместо -lpython или -framework Python.
Может быть, мы должны просто передать -framework
в случае APPLE в target_link_libraries. Согласно документу cmake , для -framework
существует особая обработка.
Может быть, файл cmake для python не работает? Вот длинная дискуссия о сломанных файлах python cmake. (Хотя это может быть не связано) Я не могу здесь помочь, проблема довольно специфична для Mac OS X.
@sanssecours Может быть, версия swig слишком старая…
Нет, я установил новейшую версию swig
( 3.0.10
) через Homebrew.
… или вы использовали не тот глоток?
Не думаю. Я быстрый поиск через locate swig
показывает только версию, установленную через Homebrew.
@markus2330 да, это работает! большое спасибо за формулу доморощенного, @sanssecours :ok_hand:
У меня была небольшая проблема, но это может быть потому, что sudo make uninstall
не удаляет elektra полностью:
> brew install elektra
==> Installing elektra from elektrainitiative/elektra
==> Downloading https://github.com/ElektraInitiative/homebrew-elektra/releases/download/0.
==> Downloading from https://github-cloud.s3.amazonaws.com/releases/76387201/caf85aac-c307
######################################################################## 100.0%
==> Pouring elektra-0.8.19.sierra.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/elektra/test_data/lua/batterytotracker.lua
/usr/local/share/elektra/test_data/lua is not writable.
You can try again using:
brew link elektra
==> Summary
🍺 /usr/local/Cellar/elektra/0.8.19: 2,668 files, 54.1M
> brew link elektra
Linking /usr/local/Cellar/elektra/0.8.19...
Error: Could not symlink lib/elektra/libelektra-storage.so
Target /usr/local/lib/elektra/libelektra-storage.so
already exists. You may want to remove it:
rm '/usr/local/lib/elektra/libelektra-storage.so'
To force the link and overwrite all conflicting files:
brew link --overwrite elektra
To list all files that would be deleted:
brew link --overwrite --dry-run elektra
Однако после запуска brew link --overwrite elektra
все работает отлично.
Если я попытаюсь импортировать kdb в версии Python для домашних животных, интерпретатор Python выйдет из строя, отображая следующее сообщение об ошибке:
Фатальная ошибка Python: PyThreadState_Get: нет текущего потока
fish: '/usr/local/bin/python' завершается сигналом SIGABRT (Abort)
Итак, python -c "import kdb"
выдает указанную выше фатальную ошибку? Звучит странно, потому что привязки (в отличие от плагина) вообще не касаются состояний потоков или интерпретаторов.
Кстати, взгляните на https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52 .
Итак,
python -c "import kdb"
выдает указанную выше фатальную ошибку?
Да, команда /usr/local/bin/python -c "import kdb"
выводит это сообщение об ошибке, если я устанавливаю Elektra, используя старую версию формулы . Хорошей новостью является то, что /usr/local/bin/python3 -c "import kdb"
работает.
Кстати, взгляните на https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52 .
Если я добавлю дополнительные определения и отключу pyenv , то тесты Python в моем обычном каталоге сборки будут работать нормально. Спасибо.
Спасибо, отличная работа!
Для всех, кому интересно: недавно я открыл пулреквест для Elektra 0.8.21 по адресу homebrew-core
здесь .
Так здорово, что формула домашнего пивоварения была принята! https://github.com/Homebrew/homebrew-core/pull/22049
Мелочь: на http://brewformulas.org/Elektra описание "Репозиторий для обмена фрагментами конфигурации" немного неверно, можно ли изменить это с помощью формулы? Или нам нужно сообщить о проблеме в их трекере, чтобы изменить этот текст?
Я не думаю, что http://brewformulas.org является официальным сайтом Homebrew. Вы можете найти правильное описание формулы :
Платформа для доступа к настройкам конфигурации в глобальной базе данных ключей
на официальной домашней странице Homebrew .
Спасибо, кажется, другая неофициальная страница с неправильным описанием получила более высокий рейтинг в моем поиске в Интернете. Тогда нет никаких проблем с описанием с нашей стороны.
Еще раз спасибо за ваше упорство в официальном оформлении формулы домашнего пивоварения.
Не могли бы вы обновить doc/INSTALL.md
и уточнить, когда использовать официальную формулу, а когда использовать наш кран?
Не могли бы вы обновить
doc/INSTALL.md
и уточнить, когда использовать официальную формулу…
Я уже сделал это в своей локальной версии репозитория. Запрос на включение # 1777 содержит эти изменения.
…и когда использовать наш кран?
Эта информация уже содержится в файле Readme нашего крана .
Как насчет того, чтобы держать его открытым, чтобы отслеживать статус доморощенной формулы для каждого выпуска? При желании мы также можем добавить новую проблему для отслеживания.
Как насчет того, чтобы держать его открытым, чтобы отслеживать статус доморощенной формулы для каждого выпуска?
Как вы уже показали, опубликовав здесь 😊, нам не нужно держать эту тему открытой, чтобы добавлять новые комментарии.
Самый полезный комментарий
Я уже сделал это в своей локальной версии репозитория. Запрос на включение # 1777 содержит эти изменения.
Эта информация уже содержится в файле Readme нашего крана .