]> 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 63824230211264a447359ab1bf89045f6ab74a26..ee86f8e3b00f9031889d7b3d57dad29129472761 100644 (file)
--- a/live.spec
+++ b/live.spec
@@ -1,46 +1,65 @@
-Summary:       LIVE555 for streaming media
-Summary(pl.UTF-8):     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:       2009.07.09
-Release:       5
+Version:       2024.02.28
+Release:       1
 Epoch:         2
 License:       LGPL v2.1+
-Group:         Development/Libraries
+Group:         Applications/Multimedia
 Source0:       http://www.live555.com/liveMedia/public/%{name}.%{version}.tar.gz
-# Source0-md5: 8085b7f75e55c91f15e96f375c80b9fb
+# Source0-md5: 8c4a142349abbdf6e5e24813c7a15501
 Source1:       http://www.live555.com/liveMedia/public/changelog.txt
-# Source1-md5: 9f962afca5e55ae76b84ad8cb365d805
-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.*
 
 %description
-LIVE555 for streaming media.
+LIVE555 streaming media server.
 
 %description -l pl.UTF-8
-LIVE555 do strumieni multimedialnych.
+LIVE555 - serwer strumieni multimedialnych.
 
 %package libs
-Summary:        Shared LIVE555 libraries for streaming media
-Group:          Development/Libraries
+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}
+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.
@@ -49,93 +68,113 @@ Header files for developing programs using LIVE555.
 Pliki nagłówkowe do biblioteki LIVE555
 
 %package static
-Summary:        Static version LIVE555 library
-Summary(pl.UTF-8):      Biblioteka statyczna LIVE555
-Group:          Development/Libraries
-Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
+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 library.
+Static LIVE555 libraries for streaming media.
 
 %description static -l pl.UTF-8
-Statyczna biblioteka LIVE555.
+Biblioteki statyczne LIVE555 do strumieni multimedialnych.
 
-%prep 
-%setup -q -c -n %{name}
-install %{SOURCE2} %{name}/config.linux-shared
-cp -pPR %{name} %{name}-shared
-mv %{name} %{name}-static
+%prep
+%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
-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 -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"
+       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}}
-
-cd %{name}-static
-for i in liveMedia groupsock UsageEnvironment BasicUsageEnvironment; do
-       install $i/lib$i.a $RPM_BUILD_ROOT%{_libdir}
-done
-
-cd ../%{name}-shared
-
-for i in liveMedia groupsock UsageEnvironment BasicUsageEnvironment; do
-       install $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 $i/include/* $RPM_BUILD_ROOT%{_includedir}/liveMedia
-done
-
-# We provide shared version:
-install mediaServer/live555MediaServer $RPM_BUILD_ROOT%{_bindir}
-
-cd ..
-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
+%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) %{_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)
 %doc ChangeLog.txt
-%{_includedir}/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
This page took 0.103534 seconds and 4 git commands to generate.