]> git.pld-linux.org Git - packages/live.git/blobdiff - live.spec
- updated to 2024.02.28 (new libLiveMedia soname)
[packages/live.git] / live.spec
index 4216a9ec43e68bc329405f078dee6cdb7f373184..ee86f8e3b00f9031889d7b3d57dad29129472761 100644 (file)
--- a/live.spec
+++ b/live.spec
@@ -1,33 +1,38 @@
 # TODO:
 # - mediaServer should have init-scripts, user, etc, etc...
-# - package test apps
+# - package test apps (?)
+#
+# Conditional build:
+%bcond_without static_libs     # static libraries
+%bcond_without atomic_flag     # C++20 std::atomic_flag functionality
+
 Summary:       LIVE555 streaming media server
 Summary(pl.UTF-8):     LIVE555 - serwer strumieni multimedialnych
 Name:          live
-Version:       2015.03.01
+Version:       2024.02.28
 Release:       1
 Epoch:         2
 License:       LGPL v2.1+
 Group:         Applications/Multimedia
 Source0:       http://www.live555.com/liveMedia/public/%{name}.%{version}.tar.gz
-# Source0-md5: 808abd76de1a998cbaef52ba87331d87
+# Source0-md5: 8c4a142349abbdf6e5e24813c7a15501
 Source1:       http://www.live555.com/liveMedia/public/changelog.txt
-# Source1-md5: 5754a61ec241a2b75805dbe8b15db88a
-Source2:       %{name}-shared.config
+# Source1-md5: 000f6435ea418b0365f68d83edd7a361
 Patch0:                %{name}-link.patch
 # from debian
 Patch1:                %{name}-pkgconfig.patch
 URL:           http://www.live555.com/liveMedia/
+%if %{with atomic_flag}
+BuildRequires: libstdc++-devel >= 6:11
+%else
 BuildRequires: libstdc++-devel
+%endif
+BuildRequires: openssl-devel
 BuildRequires: sed >= 4.0
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _livedir                %{_libdir}/liveMedia
 %define                specflags               -fno-strict-aliasing
-# Should be changed on every ABI change
-# Alexis Ballier <aballier@gentoo.org>:
-%define                LIVE_ABI_VERSION        1
 # circular symbol dependencies with libBasicUsageEnvironment
 %define                skip_post_check_so      .*%{_libdir}/libUsageEnvironment\.so.*
 
@@ -75,53 +80,60 @@ Static LIVE555 libraries for streaming media.
 Biblioteki statyczne LIVE555 do strumieni multimedialnych.
 
 %prep
-%setup -q -c -n %{name}
-%patch0 -p0
-cd live
+%setup -q -c
+%patch0 -p1
 %patch1 -p1
-cd ..
-install %{SOURCE2} %{name}/config.linux-shared
-cp -pPR %{name} %{name}-shared
-mv %{name} %{name}-static
+
+# disable building test programs
+%{__sed} -i -e '/cd \$(TESTPROGS_DIR)/d' live/Makefile.tail
+
+# out-of-source builds not supported, so clone sources for shared and static build
+%if %{with static_libs}
+cp -pPR live live-static
+%endif
+%{__mv} live live-shared
+
 cp -af %{SOURCE1} ChangeLog.txt
 
 %build
-cd %{name}-static
+%if %{with static_libs}
+cd live-static
 ./genMakefiles linux
-sed -i -e 's#$(TESTPROGS_APP)##g' Makefile Makefile.tail
 %{__make} \
        C_COMPILER="%{__cc}" \
        CPLUSPLUS_COMPILER="%{__cxx}" \
-       COMPILE_OPTS="\$(INCLUDES) -I. %{rpmcppflags} %{rpmcflags} -DSOCKLEN_T=socklen_t -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -fPIC"
+       CPPFLAGS="%{rpmcppflags} %{!?with_atomic_flag:-DNO_STD_LIB}" \
+       CFLAGS="%{rpmcflags} -fPIC" \
+       CXXFLAGS="%{rpmcxxflags} -fPIC"
+cd ..
+%endif
 
-cd ../%{name}-shared
-./genMakefiles linux-shared
-sed -i -e 's#$(TESTPROGS_APP)##g' Makefile Makefile.tail
+cd live-shared
+./genMakefiles linux-with-shared-libraries
 %{__make} \
        C_COMPILER="%{__cc}" \
        CPLUSPLUS_COMPILER="%{__cxx}" \
-       LIB_SUFFIX="so.%{LIVE_ABI_VERSION}" \
-       COMPILE_OPTS="\$(INCLUDES) -I. %{rpmcppflags} %{rpmcflags} -DSOCKLEN_T=socklen_t -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1"
+       CPPFLAGS="%{rpmcppflags} %{!?with_atomic_flag:-DNO_STD_LIB}" \
+       CFLAGS="%{rpmcflags}" \
+       CXXFLAGS="%{rpmcxxflags}" \
+       LIBRARY_LINK="%{__cxx} -o"
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}/liveMedia,%{_bindir}}
 
-for i in liveMedia groupsock UsageEnvironment BasicUsageEnvironment; do
-       install -p %{name}-static/$i/lib$i.a $RPM_BUILD_ROOT%{_libdir}
-       install -p %{name}-shared/$i/lib$i.so.%{LIVE_ABI_VERSION} $RPM_BUILD_ROOT%{_libdir}
-       ln -s lib$i.so.%{LIVE_ABI_VERSION} $RPM_BUILD_ROOT%{_libdir}/lib$i.so
-       install -p %{name}-shared/$i/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia
-done
-
-# We provide shared version:
-install -p %{name}-shared/mediaServer/live555MediaServer $RPM_BUILD_ROOT%{_bindir}
-
-# pc file
-%{__make} -C live-shared install_shared_libraries \
+%if %{with static_libs}
+# static first so that binaries will be overwritten by shared version
+%{__make} -C live-static install \
+       PREFIX=%{_prefix} \
        LIBDIR=%{_libdir} \
        DESTDIR=$RPM_BUILD_ROOT
-
+%endif
+       
+%{__make} -C live-shared install \
+       PREFIX=%{_prefix} \
+       LIBDIR=%{_libdir} \
+       DESTDIR=$RPM_BUILD_ROOT
+       
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -130,14 +142,20 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/live555HLSProxy
 %attr(755,root,root) %{_bindir}/live555MediaServer
+%attr(755,root,root) %{_bindir}/live555ProxyServer
 
 %files libs
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libBasicUsageEnvironment.so.*
-%attr(755,root,root) %{_libdir}/libUsageEnvironment.so.*
-%attr(755,root,root) %{_libdir}/libgroupsock.so.*
-%attr(755,root,root) %{_libdir}/libliveMedia.so.*
+%attr(755,root,root) %{_libdir}/libBasicUsageEnvironment.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libBasicUsageEnvironment.so.2
+%attr(755,root,root) %{_libdir}/libUsageEnvironment.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libUsageEnvironment.so.3
+%attr(755,root,root) %{_libdir}/libgroupsock.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgroupsock.so.30
+%attr(755,root,root) %{_libdir}/libliveMedia.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libliveMedia.so.112
 
 %files devel
 %defattr(644,root,root,755)
@@ -146,12 +164,17 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libUsageEnvironment.so
 %attr(755,root,root) %{_libdir}/libgroupsock.so
 %attr(755,root,root) %{_libdir}/libliveMedia.so
+%{_includedir}/BasicUsageEnvironment
+%{_includedir}/UsageEnvironment
+%{_includedir}/groupsock
 %{_includedir}/liveMedia
 %{_pkgconfigdir}/live555.pc
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libBasicUsageEnvironment.a
 %{_libdir}/libUsageEnvironment.a
 %{_libdir}/libgroupsock.a
 %{_libdir}/libliveMedia.a
+%endif
This page took 0.139199 seconds and 4 git commands to generate.