Accepting request 610670 from home:Pharaoh_Atem:pkgconf_SUSE

- Update to 1.4.2
  + Bug fixes
    - ensure pkgconf_dependency_t nodes have a solution marked
      when satisfied by an indirect provider (gh#pkgconf/pkgconf#172)
    - revert some quoting changes because they don't work well
      with certain GCC edge cases (gh#pkgconf/pkgconf#168)
- Initial packaging based on Fedora and Mageia packaging

OBS-URL: https://build.opensuse.org/request/show/610670
OBS-URL: https://build.opensuse.org/package/show/devel:tools/pkgconf?expand=0&rev=1
This commit is contained in:
Martin Pluskal 2018-05-20 07:24:31 +00:00 committed by Git OBS Bridge
commit 43202e047f
6 changed files with 258 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
pkgconf-1.4.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bab39371d4ab972be1d539a8b10b6cc21f8eafc97f617102e667e82bd32eb234
size 285548

14
pkgconf.changes Normal file
View File

@ -0,0 +1,14 @@
-------------------------------------------------------------------
Sun May 20 01:32:46 UTC 2018 - Neal Gompa <ngompa13@gmail.com>
- Update to 1.4.2
+ Bug fixes
- ensure pkgconf_dependency_t nodes have a solution marked
when satisfied by an indirect provider (gh#pkgconf/pkgconf#172)
- revert some quoting changes because they don't work well
with certain GCC edge cases (gh#pkgconf/pkgconf#168)
-------------------------------------------------------------------
Mon Feb 19 15:56:36 UTC 2018 - Neal Gompa <ngompa13@gmail.com>
- Initial packaging based on Fedora and Mageia packaging

205
pkgconf.spec Normal file
View File

@ -0,0 +1,205 @@
#
# spec file for package pkgconf
#
# Copyright (c) 2018 Neal Gompa <ngompa13@gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# Compatibility macros
%{!?make_build: %global make_build %{__make} %{?_smp_mflags}}
# pkgconf does not act as pkgconfig by default
%bcond_with pkgconfig_compat
%if %{with pkgconfig_compat}
%global pkgconfig_ver 0.29.2
# For obsoleting pkgconfig, bump the ver to a number higher than latest version
%global pkgconfig_obsver %{pkgconfig_ver}+1
%endif
# Search path for pc files for pkgconf
%global pkgconf_libdirs %{_libdir}/pkgconfig:%{_datadir}/pkgconfig
%global somajor 3
%global libname lib%{name}%{somajor}
%global devname lib%{name}-devel
Name: pkgconf
Version: 1.4.2
Release: 0
Summary: Package compiler and linker metadata toolkit
Group: Development/Tools/Building
License: ISC
URL: http://pkgconf.org/
Source0: https://distfiles.dereferenced.org/%{name}/%{name}-%{version}.tar.xz
# Simple wrapper script to offer platform versions of pkgconfig from Fedora
Source1: platform-pkg-config.in
BuildRequires: gcc
BuildRequires: make
# For regenerating autotools scripts
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
# pkgconf uses libpkgconf internally
Requires: %{libname}%{?_isa} = %{version}-%{release}
# This is defined within pkgconf code as a virtual pc (just like in pkgconfig)
Provides: pkgconfig(pkgconf) = %{version}
%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 %{libname}
Summary: Backend library for %{name}
Group: System/Libraries
%description -n %{libname}
This package provides libraries for applications to use the functionality
of %{name}.
%package -n %{devname}
Summary: Development files for lib%{name}
Group: Development/Libraries/C and C++
Requires: %{libname}%{?_isa} = %{version}-%{release}
%description -n %{devname}
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
Group: Development/Libraries/Other
License: GPL-2.0+ with Autoconf-exception-2.0
BuildArch: noarch
# Ensure that it Conflicts and Obsoletes pkgconfig since it contains content formerly from it
Conflicts: pkgconfig < %{pkgconfig_obsver}
Obsoletes: pkgconfig < %{pkgconfig_obsver}
%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
Group: Development/Tools/Building
# Ensure that it Conflicts with pkg-config and is considered "better"
Conflicts: pkg-config < %{pkgconfig_obsver}
Obsoletes: pkg-config < %{pkgconfig_obsver}
Provides: pkg-config = %{pkgconfig_obsver}
Provides: pkg-config%{?_isa} = %{pkgconfig_obsver}
# This is in the original pkgconfig package, set to match output from pkgconf
Provides: pkgconfig(pkg-config) = %{version}
# Fedora/Mageia pkgconfig Provides for those who might use alternate package name
Provides: pkgconfig = %{pkgconfig_obsver}
Provides: pkgconfig%{?_isa} = %{pkgconfig_obsver}
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 ensures that pkgconf is used as
the system provider of pkg-config.
%endif
%prep
%autosetup -p1
%build
autoreconf -fiv
%configure --disable-static \
--with-pkg-config-dir=%{pkgconf_libdirs} \
--with-system-includedir=%{_includedir} \
--with-system-libdir=%{_libdir}
%make_build V=1
%install
%make_install
find %{buildroot} -name '*.la' -print -delete
# Purge autotools-created docdir, as we'll docify with the SUSE-specific documentation paths later
rm -rf %{buildroot}%{_datadir}/doc/%{name}
%if %{with pkgconfig_compat}
install -pm 0755 %{SOURCE1} %{buildroot}%{_bindir}/%{_target_platform}-pkg-config
sed -e "s|@TARGET_PLATFORM@|%{_target_platform}|" \
-e "s|@PKGCONF_LIBDIRS@|%{pkgconf_libdirs}|" \
-e "s|@PKGCONF_SYSLIBDIR@|%{_libdir}|" \
-e "s|@PKGCONF_SYSINCDIR@|%{_includedir}|" \
-i %{buildroot}%{_bindir}/%{_target_platform}-pkg-config
ln -sf pkgconf %{buildroot}%{_bindir}/pkg-config
# I don't have a better way to deal with this...
cp -a %{buildroot}%{_mandir}/man1/pkgconf.1 %{buildroot}%{_mandir}/man1/pkg-config.1
mkdir -p %{buildroot}%{_libdir}/pkgconfig
mkdir -p %{buildroot}%{_datadir}/pkgconfig
%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
rm -rf %{buildroot}%{_mandir}/man7
%endif
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files
%license COPYING
%doc README.md AUTHORS NEWS
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%{_mandir}/man5/pc.5*
%files -n %{libname}
%license COPYING
%{_libdir}/lib%{name}*.so.%{somajor}
%{_libdir}/lib%{name}*.so.%{somajor}.*
%files -n %{devname}
%{_libdir}/lib%{name}*.so
%{_includedir}/%{name}/
%{_libdir}/pkgconfig/lib%{name}.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
%changelog

12
platform-pkg-config.in Normal file
View File

@ -0,0 +1,12 @@
#!/bin/bash
# Simple wrapper to tell pkgconf to behave as a platform-specific version of pkg-config
# Platform: @TARGET_PLATFORM@
export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:-@PKGCONF_LIBDIRS@}"
export PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PKG_CONFIG_SYSTEM_LIBRARY_PATH:-@PKGCONF_SYSLIBDIR@}"
export PKG_CONFIG_SYSTEM_INCLUDE_PATH="${PKG_CONFIG_SYSTEM_INCLUDE_PATH:-@PKGCONF_SYSINCDIR@}"
pkgconf $@
exit $?