%bcond pkgconfig_compat 1 %if %{with pkgconfig_compat} %global pkgconfig_ver 0.29.1 %global pkgconfig_verrel %{pkgconfig_ver}-3 %global pkgconfig_evr 1:%{pkgconfig_verrel} %endif %bcond tests 0 %global pkgconf_libdirs %{_libdir}/pkgconfig:%{_datadir}/pkgconfig %global libsomajor 8 Name: pkgconf Version: 3.0.7 Release: 1%{?dist} Summary: Package compiler and linker metadata toolkit (v3 series) License: ISC AND BSD-4-Clause AND BSD-2-Clause AND pkgconf AND MIT URL: http://pkgconf.org/ Source0: https://distfiles.ariadne.space/pkgconf/pkgconf-%{version}.tar.xz BuildRequires: gcc BuildRequires: meson %if %{with tests} BuildRequires: kyua BuildRequires: atf-tests %endif Requires: lib%{name}%{?_isa} = %{version}-%{release} Provides: pkgconfig(pkgconf) = %{version} Obsoletes: pkgconf < %{version}-%{release} Conflicts: pkgconf < %{version}-%{release} %description pkgconf is a program which helps to configure compiler and linker flags for development frameworks. It is similar to pkg-config from freedesktop.org and handles .pc files in a similar manner as pkg-config. This build tracks the pkgconf 3.x series. %package -n lib%{name} Summary: Backend library for %{name} Obsoletes: libpkgconf < %{version}-%{release} Conflicts: libpkgconf < %{version}-%{release} %description -n lib%{name} Backend library used by %{name}. %package -n lib%{name}-devel Summary: Development files for lib%{name} Requires: lib%{name}%{?_isa} = %{version}-%{release} Obsoletes: libpkgconf-devel < %{version}-%{release} Conflicts: libpkgconf-devel < %{version}-%{release} %description -n lib%{name}-devel Development files for lib%{name}. %if %{with pkgconfig_compat} %package m4 Summary: m4 macros for pkgconf License: GPL-2.0-or-later WITH Autoconf-exception-generic BuildArch: noarch Conflicts: pkgconfig < %{pkgconfig_evr} Obsoletes: pkgconfig < %{pkgconfig_evr} Obsoletes: pkgconf-m4 < %{version}-%{release} Conflicts: pkgconf-m4 < %{version}-%{release} %description m4 m4 macros used to support PKG_CHECK_MODULES with pkgconf. %package pkg-config Summary: %{name} shim to provide /usr/bin/pkg-config Conflicts: pkgconfig < %{pkgconfig_evr} Obsoletes: pkgconfig < %{pkgconfig_evr} Obsoletes: pkgconf-pkg-config < %{version}-%{release} Conflicts: pkgconf-pkg-config < %{version}-%{release} Provides: pkgconfig = %{pkgconfig_evr} Provides: pkgconfig%{?_isa} = %{pkgconfig_evr} Provides: pkgconfig(pkg-config) = %{version} Provides: pkg-config = %{pkgconfig_verrel} Provides: pkg-config%{?_isa} = %{pkgconfig_verrel} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-m4 = %{version}-%{release} %description pkg-config Shim links so pkgconf-3 is used automatically in place of pkgconfig. %endif %package -n bomtool Summary: Simple SBOM generator using pc(5) files Requires: lib%{name}%{?_isa} = %{version}-%{release} %description -n bomtool bomtool generates a Software Bill of Materials manifest from .pc files. %package -n spdxtool Summary: SPDX Lite SBOM generator using pc(5) files Requires: lib%{name}%{?_isa} = %{version}-%{release} %description -n spdxtool spdxtool generates an SPDX Lite 3.0.1 SBOM manifest from .pc files. %prep %setup -q -n pkgconf-%{version} %build %meson \ -Ddefault_library=shared \ -Dwith-pkg-config-dir=%{pkgconf_libdirs} \ -Dwith-system-includedir=%{_includedir} \ -Dwith-system-libdir=%{_libdir} %meson_build %install %meson_install rm -rf %{buildroot}%{_docdir}/pkgconf mkdir -p %{buildroot}%{_sysconfdir}/pkgconfig/personality.d mkdir -p %{buildroot}%{_datadir}/pkgconfig/personality.d mkdir -p %{buildroot}%{_rpmmacrodir}/ cat > %{buildroot}%{_rpmmacrodir}/macros.pkgconf < %{buildroot}%{_bindir}/%{_target_platform}-pkg-config <<'WRAPEOF1' #!/bin/sh # Simple wrapper to tell pkgconf to behave as a platform-specific version of pkg-config # Platform: %{_target_platform} if [ -z "${RPM_BUILD_ROOT}" ]; then export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:-/usr/local/%{_lib}/pkgconfig:/usr/local/share/pkgconfig:%{pkgconf_libdirs}}" else export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:-%{pkgconf_libdirs}}" fi export PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PKG_CONFIG_SYSTEM_LIBRARY_PATH:-%{_libdir}}" export PKG_CONFIG_SYSTEM_INCLUDE_PATH="${PKG_CONFIG_SYSTEM_INCLUDE_PATH:-%{_includedir}}" exec pkgconf "$@" WRAPEOF1 chmod 0755 %{buildroot}%{_bindir}/%{_target_platform}-pkg-config # --- multilib-safe pkg-config wrapper (was pkg-config.in) --- cat > %{buildroot}%{_bindir}/pkg-config <<'WRAPEOF2' #!/bin/sh # Multilib safe wrapper for pkg-config to call correct platform-specific version of pkg-config ## Vendored definition of %%_target_platform from redhat-rpm-config to avoid depending on it TARGET_PLATFORM=$(rpm --eval '%%{_target_cpu}-%%{_vendor}-%%{_target_os}%%{?_gnu}') exec "%{_bindir}/${TARGET_PLATFORM}-pkg-config" "$@" WRAPEOF2 chmod 0755 %{buildroot}%{_bindir}/pkg-config echo ".so man1/pkgconf.1" > %{buildroot}%{_mandir}/man1/pkg-config.1 mkdir -p %{buildroot}%{_libdir}/pkgconfig mkdir -p %{buildroot}%{_datadir}/pkgconfig %endif %if ! %{with pkgconfig_compat} rm -rf %{buildroot}%{_datadir}/aclocal %endif %ldconfig_scriptlets -n lib%{name} %files %license COPYING %doc README.md AUTHORS NEWS %{_bindir}/pkgconf %{_bindir}/pccritic %{_mandir}/man1/pkgconf.1* %{_mandir}/man1/pccritic.1* %{_mandir}/man5/pc.5* %{_mandir}/man5/pkgconf-personality.5* %{_rpmmacrodir}/macros.pkgconf %dir %{_sysconfdir}/pkgconfig %dir %{_sysconfdir}/pkgconfig/personality.d %dir %{_datadir}/pkgconfig/personality.d %files -n lib%{name} %license COPYING %{_libdir}/libpkgconf*.so.%{libsomajor}{,.*} %files -n lib%{name}-devel %{_libdir}/libpkgconf*.so %{_includedir}/pkgconf/ %{_libdir}/pkgconfig/libpkgconf.pc %if %{with pkgconfig_compat} %files m4 %{_datadir}/aclocal/pkg.m4 %{_mandir}/man7/pkg.m4.7* %files pkg-config %{_bindir}/pkg-config %{_bindir}/%{_target_platform}-pkg-config %{_mandir}/man1/pkg-config.1* %dir %{_libdir}/pkgconfig %dir %{_datadir}/pkgconfig %endif %files -n bomtool %{_bindir}/bomtool %{_mandir}/man1/bomtool.1* %files -n spdxtool %{_bindir}/spdxtool %{_mandir}/man1/spdxtool.1* %changelog * Sat Sep 5 2026 meereen - 3.0.7-1 - Update to 3.0.7