require 'formula' class Cdrdao < Formula homepage 'http://cdrdao.sourceforge.net/' url 'https://downloads.sourceforge.net/project/cdrdao/cdrdao/1.2.3/cdrdao-1.2.3.tar.bz2' sha1 '70d6547795a1342631c7ab56709fd1940c2aff9f' depends_on 'pkg-config' => :build depends_on 'libao' depends_on 'libvorbis' depends_on 'mad' depends_on 'lame' fails_with :llvm do build 2326 cause "Segfault while linking" end # first patch fixes build problems under 10.6 # see http://sourceforge.net/p/cdrdao/patches/23/ patch do url "http://sourceforge.net/p/cdrdao/patches/_discuss/thread/205354b0/141e/attachment/cdrdao-mac.patch" sha1 "1c0663d13d0f0b7ebbb281f69751eff0afed7c8c" end # second patch fixes device autodetection on OS X # see http://trac.macports.org/ticket/27819 # upstream bug report: # http://sourceforge.net/tracker/?func=detail&aid=3381672&group_id=2171&atid=102171 patch :p0, :DATA def install system "./configure", "--disable-debug", "--disable-dependency-tracking", "--prefix=#{prefix}", "--mandir=#{man}" system "make install" end end __END__ --- dao/main.cc 2013-11-26 12:00:00.000000000 -0400 +++ dao/main.cc 2013-11-26 12:00:00.000000000 -0400 @@ -1242,7 +1242,7 @@ const char* getDefaultDevice(DaoDeviceType req) { int i, len; - static char buf[128]; + static char buf[1024]; // This function should not be called if the command issues // doesn't actually require a device. @@ -1270,7 +1270,7 @@ if (req == NEED_CDRW_W && !rww) continue; - strncpy(buf, sdata[i].dev.c_str(), 128); + strncpy(buf, sdata[i].dev.c_str(), 1024); delete[] sdata; return buf; }