community/live-media: fixed symbol-not-found issue

Disabled ssl support, since according with http://www.live555.com/liveMedia/
RTSP-over-TLS is sill in to-do list:

* support for SRTP ('secure' RTP), and perhaps also RTSP-over-TLS.
This commit is contained in:
Francesco Colista 2020-03-06 18:10:08 +00:00
parent f9aaac14ff
commit e16abe5408
5 changed files with 255 additions and 7 deletions

View File

@ -0,0 +1,66 @@
From: Benjamin Drung <bdrung@debian.org>
Date: Sat, 16 Sep 2017 11:22:03 +0200
Subject: Add a pkg-config file for the shared libraries
This patch was downloaded from Debian
https://sources.debian.org/src/liblivemedia/2018.08.05-1/debian/patches/0002-Add-a-pkg-config-file-for-the-shared-libraries.patch/
The local/ part of PREXIX and LIBDIR was removed to fit into buildroot.
A similar version of this patch is part of the vlc source repo:
http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/live555/add-pkgconfig-file.patch;hb=HEAD
Upstream status: Rejected
http://lists.live555.com/pipermail/live-devel/2013-January/016374.html
http://lists.live555.com/pipermail/live-devel/2013-January/016375.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
Makefile.head | 3 +++
Makefile.tail | 7 ++++++-
live555.pc.in | 9 +++++++++
3 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 live555.pc.in
diff --git a/Makefile.head b/Makefile.head
index 458c54c..1571037 100644
--- a/Makefile.head
+++ b/Makefile.head
@@ -1 +1,4 @@
+PREFIX = /usr
+LIBDIR = /usr/lib
+VERSION = $(shell grep LIVEMEDIA_LIBRARY_VERSION_STRING liveMedia/include/liveMedia_version.hh | sed 's/.*"\([^"]*\)".*/\1/')
##### Change the following for your environment:
diff --git a/Makefile.tail b/Makefile.tail
index fc594ea..a20a527 100644
--- a/Makefile.tail
+++ b/Makefile.tail
@@ -22,7 +22,12 @@ all:
@echo
@echo "For more information about this source code (including your obligations under the LGPL), please see our FAQ at http://live555.com/liveMedia/faq.html"
-install:
+install_shared_libraries:
+ install -d $(DESTDIR)$(LIBDIR)/pkgconfig
+ sed "s#@PREFIX@#$(PREFIX)#;s#@LIBDIR@#$(LIBDIR)#;s#@VERSION@#$(VERSION)#" live555.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc
+ chmod 644 $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc
+
+install: $(INSTALL2)
cd $(LIVEMEDIA_DIR) ; $(MAKE) install
cd $(GROUPSOCK_DIR) ; $(MAKE) install
cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install
diff --git a/live555.pc.in b/live555.pc.in
new file mode 100644
index 0000000..3736944
--- /dev/null
+++ b/live555.pc.in
@@ -0,0 +1,9 @@
+prefix=@PREFIX@
+libdir=@LIBDIR@
+includedir=${prefix}/include
+
+Name: live555
+Description: multimedia RTSP streaming library
+Version: @VERSION@
+Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock -I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment
+Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment

View File

@ -0,0 +1,49 @@
From: Benjamin Drung <bdrung@debian.org>
Date: Sat, 16 Sep 2017 11:22:04 +0200
Subject: Link shared libraries with g++ instead of gcc to fix build failure
---
config.linux | 6 +++---
config.linux-with-shared-libraries | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/config.linux b/config.linux
index b4021ef..efff3a9 100644
--- a/config.linux
+++ b/config.linux
@@ -1,12 +1,12 @@
COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
C = c
-C_COMPILER = cc
+C_COMPILER = $(CC)
C_FLAGS = $(COMPILE_OPTS) $(CPPFLAGS) $(CFLAGS)
CPP = cpp
-CPLUSPLUS_COMPILER = c++
+CPLUSPLUS_COMPILER = $(CXX)
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 $(CPPFLAGS) $(CXXFLAGS)
OBJ = o
-LINK = c++ -o
+LINK = $(CXX) -o
LINK_OPTS = -L. $(LDFLAGS)
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = ar cr
diff --git a/config.linux-with-shared-libraries b/config.linux-with-shared-libraries
index 04d0ea0..2ae04ef 100644
--- a/config.linux-with-shared-libraries
+++ b/config.linux-with-shared-libraries
@@ -33,12 +33,12 @@ CPLUSPLUS_COMPILER = $(CXX)
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 $(CPPFLAGS) $(CXXFLAGS)
OBJ = o
LINK = $(CXX) -o
-LINK_OPTS = -L. $(LDFLAGS)
+LINK_OPTS = -L. $(CPPFLAGS) $(LDFLAGS)
CONSOLE_LINK_OPTS = $(LINK_OPTS)
-LIBRARY_LINK = $(CC) -o
+LIBRARY_LINK = $(CXX) -o
SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE))
LIB_SUFFIX = $(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION)
-LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(LDFLAGS)
+LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(CPPFLAGS) $(LDFLAGS)
LIBS_FOR_CONSOLE_APPLICATION = -lssl -lcrypto
LIBS_FOR_GUI_APPLICATION =
EXE =

View File

@ -0,0 +1,95 @@
From: Sebastian Ramacher <sramacher@debian.org>
Date: Sat, 16 Sep 2017 14:12:44 +0200
Subject: Reduce number of unresolved symbols by linking libraries
This leaves HashTable::Iterator::create as only reamining unresolved
symbol. However, this symbol is not defined.
---
BasicUsageEnvironment/Makefile.tail | 6 +++++-
Makefile.tail | 4 ++--
groupsock/Makefile.tail | 8 +++++++-
liveMedia/Makefile.tail | 10 +++++++++-
4 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/BasicUsageEnvironment/Makefile.tail b/BasicUsageEnvironment/Makefile.tail
index 5d04179..c02cf23 100644
--- a/BasicUsageEnvironment/Makefile.tail
+++ b/BasicUsageEnvironment/Makefile.tail
@@ -9,9 +9,13 @@ OBJS = BasicUsageEnvironment0.$(OBJ) BasicUsageEnvironment.$(OBJ) \
BasicTaskScheduler0.$(OBJ) BasicTaskScheduler.$(OBJ) \
DelayQueue.$(OBJ) BasicHashTable.$(OBJ)
+USAGE_ENVIRONMENT_DIR = ../UsageEnvironment
+USAGE_ENVIRONMENT_LIB = $(USAGE_ENVIRONMENT_DIR)/libUsageEnvironment.$(libUsageEnvironment_LIB_SUFFIX)
+
libBasicUsageEnvironment.$(LIB_SUFFIX): $(OBJS)
$(LIBRARY_LINK)$@ $(LIBRARY_LINK_OPTS) \
- $(OBJS)
+ $(OBJS) \
+ $(USAGE_ENVIRONMENT_LIB)
.$(C).$(OBJ):
$(C_COMPILER) -c $(C_FLAGS) $<
diff --git a/Makefile.tail b/Makefile.tail
index a20a527..f28c77f 100644
--- a/Makefile.tail
+++ b/Makefile.tail
@@ -12,10 +12,10 @@ MEDIA_SERVER_DIR = mediaServer
PROXY_SERVER_DIR = proxyServer
all:
- cd $(LIVEMEDIA_DIR) ; $(MAKE)
- cd $(GROUPSOCK_DIR) ; $(MAKE)
cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE)
cd $(BASIC_USAGE_ENVIRONMENT_DIR) ; $(MAKE)
+ cd $(GROUPSOCK_DIR) ; $(MAKE)
+ cd $(LIVEMEDIA_DIR) ; $(MAKE)
cd $(TESTPROGS_DIR) ; $(MAKE)
cd $(MEDIA_SERVER_DIR) ; $(MAKE)
cd $(PROXY_SERVER_DIR) ; $(MAKE)
diff --git a/groupsock/Makefile.tail b/groupsock/Makefile.tail
index 89a8593..499cf14 100644
--- a/groupsock/Makefile.tail
+++ b/groupsock/Makefile.tail
@@ -25,10 +25,16 @@ NetInterface.$(CPP): include/NetInterface.hh include/GroupsockHelper.hh
NetAddress.$(CPP): include/NetAddress.hh include/GroupsockHelper.hh
IOHandlers.$(CPP): include/IOHandlers.hh include/TunnelEncaps.hh
+USAGE_ENVIRONMENT_DIR = ../UsageEnvironment
+USAGE_ENVIRONMENT_LIB = $(USAGE_ENVIRONMENT_DIR)/libUsageEnvironment.$(libUsageEnvironment_LIB_SUFFIX)
+BASIC_USAGE_ENVIRONMENT_DIR = ../BasicUsageEnvironment
+BASIC_USAGE_ENVIRONMENT_LIB = $(BASIC_USAGE_ENVIRONMENT_DIR)/libBasicUsageEnvironment.$(libBasicUsageEnvironment_LIB_SUFFIX)
+
libgroupsock.$(LIB_SUFFIX): $(GROUPSOCK_LIB_OBJS) \
$(PLATFORM_SPECIFIC_LIB_OBJS)
$(LIBRARY_LINK)$@ $(LIBRARY_LINK_OPTS) \
- $(GROUPSOCK_LIB_OBJS)
+ $(GROUPSOCK_LIB_OBJS) \
+ $(BASIC_USAGE_ENVIRONMENT_LIB) $(USAGE_ENVIRONMENT_LIB)
clean:
-rm -rf *.$(OBJ) $(ALL) core *.core *~ include/*~
diff --git a/liveMedia/Makefile.tail b/liveMedia/Makefile.tail
index e23d1d4..3233a4b 100644
--- a/liveMedia/Makefile.tail
+++ b/liveMedia/Makefile.tail
@@ -63,10 +63,18 @@ MISC_OBJS = BitVector.$(OBJ) StreamParser.$(OBJ) DigestAuthentication.$(OBJ) our
LIVEMEDIA_LIB_OBJS = Media.$(OBJ) $(MISC_SOURCE_OBJS) $(MISC_SINK_OBJS) $(MISC_FILTER_OBJS) $(RTP_OBJS) $(RTCP_OBJS) $(GENERIC_MEDIA_SERVER_OBJS) $(RTSP_OBJS) $(SIP_OBJS) $(SESSION_OBJS) $(QUICKTIME_OBJS) $(AVI_OBJS) $(TRANSPORT_STREAM_TRICK_PLAY_OBJS) $(MATROSKA_OBJS) $(OGG_OBJS) $(TRANSPORT_STREAM_DEMUX_OBJS) $(HLS_OBJS) $(MISC_OBJS)
+GROUPSOCK_DIR = ../groupsock
+GROUPSOCK_LIB = $(GROUPSOCK_DIR)/libgroupsock.$(libgroupsock_LIB_SUFFIX)
+USAGE_ENVIRONMENT_DIR = ../UsageEnvironment
+USAGE_ENVIRONMENT_LIB = $(USAGE_ENVIRONMENT_DIR)/libUsageEnvironment.$(libUsageEnvironment_LIB_SUFFIX)
+BASIC_USAGE_ENVIRONMENT_DIR = ../BasicUsageEnvironment
+BASIC_USAGE_ENVIRONMENT_LIB = $(BASIC_USAGE_ENVIRONMENT_DIR)/libBasicUsageEnvironment.$(libBasicUsageEnvironment_LIB_SUFFIX)
+
$(LIVEMEDIA_LIB): $(LIVEMEDIA_LIB_OBJS) \
$(PLATFORM_SPECIFIC_LIB_OBJS)
$(LIBRARY_LINK)$@ $(LIBRARY_LINK_OPTS) \
- $(LIVEMEDIA_LIB_OBJS)
+ $(LIVEMEDIA_LIB_OBJS) \
+ $(GROUPSOCK_LIB) $(BASIC_USAGE_ENVIRONMENT_LIB) $(USAGE_ENVIRONMENT_LIB)
Media.$(CPP): include/Media.hh
include/Media.hh: include/liveMedia_version.hh

View File

@ -0,0 +1,30 @@
From: Sebastian Ramacher <sramacher@debian.org>
Date: Sun, 19 Jan 2020 11:24:59 +0100
Subject: Build without OpenSSL
---
config.linux-with-shared-libraries | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/config.linux-with-shared-libraries b/config.linux-with-shared-libraries
index 2ae04ef..041da7f 100644
--- a/config.linux-with-shared-libraries
+++ b/config.linux-with-shared-libraries
@@ -24,7 +24,7 @@ libgroupsock_VERSION_AGE=2
libgroupsock_LIB_SUFFIX=so.$(shell expr $(libgroupsock_VERSION_CURRENT) - $(libgroupsock_VERSION_AGE)).$(libgroupsock_VERSION_AGE).$(libgroupsock_VERSION_REVISION)
#####
-COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC
+COMPILE_OPTS = $(INCLUDES) -I/usr/include -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DNO_OPENSSL=1 -fPIC
C = c
C_COMPILER = $(CC)
C_FLAGS = $(COMPILE_OPTS) $(CPPFLAGS) $(CFLAGS)
@@ -39,7 +39,7 @@ LIBRARY_LINK = $(CXX) -o
SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE))
LIB_SUFFIX = $(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION)
LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(CPPFLAGS) $(LDFLAGS)
-LIBS_FOR_CONSOLE_APPLICATION = -lssl -lcrypto
+LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
INSTALL2 = install_shared_libraries

View File

@ -1,25 +1,29 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=live-media
pkgver=2020.03.06
pkgrel=0
pkgrel=1
pkgdesc="A set of C++ libraries for multimedia streaming"
url="http://live555.com/liveMedia"
arch="all"
license="LGPL-3.0-or-later"
makedepends="openssl-dev"
subpackages="$pkgname-dev $pkgname-utils"
options="!check"
source="http://live555.com/liveMedia/public/live.$pkgver.tar.gz"
source="http://live555.com/liveMedia/public/live.$pkgver.tar.gz
0001-Add-a-pkg-config-file-for-the-shared-libraries.patch
0003-Link-shared-libraries-with-g-instead-of-gcc-to-fix-b.patch
0004-Reduce-number-of-unresolved-symbols-by-linking-libra.patch
0005-Build-without-OpenSSL.patch
"
builddir="$srcdir"/live
prepare() {
sed -e "/^COMPILE_OPTS/s/$/ $CFLAGS -fPIC -DPIC -DXLOCALE_NOT_USED=1 -DRTSPCLIENT_SYNCHRONOUS_INTERFACE/" \
-i config.linux-with-shared-libraries
chmod -R 775 *
default_prepare
}
build() {
./genMakefiles linux-with-shared-libraries
make C_COMPILER="${CC:-gcc}" CPLUSPLUS_COMPILER="${CXX:-g++}"
make PREFIX=/usr LIBDIR=/usr/lib
}
package() {
@ -49,4 +53,8 @@ utils() {
mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
}
sha512sums="7da439fbdeab0da6687dee56d9a27bf7b8f8a9c84b420d72f2e2a7ff7a73d18756d1fdb920f29b36917d93efcecc9230877637322d5041eeba114882b4bf7a06 live.2020.03.06.tar.gz"
sha512sums="7da439fbdeab0da6687dee56d9a27bf7b8f8a9c84b420d72f2e2a7ff7a73d18756d1fdb920f29b36917d93efcecc9230877637322d5041eeba114882b4bf7a06 live.2020.03.06.tar.gz
d542668dfe9386dc31389db6dfe9ed20a8395ede5d1dabfee40f49ad0db67d0b3665c8dcd59d48e4761ba00beeecc3197b2d25cb3a04ef40988f949269e7c9ef 0001-Add-a-pkg-config-file-for-the-shared-libraries.patch
5cf4a6159531e126bee83f981bd8583a1cef68cde2129f0d255b2f2d73055a21b7bf2bbcc822aa0265f1df7c32add6b95c57f59c5e08060750567fc268643612 0003-Link-shared-libraries-with-g-instead-of-gcc-to-fix-b.patch
d5be57357d3c04356aac41804ee3d13434f754c7f86936e24a39c5e966a902628d9570afb37aa96a7c33a45fa5787182bec0441394d114e59d5a1f25250ea0c5 0004-Reduce-number-of-unresolved-symbols-by-linking-libra.patch
cb737f55844773a0ad13bb17c1ab236c880a3eebe9ac11cef30bccd949cc7a144cc73a9b81ead6b011c8664c2863f57e1b8255790fe6652146a1b094f879761a 0005-Build-without-OpenSSL.patch"