summaryrefslogtreecommitdiff
path: root/pkgs/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/libraries')
-rw-r--r--pkgs/libraries/base64c/default.nix27
-rw-r--r--pkgs/libraries/logc-libs/0001-tests-cmzq-try-to-fix-test-failure.patch31
-rw-r--r--pkgs/libraries/logc-libs/default.nix29
-rw-r--r--pkgs/libraries/logc/0001-configure.ac-fix-cross-compilation.patch28
-rw-r--r--pkgs/libraries/logc/default.nix32
-rw-r--r--pkgs/libraries/paho-mqtt-c/default.nix24
6 files changed, 171 insertions, 0 deletions
diff --git a/pkgs/libraries/base64c/default.nix b/pkgs/libraries/base64c/default.nix
new file mode 100644
index 0000000..9cb6def
--- /dev/null
+++ b/pkgs/libraries/base64c/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchgit
+, bootstrapHook, pkg-config
+, check
+}:
+
+stdenv.mkDerivation rec {
+ pname = "base64c";
+ version = "0.2.1";
+ meta = with lib; {
+ homepage = "https://gitlab.nic.cz/turris/base64c";
+ description = "Base64 encoding/decoding library for C";
+ license = licenses.mit;
+ };
+
+ src = fetchgit {
+ url = "https://gitlab.nic.cz/turris/base64c.git";
+ rev = "v" + version;
+ sha256 = "09qgx2qcni6cmk9mwiis843wgp3f85mh2c3sm0w37ib0bcxdvq7x";
+ };
+
+ nativeBuildInputs = [bootstrapHook pkg-config];
+ depsBuildBuild = [check];
+
+ doCheck = true;
+ doInstallCheck = true;
+ configureFlags = lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "--enable-tests";
+}
diff --git a/pkgs/libraries/logc-libs/0001-tests-cmzq-try-to-fix-test-failure.patch b/pkgs/libraries/logc-libs/0001-tests-cmzq-try-to-fix-test-failure.patch
new file mode 100644
index 0000000..349bf91
--- /dev/null
+++ b/pkgs/libraries/logc-libs/0001-tests-cmzq-try-to-fix-test-failure.patch
@@ -0,0 +1,31 @@
+From ecd66fc7d0079093fc56c16233c1fb2e88879df3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= <karel.koci@nic.cz>
+Date: Thu, 24 Feb 2022 17:52:59 +0100
+Subject: [PATCH] tests/cmzq: try to fix test failure
+
+The errno seems to be possibly set by logc_czmq_init and thus we have to
+reset errno after that.
+---
+ tests/czmq.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/czmq.c b/tests/czmq.c
+index b6244d1..f25ab07 100644
+--- a/tests/czmq.c
++++ b/tests/czmq.c
+@@ -10,11 +10,11 @@ char *stderr_data;
+ size_t stderr_len;
+
+ void f_setup() {
+- errno = 0;
+ orig_stderr = stderr;
+ stderr = open_memstream(&stderr_data, &stderr_len);
+ logc_czmq_init();
+ log_set_level(log_czmq, LL_DEBUG);
++ errno = 0;
+ }
+ void f_teardown() {
+ ck_assert_int_eq(errno, 0);
+--
+2.35.1
+
diff --git a/pkgs/libraries/logc-libs/default.nix b/pkgs/libraries/logc-libs/default.nix
new file mode 100644
index 0000000..f8e4a57
--- /dev/null
+++ b/pkgs/libraries/logc-libs/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchgit
+, bootstrapHook, pkg-config
+, logc, czmq, libevent
+, check
+}:
+
+stdenv.mkDerivation rec {
+ pname = "logc-libs";
+ version = "0.1.0";
+ meta = with lib; {
+ homepage = "https://gitlab.nic.cz/turris/logc-libs";
+ description = "Logging for C";
+ license = licenses.mit;
+ };
+
+ src = fetchgit {
+ url = "https://gitlab.nic.cz/turris/logc-libs.git";
+ rev = "v" + version;
+ sha256 = "11b89742k81wbb0mc4r13l2sviz720qgl06v4wnjwlmi9x4pzy1a";
+ };
+
+ buildInputs = [logc czmq libevent];
+ nativeBuildInputs = [bootstrapHook pkg-config];
+ depsBuildBuild = [check];
+
+ doCheck = false; # TODO the test fails due to errno being set by czmq for some reason
+ doInstallCheck = false;
+ configureFlags = lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "--enable-tests";
+}
diff --git a/pkgs/libraries/logc/0001-configure.ac-fix-cross-compilation.patch b/pkgs/libraries/logc/0001-configure.ac-fix-cross-compilation.patch
new file mode 100644
index 0000000..3c0fafe
--- /dev/null
+++ b/pkgs/libraries/logc/0001-configure.ac-fix-cross-compilation.patch
@@ -0,0 +1,28 @@
+From 7105fb9859f4d3264dbaaee5dc7596c561dc3e1a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= <karel.koci@nic.cz>
+Date: Tue, 4 Jan 2022 18:38:38 +0100
+Subject: [PATCH] configure.ac: fix cross compilation
+
+The AC_CHECK_FILE is not supported when cross compiling. We can just use
+plain AS_IF with test for the same effect.
+---
+ CHANGELOG.md | 1 +
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5946a53..b6d42ea 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -18,7 +18,7 @@ PKG_INSTALLDIR
+ AX_CHECK_COMPILE_FLAG([-std=c11], , AC_MSG_ERROR([Compiler with C11 standard support is required]))
+ AX_APPEND_FLAG([-std=c11])
+
+-AC_CHECK_FILE([${0%/*}/bootstrap],[
++AS_IF([test -x "${0%/*}/bootstrap" ],[
+ AC_PATH_PROG([GPERF], [gperf])
+ AS_IF([test -z "$GPERF"], [AC_MSG_ERROR([Missing gperf generator])])
+ ])
+--
+2.35.1
+
diff --git a/pkgs/libraries/logc/default.nix b/pkgs/libraries/logc/default.nix
new file mode 100644
index 0000000..6ffd8f4
--- /dev/null
+++ b/pkgs/libraries/logc/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchgit
+, bootstrapHook, pkg-config, gperf
+, libconfig
+, check
+}:
+
+stdenv.mkDerivation rec {
+ pname = "logc";
+ version = "0.4.0";
+ meta = with lib; {
+ homepage = "https://gitlab.nic.cz/turris/logc";
+ description = "Logging for C";
+ license = licenses.mit;
+ };
+
+ src = fetchgit {
+ url = "https://gitlab.nic.cz/turris/logc.git";
+ rev = "v" + version;
+ sha256 = "15nplgjgg6dxryy4yzbj4524y77ci0syi970rmbr955m9vxvhrib";
+ };
+ patches = [
+ ./0001-configure.ac-fix-cross-compilation.patch
+ ];
+
+ buildInputs = [libconfig];
+ nativeBuildInputs = [bootstrapHook pkg-config gperf];
+ depsBuildBuild = [check];
+
+ doCheck = true;
+ doInstallCheck = true;
+ configureFlags = lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "--enable-tests";
+}
diff --git a/pkgs/libraries/paho-mqtt-c/default.nix b/pkgs/libraries/paho-mqtt-c/default.nix
new file mode 100644
index 0000000..545af96
--- /dev/null
+++ b/pkgs/libraries/paho-mqtt-c/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchurl
+, cmake
+, openssl
+}:
+
+stdenv.mkDerivation rec {
+ pname = "paho-mqtt-c";
+ version = "1.3.9";
+ meta = with lib; {
+ homepage = "https://eclipse.org/paho";
+ description = "An Eclipse Paho C client library for MQTT";
+ license = licenses.epl20;
+ };
+
+ src = fetchurl {
+ url = "https://github.com/eclipse/paho.mqtt.c/archive/refs/tags/v" + version + ".tar.gz";
+ sha256 = "1v9m4mx47bhahzda5sf5zp80shbaizymfbdidm8hsvfgl5grnv1q";
+ };
+
+ buildInputs = [openssl];
+ nativeBuildInputs = [cmake];
+
+ cmakeFlags = ["-DPAHO_WITH_SSL=TRUE" "-DPAHO_HIGH_PERFORMANCE=TRUE"];
+}