Version: 0 Release: 0 Summary: Antlr4 pkg-config file License: GPLv3 BuildArch: noarch BuildRequires: python3-rpm BuildRequires: python3 BuildRequires: filesystem BuildRequires: (libantlr4-runtime-devel or antlr4-cpp-runtime-devel) %define lib antlr4-runtime Name: %{lib}-devel-source %define buildsubdir %{name}-0 %define base_include %_includedir/%lib %{!?_pkgconfig_dir:%define _pkgconfig_dir %_datadir/pkgconfig} %define pcfile %_pkgconfig_dir/%lib.pc %description %{summary}. %prep mkdir -p %{buildsubdir} %build cat << EOFPYTHON | python3 import rpm nt = rpm.RPMTAG_NAME ts = rpm.TransactionSet() mi1 = ts.dbMatch(nt, 'libantlr4-runtime-devel') mi2 = ts.dbMatch(nt, 'antlr4-cpp-runtime-devel') pkg = list(mi1) + list(mi2) if len(pkg) == 0: raise Exception("0") pkg = pkg[0] with open("%{lib}.pc", 'w') as file: file.write(r""" Name: %{lib} Description: """+pkg.summary+r""" Version: """+pkg.version+r""" Libs: -l%{lib} Cflags: -I%{base_include} """) with open('main.specpart', 'w') as file: file.write(r"""%%package -n %{lib}-devel Version: """+pkg.version+r""" Release: """+pkg.release+r""" Summary: """+pkg.summary+r""" License: """+pkg.license+r""" Requires: """+pkg.name+r""" """) file.write(r"""%%description -n %{lib}-devel """+pkg.description+r""" """) file.write(r"""%%files -n %{lib}-devel %{pcfile} """) EOFPYTHON %install install -Dm644 %{lib}.pc %{buildroot}%{pcfile} install -Dm644 main.specpart %{specpartsdir}/main.specpart