aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2019-06-09 13:55:23 +0300
committerTimo Teräs <timo.teras@iki.fi>2019-06-09 15:28:35 +0300
commitd41429e184408e6a35f789ca19296ef37559ea47 (patch)
tree384290490b4fc128bdcfbf2ae086ecc7e3f85f35
parented65a96365fee561e0638656cc274926e1acde8d (diff)
downloadaports-d41429e184408e6a35f789ca19296ef37559ea47.tar.bz2
aports-d41429e184408e6a35f789ca19296ef37559ea47.tar.xz
testing/libsmbios_c: new aport
library for interacting with Dell SMBIOS tables https://github.com/dell/libsmbios
-rw-r--r--testing/libsmbios_c/APKBUILD45
-rw-r--r--testing/libsmbios_c/fixes.patch47
2 files changed, 92 insertions, 0 deletions
diff --git a/testing/libsmbios_c/APKBUILD b/testing/libsmbios_c/APKBUILD
new file mode 100644
index 0000000000..8dd3ace9ca
--- /dev/null
+++ b/testing/libsmbios_c/APKBUILD
@@ -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"
diff --git a/testing/libsmbios_c/fixes.patch b/testing/libsmbios_c/fixes.patch
new file mode 100644
index 0000000000..cab5e9c593
--- /dev/null
+++ b/testing/libsmbios_c/fixes.patch
@@ -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>