@tryge si vous êtes d'accord avec ça, je prendrais ça en charge
S'il vous plaît, allez-y!
Comme indiqué dans # 1184, il serait également agréable de créer des binaires mac os x en utilisant travis.
Mais l'ajout de Homebrew Formula a la plus haute priorité, j'espère que quelqu'un avec un Mac pourra le comprendre !
J'ai créé une formule Homebrew et un robinet pour Elektra.
@markus2330 Je vous ai transféré le dépôt Markus, car j'aurais eu besoin du statut d'administrateur pour déplacer le dépôt vers l'organisation ElektraInitiative. Pouvez-vous, s'il vous plaît, déplacer le référentiel de votre compte personnel vers l'organisation ElektraInitiative ?
J'ai créé une formule Homebrew et un robinet pour Elektra.
Merci, c'est vraiment super !
Inclut-il également des packages binaires pour la dernière version ?
Je vous ai transféré le dépôt Markus, car j'aurais eu besoin du statut d'administrateur pour déplacer le dépôt vers l'organisation ElektraInitiative. Pouvez-vous, s'il vous plaît, déplacer le référentiel de votre compte personnel vers l'organisation ElektraInitiative ?
Désolé, où puis-je le trouver ? Dans https://github.com/sanssecours/homebrew-elektra je n'ai pas le bouton "paramètres" (qui serait nécessaire pour le transfert).
Pourquoi ne pas simplement le cloner ? (Ou en recréer un en y insérant les mêmes commits)
D'ailleurs. Est-il possible d'amener cette formule aussi en amont pour brasser ?
@omnidan Pouvez-vous tester si le robinet/la bouteille fonctionne aussi pour vous ?
Devrions-nous créer des problèmes concernant le robinet/la bouteille ici ou à
https://github.com/ElektraInitiative/homebrew-elektra?
Inclut-il également des packages binaires pour la dernière version ?
Pas encore, créer un paquet binaire ne semble cependant pas si difficile . J'y jetterais un œil.
Désolé, où puis-je le trouver ? Dans https://github.com/sanssecours/homebrew-elektra je n'ai pas le bouton "paramètres" (qui serait nécessaire pour le transfert).
Merci pour l'accès administrateur. Je viens de transférer le repo .
D'ailleurs. Est-il possible d'amener cette formule aussi en amont pour brasser ?
Oui. Je voulais le faire en premier, mais pour autant que je sache, les développeurs Homebrew sont plutôt pointilleux sur ce qu'ils acceptent . Surtout le texte
Nous désapprouvons les auteurs qui soumettent leur propre travail à moins qu'il ne soit très populaire.
sonne comme un problème.
Je viens de transférer le repo.
Pas encore, créer un paquet binaire ne semble cependant pas si difficile. J'y jetterais un œil.
Merci!
Merci pour l'accès administrateur.
À tout moment si vous en avez besoin. Nous pouvons également discuter de l'accès administrateur permanent.
Oui. Je voulais le faire en premier, mais pour autant que je sache, les développeurs Homebrew sont plutôt pointilleux sur ce qu'ils acceptent. Surtout le texte
C'est bien si nous obtenons des commentaires, même s'ils ne l'accepteront pas.
Nous désapprouvons les auteurs qui soumettent leur propre travail à moins qu'il ne soit très populaire.
Je comprends cette phrase que vous ne devez pas soumettre de formulaire pour votre propre travail (=repo écrit par vous seul). Ce n'est guère le cas ici.
Un package binaire Homebrew (bouteille) est maintenant disponible . Si quelqu'un veut essayer la formule, veuillez suivre les étapes ci-dessous.
brew doctor
et supprimer tous les fragments d'Elektra signalés par la commande.brew tap ElektraInitiative/homebrew-elektra
.brew install elektra
.brew install --build-from-source elektra
.brew install --HEAD elektra
.brew test elektra
.C'est bien si nous obtenons des commentaires, même s'ils ne l'accepteront pas.
HM OK. Si j'ai le temps, j'essaierai d'ouvrir une pull request demain.
Ce sont encore une excellente nouvelle !
Pouvez-vous mettre à jour le README.md de l'homebrew-elektra pour contenir cette description plus longue ?
Avez-vous des journaux de construction dont les plugins et les liaisons sont activés ? En particulier, je serais intéressé si les liaisons python2 sont incluses (et fonctionnent : pouvez-vous essayer de import kdb
dans un interpréteur python) ?
Pouvez-vous mettre à jour le README.md de l'homebrew-elektra pour contenir cette description plus longue ?
D'accord, vous pouvez jeter un œil au fichier ReadMe mis à jour ici .
Avez-vous des journaux de construction dont les plugins et les liaisons sont activés ?
La liste des plugins devrait être assez longue, car j'ai installé beaucoup de dépendances facultatives d'Elektra sur ma machine. Voici le log produit par brew install --build-from-source -debug -verbose elektra
.
En particulier, je serais intéressé si les liaisons python2 sont incluses (et fonctionnent : pouvez-vous essayer de
import kdb
dans un interpréteur python) ?
Ils devraient être inclus (voir le journal ci-dessus), mais néanmoins import kdb
signale l'erreur suivante à la fois dans la version système de Python ( /usr/bin/python
) et dans celle installée via Homebrew ( /usr/local/bin/python
):
import kdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named kdb
.
D'accord, vous pouvez jeter un œil au fichier ReadMe mis à jour
Super merci!
La liste des plugins devrait être assez longue, car j'ai installé beaucoup de dépendances facultatives d'Elektra sur ma machine.
-DBINDINGS=ALL
kdb gen
aurait besoin de guépard python pour fonctionner et --install-layout
. Semble être difficile à réparer (mieux vaut laisser cela pour l'instant et simplement désactiver gen à partir de TOOLS).Ils devraient être inclus (voir le journal ci-dessus)
Je pense que vous avez mélangé les liaisons python et les plugins, les liaisons ne sont pas présentes (pas -- Include Binding swig_python2
).
- ronn semble manquer (donc pas de pages de manuel)
Il semble seulement manquer. J'ai installé ronn
via rbenv . Il semble que l'environnement Homebrew utilise une valeur différente pour PATH
qui n'inclut pas ~/.rbenv/shims
. Après quelques recherches, j'ai trouvé un moyen d'ajouter ronn
en tant que dépendance Ruby facultative. Pour le moment, la formule ne reconnaît pas mon installation de ronn
. J'espère trouver une solution à ce problème.
- vous ne semblez pas inclure de liaison (sauf cpp), il semble que vous ayez besoin d'un
-DBINDINGS=ALL
Vous avez raison, merci. J'ai ajouté l'option aux arguments CMake de la formule.
Je pense que vous avez mélangé les liaisons python et les plugins, les liaisons ne sont pas présentes (pas
-- Include Binding swig_python2
).
Tu as encore raison :o). Je vérifierai si les liaisons fonctionnent plus tard.
J'ai ajouté ronn
comme dépendance requise pour le processus de construction ici . Je ne pense pas que le fait d'exiger ronn
pour la construction soit un problème, car la plupart des gens utiliseront de toute façon la version en bouteille de la formule.
Vous pouvez vous demander pourquoi je n'ai pas ajouté ronn
comme dépendance facultative. La cause en était la sortie de brew info
, qui a l'air un peu idiot et aussi super faux si j'ajoute la balise :optional
:
…
==> Dependencies
Build: cmake ✔
==> Requirements
Build: ronn (ruby module) ✔
Optional: ronn (ruby module) ✔
==> Options
--with-languagemodule
Build with languagemodule support
…
. Le texte ci-dessous montre la sortie actuelle de 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) ✔
.
Après avoir ajouté -DBINDINGS=ALL
aux options CMake de la formule brew audit --strict elektra
affiche le message suivant (après avoir installé 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
. Si j'essaie import kdb
dans la version Hombrew de Python, l'interpréteur Python plante et affiche le message d'erreur suivant :
Fatal Python error: PyThreadState_Get: no current thread
fish: '/usr/local/bin/python' terminated by signal SIGABRT (Abort)
Cela semble être normal, car ninja test
- dans mon répertoire de construction habituel - échoue également, affichant les erreurs suivantes :
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)
. J'ai utilisé la commande suivante pour générer le projet 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
. Les liaisons Lua semblent bien fonctionner. Au moins require 'kdb'
n'affiche aucun message d'erreur.
Je vous remercie pour vos efforts!
Pages de manuel
Oui, je suis d'accord que les gens préféreront la version en bouteille. Et ne pas avoir de pages de manuel est vraiment un problème majeur d'utilisabilité, donc l'exigence est raisonnable.
crash de
import kdb
@manuelm lm avez-vous une idée de la raison pour laquelle les liaisons se bloquent ?
@sanssecours Peut-être que la version swig est trop ancienne, ou une mauvaise swig utilisée ?
Ils doivent être liés avec -undefined dynamic_lookup au lieu de -lpython ou -framework Python.
Peut-être devrions-nous simplement passer -framework
dans le cas d'APPLE à target_link_libraries. Selon cmake docu , il semble y avoir un traitement spécial pour -framework
.
Peut-être que le fichier cmake pour python est cassé ? Voici une longue discussion sur les fichiers python cmake cassés. (Peut-être sans rapport, cependant) Je ne peux pas vraiment aider ici, le problème est assez spécifique à Mac OS X.
@sanssecours Peut-être que la version gorgée est trop ancienne…
Non, j'ai installé la dernière version de swig
( 3.0.10
) via Homebrew.
…, ou une mauvaise gorgée utilisée ?
Je ne pense pas. La recherche rapide via locate swig
ne montre que la version installée via Homebrew.
@markus2330 oui ça marche ! merci beaucoup pour la formule homebrew, @sanssecours :ok_hand:
J'ai eu un petit problème, mais c'est peut-être parce que sudo make uninstall
ne désinstalle pas proprement 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
Après avoir exécuté brew link --overwrite elektra
, cela fonctionne parfaitement bien.
Si j'essaie d'importer kdb dans la version Hombrew de Python, l'interpréteur Python plante et affiche le message d'erreur suivant :
Erreur Python fatale : PyThreadState_Get : aucun thread actuel
fish : '/usr/local/bin/python' terminé par le signal SIGABRT (Abort)
Donc python -c "import kdb"
donne l'erreur fatale ci-dessus ? Cela semble bizarre car les liaisons (contrairement au plugin) ne touchent aucun état de thread ni aucun interpréteur.
btw jeter un oeil à https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52
Donc
python -c "import kdb"
donne l'erreur fatale ci-dessus ?
Oui, la commande /usr/local/bin/python -c "import kdb"
imprime ce message d'erreur, si j'installe Elektra en utilisant une ancienne version de la formule . La bonne nouvelle est que /usr/local/bin/python3 -c "import kdb"
fonctionne.
btw jeter un oeil à https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52
Si j'ajoute les définitions supplémentaires et désactive pyenv , les tests Python - dans mon répertoire de construction habituel - fonctionnent correctement. Merci.
Merci, excellent travail !
Pour tous ceux que ça intéresse : j'ai récemment ouvert une pull request pour Elektra 0.8.21 à homebrew-core
ici .
Tellement génial que la formule homebrew a été acceptée ! https://github.com/Homebrew/homebrew-core/pull/22049
Une petite chose : Dans http://brewformulas.org/Elektra la description « A repository for sharing configuration snippets » est un peu fausse, est-il possible de modifier cela via la formule ? Ou devons-nous soumettre un problème dans leur outil de suivi pour modifier ce texte ?
Je ne pense pas que http://brewformulas.org soit un site officiel Homebrew. Vous pouvez trouver la description correcte de la Formule :
Framework pour accéder aux paramètres de configuration dans une base de données de clés globale
sur la page d'accueil officielle d'Homebrew .
Merci, il semble que l'autre page non officielle avec la mauvaise description ait obtenu un rang plus élevé dans ma recherche Internet. Ensuite, il n'y a aucun problème concernant la description de notre côté.
Merci encore pour votre ténacité pour officialiser la formule homebrew.
Pouvez-vous s'il vous plaît mettre à jour doc/INSTALL.md
et clarifier quand utiliser la formule officielle et quand utiliser notre robinet ?
Pouvez-vous s'il vous plaît mettre à jour
doc/INSTALL.md
et clarifier quand utiliser la formule officielle…
Je l'ai déjà fait dans ma version locale du référentiel. La pull request #1777 contient ces changements.
…et quand utiliser notre robinet ?
Le fichier Lisezmoi de notre robinet contient déjà ces informations.
Qu'en est-il de garder cela ouvert pour suivre l'état de la formule homebrew pour chaque version ? Si vous préférez, nous pouvons également ajouter un nouveau problème pour le suivi.
Qu'en est-il de garder cela ouvert pour suivre l'état de la formule homebrew pour chaque version ?
Comme vous l'avez déjà montré en postant ici 😊, nous n'avons pas besoin de garder ce sujet ouvert pour ajouter de nouveaux commentaires.
Commentaire le plus utile
Je l'ai déjà fait dans ma version locale du référentiel. La pull request #1777 contient ces changements.
Le fichier Lisezmoi de notre robinet contient déjà ces informations.