testing/libsmbios_c: new aport

library for interacting with Dell SMBIOS tables
https://github.com/dell/libsmbios
This commit is contained in:
Timo Teräs 2019-06-09 13:55:23 +03:00
parent ed65a96365
commit d41429e184
2 changed files with 92 additions and 0 deletions

View File

@ -0,0 +1,45 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=libsmbios_c
pkgver=2.4.2
pkgrel=0
pkgdesc="library for interacting with Dell SMBIOS tables"
url="https://github.com/dell/libsmbios"
arch="all"
license="GPL-2-or-later OSL-2.1"
depends=""
makedepends="autoconf automake bash libtool help2man
linux-headers gettext-dev libintl libxml2-dev"
checkdepends="python3"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="libsmbios-$pkgver.tar.gz::https://github.com/dell/libsmbios/archive/v$pkgver.tar.gz
fixes.patch"
builddir="$srcdir/libsmbios-$pkgver"
prepare() {
default_prepare
./autogen.sh --no-configure
}
build() {
export LIBS="$LIBS -lintl"
CONFIG_SHELL=/bin/bash \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-python \
--disable-static
make
}
check() {
make check
}
package() {
make DESTDIR="$pkgdir" install
}
sha512sums="51d1b11447d50b768658473d01bcb6cc7f9dd5c96c26ec343f222115ffb5047ca1f035a0bfb67f94f53165eaea7a0d9b70cf01f03333a30885bbac153bf761bd libsmbios-2.4.2.tar.gz
5dd3d95e4d57abc392b64d1ed2f7fc04ce42de78730d6835a6ff8cb22931b57ef2873b1ef9744d723e2c814b710bb3ee5c2446c171387293840b557b2ad93182 fixes.patch"

View File

@ -0,0 +1,47 @@
diff -ru libsmbios-2.4.2.orig/src/libsmbios_c/cmos/cmos_linux.c libsmbios-2.4.2/src/libsmbios_c/cmos/cmos_linux.c
--- libsmbios-2.4.2.orig/src/libsmbios_c/cmos/cmos_linux.c 2018-06-06 17:40:24.000000000 +0300
+++ libsmbios-2.4.2/src/libsmbios_c/cmos/cmos_linux.c 2019-06-07 16:37:59.007546237 +0300
@@ -35,6 +35,13 @@
// private
#include "cmos_impl.h"
+#ifndef outb_p
+#define outb_p outb
+#endif
+#ifndef inb_p
+#define inb_p inb
+#endif
+
static int linux_read_fn(const struct cmos_access_obj *this, u8 *byte, u32 indexPort, u32 dataPort, u32 offset)
{
outb_p (offset, indexPort);
diff -ru libsmbios-2.4.2.orig/src/libsmbios_c/common/common.c libsmbios-2.4.2/src/libsmbios_c/common/common.c
--- libsmbios-2.4.2.orig/src/libsmbios_c/common/common.c 2018-06-06 17:40:24.000000000 +0300
+++ libsmbios-2.4.2/src/libsmbios_c/common/common.c 2019-06-07 16:34:05.293776855 +0300
@@ -26,10 +26,15 @@
if ((size_t)(bufsize - curstrsize - 1) < bufsize)
{
+#ifdef __GLIBC__
char *buf = strerror_r(errval, errbuf + curstrsize, bufsize - curstrsize - 1);
// GNU breakage... :(
if (buf != (errbuf + curstrsize))
strlcat(errbuf, buf, bufsize);
+#else
+ /* XSI compliant strerror_r() */
+ strerror_r(errval, errbuf + curstrsize, bufsize - curstrsize - 1);
+#endif
}
}
#endif
diff -ru libsmbios-2.4.2.orig/src/libsmbios_c/smi/smi_linux.c libsmbios-2.4.2/src/libsmbios_c/smi/smi_linux.c
--- libsmbios-2.4.2.orig/src/libsmbios_c/smi/smi_linux.c 2018-06-06 17:40:24.000000000 +0300
+++ libsmbios-2.4.2/src/libsmbios_c/smi/smi_linux.c 2019-06-07 16:34:05.293776855 +0300
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <fcntl.h>
#include <sys/file.h> // flock
#include <sys/ioctl.h> // ioctl
#include <errno.h>