Clight: update to 4.1.
Includes upstream patch to enable compilation on ARM archs.
This commit is contained in:
parent
331f6200dd
commit
9107bd50dc
2 changed files with 84 additions and 3 deletions
81
srcpkgs/Clight/patches/bus.c.patch
Normal file
81
srcpkgs/Clight/patches/bus.c.patch
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
diff --git src/modules/bus.c src/modules/bus.c
|
||||||
|
index 00f49cf..7e65fef 100644
|
||||||
|
--- src/modules/bus.c
|
||||||
|
+++ src/modules/bus.c
|
||||||
|
@@ -2,7 +2,6 @@
|
||||||
|
|
||||||
|
#define GET_BUS(a) sd_bus *tmp = a->bus; if (!tmp) { tmp = a->type == USER_BUS ? userbus : sysbus; } if (!tmp) { return -1; }
|
||||||
|
|
||||||
|
-static int _call(const bus_args *a, const char *signature, va_list args_va, const void **args_ptr, bool expect_reply);
|
||||||
|
static void free_bus_structs(sd_bus_error *err, sd_bus_message *m, sd_bus_message *reply);
|
||||||
|
static int check_err(int *r, sd_bus_error *err, const char *caller);
|
||||||
|
|
||||||
|
@@ -66,7 +65,10 @@ static void receive(const msg_t *const msg, UNUSED const void* userdata) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int _call(const bus_args *a, const char *signature, va_list args_va, const void **args_ptr, bool expect_reply) {
|
||||||
|
+/*
|
||||||
|
+ * Call a method on bus and store its result of type userptr_type in userptr.
|
||||||
|
+ */
|
||||||
|
+int call(const bus_args *a, const char *signature, ...) {
|
||||||
|
sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||||
|
sd_bus_message *m = NULL, *reply = NULL;
|
||||||
|
GET_BUS(a);
|
||||||
|
@@ -76,26 +78,20 @@ static int _call(const bus_args *a, const char *signature, va_list args_va, cons
|
||||||
|
goto finish;
|
||||||
|
}
|
||||||
|
|
||||||
|
- r = sd_bus_message_set_expect_reply(m, expect_reply);
|
||||||
|
+ r = sd_bus_message_set_expect_reply(m, a->reply_cb != NULL);
|
||||||
|
if (check_err(&r, &error, a->caller)) {
|
||||||
|
goto finish;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (args_va) {
|
||||||
|
- sd_bus_message_appendv(m, signature, args_va);
|
||||||
|
- } else if (args_ptr) {
|
||||||
|
- int len = strlen(signature);
|
||||||
|
- if (len == 1) {
|
||||||
|
- sd_bus_message_append_basic(m, signature[0], args_ptr);
|
||||||
|
- } else {
|
||||||
|
- for (int i = 0; i < len; i++) {
|
||||||
|
- sd_bus_message_append_basic(m, signature[i], args_ptr[i]);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ if (signature && strlen(signature)) {
|
||||||
|
+ va_list args;
|
||||||
|
+ va_start(args, signature);
|
||||||
|
+ sd_bus_message_appendv(m, signature, args);
|
||||||
|
+ va_end(args);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check if we need to wait for a response message */
|
||||||
|
- if (expect_reply) {
|
||||||
|
+ if (a->reply_cb != NULL) {
|
||||||
|
r = sd_bus_call(tmp, m, 0, &error, &reply);
|
||||||
|
if (check_err(&r, &error, a->caller)) {
|
||||||
|
goto finish;
|
||||||
|
@@ -111,22 +107,6 @@ finish:
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
-/*
|
||||||
|
- * Call a method on bus and store its result of type userptr_type in userptr.
|
||||||
|
- */
|
||||||
|
-int call(const bus_args *a, const char *signature, ...) {
|
||||||
|
- int r = 0;
|
||||||
|
- if (signature) {
|
||||||
|
- va_list args;
|
||||||
|
- va_start(args, signature);
|
||||||
|
- r = _call(a, signature, args, NULL, a->reply_cb != NULL);
|
||||||
|
- va_end(args);
|
||||||
|
- } else {
|
||||||
|
- r = _call(a, signature, NULL, NULL, a->reply_cb != NULL);
|
||||||
|
- }
|
||||||
|
- return r;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* Add a match on bus on certain signal for cb callback
|
||||||
|
*/
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'Clight'
|
# Template file for 'Clight'
|
||||||
pkgname=Clight
|
pkgname=Clight
|
||||||
version=4.0
|
version=4.1
|
||||||
revision=2
|
revision=1
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
hostmakedepends="pkg-config"
|
hostmakedepends="pkg-config"
|
||||||
makedepends="popt-devel gsl-devel libconfig-devel elogind-devel bash-completion
|
makedepends="popt-devel gsl-devel libconfig-devel elogind-devel bash-completion
|
||||||
|
@ -12,4 +12,4 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
|
||||||
license="GPL-3.0-or-later"
|
license="GPL-3.0-or-later"
|
||||||
homepage="https://github.com/FedeDP/Clight"
|
homepage="https://github.com/FedeDP/Clight"
|
||||||
distfiles="https://github.com/FedeDP/Clight/archive/${version}.tar.gz"
|
distfiles="https://github.com/FedeDP/Clight/archive/${version}.tar.gz"
|
||||||
checksum=ae1deba71d376b14acc2a7495b1a6a4ed43fa438c59c1d4fcb2648d44964bd71
|
checksum=84156f3dfd9ab863be25d3efc8b5d6d6043ba4a0b44259c2a1cee1367b3c97aa
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue