bagaimana cara menulis resep homebrew?

19

Apa saja fitur utama dari resep homebrew?

Jika saya ingin menyumbang resep, mis. Ini untuk udunits ke repositori hombrew -science, bagaimana cara saya mengonversi skrip baris perintah seperti ini:

wget ftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.1.24.tar.gz
tar -xvf udunits-2.1.24.tar.gz
cd udunits-2.1.24
./configure 
make 
make check
make clean

menjadi resep yang valid?

David LeBauer
sumber
Minuman akan mengekstrak dan cdsecara otomatis. Anda tidak perlu menjalankannya make clean, karena direktori build bersifat sementara. Jawaban saat ini ada sisanya.
daviewales

Jawaban:

22

README Homebrew ini memberikan langkah-langkah ini (dengan tautan ke informasi lebih lanjut):

Berkontribusi

Pendeknya:

  1. Homebrew Fork .
  2. brew create http://example.com/foo-0.1.tar.gz
  3. git checkout -b foo
  4. git commit Library/Formula/foo.rb && git push
  5. Tarik Permintaan .

Panjang:

Rumus homebrew ditulis dalam Ruby (diuji terhadap Ruby 2.0.0). Pengetahuan tentang Ruby tentu saja membantu, tetapi Anda mungkin bisa merasakan bagaimana melakukan prosedur dasar seperti yang Anda uraikan di atas hanya dengan membaca beberapa rumus yang ada.

Mendapatkan formula yang diterima juga membutuhkan sedikit pengetahuan tentang permintaan tarik Git dan GitHub, tetapi dibahas. Cara membuka permintaan tarik Homebrew (dan menggabungkannya)

echristopherson
sumber
4
Ke 'Formula Homebrew ditulis dalam titik Ruby' - Saya telah melihat banyak rumus sekarang yang menggunakan Ruby sebagai penelepon ke rutin instalasi yang ditulis dalam bahasa lain. Jadi, setidaknya Anda perlu tahu cukup Ruby untuk melakukan rutinitas instal / uninstall dan sisanya dapat Anda lakukan dalam <masukkan bahasa pilihan Anda di sini> dengan memanggil skrip pembantu.
Ian C.
1
Senang mendengarnya.
echristopherson
5
Jumlah Ruby yang perlu Anda ketahui untuk membuat resep hampir tidak ada, sekitar 0,00001% dari bahasa Ruby penuh. Anda pada dasarnya menetapkan beberapa parameter, tetapi manfaat besar dari itu ditulis dalam Ruby adalah bahwa Anda memiliki semua Ruby yang tersedia untuk Anda lakukan apa pun yang Anda butuhkan. (Orang-orang yang menyebarkan FUD tentang Homebrew atau Vagrant atau Wayang dll. Menggunakan Ruby tidak mengerti atau tidak jujur, karena dalam semua kasus Anda dapat bertahan dengan menyusun sesuatu tentang serumit file .INI, tetapi Anda tidak terbatas pada hal itu.) Intinya: jangan terintimidasi. Anda tidak perlu pengalaman Ruby.
iconoclast