Libelektra: Tambahkan Formula Homebrew untuk Elektra

Dibuat pada 18 Feb 2016  ·  28Komentar  ·  Sumber: ElektraInitiative/libelektra

Homebrew adalah salah satu pengelola paket paling populer untuk OS X. Alangkah baiknya jika kami menyediakan formula Homebrew resmi – alias paket – untuk Elektra. Seseorang sudah membuat formula dasar di sini . Mungkin kita bisa mendasarkan pekerjaan kita pada itu.

enhancement usability

Komentar yang paling membantu

Bisakah Anda memperbarui doc/INSTALL.md dan memperjelas kapan harus menggunakan rumus resmi…

Saya sudah melakukannya di repositori versi lokal saya. Permintaan tarik #1777 berisi perubahan ini.

…dan kapan harus menggunakan keran kami?

Readme tap kami sudah menyertakan informasi ini.

Semua 28 komentar

@tryge jika Anda setuju, saya akan mengambil alih ini

Tolong pergilah!

Seperti yang dibahas di #1184, akan menyenangkan juga untuk membangun binari mac os x menggunakan travis.

Tetapi menambahkan Formula Homebrew memiliki prioritas tertinggi, saya harap seseorang dengan Mac dapat mengambil ini!

Saya membuat formula Homebrew dan satu ketukan untuk Elektra.

@ markus2330 Saya mentransfer repo kepada Anda Markus, karena saya memerlukan status admin untuk memindahkan repo ke organisasi ElektraInitiative. Bisakah Anda memindahkan repositori dari akun pribadi Anda ke organisasi ElektraInitiative?

Saya membuat formula Homebrew dan satu ketukan untuk Elektra.

Terima kasih, itu benar-benar hebat!

Apakah itu juga termasuk paket biner untuk rilis terbaru?

Saya mentransfer repo kepada Anda Markus, karena saya memerlukan status admin untuk memindahkan repo ke organisasi ElektraInitiative. Bisakah Anda memindahkan repositori dari akun pribadi Anda ke organisasi ElektraInitiative?

Maaf, dimana saya bisa menemukannya? Di https://github.com/sanssecours/homebrew-elektra saya tidak memiliki tombol "pengaturan" (yang akan diperlukan untuk mentransfer).

Mengapa tidak mengkloningnya saja? (Atau membuatnya kembali dengan mendorong komit yang sama ke dalamnya)

Omong-omong. Apakah mungkin membawa Formula ini juga ke hulu untuk diseduh?

@omnidan Bisakah Anda menguji apakah keran/botol berfungsi untuk Anda juga?

Haruskah kita membuat masalah tentang keran/botol di sini atau di
https://github.com/ElektraInitiative/homebrew-elektra?

Apakah itu juga termasuk paket biner untuk rilis terbaru?

Belum, membuat paket biner tampaknya tidak terlalu sulit . Saya akan melihat-lihat.

Maaf, dimana saya bisa menemukannya? Di https://github.com/sanssecours/homebrew-elektra saya tidak memiliki tombol "pengaturan" (yang akan diperlukan untuk mentransfer).

Terima kasih atas akses adminnya. Saya baru saja mentransfer repo .

Omong-omong. Apakah mungkin membawa Formula ini juga ke hulu untuk diseduh?

Ya. Saya ingin melakukannya terlebih dahulu, tetapi sejauh yang saya tahu, pengembang Homebrew agak pilih-pilih tentang apa yang mereka terima . Terutama teksnya

Kami tidak menyukai penulis yang mengirimkan karya mereka sendiri kecuali jika itu sangat populer.

terdengar seperti masalah.

Saya baru saja mentransfer repo.
Belum, membuat paket biner tampaknya tidak terlalu sulit. Saya akan melihat-lihat.

Terima kasih!

Terima kasih atas akses adminnya.

Kapan saja lagi jika Anda membutuhkannya. Kami juga dapat mendiskusikan akses admin permanen.

Ya. Saya ingin melakukan itu terlebih dahulu, tetapi sejauh yang saya tahu, pengembang Homebrew agak pilih-pilih tentang apa yang mereka terima. Terutama teksnya

Ada baiknya jika kita mendapatkan umpan balik, bahkan jika mereka tidak mau menerimanya.

Kami tidak menyukai penulis yang mengirimkan karya mereka sendiri kecuali jika itu sangat populer.

Saya mengerti kalimat ini bahwa Anda tidak boleh mengirimkan formular untuk pekerjaan Anda sendiri (= repo ditulis oleh Anda sendiri). Ini hampir tidak terjadi di sini.

Paket Homebrew biner (botol) sekarang tersedia . Jika ada yang ingin mencoba rumusnya silahkan ikuti langkah-langkah di bawah ini.

  1. Silakan jalankan brew doctor dan hapus semua fragmen Elektra yang dilaporkan oleh perintah.
  2. Ketuk repositori: brew tap ElektraInitiative/homebrew-elektra .
  3. Jika Anda ingin menginstal

    • botolnya pakai brew install elektra .

    • lepaskan 0.8.19 dari sumber, lalu gunakan brew install --build-from-source elektra .

    • versi terbaru dari Elektra, kemudian gunakan brew install --HEAD elektra .

  4. Untuk memeriksa apakah instalasi berhasil, Anda dapat menggunakan perintah brew test elektra .

Ada baiknya jika kita mendapatkan umpan balik, bahkan jika mereka tidak mau menerimanya.

Hmm, oke. Kalau ada waktu saya akan coba buka pull request besok.

Ini berita bagus lagi!

Bisakah Anda memperbarui README.md dari homebrew-elektra untuk memuat deskripsi yang lebih panjang ini?

Apakah Anda memiliki beberapa log build yang plugin dan bindingnya diaktifkan? Secara khusus saya akan tertarik jika binding python2 disertakan (dan berfungsi: dapatkah Anda mencoba import kdb dalam juru bahasa python)?

Bisakah Anda memperbarui README.md dari homebrew-elektra untuk memuat deskripsi yang lebih panjang ini?

Oke, Anda bisa melihat ReadMe yang diperbarui di sini .

Apakah Anda memiliki beberapa log build yang plugin dan bindingnya diaktifkan?

Daftar plugin harus cukup luas, karena saya menginstal banyak dependensi Elektra opsional di mesin saya. Berikut adalah log yang dihasilkan oleh brew install --build-from-source -debug -verbose elektra .

Secara khusus saya akan tertarik jika binding python2 disertakan (dan berfungsi: dapatkah Anda mencoba import kdb dalam juru bahasa python)?

Mereka harus disertakan (lihat log di atas), tetapi import kdb melaporkan kesalahan berikut baik dalam versi sistem Python ( /usr/bin/python ) dan yang diinstal melalui Homebrew ( /usr/local/bin/python ):

import kdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named kdb

.

Oke, Anda dapat melihat ReadMe yang diperbarui

Terima kasih banyak!

Daftar plugin harus cukup luas, karena saya menginstal banyak dependensi Elektra opsional di mesin saya.

  • ronn tampaknya hilang (jadi tidak ada halaman manual)
  • Anda tampaknya tidak menyertakan pengikatan apa pun (kecuali cpp), sepertinya Anda memerlukan -DBINDINGS=ALL
  • kdb gen akan membutuhkan python cheetah untuk bekerja dan --install-layout . Tampaknya sulit untuk diperbaiki (lebih baik tinggalkan itu untuk saat ini dan cukup nonaktifkan gen dari TOOLS).

Mereka harus disertakan (lihat log di atas)

Saya pikir Anda telah mencampuradukkan binding dan plugin python, binding tidak ada (tidak ada -- Include Binding swig_python2 ).

  • ronn tampaknya hilang (jadi tidak ada halaman manual)

Sepertinya hanya hilang. Saya menginstal ronn melalui rbenv . Sepertinya lingkungan Homebrew menggunakan nilai yang berbeda untuk PATH yang tidak termasuk ~/.rbenv/shims . Setelah beberapa penelitian, saya menemukan cara untuk menambahkan ronn sebagai Ruby dependency opsional. Saat ini rumus tidak mengenali instalasi saya ronn . Semoga saya menemukan solusi untuk masalah ini.

  • Anda tampaknya tidak menyertakan pengikatan apa pun (kecuali cpp), sepertinya Anda memerlukan -DBINDINGS=ALL

Anda benar, terima kasih. Saya menambahkan opsi ke argumen CMake dari rumus.

Saya pikir Anda telah mencampuradukkan binding dan plugin python, binding tidak ada (tidak ada -- Include Binding swig_python2 ).

Anda benar lagi :o). Saya akan memeriksa apakah binding berfungsi nanti.

Memperbarui

Halaman Manusia

Saya menambahkan ronn sebagai ketergantungan yang diperlukan untuk proses pembangunan di sini . Saya tidak berpikir bahwa membutuhkan ronn untuk membangun adalah masalah, karena kebanyakan orang hanya akan menggunakan versi botol dari formula.

Anda mungkin bertanya mengapa saya tidak menambahkan ronn sebagai ketergantungan opsional. Penyebabnya adalah output dari brew info , yang terlihat agak konyol dan juga sangat salah jika saya menambahkan tag :optional :

…
==> Dependencies
Build: cmake ✔
==> Requirements
Build: ronn (ruby module) ✔
Optional: ronn (ruby module) ✔
==> Options
--with-languagemodule
    Build with languagemodule support
…

. Teks di bawah ini menunjukkan output saat ini dari 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) ✔

.

Binding

Setelah saya menambahkan -DBINDINGS=ALL ke opsi CMake dari rumus brew audit --strict elektra menunjukkan pesan berikut (setelah saya menginstal 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

. Jika saya mencoba import kdb di Python versi Hombrew, maka interpreter Python lumpuh, menampilkan pesan kesalahan berikut:

Fatal Python error: PyThreadState_Get: no current thread
fish: '/usr/local/bin/python' terminated by signal SIGABRT (Abort)

Ini tampaknya normal, karena ninja test – di direktori build saya yang biasa – gagal juga, menampilkan kesalahan berikut:

     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)

. Saya menggunakan perintah berikut untuk menghasilkan proyek 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

. Binding Lua tampaknya bekerja dengan baik. Setidaknya require 'kdb' tidak menampilkan pesan kesalahan.

Terima kasih atas upaya Anda!

Halaman Manusia

Ya, saya setuju bahwa orang akan lebih memilih versi botol. Dan tidak memiliki halaman manual benar-benar merupakan masalah kegunaan utama, jadi persyaratannya masuk akal..

kerusakan import kdb

@manuelm lm apakah Anda punya ide mengapa binding macet?

@sanssecours Mungkin versi swignya terlalu tua, atau swig yang digunakan salah?

Mereka harus ditautkan dengan -undefined dynamic_lookup alih-alih -lpython atau -framework Python.

Mungkin kita harus meneruskan -framework jika ada APPLE ke target_link_libraries. Menurut cmake docu sepertinya ada perlakuan khusus untuk -framework .

Mungkin file cmake untuk python rusak? Berikut adalah diskusi panjang tentang file cmake python yang rusak. (Mungkin tidak terkait, meskipun) Saya tidak dapat membantu di sini, masalahnya cukup spesifik untuk Mac OS X.

@sanssecours Mungkin versi tegukan terlalu tua…

Tidak, saya menginstal versi terbaru swig ( 3.0.10 ) melalui Homebrew.

…, atau salah teguk yang digunakan?

Saya kira tidak demikian. Saya pencarian cepat melalui locate swig hanya menunjukkan versi yang diinstal melalui Homebrew.

@ markus2330 ya berhasil! terima kasih banyak untuk formula homebrewnya, @sanssecours :ok_hand:

Saya memang memiliki masalah kecil, tapi itu mungkin karena sudo make uninstall tidak menghapus elektra dengan bersih:

> 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

Setelah menjalankan brew link --overwrite elektra itu berfungsi dengan baik.

Jika saya mencoba mengimpor kdb di Python versi Hombrew, maka interpreter Python lumpuh, menampilkan pesan kesalahan berikut:

Kesalahan Python fatal: PyThreadState_Get: tidak ada utas saat ini
ikan: '/usr/local/bin/python' diakhiri oleh sinyal SIGABRT (Batalkan)

Jadi python -c "import kdb" memberikan kesalahan fatal di atas? Kedengarannya aneh karena binding (berbeda dengan plugin) tidak menyentuh status utas atau juru bahasa sama sekali.

Jadi python -c "import kdb" memberikan kesalahan fatal di atas?

Ya, perintah /usr/local/bin/python -c "import kdb" mencetak pesan kesalahan ini, jika saya menginstal Elektra menggunakan versi formula yang lama . Kabar baiknya adalah /usr/local/bin/python3 -c "import kdb" berfungsi.

btw lihat https://github.com/ElektraInitiative/libelektra/blob/master/.travis.yml#L52

Jika saya menambahkan definisi tambahan dan menonaktifkan pyenv , maka tes Python - di direktori build saya yang biasa - berjalan dengan baik. Terima kasih.

Terima kasih, kerja bagus!

Bagi siapa saja yang tertarik: Saya baru-baru ini membuka permintaan tarik untuk Elektra 0.8.21 di homebrew-core here .

Begitu hebatnya sehingga formula homebrew diterima! https://github.com/Homebrew/homebrew-core/pull/22049

Hal kecil: Di http://brewformulas.org/Elektra deskripsi " Repositori untuk berbagi cuplikan konfigurasi" agak salah, apakah mungkin untuk memodifikasi ini melalui rumus? Atau apakah kita perlu mengirimkan masalah di pelacak mereka untuk mengubah teks ini?

Saya tidak berpikir http://brewformulas.org adalah situs Homebrew resmi. Anda dapat menemukan deskripsi yang benar dari Formula :

Kerangka untuk mengakses pengaturan konfigurasi dalam basis data kunci global

di homepage resmi Homebrew .

Terima kasih, sepertinya halaman non-resmi lainnya dengan deskripsi yang salah mendapat peringkat lebih tinggi di pencarian Internet saya. Maka tidak ada masalah tentang deskripsi dari pihak kami.

Sekali lagi terima kasih atas kegigihan Anda untuk mendapatkan formula homebrew resmi.

Bisakah Anda memperbarui doc/INSTALL.md dan memperjelas kapan harus menggunakan formula resmi dan kapan harus menggunakan tap kami?

Bisakah Anda memperbarui doc/INSTALL.md dan memperjelas kapan harus menggunakan rumus resmi…

Saya sudah melakukannya di repositori versi lokal saya. Permintaan tarik #1777 berisi perubahan ini.

…dan kapan harus menggunakan keran kami?

Readme tap kami sudah menyertakan informasi ini.

Bagaimana dengan menjaga ini tetap terbuka untuk melacak status formula homebrew untuk setiap rilis? Jika diinginkan, kami juga dapat menambahkan masalah baru untuk pelacakan.

Bagaimana dengan menjaga ini tetap terbuka untuk melacak status formula homebrew untuk setiap rilis?

Seperti yang sudah Anda tunjukkan dengan memposting di sini 😊, kami tidak perlu membiarkan masalah ini terbuka untuk menambahkan komentar baru.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

markus2330 picture markus2330  ·  4Komentar

sanssecours picture sanssecours  ·  4Komentar

mpranj picture mpranj  ·  3Komentar

mpranj picture mpranj  ·  3Komentar

markus2330 picture markus2330  ·  4Komentar