From 52ed41a36ad5306bcb961beb1126510b5947cdde Mon Sep 17 00:00:00 2001 From: Nibbles 2bits Date: Fri, 10 Feb 2012 16:55:51 -0800 Subject: [PATCH] New Formula: movgrab Movgrab is a command line program to download videos from the net. Given a url, it has the code to handle about 25 different sites. This version 1.1.9 compiles on Lion and 64bit Snow Leopard. It will occasionally segfault while running the CLI during a download, but Colum, the author, has not been able to track it down as of yet because it is not consistent. He is lacking a Mac to test it using gdb and could use help from anyone with experience in network steams, C, and gdb. EDIT: moved patches to a DATA block rather than inreplace EDIT: fix the "inline" issue with c99 & Clang. EDIT: update from 1.1.8 to 1.1.9. No changes to patches. EDIT: all patches including --no-recursion are upstream via email. This would close Homebrew/homebrew#10074 Closes Homebrew/homebrew#10101. Signed-off-by: Misty De Meo --- Formula/movgrab.rb | 75 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Formula/movgrab.rb diff --git a/Formula/movgrab.rb b/Formula/movgrab.rb new file mode 100644 index 0000000000..401f4ab95a --- /dev/null +++ b/Formula/movgrab.rb @@ -0,0 +1,75 @@ +require 'formula' + +class Movgrab < Formula + url 'http://sites.google.com/site/columscode/files/movgrab-1.1.9.tgz' + homepage 'http://sites.google.com/site/columscode' + sha1 'd1439dea2a2ae2c0ef14322bac3693c57275570e' + + def patches + # diffs 1-3 fix compile errors with Clang, non-void functions should return a value + # diff 4 fixes compile error with Clang, c99 "inline" function -> unresolved symbols. + # All patches including the --no-recusion hack have been emailed upstream. + DATA + end + + def install + # If we let configure recurse into libUseful-2.0, it propogates CC and CFLAGS into + # the second configure command line, which configure can't parse, causing an error. + # The workaround is to manually configure libUseful-2.0 without the env vars. + # The cache-file and srcdir arguments parse ok. So those were left in. + system "./configure", "--prefix=#{prefix}", "--no-recursion" + cd 'libUseful-2.0' do + system "./configure", "--prefix=#{prefix}", '--cache-file=/dev/null', '--srcdir=.' + end + system "make" + system "make install" + end +end + +__END__ +--- a/main.c 2012-02-10 07:34:13.000000000 -0800 ++++ b/main.c 2012-02-12 10:22:28.000000000 -0800 +@@ -78,7 +78,7 @@ + int Port; + int RetVal=FALSE; + +-if (!StrLen(Path)) return; ++if (!StrLen(Path)) return(FALSE); + + Type=MovType; + NextPath=CopyStr(NextPath,Path); +--- a/libUseful-2.0/file.c 2012-01-28 04:09:00.000000000 -0800 ++++ b/libUseful-2.0/file.c 2012-02-12 10:23:03.000000000 -0800 +@@ -515,7 +515,7 @@ + { + int len; + +-if (! S) return; ++if (! S) return(NULL); + len=S->OutEnd - S->OutStart; + + STREAMReadThroughProcessors(S, NULL, 0); +--- a/libUseful-2.0/sound.c 2012-01-23 21:28:28.000000000 -0800 ++++ b/libUseful-2.0/sound.c 2012-02-12 10:23:24.000000000 -0800 +@@ -416,7 +416,7 @@ + { + int result, fd; + +-if (StrLen(SoundFilePath) < 1) return; ++if (StrLen(SoundFilePath) < 1) return(FALSE); + #ifdef HAVE_LIBESD + + fd=ESDGetConnection(); +--- a/libUseful-2.0/string.h 2012-01-23 21:28:28.000000000 -0800 ++++ b/libUseful-2.0/string.h 2012-02-12 10:23:44.000000000 -0800 +@@ -31,8 +31,8 @@ + char *VFormatStr(char *,const char *,va_list); + char *FormatStr(char *,const char *,...); + char *AddCharToStr(char *,char); +-inline char *AddCharToBuffer(char *Buffer, int BuffLen, char Char); +-inline char *AddBytesToBuffer(char *Buffer, int BuffLen, char *Bytes, int Len); ++char *AddCharToBuffer(char *Buffer, int BuffLen, char Char); ++char *AddBytesToBuffer(char *Buffer, int BuffLen, char *Bytes, int Len); + char *SetStrLen(char *,int); + char *strlwr(char *); + char *strrep(char *,char, char);