# Disable LTO - causes OOM in mock containers during link phase %define _lto_cflags %{nil} Summary: Matroska container manipulation utilities Name: mkvtoolnix Version: 100.0 Release: 1%{?dist} License: GPL-2.0-or-later URL: https://mkvtoolnix.download/ Source0: https://mkvtoolnix.download/sources/mkvtoolnix-%{version}.tar.xz Patch0: mkvtoolnix-no-qt-requirement.patch BuildRequires: boost-devel BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: gmp-devel BuildRequires: gtest-devel BuildRequires: libvorbis-devel BuildRequires: make BuildRequires: pcre2-devel BuildRequires: pkgconfig(dvdread) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(zlib) BuildRequires: qt6-qtbase-devel BuildRequires: ruby3.2 BuildRequires: ruby3.2-rubygem-rake BuildRequires: ruby3.2-rubygem-json BuildRequires: docbook-style-xsl BuildRequires: libxslt BuildRequires: /usr/bin/xsltproc # Use bundled libraries (not available separately in AL2023) Provides: bundled(fmt) Provides: bundled(nlohmann-json) Provides: bundled(pugixml) Provides: bundled(utf8cpp) Provides: bundled(libebml) Provides: bundled(libmatroska) Provides: bundled(avilib) = 0.6.10 Provides: bundled(librmff) = 0.6.0 %description MKVToolNix is a set of utilities to mux and demux audio, video and subtitle streams into and from Matroska containers. Includes mkvmerge, mkvinfo, mkvextract, and mkvpropedit. This is a CLI-only build (no Qt GUI). %prep %setup -q %patch -P0 -p1 %build %set_build_flags ./configure \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --mandir=%{_mandir} \ --disable-gui \ --disable-update-check \ --with-boost-libdir=%{_libdir} \ --disable-optimization rake %{?_smp_mflags} V=1 apps:mkvmerge apps:mkvinfo apps:mkvextract apps:mkvpropedit manpages %install rake DESTDIR=$RPM_BUILD_ROOT install # Remove GUI-related files that shouldn't exist rm -rf %{buildroot}%{_datadir}/applications rm -rf %{buildroot}%{_datadir}/metainfo rm -rf %{buildroot}%{_datadir}/icons rm -rf %{buildroot}%{_datadir}/mime rm -f %{buildroot}%{_bindir}/mkvtoolnix-gui rm -f %{buildroot}%{_mandir}/man1/mkvtoolnix-gui.1* %find_lang %{name} %find_lang mkvextract --with-man || : %find_lang mkvmerge --with-man || : %find_lang mkvpropedit --with-man || : %find_lang mkvinfo --with-man || : cat mkv{extract,info,merge,propedit}.lang >> mkvtoolnix.lang 2>/dev/null || : %files -f %{name}.lang %license COPYING %doc AUTHORS README.md %{_bindir}/mkvextract %{_bindir}/mkvinfo %{_bindir}/mkvmerge %{_bindir}/mkvpropedit %{_mandir}/man1/mkvextract.1* %{_mandir}/man1/mkvinfo.1* %{_mandir}/man1/mkvmerge.1* %{_mandir}/man1/mkvpropedit.1* %changelog * Thu Jul 16 2026 Yonghang Wang - 100.0-1 - Initial build for al23x-devel COPR - CLI-only build (no Qt GUI) - Uses bundled fmt, nlohmann-json, pugixml, utf8cpp, libebml, libmatroska