%global version 3.21 %global commit 1819 Name: tsduck Version: %{version} Release: 0.%{commit}%{dist}.1sunshine Summary: MPEG transport stream toolkit Group: Applications/Multimedia License: BSD URL: https://tsduck.io/ Source0: https://github.com/tsduck/%{name}/archive/v%{version}-%{commit}.tar.gz#/tsduck-%{version}-%{commit}.tar.gz Patch0: tsduck-3.21-1819-omit_dektec.patch Patch1: tsduck-3.21-1819-libdir.patch Requires: pcsc-lite BuildRequires: gcc-c++ BuildRequires: gcc BuildRequires: pcsc-lite-devel BuildRequires: libcurl-devel # only newer Fedora has the separate package, older and RHEL not %if 0%{?fedora} >= 29 BuildRequires: systemd-rpm-macros %else BuildRequires: systemd %endif %description TSDuck, the MPEG Transport Stream Toolkit, provides some simple utilities to process MPEG Transport Streams (TS), either as recorded files or live streams. %package devel Summary: Development files for %{name} Group: Development/Libraries Requires: pcsc-lite-devel Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains the static library and header files for developing applications that use %{name}. %package doc Summary: Documentation for %{name} Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description doc The %{name}-doc package contains the documentation for %{name}. # Disable debuginfo package. %global debug_package %{nil} %prep %setup -q -n %{name}-%{version}-%{commit} # Disable dektec support, as this downloads and builds an external package, # which is a big no-go. # We should rather package dektec separately and BR dektec-devel here. %patch0 -p1 -b .dektec # Install the shared library and the plugins to libdir instead of bindir %patch1 -p1 -b .libdir %build %make_build NOTEST=true SYSPREFIX=%{_prefix} ETCDIR=%{_sysconfdir} USRLIBDIR=%{_libdir} UDEVDIR=%{_udevrulesdir} %install %make_install install-devel NOTEST=true SYSROOT=%{buildroot} SYSPREFIX=%{_prefix} ETCDIR=%{_sysconfdir} USRLIBDIR=%{_libdir} UDEVDIR=%{_udevrulesdir} %files %{_bindir}/tsanalyze %{_bindir}/tsbitrate %{_bindir}/tscharset %{_bindir}/tscmp %{_bindir}/tsdate %{_bindir}/tsdektec %{_bindir}/tsdump %{_bindir}/tsecmg %{_bindir}/tsemmg %{_bindir}/tsfixcc %{_bindir}/tsftrunc %{_bindir}/tsgenecm %{_bindir}/tshides %{_bindir}/tslsdvb %{_bindir}/tsp %{_bindir}/tspacketize %{_bindir}/tspcontrol %{_bindir}/tspsi %{_bindir}/tsresync %{_bindir}/tsscan %{_bindir}/tssmartcard %{_bindir}/tsstuff %{_bindir}/tsswitch %{_bindir}/tstabcomp %{_bindir}/tstabdump %{_bindir}/tstables %{_bindir}/tsterinfo %{_bindir}/tsversion %{_libdir}/tsduck.so %{_libdir}/tsplugin_aes.so %{_libdir}/tsplugin_analyze.so %{_libdir}/tsplugin_bat.so %{_libdir}/tsplugin_bitrate_monitor.so %{_libdir}/tsplugin_boostpid.so %{_libdir}/tsplugin_cat.so %{_libdir}/tsplugin_clear.so %{_libdir}/tsplugin_continuity.so %{_libdir}/tsplugin_count.so %{_libdir}/tsplugin_craft.so %{_libdir}/tsplugin_cutoff.so %{_libdir}/tsplugin_datainject.so %{_libdir}/tsplugin_decap.so %{_libdir}/tsplugin_descrambler.so %{_libdir}/tsplugin_duplicate.so %{_libdir}/tsplugin_dvb.so %{_libdir}/tsplugin_eit.so %{_libdir}/tsplugin_encap.so %{_libdir}/tsplugin_filter.so %{_libdir}/tsplugin_fork.so %{_libdir}/tsplugin_hides.so %{_libdir}/tsplugin_history.so %{_libdir}/tsplugin_http.so %{_libdir}/tsplugin_inject.so %{_libdir}/tsplugin_limit.so %{_libdir}/tsplugin_merge.so %{_libdir}/tsplugin_mpeinject.so %{_libdir}/tsplugin_mpe.so %{_libdir}/tsplugin_mux.so %{_libdir}/tsplugin_nitscan.so %{_libdir}/tsplugin_nit.so %{_libdir}/tsplugin_pat.so %{_libdir}/tsplugin_pattern.so %{_libdir}/tsplugin_pcradjust.so %{_libdir}/tsplugin_pcrbitrate.so %{_libdir}/tsplugin_pcrextract.so %{_libdir}/tsplugin_pcrverify.so %{_libdir}/tsplugin_pes.so %{_libdir}/tsplugin_play.so %{_libdir}/tsplugin_pmt.so %{_libdir}/tsplugin_psimerge.so %{_libdir}/tsplugin_psi.so %{_libdir}/tsplugin_reduce.so %{_libdir}/tsplugin_regulate.so %{_libdir}/tsplugin_remap.so %{_libdir}/tsplugin_rmorphan.so %{_libdir}/tsplugin_rmsplice.so %{_libdir}/tsplugin_scrambler.so %{_libdir}/tsplugin_sdt.so %{_libdir}/tsplugin_sections.so %{_libdir}/tsplugin_sifilter.so %{_libdir}/tsplugin_skip.so %{_libdir}/tsplugin_slice.so %{_libdir}/tsplugin_spliceinject.so %{_libdir}/tsplugin_stuffanalyze.so %{_libdir}/tsplugin_svremove.so %{_libdir}/tsplugin_svrename.so %{_libdir}/tsplugin_t2mi.so %{_libdir}/tsplugin_tables.so %{_libdir}/tsplugin_teletext.so %{_libdir}/tsplugin_timeref.so %{_libdir}/tsplugin_timeshift.so %{_libdir}/tsplugin_time.so %{_libdir}/tsplugin_trigger.so %{_libdir}/tsplugin_tsrename.so %{_libdir}/tsplugin_until.so %{_libdir}/tsplugin_zap.so %{_libdir}/%{name}.names %{_libdir}/%{name}.oui.names %{_libdir}/%{name}.channels.model.xml %{_libdir}/%{name}.hfbands.model.xml %{_libdir}/%{name}.hfbands.xml %{_libdir}/%{name}.keytable.model.xml %{_libdir}/%{name}.lnbs.model.xml %{_libdir}/%{name}.lnbs.xml %{_libdir}/%{name}.tables.model.xml %{_udevrulesdir}/80-tsduck.rules %{_sysconfdir}/security/console.perms.d/80-tsduck.perms %license LICENSE.txt %doc README.md CHANGELOG.txt CONTRIBUTORS.txt TODO.txt %files devel %{_libdir}/libtsduck.a %{_includedir}/tsduck %license LICENSE.txt %files doc %doc doc/*.pdf %changelog * Tue Jun 2 2020 Moritz Barsnick 3.21-0.1819.1sunshine - update to 3.21 - rebase patches - align %%description with upstream (commit b745548) - use %%_udevrulesdir (and BR: systemd-rpm-macros) - update %%files for dropped obsoleted plugins, and with new xml files tsduck.lnbs.model.xml and tsduck.lnbs.xml * Mon Apr 6 2020 Moritz Barsnick 3.20-0.1689.2sunshine - fix error in %%files * Sun Mar 15 2020 Moritz Barsnick 3.20-0.1689.1sunshine - update to 3.20 * Wed Dec 4 2019 Moritz Barsnick 3.19-0.1520.1sunshine - explicitly override USRLIBDIR (and others), to overcome the restriction that only linux-x86_64 triggers mapping to /usr/lib64, which leads to failures on aarch64 (and would on ppc64, if it were supported) * Tue Dec 3 2019 Moritz Barsnick 3.19-0.1520.1sunshine - update to 3.19 - update %%files with new plugin "timeshift", and with new xml file tsduck.keytable.model.xml - replace tsduck.dvb.names with tsduck.names * Sun Aug 4 2019 Moritz Barsnick 3.18-0.1361.1sunshine - update to 3.18 - update %%files with new plugins * Fri Apr 26 2019 Moritz Barsnick 3.17-0.1189.1sunshine - update to 3.17 - rebase the libdir patch - drop gcc 9 incompatibility patch, it's upstream - update %%files with new xml files * Tue Jan 29 2019 Moritz Barsnick 3.16-1.1110.4sunshine - fix duplicate entry in %%files * Tue Jan 29 2019 Moritz Barsnick 3.16-1.1110.3sunshine - replace the previous patch for the gcc 9 incompatibility with a proper fix from upstream * Mon Jan 28 2019 Moritz Barsnick 3.16-1.1110.2sunshine - add a patch working around an incompatibility with F30's gcc 9 * Mon Jan 28 2019 Moritz Barsnick 3.16-1.1110.1sunshine - update to 3.16 - package new plugins hls and pcradjust * Fri Nov 23 2018 Moritz Barsnick 3.15-1.1008.2sunshine - name all binaries and libraries explicitly (helps to track additions) - add more files to %%doc * Mon Nov 5 2018 Moritz Barsnick 3.15-1.1008.1sunshine - update to 3.15 * Thu Sep 27 2018 Moritz Barsnick 3.14-1.894.2sunshine - move shared library and plugins to libdir * Thu Sep 27 2018 Moritz Barsnick 3.14-1.894.1sunshine - add URL * Tue Sep 25 2018 Moritz Barsnick 3.14-1.894.0sunshine - adapt for Fedora from upstream SPEC file (build/tsduck.spec) - add patch to skip download of Dektec SDK - package docs (but separately)