ฉันจะเขียนสูตรโฮมบรูว์ได้อย่างไร


19

คุณสมบัติหลักของสูตรโฮมบรูว์คืออะไร

หากฉันต้องการมีส่วนร่วมในสูตรเช่นสูตรนี้สำหรับ udunitsไปยังที่เก็บ hombrew-science ฉันจะแปลงสคริปต์บรรทัดคำสั่งแบบนี้ได้อย่างไร:

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

เป็นสูตรที่ถูกต้อง?


ชงจะแยกและcdโดยอัตโนมัติ คุณไม่จำเป็นต้องเรียกใช้make cleanเพราะไดเรกทอรีการสร้างนั้นชั่วคราว คำตอบปัจจุบันมีส่วนที่เหลือ
daviewales

คำตอบ:


22

Homebrew READMEให้ขั้นตอนเหล่านี้ (พร้อมลิงก์ไปยังข้อมูลเพิ่มเติม):

การบริจาค

ในระยะสั้น:

  1. ส้อม Homebrew
  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. ขอดึง

ในระยะยาว:

สูตร Homebrew เขียนใน Ruby (ทดสอบกับ Ruby 2.0.0) ความรู้เกี่ยวกับทับทิมช่วยได้แน่นอน แต่คุณอาจรู้สึกถึงวิธีการทำขั้นตอนพื้นฐานเช่นคุณร่างข้างบนเพียงแค่อ่านสูตรที่มีอยู่ไม่กี่

การรับสูตรที่ยอมรับต้องใช้ความรู้เล็กน้อยเกี่ยวกับคำขอดึง Git และ GitHub แต่ครอบคลุมวิธีเปิดคำขอดึง Homebrew (และรวมเข้าด้วยกัน)


4
สำหรับ 'สูตร Homebrew เขียนในจุดทับทิม' - ฉันเคยเห็นสูตรมากมายตอนนี้ที่ใช้ Ruby เป็นผู้โทรเข้าสู่รูทีนการติดตั้งที่เขียนในภาษาอื่น ดังนั้นอย่างน้อยที่สุดคุณต้องรู้รูบี้ให้เพียงพอเพื่อทำการติดตั้ง / ถอนการติดตั้งรูทีนและส่วนที่เหลือคุณสามารถทำได้ใน <แทรกภาษาที่คุณเลือกที่นี่> โดยการเรียกใช้สคริปต์ผู้ช่วยเหลือ
Ian C.

1
เป็นเรื่องดีที่รู้
echristopherson

5
ปริมาณของทับทิมที่คุณต้องรู้ในการสร้างสูตรนั้นไม่มีอะไรจริงเลยประมาณ 0.00001% ของภาษาทับทิมเต็ม โดยทั่วไปคุณกำลังตั้งค่าพารามิเตอร์เล็กน้อย แต่ข้อดีที่สำคัญของการเขียนใน Ruby ก็คือคุณมี Ruby ทั้งหมดที่คุณสามารถทำสิ่งที่คุณต้องการ (ผู้ที่แพร่กระจาย FUD เกี่ยวกับ Homebrew หรือ Vagrant หรือ Puppet เป็นต้นโดยใช้ Ruby นั้นไร้เดียงสาหรือไม่ซื่อสัตย์เหมือนในทุกกรณีคุณสามารถทำได้โดยการเขียนสิ่งที่ซับซ้อนเป็นไฟล์. INI แต่คุณไม่ได้ จำกัด อยู่แค่นั้น) บรรทัดล่าง: ไม่ต้องกลัว คุณไม่จำเป็นต้องมีประสบการณ์ทับทิม
iconoclast

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.