X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=live.spec;h=ee86f8e3b00f9031889d7b3d57dad29129472761;hb=7d2b9f2b135d5cbcd2fe1197b77718ed8eee7650;hp=ad23bb5f9be6670be37372911a7a4ba3b5b52793;hpb=ee44feaadadf4cc5433a14656dc241df13671410;p=packages%2Flive.git diff --git a/live.spec b/live.spec index ad23bb5..ee86f8e 100644 --- a/live.spec +++ b/live.spec @@ -1,65 +1,180 @@ -Summary: LIVE555 libraries for streaming media -Summary(pl.UTF-8): Biblioteki LIVE555 do strumieni multimedialnych +# TODO: +# - mediaServer should have init-scripts, user, etc, etc... +# - 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: 2007.02.20 +Version: 2024.02.28 Release: 1 Epoch: 2 -License: LGPL -Group: Libraries +License: LGPL v2.1+ +Group: Applications/Multimedia Source0: http://www.live555.com/liveMedia/public/%{name}.%{version}.tar.gz -# Source0-md5: 0e7f14df6ebbb29456f8b5db2d5ddf38 +# Source0-md5: 8c4a142349abbdf6e5e24813c7a15501 Source1: http://www.live555.com/liveMedia/public/changelog.txt -# Source1-md5: 063b6288ba6de122b8fc2ad6d9a74780 +# 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 specflags -fno-strict-aliasing +%define specflags -fno-strict-aliasing +# circular symbol dependencies with libBasicUsageEnvironment +%define skip_post_check_so .*%{_libdir}/libUsageEnvironment\.so.* %description -LIVE555 libraries for streaming media. +LIVE555 streaming media server. %description -l pl.UTF-8 -Biblioteki LIVE555 do strumieni multimedialnych. +LIVE555 - serwer strumieni multimedialnych. + +%package libs +Summary: Shared LIVE555 libraries for streaming media +Summary(pl.UTF-8): Biblioteki współdzielone LIVE555 do strumieni multimedialnych +Group: Libraries + +%description libs +Shared LIVE555 libraries for streaming media. + +%description libs -l pl.UTF-8 +Biblioteki współdzielone LIVE555 do strumieni multimedialnych. + +%package devel +Summary: Header files for developing programs using LIVE555 +Summary(pl.UTF-8): Pliki nagłówkowe do biblioteki LIVE555 +Group: Development/Libraries +Requires: %{name}-libs = %{epoch}:%{version}-%{release} +Requires: libstdc++-devel +Obsoletes: live < 2:2009.07.09-2.5 + +%description devel +Header files for developing programs using LIVE555. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe do biblioteki LIVE555 + +%package static +Summary: Static LIVE555 libraries for streaming media +Summary(pl.UTF-8): Biblioteki statyczne LIVE555 do strumieni multimedialnych +Group: Development/Libraries +Requires: %{name}-devel = %{epoch}:%{version}-%{release} + +%description static +Static LIVE555 libraries for streaming media. + +%description static -l pl.UTF-8 +Biblioteki statyczne LIVE555 do strumieni multimedialnych. %prep -%setup -q -n live +%setup -q -c +%patch0 -p1 +%patch1 -p1 + +# 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 +%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. %{rpmcflags} -DSOCKLEN_T=socklen_t" + CPPFLAGS="%{rpmcppflags} %{!?with_atomic_flag:-DNO_STD_LIB}" \ + CFLAGS="%{rpmcflags} -fPIC" \ + CXXFLAGS="%{rpmcxxflags} -fPIC" +cd .. +%endif + +cd live-shared +./genMakefiles linux-with-shared-libraries +%{__make} \ + C_COMPILER="%{__cc}" \ + CPLUSPLUS_COMPILER="%{__cxx}" \ + 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}/liveMedia/liveMedia -install -d $RPM_BUILD_ROOT%{_libdir}/liveMedia/groupsock -install -d $RPM_BUILD_ROOT%{_libdir}/liveMedia/UsageEnvironment -install -d $RPM_BUILD_ROOT%{_libdir}/liveMedia/BasicUsageEnvironment - -install liveMedia/libliveMedia.a $RPM_BUILD_ROOT%{_libdir}/liveMedia/liveMedia -install groupsock/libgroupsock.a $RPM_BUILD_ROOT%{_libdir}/liveMedia/groupsock -install UsageEnvironment/libUsageEnvironment.a $RPM_BUILD_ROOT%{_libdir}/liveMedia/UsageEnvironment -install BasicUsageEnvironment/libBasicUsageEnvironment.a $RPM_BUILD_ROOT%{_libdir}/liveMedia/BasicUsageEnvironment - -install -d $RPM_BUILD_ROOT%{_includedir}/liveMedia - -install liveMedia/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia -install UsageEnvironment/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia -install BasicUsageEnvironment/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia -install groupsock/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia - -install %{SOURCE1} ChangeLog.txt +%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 +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + %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) %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) %doc ChangeLog.txt -%{_libdir}/liveMedia +%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 +%{_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