Blame SPECS/pkgconf.spec

d1b32b
# pkgconf acts as pkgconfig for Fedora and EL8+
d1b32b
%if (0%{?rhel} && 0%{?rhel} <= 7)
d1b32b
%bcond_with pkgconfig_compat
d1b32b
%else
d1b32b
%bcond_without pkgconfig_compat
d1b32b
%endif
d1b32b
d1b32b
%if %{with pkgconfig_compat}
d1b32b
%global pkgconfig_ver 0.29.1
d1b32b
# For obsoleting pkgconfig
d1b32b
%global pkgconfig_verrel %{pkgconfig_ver}-3
d1b32b
%global pkgconfig_evr 1:%{pkgconfig_verrel}
d1b32b
%endif
d1b32b
d1b32b
# Search path for pc files for pkgconf
d1b32b
%global pkgconf_libdirs %{_libdir}/pkgconfig:%{_datadir}/pkgconfig
d1b32b
d1b32b
Name:           pkgconf
d1b32b
Version:        1.4.2
d1b32b
Release:        1%{?dist}
d1b32b
Summary:        Package compiler and linker metadata toolkit
d1b32b
d1b32b
License:        ISC
d1b32b
URL:            http://pkgconf.org/
d1b32b
Source0:        https://distfiles.dereferenced.org/%{name}/%{name}-%{version}.tar.xz
d1b32b
d1b32b
# Simple wrapper script to offer platform versions of pkgconfig
d1b32b
Source1:        platform-pkg-config.in
d1b32b
d1b32b
BuildRequires:  gcc
d1b32b
BuildRequires:  make
d1b32b
d1b32b
# For regenerating autotools scripts
d1b32b
BuildRequires:  autoconf
d1b32b
BuildRequires:  automake
d1b32b
BuildRequires:  libtool
d1b32b
d1b32b
# For unit tests
d1b32b
BuildRequires:  %{_bindir}/kyua
d1b32b
BuildRequires:  atf-tests
d1b32b
d1b32b
# pkgconf uses libpkgconf internally
d1b32b
Requires:       lib%{name}%{?_isa} = %{version}-%{release}
d1b32b
d1b32b
# This is defined within pkgconf code as a virtual pc (just like in pkgconfig)
d1b32b
Provides:       pkgconfig(pkgconf) = %{version}
d1b32b
d1b32b
%description
d1b32b
pkgconf is a program which helps to configure compiler and linker flags
d1b32b
for development frameworks. It is similar to pkg-config from freedesktop.org
d1b32b
and handles .pc files in a similar manner as pkg-config.
d1b32b
d1b32b
%package -n lib%{name}
d1b32b
Summary:        Backend library for %{name}
d1b32b
d1b32b
%description -n lib%{name}
d1b32b
This package provides libraries for applications to use the functionality
d1b32b
of %{name}.
d1b32b
d1b32b
%package -n lib%{name}-devel
d1b32b
Summary:        Development files for lib%{name}
d1b32b
Requires:       lib%{name}%{?_isa} = %{version}-%{release}
d1b32b
d1b32b
%description -n lib%{name}-devel
d1b32b
This package provides files necessary for developing applications
d1b32b
to use functionality provided by %{name}.
d1b32b
d1b32b
%if %{with pkgconfig_compat}
d1b32b
%package m4
d1b32b
Summary:        m4 macros for pkgconf
d1b32b
License:        GPLv2+ with exceptions
d1b32b
BuildArch:      noarch
d1b32b
# Ensure that it Conflicts and Obsoletes pkgconfig since it contains content formerly from it
d1b32b
Conflicts:      pkgconfig < %{pkgconfig_evr}
d1b32b
Obsoletes:      pkgconfig < %{pkgconfig_evr}
d1b32b
d1b32b
%description m4
d1b32b
This package includes m4 macros used to support PKG_CHECK_MODULES
d1b32b
when using pkgconf with autotools.
d1b32b
d1b32b
%package pkg-config
d1b32b
Summary:        %{name} shim to provide /usr/bin/pkg-config
d1b32b
# Ensure that it Conflicts with pkgconfig and is considered "better"
d1b32b
Conflicts:      pkgconfig < %{pkgconfig_evr}
d1b32b
Obsoletes:      pkgconfig < %{pkgconfig_evr}
d1b32b
Provides:       pkgconfig = %{pkgconfig_evr}
d1b32b
Provides:       pkgconfig%{?_isa} = %{pkgconfig_evr}
d1b32b
# This is in the original pkgconfig package, set to match output from pkgconf
d1b32b
Provides:       pkgconfig(pkg-config) = %{version}
d1b32b
# Generic pkg-config Provides for those who might use alternate package name
d1b32b
Provides:       pkg-config = %{pkgconfig_verrel}
d1b32b
Provides:       pkg-config%{?_isa} = %{pkgconfig_verrel}
d1b32b
Requires:       %{name}%{?_isa} = %{version}-%{release}
d1b32b
Requires:       %{name}-m4 = %{version}-%{release}
d1b32b
d1b32b
%description pkg-config
d1b32b
This package provides the shim links for pkgconf to be automatically
d1b32b
used in place of pkgconfig. This ensures that pkgconf is used as
d1b32b
the system provider of pkg-config.
d1b32b
d1b32b
%endif
d1b32b
d1b32b
d1b32b
%prep
d1b32b
%autosetup -p1
d1b32b
d1b32b
%build
d1b32b
autoreconf -fiv
d1b32b
%configure --disable-static \
d1b32b
           --with-pkg-config-dir=%{pkgconf_libdirs} \
d1b32b
           --with-system-includedir=%{_includedir} \
d1b32b
           --with-system-libdir=%{_libdir}
d1b32b
d1b32b
%make_build V=1
d1b32b
d1b32b
d1b32b
%check
d1b32b
make check
d1b32b
d1b32b
d1b32b
%install
d1b32b
%make_install
d1b32b
d1b32b
find %{buildroot} -name '*.la' -print -delete
d1b32b
d1b32b
%if %{with pkgconfig_compat}
d1b32b
install -pm 0755 %{SOURCE1} %{buildroot}%{_bindir}/%{_target_platform}-pkg-config
d1b32b
d1b32b
sed -e "s|@TARGET_PLATFORM@|%{_target_platform}|" \
d1b32b
    -e "s|@PKGCONF_LIBDIRS@|%{pkgconf_libdirs}|" \
d1b32b
    -e "s|@PKGCONF_SYSLIBDIR@|%{_libdir}|" \
d1b32b
    -e "s|@PKGCONF_SYSINCDIR@|%{_includedir}|" \
d1b32b
    -i %{buildroot}%{_bindir}/%{_target_platform}-pkg-config
d1b32b
d1b32b
ln -sf pkgconf %{buildroot}%{_bindir}/pkg-config
d1b32b
d1b32b
# I don't have a better way to deal with this...
d1b32b
cp -a %{buildroot}%{_mandir}/man1/pkgconf.1 %{buildroot}%{_mandir}/man1/pkg-config.1
d1b32b
d1b32b
mkdir -p %{buildroot}%{_libdir}/pkgconfig
d1b32b
mkdir -p %{buildroot}%{_datadir}/pkgconfig
d1b32b
%endif
d1b32b
d1b32b
# If we're not providing pkgconfig override & compat
d1b32b
# we should not provide the pkgconfig m4 macros
d1b32b
%if ! %{with pkgconfig_compat}
d1b32b
rm -rf %{buildroot}%{_datadir}/aclocal
d1b32b
%endif
d1b32b
d1b32b
%ldconfig_scriptlets -n lib%{name}
d1b32b
d1b32b
%files
d1b32b
%license COPYING
d1b32b
%doc README.md AUTHORS NEWS
d1b32b
%{_bindir}/%{name}
d1b32b
%{_mandir}/man1/%{name}.1*
d1b32b
%{_mandir}/man5/pc.5*
d1b32b
d1b32b
%files -n lib%{name}
d1b32b
%license COPYING
d1b32b
%{_libdir}/lib%{name}*.so.*
d1b32b
d1b32b
%files -n lib%{name}-devel
d1b32b
%{_libdir}/lib%{name}*.so
d1b32b
%{_includedir}/%{name}/
d1b32b
%{_libdir}/pkgconfig/lib%{name}.pc
d1b32b
d1b32b
%if %{with pkgconfig_compat}
d1b32b
%files m4
d1b32b
%{_datadir}/aclocal/pkg.m4
d1b32b
%{_mandir}/man7/pkg.m4.7*
d1b32b
d1b32b
%files pkg-config
d1b32b
%{_bindir}/pkg-config
d1b32b
%{_bindir}/%{_target_platform}-pkg-config
d1b32b
%{_mandir}/man1/pkg-config.1*
d1b32b
%dir %{_libdir}/pkgconfig
d1b32b
%dir %{_datadir}/pkgconfig
d1b32b
%endif
d1b32b
d1b32b
%changelog
d1b32b
* Sat Mar 31 2018 Neal Gompa <ngompa13@gmail.com> - 1.4.2-1
d1b32b
- Update to 1.4.2
d1b32b
- Drop conditionals for old Fedora releases
d1b32b
d1b32b
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-3
d1b32b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
d1b32b
d1b32b
* Wed Jan 31 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.4.1-2
d1b32b
- Switch to %%ldconfig_scriptlets
d1b32b
d1b32b
* Tue Jan 23 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.4.1-1
d1b32b
- Update to 1.4.1
d1b32b
d1b32b
* Sun Jan 07 2018 Neal Gompa <ngompa13@gmail.com> - 1.4.0-2
d1b32b
- Move pc(5) manpage to main pkgconf package
d1b32b
d1b32b
* Fri Jan 05 2018 Neal Gompa <ngompa13@gmail.com> - 1.4.0-1
d1b32b
- Update to 1.4.0
d1b32b
d1b32b
* Fri Jan 05 2018 Neal Gompa <ngompa13@gmail.com> - 1.3.90-2
d1b32b
- Add simple wrapper to support platform-specific pkg-config paths (#1513810)
d1b32b
d1b32b
* Tue Dec 19 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.90-1
d1b32b
- Update to 1.3.90
d1b32b
d1b32b
* Sun Dec 10 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.12-1
d1b32b
- Update to 1.3.12
d1b32b
d1b32b
* Wed Nov 01 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.10-1
d1b32b
- Update to 1.3.10
d1b32b
d1b32b
* Wed Sep 20 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.9-1
d1b32b
- Update to 1.3.9
d1b32b
d1b32b
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.8-3
d1b32b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
d1b32b
d1b32b
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.8-2
d1b32b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
d1b32b
d1b32b
* Mon Jul 17 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.8-1
d1b32b
- Update to 1.3.8
d1b32b
d1b32b
* Sun May 28 2017 Neal Gompa <ngompa13@gmail.com> - 1.3.7-1
d1b32b
- Update to 1.3.7
d1b32b
d1b32b
* Wed May 10 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.6-1
d1b32b
- Update to 1.3.6
d1b32b
d1b32b
* Tue Apr 04 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.5-1
d1b32b
- Update to 1.3.5
d1b32b
d1b32b
* Thu Mar 30 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.4-1
d1b32b
- Update to 1.3.4
d1b32b
d1b32b
* Mon Mar 27 2017 Neal Gompa <ngompa13@gmail.com> - 1.3.3-1
d1b32b
- Update to 1.3.3
d1b32b
d1b32b
* Fri Mar 24 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.2-1
d1b32b
- Update to 1.3.2
d1b32b
d1b32b
* Sat Feb 25 2017 Neal Gompa <ngompa13@gmail.com> - 1.3.0-1
d1b32b
- Update to 1.3.0
d1b32b
d1b32b
* Tue Feb 07 2017 Neal Gompa <ngompa13@gmail.com> - 1.2.2-2
d1b32b
- Backport patch from upstream to remove extraneous whitespace (#1419685)
d1b32b
d1b32b
* Fri Feb 03 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.2.2-1
d1b32b
- Update to 1.2.2
d1b32b
d1b32b
* Thu Feb 02 2017 Neal Gompa <ngompa13@gmail.com> - 1.2.1-3
d1b32b
- Fix Obsoletes and Conflicts to prevent self-conflicts
d1b32b
d1b32b
* Thu Feb 02 2017 Neal Gompa <ngompa13@gmail.com> - 1.2.1-2
d1b32b
- Adjust Obsoletes and Conflicts to use inclusive range
d1b32b
d1b32b
* Tue Jan 24 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.2.1-1
d1b32b
- Update to 1.2.1
d1b32b
d1b32b
* Sat Jan 21 2017 Neal Gompa <ngompa13@gmail.com> - 1.2.0-1
d1b32b
- Upgrade to 1.2.0
d1b32b
- Enable pkgconf-pkg-config and pkgconf-m4 for F26+
d1b32b
d1b32b
* Sat Jan 14 2017 Neal Gompa <ngompa13@gmail.com> - 1.1.1-3
d1b32b
- Add missing pkgconfig() Provides for virtual .pc files defined in pkgconf
d1b32b
d1b32b
* Fri Jan 13 2017 Neal Gompa <ngompa13@gmail.com> - 1.1.1-2
d1b32b
- Add missing Epoch to pkgconfig Provides/Conflicts for pkgconf-pkg-config
d1b32b
- Add copy of pkgconf.1 as pkg-config.1 in pkgconf-pkg-config
d1b32b
d1b32b
* Sat Jan 07 2017 Neal Gompa <ngompa13@gmail.com> - 1.1.1-1
d1b32b
- Upgrade to 1.1.1
d1b32b
- Add missing directories to pkgconf-pkg-config
d1b32b
d1b32b
* Sun Jan 01 2017 Neal Gompa <ngompa13@gmail.com> - 1.1.0-3
d1b32b
- Fix up spec per package review (#1409332)
d1b32b
d1b32b
* Sat Dec 31 2016 Neal Gompa <ngompa13@gmail.com> - 1.1.0-2
d1b32b
- Rework package to not generate conflict with pkgconfig
d1b32b
- Disable pkgconf-m4 and pkgconf-pkg-config by default
d1b32b
d1b32b
* Sat Dec 31 2016 Neal Gompa <ngompa13@gmail.com> - 1.1.0-1
d1b32b
- Upgrade to 1.1.0
d1b32b
- Enable libpkgconf libraries now that they are ABI+API stable
d1b32b
d1b32b
* Tue Oct 25 2016 Neal Gompa <ngompa13@gmail.com> - 1.0.2-1
d1b32b
- Upgrade to 1.0.2
d1b32b
d1b32b
* Fri Aug 26 2016 Neal Gompa <ngompa13@gmail.com> - 1.0.1-2
d1b32b
- Add subpackage for providing pkg-config shim
d1b32b
- Enable tests
d1b32b
d1b32b
* Thu Aug 25 2016 Neal Gompa <ngompa13@gmail.com> - 1.0.1-1
d1b32b
- Upgrade to 1.0.1
d1b32b
d1b32b
* Wed Aug 24 2016 Neal Gompa <ngompa13@gmail.com> - 1-1
d1b32b
- Initial packaging