Ruby 自制啤酒是否可以;brew“;包的分叉版本?

Ruby 自制啤酒是否可以;brew“;包的分叉版本?,ruby,git,homebrew,libdc1394,Ruby,Git,Homebrew,Libdc1394,我想使用一个非常有用的软件包(),但是需要进行一些修改,sourceforge项目的所有者可能会在夏天休假。如果我参与了这个项目,我该如何让自制软件为我修改过的配方提供服务?我对开源软件还很陌生 此外,homebrew目前正在提供现有项目的二进制瓶子。要从forked库中创建这些二进制瓶子,homebrew是否能够自行构建,或者我是否需要编译以生成各种OSX 10.X系统的二进制文件?我之所以问这个问题,是因为现有库的./configure会给我的系统带来各种各样的问题(但它必须在某人的系统上工

我想使用一个非常有用的软件包(),但是需要进行一些修改,sourceforge项目的所有者可能会在夏天休假。如果我参与了这个项目,我该如何让自制软件为我修改过的配方提供服务?我对开源软件还很陌生

此外,homebrew目前正在提供现有项目的二进制瓶子。要从forked库中创建这些二进制瓶子,homebrew是否能够自行构建,或者我是否需要编译以生成各种OSX 10.X系统的二进制文件?我之所以问这个问题,是因为现有库的./configure会给我的系统带来各种各样的问题(但它必须在某人的系统上工作)


酒窖的位置在这里,
/usr/local/cillar/libdc1394/2.2.2
,二进制文件在这里:
/usr/local/cillar/libdc1394/2.2/lib

内容:
libdc1394.22.dylib、libdc1394.dylib、libdc1394.a、pkgconfig


我倒的瓶子在缓存中的位置,包含二进制文件:

/Library/Caches/Homebrew/libdc1394-2.2.2.mavericks.bottle.tar.gz

这是现有的自制公式,一个ruby脚本(
/usr/local/Library/formula/libdc1394.rb
):

需要“公式”
类Libdc1394<公式
主页“http://damien.douxchamps.net/ieee1394/libdc1394/"
url“https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/2.2.2/libdc1394-2.2.2.tar.gz"
sha1“13958c3cd0709565b5e4a9012dcf2a9b710264e2”
瓶装水
酒窖:有吗
sha1“063E3BABF63F462DE1B7D053690AE3F0E250BCB=>:小牛队
sha1“52d23eb6514dfc5c9aa554bade7dac92deefec70=>:山狮
sha1“9F703002E3333885F3F2CB9E4A4006585282A01”=>:狮子座
结束
取决于“sdl”
#修复OSX Firewire堆栈中的错误导致的问题
#libdc1394作者评论如下:
# http://permalink.gmane.org/gmane.comp.multimedia.libdc1394.devel/517
补丁:数据
def安装
系统“/configure”、“--禁用依赖项跟踪”,
“--前缀=#{prefix}”,
“--禁用示例”,
“--禁用sdltest”
系统“进行安装”
结束
结束
__结束__
diff——git a/dc1394/macosx/capture.cb/dc1394/macosx/capture.c
索引c7c71f2..8959535 100644
---a/dc1394/macosx/capture.c
+++b/dc1394/macosx/capture.c
@@-150,7+150,7@@callback(buffer\u info*buffer,NuDCLRef dcl)
对于(i=0;inum\u dcls;i++){
int packet\u size=capture->frames[buffer->i]。packet\u size;
-if((缓冲区->pkts[i].状态&0x1F)!=0x11){
+if(buffer->pkts[i]。状态和(buffer->pkts[i]。状态和0x1F)!=0x11){
dc1394\u日志\u警告(“数据包%d的错误状态为%x”,
i、 buffer->pkts[i].状态);
腐败=1;
有一种方法可能会对您有所帮助

应提交补丁(但不一定接受)向Homebrew发送请求之前,请先向上游发送请求。如果您的更改不是一般人感兴趣的,您不需要Homebrew接受您的更改以利用Homebrew构建系统;您可以编写或修改自己的公式,并在本地将Homebrew指向.rb文件,如
brew安装/my_formula.rb
。您还可以为brew安装提供.rb文件的URL

在自制软件的维护者接受了对配方的修改后,装瓶由buildbot按照他们的要求完成。

有一种方法可能会对您有所帮助

应提交补丁(但不一定接受)向Homebrew发送请求之前,请先向上游发送请求。如果您的更改不是一般人感兴趣的,您不需要Homebrew接受您的更改以利用Homebrew构建系统;您可以编写或修改自己的公式,并在本地将Homebrew指向.rb文件,如
brew安装/my_formula.rb
。您还可以为brew安装提供.rb文件的URL

在自制软件的维护者接受了对配方的修改后,装瓶由buildbot按照他们的要求完成。

有一种方法可能会对您有所帮助

应提交补丁(但不一定接受)向Homebrew发送请求之前,请先向上游发送请求。如果您的更改不是一般人感兴趣的,您不需要Homebrew接受您的更改以利用Homebrew构建系统;您可以编写或修改自己的公式,并在本地将Homebrew指向.rb文件,如
brew安装/my_formula.rb
。您还可以为brew安装提供.rb文件的URL

在自制软件的维护者接受了对配方的修改后,装瓶由buildbot按照他们的要求完成。

有一种方法可能会对您有所帮助

应提交补丁(但不一定接受)向Homebrew发送请求之前,请先向上游发送请求。如果您的更改不是一般人感兴趣的,您不需要Homebrew接受您的更改以利用Homebrew构建系统;您可以编写或修改自己的公式,并在本地将Homebrew指向.rb文件,如
brew安装/my_formula.rb
。您还可以为brew安装提供.rb文件的URL

在自制软件维护者接受配方修改后,根据他们的要求,由buildbot完成装瓶

require "formula"

class Libdc1394 < Formula
  homepage "http://damien.douxchamps.net/ieee1394/libdc1394/"
  url "https://downloads.sourceforge.net/project/libdc1394/libdc1394-2/2.2.2/libdc1394-2.2.2.tar.gz"
  sha1 "13958c3cd0709565b5e4a9012dcf2a9b710264e2"

  bottle do
    cellar :any
    sha1 "063e3babff63f462de1b7d053690ae3f0e250bcb" => :mavericks
    sha1 "52d23eb6514dfc5c9aa554bade7dac92deefec70" => :mountain_lion
    sha1 "9f703002e33433885f3f2cb9e4a4006585282a01" => :lion
  end

  depends_on "sdl"

  # fix issue due to bug in OSX Firewire stack
  # libdc1394 author comments here:
  # http://permalink.gmane.org/gmane.comp.multimedia.libdc1394.devel/517
  patch :DATA

  def install
    system "./configure", "--disable-dependency-tracking",
                          "--prefix=#{prefix}",
                          "--disable-examples",
                          "--disable-sdltest"
    system "make install"
  end
end

__END__
diff --git a/dc1394/macosx/capture.c b/dc1394/macosx/capture.c
index c7c71f2..8959535 100644
--- a/dc1394/macosx/capture.c
+++ b/dc1394/macosx/capture.c
@@ -150,7 +150,7 @@ callback (buffer_info * buffer, NuDCLRef dcl)

     for (i = 0; i < buffer->num_dcls; i++) {
         int packet_size = capture->frames[buffer->i].packet_size;
-        if ((buffer->pkts[i].status & 0x1F) != 0x11) {
+        if (buffer->pkts[i].status && (buffer->pkts[i].status & 0x1F) != 0x11) {
             dc1394_log_warning ("packet %d had error status %x",
                     i, buffer->pkts[i].status);
             corrupt = 1;