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 <mistydemeo@gmail.com>
This commit is contained in:
Nibbles 2bits 2012-02-10 16:55:51 -08:00 committed by Misty De Meo
parent d17fc4ef5e
commit 52ed41a36a

75
Formula/movgrab.rb Normal file
View file

@ -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);