From fea1ae6425071074eb55eb578acb22a207f53cca Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 2 Jan 2017 16:05:24 -0500 Subject: [PATCH] Initial import (#1409332) --- .gitignore | 1 + pkgconf.spec | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 170 insertions(+) create mode 100644 pkgconf.spec diff --git a/.gitignore b/.gitignore index e69de29..c97f113 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/pkgconf-1.1.0.tar.xz diff --git a/pkgconf.spec b/pkgconf.spec new file mode 100644 index 0000000..f34df65 --- /dev/null +++ b/pkgconf.spec @@ -0,0 +1,168 @@ +# pkgconf can optionally act as pkgconfig as well +%bcond_with pkgconfig_compat + +%if %{with pkgconfig_compat} +%global pkgconfig_ver 0.29.1 +%endif + +Name: pkgconf +Version: 1.1.0 +Release: 3%{?dist} +Summary: Package compiler and linker metadata toolkit + +License: ISC +URL: http://pkgconf.org/ +Source0: https://distfiles.dereferenced.org/%{name}/%{name}-%{version}.tar.xz + +BuildRequires: gcc, make + +# For regenerating autotools scripts +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool + +# For unit tests +BuildRequires: /usr/bin/kyua +BuildRequires: atf-tests + +# pkgconf uses libpkgconf internally +Requires: lib%{name}%{?_isa} = %{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. + +%package -n lib%{name} +Summary: Backend library for %{name} + +%description -n lib%{name} +This package provides libraries for applications to use the functionality +of %{name}. + +%package -n lib%{name}-devel +Summary: Development files for lib%{name} +Requires: lib%{name}%{?_isa} = %{version}-%{release} + +%description -n lib%{name}-devel +This package provides files necessary for developing applications +to use functionality provided by %{name}. + +%if %{with pkgconfig_compat} +%package m4 +Summary: m4 macros for pkgconf +License: GPLv2+ with exceptions +BuildArch: noarch +# FIXME: Somehow get rid of the file conflict between pkgconfig and pkgconf-m4 +Conflicts: pkgconfig < %{pkgconfig_ver}.1 + +%description m4 +This package includes m4 macros used to support PKG_CHECK_MODULES +when using pkgconf with autotools. + +%package pkg-config +Summary: %{name} shim to provide /usr/bin/pkg-config +# Ensure that it Conflicts with pkg-config and is considered "better" +Conflicts: pkgconfig < %{pkgconfig_ver}.1 +Provides: pkgconfig = %{pkgconfig_ver}.1 +Provides: pkgconfig%{?_isa} = %{pkgconfig_ver}.1 +Provides: pkg-config = %{pkgconfig_ver}.1 +Provides: pkg-config%{?_isa} = %{pkgconfig_ver}.1 +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-m4 = %{version}-%{release} + +%description pkg-config +This package provides the shim links for pkgconf to be automatically +used in place of pkgconfig. + +This is useful when bootstrapping new architectures where you wish +to avoid the circular dependency with glib2 and pkgconfig when +building from source. +%endif + + +%prep +%autosetup + +%build +autoreconf -fiv +%configure --disable-static \ + --with-pkg-config-dir=%{_libdir}/pkgconfig:%{_datadir}/pkgconfig \ + --with-system-includedir=%{_includedir} \ + --with-system-libdir=%{_libdir} + +%make_build V=1 + + +%check +make check + + +%install +%make_install + +find %{buildroot} -name '*.la' -print -delete + +%if %{with pkgconfig_compat} +ln -sf pkgconf %{buildroot}%{_bindir}/pkg-config +ln -sf pkgconf %{buildroot}%{_bindir}/%{_target_platform}-pkg-config +%endif + +# If we're not providing pkgconfig override & compat +# we should not provide the pkgconfig m4 macros +%if ! %{with pkgconfig_compat} +rm -rf %{buildroot}%{_datadir}/aclocal +%endif + +%post -n lib%{name} -p /sbin/ldconfig + +%postun -n lib%{name} -p /sbin/ldconfig + +%files +%license COPYING +%doc README.md AUTHORS NEWS +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1.* + +%files -n lib%{name} +%license COPYING +%{_libdir}/lib%{name}*.so.* + +%files -n lib%{name}-devel +%{_libdir}/lib%{name}*.so +%{_includedir}/%{name} +%{_libdir}/pkgconfig/lib%{name}.pc + +%if %{with pkgconfig_compat} +%files m4 +%{_datadir}/aclocal/pkg.m4 + +%files pkg-config +%{_bindir}/pkg-config +%{_bindir}/%{_target_platform}-pkg-config +%endif + +%changelog +* Sun Jan 01 2017 Neal Gompa - 1.1.0-3 +- Fix up spec per package review (#1409332) + +* Sat Dec 31 2016 Neal Gompa - 1.1.0-2 +- Rework package to not generate conflict with pkgconfig +- Disable pkgconf-m4 and pkgconf-pkg-config by default + +* Sat Dec 31 2016 Neal Gompa - 1.1.0-1 +- Upgrade to 1.1.0 +- Enable libpkgconf libraries now that they are ABI+API stable + +* Tue Oct 25 2016 Neal Gompa - 1.0.2-1 +- Upgrade to 1.0.2 + +* Fri Aug 26 2016 Neal Gompa - 1.0.1-2 +- Add subpackage for providing pkg-config shim +- Enable tests + +* Thu Aug 25 2016 Neal Gompa - 1.0.1-1 +- Upgrade to 1.0.1 + +* Wed Aug 24 2016 Neal Gompa - 1-1 +- Initial packaging diff --git a/sources b/sources index e69de29..ac38807 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (pkgconf-1.1.0.tar.xz) = 2d54b14b9fb830a3d30e8812f6079a95cf1e1e77fd42d1eac7a6041347094ff88b79146be93c56625c44e2dcf38af725cbbdfdda09b457b921a9a17b97a23d15