blob: 40fe8c6a5f5f7d4df71f629c8fea061fe9d930e9 [file] [log] [blame]
Andrew Geissler09036742021-06-25 14:25:14 -05001# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "A library which provides glibc-compatible APIs for use on musl libc systems"
5HOMEPAGE = "https://git.adelielinux.org/adelie/gcompat"
6
7LICENSE = "NCSA"
Patrick Williamsac13d5f2023-11-24 18:59:46 -06008LIC_FILES_CHKSUM = "file://LICENSE;md5=802b1aed7330d90086be4de63a3188e3"
Andrew Geissler09036742021-06-25 14:25:14 -05009
Andrew Geissler9aee5002022-03-30 16:27:02 +000010SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current \
Patrick Williamsac13d5f2023-11-24 18:59:46 -060011 file://0001-Add-fcntl64-wrapper.patch \
Andrew Geissler87f5cff2022-09-30 13:13:31 -050012 "
Andrew Geissler9aee5002022-03-30 16:27:02 +000013SRC_URI:append:powerpc = "\
14 file://0001-make-Static-PIE-does-not-work-on-musl-ppc.patch \
15 "
Patrick Williamsac13d5f2023-11-24 18:59:46 -060016PV = "1.1.0"
17SRCREV = "b7bfe0b08c52fdc72e0c1d9d4dcb2129f1642bd6"
Andrew Geissler09036742021-06-25 14:25:14 -050018
19S = "${WORKDIR}/git"
20
21inherit pkgconfig linuxloader siteinfo
22
23DEPENDS += "musl-obstack"
24
25GLIBC_LDSO = "${@get_glibc_loader(d)}"
26MUSL_LDSO = "${@get_musl_loader(d)}"
27
28EXTRA_OEMAKE = "LINKER_PATH=${MUSL_LDSO} \
29 LOADER_NAME=`basename ${GLIBC_LDSO}` \
30 "
31
32do_configure () {
33 :
34}
35
36do_compile () {
37 oe_runmake
38}
39
40do_install () {
Patrick Williams03907ee2022-05-01 06:28:52 -050041 oe_runmake install 'DESTDIR=${D}${root_prefix}'
Andrew Geissler09036742021-06-25 14:25:14 -050042 if [ "${SITEINFO_BITS}" = "64" ]; then
Patrick Williams03907ee2022-05-01 06:28:52 -050043 install -d ${D}${nonarch_base_libdir}${SITEINFO_BITS}
44 ln -rs ${D}${GLIBC_LDSO} ${D}${nonarch_base_libdir}${SITEINFO_BITS}/`basename ${GLIBC_LDSO}`
Andrew Geissler09036742021-06-25 14:25:14 -050045 fi
Andrew Geissler87f5cff2022-09-30 13:13:31 -050046 install -d ${D}${libdir}
47 ln -sf ${base_libdir}/libgcompat.so.0 ${D}${libdir}/libgcompat.so
Andrew Geissler09036742021-06-25 14:25:14 -050048}
49
Patrick Williams03907ee2022-05-01 06:28:52 -050050FILES:${PN} += "${nonarch_base_libdir}${SITEINFO_BITS}"
Andrew Geissler09036742021-06-25 14:25:14 -050051
Patrick Williams213cb262021-08-07 19:21:33 -050052INSANE_SKIP:${PN} = "libdir"
Andrew Geissler09036742021-06-25 14:25:14 -050053
Patrick Williams213cb262021-08-07 19:21:33 -050054RPROVIDES:${PN} += "musl-glibc-compat"
Andrew Geissler09036742021-06-25 14:25:14 -050055#
56# We will skip parsing for non-musl systems
57#
58COMPATIBLE_HOST = ".*-musl.*"
59
60UPSTREAM_CHECK_COMMITS = "1"