Add recipe and patch for rtmpdump

This commit is contained in:
François Revol
2014-11-03 01:12:41 +01:00
parent 7115db73c1
commit 09c6f4743e
2 changed files with 225 additions and 0 deletions

View File

@@ -0,0 +1,122 @@
From 7880b48ee867e41193eb0d70476ccad7faf8cd7d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Mon, 20 Oct 2014 00:59:52 +0200
Subject: [PATCH 1/2] Add Haiku support
---
Makefile | 3 +++
librtmp/Makefile | 6 ++++++
2 files changed, 9 insertions(+)
diff --git a/Makefile b/Makefile
index a1595a8..857080d 100644
--- a/Makefile
+++ b/Makefile
@@ -35,12 +35,14 @@ MANDIR=$(DESTDIR)$(mandir)
LIBS_posix=
LIBS_darwin=
LIBS_mingw=-lws2_32 -lwinmm -lgdi32
+LIBS_haiku=-lnetwork
LIB_RTMP=-Llibrtmp -lrtmp
LIBS=$(LIB_RTMP) $(CRYPTO_LIB) $(LIBS_$(SYS)) $(XLIBS)
THREADLIB_posix=-lpthread
THREADLIB_darwin=-lpthread
THREADLIB_mingw=
+THREADLIB_haiku=
THREADLIB=$(THREADLIB_$(SYS))
SLIBS=$(THREADLIB) $(LIBS)
@@ -50,6 +52,7 @@ INCRTMP=librtmp/rtmp_sys.h librtmp/rtmp.h librtmp/log.h librtmp/amf.h
EXT_posix=
EXT_darwin=
EXT_mingw=.exe
+EXT_haiku=
EXT=$(EXT_$(SYS))
PROGS=rtmpdump rtmpgw rtmpsrv rtmpsuck
diff --git a/librtmp/Makefile b/librtmp/Makefile
index 2c1c790..f81851d 100644
--- a/librtmp/Makefile
+++ b/librtmp/Makefile
@@ -29,6 +29,7 @@ LIBZ=-lz
LIBS_posix=
LIBS_darwin=
LIBS_mingw=-lws2_32 -lwinmm -lgdi32
+LIBS_haiku=
LIB_GNUTLS=-lgnutls -lhogweed -lnettle -lgmp $(LIBZ)
LIB_OPENSSL=-lssl -lcrypto $(LIBZ)
LIB_POLARSSL=-lpolarssl $(LIBZ)
@@ -42,26 +43,31 @@ SO_VERSION=1
SOX_posix=so
SOX_darwin=dylib
SOX_mingw=dll
+SOX_haiku=so
SOX=$(SOX_$(SYS))
SO_posix=.$(SOX).$(SO_VERSION)
SO_darwin=.$(SO_VERSION).$(SOX)
SO_mingw=-$(SO_VERSION).$(SOX)
+SO_haiku=.$(SO_VERSION).$(SOX)
SO_EXT=$(SO_$(SYS))
SODIR_posix=$(LIBDIR)
SODIR_darwin=$(LIBDIR)
SODIR_mingw=$(BINDIR)
+SODIR_haiku=$(LIBDIR)
SODIR=$(SODIR_$(SYS))
SO_LDFLAGS_posix=-shared -Wl,-soname,$@
SO_LDFLAGS_darwin=-dynamiclib -twolevel_namespace -undefined dynamic_lookup \
-fno-common -headerpad_max_install_names -install_name $(libdir)/$@
SO_LDFLAGS_mingw=-shared -Wl,--out-implib,librtmp.dll.a
+SO_LDFLAGS_haiku=-shared -Wl,-soname,$@
SO_LDFLAGS=$(SO_LDFLAGS_$(SYS))
INSTALL_IMPLIB_posix=
INSTALL_IMPLIB_darwin=
INSTALL_IMPLIB_mingw=cp librtmp.dll.a $(LIBDIR)
+INSTALL_IMPLIB_haiku=
INSTALL_IMPLIB=$(INSTALL_IMPLIB_$(SYS))
SHARED=yes
--
1.8.3.4
From eab330a936df9ef7325d28e5a412ccc32b0ee761 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Mon, 20 Oct 2014 01:12:47 +0200
Subject: [PATCH 2/2] POSIX says fd_set is in sys/select.h
---
rtmpgw.c | 1 +
rtmpsuck.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/rtmpgw.c b/rtmpgw.c
index 3e47602..2745723 100644
--- a/rtmpgw.c
+++ b/rtmpgw.c
@@ -26,6 +26,7 @@
#include <signal.h>
#include <getopt.h>
+#include <sys/select.h>
#include <assert.h>
diff --git a/rtmpsuck.c b/rtmpsuck.c
index e886179..990b477 100644
--- a/rtmpsuck.c
+++ b/rtmpsuck.c
@@ -31,6 +31,7 @@
#include <signal.h>
#include <getopt.h>
+#include <sys/select.h>
#include <assert.h>
--
1.8.3.4

View File

@@ -0,0 +1,103 @@
SUMMARY="Open source command-line RTMP client intended to stream audio of video flash content"
DESCRIPTION="rtmpdump is an open-source command-line RTMP client intended \
to stream audio of video flash content."
HOMEPAGE="http://rtmpdump.mplayerhq.hu/"
LICENSE="
GNU LGPL v2.1
GNU GPL v2
"
COPYRIGHT="
2009 Andrej Stepanchuk
2009-2011 Howard Chu
2010 2a665470ced7adb7156fcef47f8199a6371c117b8a79e399a2771e0b36384090
2011 33ae1ce77301f4b4494faaa5f609f3c48b9dcf82
"
SRC_URI="git://git.ffmpeg.org/rtmpdump#a1900c3e152085406ecb87c1962c55ec9c6e4016"
#CHECKSUM_SHA256=""
REVISION="1"
ARCHITECTURES="x86 x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PATCHES="rtmpdump-2.4_git.patch"
PROVIDES="
rtmpdump$secondaryArchSuffix = $portVersion compat >= 2.4
lib:librtmp$secondaryArchSuffix = 1 compat >= 1
lib:librtmp.1$secondaryArchSuffix = 1 compat >= 1
cmd:rtmpdump = $portVersion compat >= 2.4
cmd:rtmpgw = $portVersion compat >= 2.4
cmd:rtmpsrv = $portVersion compat >= 2.4
cmd:rtmpsuck = $portVersion compat >= 2.4
"
# commands are provided in /bin regardless
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libz$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libz$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:awk
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
make $jobArgs SYS=haiku \
prefix=$prefix \
bindir=$prefix/bin \
sbindir=$prefix/bin \
incdir=$includeDir \
libdir=$libDir \
mandir=$manDir
}
INSTALL()
{
make $jobArgs SYS=haiku \
prefix=$prefix \
bindir=$prefix/bin \
sbindir=$prefix/bin \
incdir=$includeDir \
libdir=$libDir \
mandir=$manDir \
install
prepareInstalledDevelLibs \
librtmp
fixPkgconfig
# devel package
packageEntries devel \
$developDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
rtmpdump${secondaryArchSuffix}_devel = $portVersion compat >= 2.4
devel:librtmp$secondaryArchSuffix = 1 compat >= 1
devel:librtmp.1$secondaryArchSuffix = 1 compat >= 1
"
REQUIRES_devel="
rtmpdump$secondaryArchSuffix == $portVersion
"