blob: 4bdf03c574ca5045995010f7b658c8b754e643a3 [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks."
2DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \
3flags for development frameworks. It is similar to pkg-config from \
4freedesktop.org, providing additional functionality while also maintaining \
5compatibility."
6HOMEPAGE = "http://pkgconf.org"
7BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
8SECTION = "devel"
9PROVIDES += "pkgconfig"
10RPROVIDES:${PN} += "pkgconfig"
11
12# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
13# ISC, but has different wording, so needs its own name.
14LICENSE = "pkgconf"
15LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0"
16
17SRC_URI = "\
18 https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \
19 file://pkg-config-wrapper \
20 file://pkg-config-native.in \
21 file://pkg-config-esdk.in \
22"
Patrick Williamsb542dec2023-06-09 01:26:37 -050023SRC_URI[sha256sum] = "1ac1656debb27497563036f7bffc281490f83f9b8457c0d60bcfb638fb6b6171"
Patrick Williams92b42cb2022-09-03 06:53:57 -050024
25inherit autotools
26
27EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'"
28
29do_install:append () {
30 # Install a wrapper which deals, as much as possible with pkgconf vs
31 # pkg-config compatibility issues.
32 install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config"
33}
34
35do_install:append:class-native () {
36 # Install a pkg-config-native wrapper that will use the native sysroot instead
37 # of the MACHINE sysroot, for using pkg-config when building native tools.
38 sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
39 < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
40 install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
41 sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
42 -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
43 < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
44 install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
45}
46
47# When using the RPM generated automatic package dependencies, some packages
48# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
49# specifying an appropriate provide.
50RPROVIDES:${PN} += "pkgconfig(pkg-config)"
51
52# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev
53FILES:${PN}-dev:remove = "${datadir}/aclocal"
54FILES:${PN} += "${datadir}/aclocal"
55
56BBCLASSEXTEND += "native nativesdk"
57
58pkgconf_sstate_fixup_esdk () {
59 if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
60 pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
61 mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
62 ln -rs $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
63 sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
64 fi
65}
66
67SSTATEPOSTUNPACKFUNCS:append:class-native = " pkgconf_sstate_fixup_esdk"