ell: run tests

Also add multiple outputs and some other details
This commit is contained in:
Jan Tojnar 2019-03-24 21:41:04 +01:00
parent 4557b9f1f5
commit 4f7f9701ae
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4
2 changed files with 95 additions and 5 deletions

View File

@ -1,21 +1,46 @@
{ stdenv, fetchgit, autoreconfHook, pkgconfig }:
{ stdenv
, fetchgit
, autoreconfHook
, pkgconfig
, dbus
}:
stdenv.mkDerivation rec {
pname = "ell";
version = "0.20";
outputs = [ "out" "dev" ];
src = fetchgit {
url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
rev = version;
sha256 = "1g143dbc7cfks63k9yi2m8hpgfp9jj5b56s3hyxjzxm9dac3yn6c";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];
patches = [
./fix-dbus-tests.patch
];
nativeBuildInputs = [
pkgconfig
autoreconfHook
];
checkInputs = [
dbus
];
enableParallelBuilding = true;
doCheck = true;
meta = with stdenv.lib; {
homepage = https://git.kernel.org/pub/scm/libs/ell/ell.git;
homepage = https://01.org/ell;
description = "Embedded Linux Library";
license = licenses.lgpl21;
longDescription = ''
The Embedded Linux* Library (ELL) provides core, low-level functionality for system daemons. It typically has no dependencies other than the Linux kernel, C standard library, and libdl (for dynamic linking). While ELL is designed to be efficient and compact enough for use on embedded Linux platforms, it is not limited to resource-constrained systems.
'';
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ mic92 dtzWill ];
};

View File

@ -0,0 +1,65 @@
--- a/Makefile.am
+++ b/Makefile.am
@@ -140,6 +140,7 @@
ell_libell_private_la_SOURCES = $(ell_libell_la_SOURCES)
AM_CFLAGS = -fvisibility=hidden -DUNITDIR=\""$(top_srcdir)/unit/"\" \
+ -DDBUS_DAEMON=\""$(DBUS_DAEMONDIR)/dbus-daemon"\" \
-DCERTDIR=\""$(top_builddir)/unit/"\"
pkgconfigdir = $(libdir)/pkgconfig
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,8 @@
AC_PREFIX_DEFAULT(/usr/local)
+PKG_PROG_PKG_CONFIG
+
COMPILER_FLAGS
AC_LANG_C
@@ -131,6 +133,10 @@
AC_CHECK_PROG(have_xxd, [xxd], [yes], [no])
fi
+PKG_CHECK_MODULES(DBUS, dbus-1, dummy=yes,
+ AC_MSG_ERROR(D-Bus is required for running tests))
+PKG_CHECK_VAR(DBUS_DAEMONDIR, dbus-1, daemondir)
+
AM_CONDITIONAL(DBUS_TESTS, test "${little_endian}" = "yes")
AM_CONDITIONAL(CERT_TESTS, test "${have_openssl}" = "yes")
--- a/unit/test-dbus-message-fds.c
+++ b/unit/test-dbus-message-fds.c
@@ -51,7 +51,7 @@
char *prg_envp[1];
pid_t pid;
- prg_argv[0] = "/usr/bin/dbus-daemon";
+ prg_argv[0] = DBUS_DAEMON;
prg_argv[1] = "--nopidfile";
prg_argv[2] = "--nofork";
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
--- a/unit/test-dbus-properties.c
+++ b/unit/test-dbus-properties.c
@@ -48,7 +48,7 @@
char *prg_envp[1];
pid_t pid;
- prg_argv[0] = "/usr/bin/dbus-daemon";
+ prg_argv[0] = DBUS_DAEMON;
prg_argv[1] = "--nopidfile";
prg_argv[2] = "--nofork";
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
--- a/unit/test-dbus.c
+++ b/unit/test-dbus.c
@@ -45,7 +45,7 @@
char *prg_envp[1];
pid_t pid;
- prg_argv[0] = "/usr/bin/dbus-daemon";
+ prg_argv[0] = DBUS_DAEMON;
prg_argv[1] = "--nopidfile";
prg_argv[2] = "--nofork";
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";