%global version 3.29 %global commit 2651 Name: tsduck Version: %{version} Release: 0.%{commit}%{dist}.1sunshine Summary: MPEG transport stream toolkit License: BSD URL: https://tsduck.io/ Source0: https://github.com/tsduck/%{name}/archive/v%{version}-%{commit}.tar.gz#/tsduck-%{version}-%{commit}.tar.gz Requires: pcsc-lite BuildRequires: gcc-c++ BuildRequires: gcc BuildRequires: pcsc-lite-devel BuildRequires: libcurl-devel BuildRequires: libedit-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} 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 python Summary: Python bindings for %{name} Requires: %{name} = %{version}-%{release} %description python The %{name}-python package contain the python bindings for using %{name}. %package doc Summary: Documentation for %{name} 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} %build %make_build NOTEST=true NODTAPI=true SYSPREFIX=%{_prefix} ETCDIR=%{_sysconfdir} USRLIBDIR=%{_libdir} UDEVDIR=%{_udevrulesdir} %install %make_install install-devel NOTEST=true NODTAPI=true SYSROOT=%{buildroot} SYSPREFIX=%{_prefix} ETCDIR=%{_sysconfdir} USRLIBDIR=%{_libdir} UDEVDIR=%{_udevrulesdir} # installed in spite of NODTAPI, but referenced in the code # rm -fv %{buildroot}%{_datadir}/%{name}/%{name}.dektec.names # installed into the wrong directory mv %{buildroot}%{_datadir}/pkgconfig %{buildroot}%{_libdir} %global tsduckplugindir %{_libdir}/%{name} %files %license LICENSE.txt %doc README.md CHANGELOG.txt CONTRIBUTORS.txt TODO.txt %{_bindir}/tsanalyze %{_bindir}/tsbitrate %{_bindir}/tscharset %{_bindir}/tscmp %{_bindir}/tsdate %{_bindir}/tsdump %{_bindir}/tsecmg %{_bindir}/tseit %{_bindir}/tsfclean %{_bindir}/tsemmg %{_bindir}/tsfixcc %{_bindir}/tsftrunc %{_bindir}/tsgenecm %{_bindir}/tshides %{_bindir}/tslsdvb %{_bindir}/tsp %{_bindir}/tspacketize %{_bindir}/tspcap %{_bindir}/tspcontrol %{_bindir}/tspsi %{_bindir}/tsresync %{_bindir}/tsscan %{_bindir}/tssmartcard %{_bindir}/tsstuff %{_bindir}/tsswitch %{_bindir}/tstabcomp %{_bindir}/tstabdump %{_bindir}/tstables %{_bindir}/tsterinfo %{_bindir}/tsversion %{_bindir}/tsxml %{_libdir}/libtsduck.so %{tsduckplugindir}/tsplugin_aes.so %{tsduckplugindir}/tsplugin_analyze.so %{tsduckplugindir}/tsplugin_bat.so %{tsduckplugindir}/tsplugin_bitrate_monitor.so %{tsduckplugindir}/tsplugin_boostpid.so %{tsduckplugindir}/tsplugin_cat.so %{tsduckplugindir}/tsplugin_clear.so %{tsduckplugindir}/tsplugin_continuity.so %{tsduckplugindir}/tsplugin_count.so %{tsduckplugindir}/tsplugin_craft.so %{tsduckplugindir}/tsplugin_cutoff.so %{tsduckplugindir}/tsplugin_datainject.so %{tsduckplugindir}/tsplugin_decap.so %{tsduckplugindir}/tsplugin_descrambler.so %{tsduckplugindir}/tsplugin_duplicate.so %{tsduckplugindir}/tsplugin_dvb.so %{tsduckplugindir}/tsplugin_eit.so %{tsduckplugindir}/tsplugin_eitinject.so %{tsduckplugindir}/tsplugin_encap.so %{tsduckplugindir}/tsplugin_filter.so %{tsduckplugindir}/tsplugin_hides.so %{tsduckplugindir}/tsplugin_history.so %{tsduckplugindir}/tsplugin_inject.so %{tsduckplugindir}/tsplugin_limit.so %{tsduckplugindir}/tsplugin_merge.so %{tsduckplugindir}/tsplugin_mpeinject.so %{tsduckplugindir}/tsplugin_mpe.so %{tsduckplugindir}/tsplugin_mux.so %{tsduckplugindir}/tsplugin_nitscan.so %{tsduckplugindir}/tsplugin_nit.so %{tsduckplugindir}/tsplugin_pat.so %{tsduckplugindir}/tsplugin_pattern.so %{tsduckplugindir}/tsplugin_pcap.so %{tsduckplugindir}/tsplugin_pcradjust.so %{tsduckplugindir}/tsplugin_pcrbitrate.so %{tsduckplugindir}/tsplugin_pcrcopy.so %{tsduckplugindir}/tsplugin_pcredit.so %{tsduckplugindir}/tsplugin_pcrextract.so %{tsduckplugindir}/tsplugin_pcrverify.so %{tsduckplugindir}/tsplugin_pes.so %{tsduckplugindir}/tsplugin_pidshift.so %{tsduckplugindir}/tsplugin_play.so %{tsduckplugindir}/tsplugin_pmt.so %{tsduckplugindir}/tsplugin_psimerge.so %{tsduckplugindir}/tsplugin_reduce.so %{tsduckplugindir}/tsplugin_regulate.so %{tsduckplugindir}/tsplugin_remap.so %{tsduckplugindir}/tsplugin_rmorphan.so %{tsduckplugindir}/tsplugin_rmsplice.so %{tsduckplugindir}/tsplugin_scrambler.so %{tsduckplugindir}/tsplugin_sdt.so %{tsduckplugindir}/tsplugin_sections.so %{tsduckplugindir}/tsplugin_sifilter.so %{tsduckplugindir}/tsplugin_slice.so %{tsduckplugindir}/tsplugin_spliceinject.so %{tsduckplugindir}/tsplugin_splicemonitor.so %{tsduckplugindir}/tsplugin_stats.so %{tsduckplugindir}/tsplugin_stuffanalyze.so %{tsduckplugindir}/tsplugin_svremove.so %{tsduckplugindir}/tsplugin_svrename.so %{tsduckplugindir}/tsplugin_svresync.so %{tsduckplugindir}/tsplugin_t2mi.so %{tsduckplugindir}/tsplugin_timeref.so %{tsduckplugindir}/tsplugin_timeshift.so %{tsduckplugindir}/tsplugin_time.so %{tsduckplugindir}/tsplugin_trigger.so %{tsduckplugindir}/tsplugin_tsrename.so %{tsduckplugindir}/tsplugin_until.so %{tsduckplugindir}/tsplugin_zap.so %{_datadir}/%{name}/%{name}.channels.model.xml %{_datadir}/%{name}/%{name}.dektec.names %{_datadir}/%{name}/%{name}.etuner.model.xml %{_datadir}/%{name}/%{name}.hfbands.model.xml %{_datadir}/%{name}/%{name}.hfbands.xml %{_datadir}/%{name}/%{name}.hides.names %{_datadir}/%{name}/%{name}.ip.names %{_datadir}/%{name}/%{name}.keytable.model.xml %{_datadir}/%{name}/%{name}.lnbs.model.xml %{_datadir}/%{name}/%{name}.lnbs.xml %{_datadir}/%{name}/%{name}.monitor.model.xml %{_datadir}/%{name}/%{name}.monitor.xml %{_datadir}/%{name}/%{name}.names %{_datadir}/%{name}/%{name}.oui.names %{_datadir}/%{name}/%{name}.tables.model.xml %{_datadir}/%{name}/%{name}.time.model.xml %{_datadir}/%{name}/%{name}.time.xml %{_datadir}/bash-completion/completions/* %{_udevrulesdir}/80-tsduck.rules %{_sysconfdir}/security/console.perms.d/80-tsduck.perms %files python %{_datadir}/%{name}/python/ts.py %{_datadir}/%{name}/python/tsduck.py %files devel %{_bindir}/tsconfig %{_libdir}/libtsduck.a %{_includedir}/tsduck %{_libdir}/pkgconfig/%{name}.pc %license LICENSE.txt %files doc %doc doc/*.pdf %changelog * Mon Dec 06 2021 Moritz Barsnick 3.29-0.2651.1sunshine - update to 3.29 - drop obsolete Group: tag - add BR: libedit-devel - update %%files for new plugins and tools and dropped plugins - drop more dektec artifacts * Sun Jun 27 2021 Moritz Barsnick 3.27-0.2438.1sunshine - update to 3.27 * Wed Apr 21 2021 Moritz Barsnick 3.26-0.2349.1sunshine - update to 3.26 - update %%files for new and removed plugins, new XML files, and restructured python files * Thu Feb 18 2021 Moritz Barsnick 3.25-0.2237.1sunshine - update to 3.25 - update %%files for new plugin, with new xml file, and new python files * Fri Jan 8 2021 Moritz Barsnick 3.24-0.2109.1sunshine - update to 3.24 - add python subpackage - update %%files for new binaries and plugins * Fri Sep 25 2020 Moritz Barsnick 3.23-0.1965.1sunshine - update to 3.23 - drop the libdir patch, a different solution is upstream - drop the no_dektec patch, use NODTAPI instead - adapt to new file locations and names - don't package the fork plugin, it isn't built for some reason * 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)