Làm thế nào để tôi viết một công thức homebrew?


19

Các tính năng chính của một công thức homebrew là gì?

Nếu tôi muốn đóng góp một công thức, ví dụ như công thức này cho udunits vào kho lưu trữ khoa học hombrew, làm thế nào tôi có thể chuyển đổi một tập lệnh dòng lệnh như thế này:

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

thành một công thức hợp lệ?


Bia sẽ giải nén và cdtự động. Bạn không cần phải chạy make clean, vì thư mục xây dựng là tạm thời. Câu trả lời hiện tại có phần còn lại.
daviewales

Câu trả lời:


22

Homebrew README này cung cấp các bước này (có liên kết đến nhiều thông tin hơn):

Đóng góp

Nói ngắn gọn:

  1. Ngã ba 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. Yêu cầu kéo .

Trong thời gian dài:

Các công thức homebrew được viết bằng Ruby (được thử nghiệm với Ruby 2.0.0). Kiến thức về Ruby chắc chắn có ích, nhưng bạn có thể cảm nhận được cách thực hiện các quy trình cơ bản như bạn phác thảo ở trên chỉ bằng cách đọc một vài công thức hiện có.

Để một công thức được chấp nhận cũng đòi hỏi một chút kiến ​​thức về các yêu cầu kéo Git và GitHub, nhưng được đề cập Cách mở yêu cầu kéo Homebrew (và được hợp nhất)


4
Đối với 'Công thức homebrew được viết bằng Ruby point' - Tôi đã thấy một loạt các công thức hiện sử dụng Ruby như một người gọi đến một thói quen cài đặt được viết bằng ngôn ngữ khác. Vì vậy, tối thiểu bạn cần biết đủ Ruby để thực hiện các thói quen cài đặt / gỡ cài đặt và phần còn lại bạn có thể thực hiện bằng <chèn ngôn ngữ bạn chọn ở đây> bằng cách gọi ra một kịch bản trợ giúp.
Ian C.

1
Đó là điều tốt để biết.
echristopherson

5
Lượng Ruby bạn cần biết để tạo một công thức thực tế không có gì, khoảng 0,00001% ngôn ngữ Ruby đầy đủ. Về cơ bản, bạn đang thiết lập một vài tham số, nhưng lợi ích lớn của việc viết bằng Ruby là bạn có sẵn tất cả Ruby để làm bất cứ điều gì bạn cần. (Những người lan FUD về Homebrew hoặc Vagrant hoặc Múa rối , vv sử dụng của Ruby là một trong hai tránh khỏi thất bại hoặc không trung thực, như trong mọi trường hợp, bạn có thể nhận được bởi với sáng tác một cái gì đó về phức tạp như dạng file .INI, nhưng bạn không chỉ giới hạn đó.) Điểm mấu chốt: không bị đe dọa. Bạn không cần kinh nghiệm về Ruby.
iconoclast

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.