From d80d08c0fc20432e8a3d4dbc03723943a51fb543 Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Thu, 7 Feb 2019 22:34:36 +0100 Subject: [PATCH] libsmbios: fix musl --- srcpkgs/libsmbios/patches/fix-musl.patch | 36 ++++++++++++++++++++++++ srcpkgs/libsmbios/template | 5 ---- 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 srcpkgs/libsmbios/patches/fix-musl.patch diff --git a/srcpkgs/libsmbios/patches/fix-musl.patch b/srcpkgs/libsmbios/patches/fix-musl.patch new file mode 100644 index 00000000000..f4006ab0049 --- /dev/null +++ b/srcpkgs/libsmbios/patches/fix-musl.patch @@ -0,0 +1,36 @@ +--- src/libsmbios_c/smi/smi_linux.c.orig 2019-02-07 22:09:34.240465062 +0100 ++++ src/libsmbios_c/smi/smi_linux.c 2019-02-07 22:09:41.937466022 +0100 +@@ -28,6 +28,7 @@ + #include + #include // flock + #include // ioctl ++#include // open + #include + + // public +--- src/libsmbios_c/common/platform/linux.h.orig 2019-02-07 22:17:16.671522730 +0100 ++++ src/libsmbios_c/common/platform/linux.h 2019-02-07 22:17:36.932525256 +0100 +@@ -1,3 +1,23 @@ ++#if !defined(__GLIBC__) && !defined(LL_IO) ++#define LL_IO ++// inb_p and outb_p: imported from glibc ++static __inline unsigned char ++inb_p (unsigned short int __port) ++{ ++ unsigned char _v; ++ ++ __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); ++ return _v; ++} ++ ++static __inline void ++outb_p (unsigned char __value, unsigned short int __port) ++{ ++ __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value), ++ "Nd" (__port)); ++} ++#endif ++ + // If we are on IA64 we will need to macro define inb_p and outb_p + #if defined(__ia64__) + # define outb_p outb diff --git a/srcpkgs/libsmbios/template b/srcpkgs/libsmbios/template index d96addcbf87..21df99da7a9 100644 --- a/srcpkgs/libsmbios/template +++ b/srcpkgs/libsmbios/template @@ -19,11 +19,6 @@ subpackages="libsmbios-devel python3-libsmbios libsmbios-utils" only_for_archs="i686 i686-musl x86_64 x86_64-musl" -case "$XBPS_TARGET_MACHINE" in - *-musl ) - broken="requires glibc specific outb_p and inb_p" ;; -esac - pre_configure() { ./autogen.sh --no-configure }