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