libubox: add ssl flavours

This commit is contained in:
Maciej Krüger 2023-02-08 21:24:06 +01:00
parent 43ce59c656
commit e0fbf34964
No known key found for this signature in database
GPG key ID: 0D948CE19CF49C5F
3 changed files with 25 additions and 8 deletions

View file

@ -1,8 +1,8 @@
{ stdenv, lib, fetchgit, cmake, pkg-config, json_c, with_lua ? false, lua5_1 }:
{ stdenv, lib, fetchgit, cmake, pkg-config, json_c, with_lua ? false, lua5_1, with_ustream_ssl ? false, ustream-ssl }:
stdenv.mkDerivation {
pname = "libubox";
version = "unstable-2023-01-03";
version = "unstable-2023-01-03${lib.optionalString with_ustream_ssl "-${ustream-ssl.ssl_implementation.pname}"}";
src = fetchgit {
url = "https://git.openwrt.org/project/libubox.git";
@ -13,7 +13,14 @@ stdenv.mkDerivation {
cmakeFlags = [ "-DBUILD_EXAMPLES=OFF" (if with_lua then "-DLUAPATH=${placeholder "out"}/lib/lua" else "-DBUILD_LUA=OFF") ];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ json_c ] ++ lib.optional with_lua lua5_1;
buildInputs = [ json_c ] ++ lib.optional with_lua lua5_1 ++ lib.optional with_ustream_ssl ustream-ssl;
postInstall = lib.optionalString with_ustream_ssl ''
for fin in $(find ${ustream-ssl} -type f); do
fout="''${fin/"${ustream-ssl}"/"''${out}"}"
ln -s "$fin" "$fout"
done
'';
meta = with lib; {
description = "C utility functions for OpenWrt";

View file

@ -1,8 +1,8 @@
{ stdenv, lib, fetchgit, cmake, pkg-config, libubox, ssl_implementation }:
{ stdenv, lib, fetchgit, cmake, pkg-config, libubox-nossl, ssl_implementation }:
stdenv.mkDerivation {
pname = "ustream-ssl";
version = "unstable-2022-12-08";
version = "unstable-2022-12-08-${ssl_implementation.pname}";
src = fetchgit {
url = "https://git.openwrt.org/project/ustream-ssl.git";
@ -12,8 +12,8 @@ stdenv.mkDerivation {
preConfigure = ''
sed -r \
-e "s|ubox_include_dir libubox/ustream.h|ubox_include_dir libubox/ustream.h HINTS ${libubox}/include|g" \
-e "s|ubox_library NAMES ubox|ubox_library NAMES ubox HINTS ${libubox}/lib|g" \
-e "s|ubox_include_dir libubox/ustream.h|ubox_include_dir libubox/ustream.h HINTS ${libubox-nossl}/include|g" \
-e "s|ubox_library NAMES ubox|ubox_library NAMES ubox HINTS ${libubox-nossl}/lib|g" \
-e "s|^ FIND_LIBRARY\((.+)\)| FIND_LIBRARY\(\1 HINTS ${if ssl_implementation ? lib then ssl_implementation.lib else ssl_implementation.out}\)|g" \
-i CMakeLists.txt
'';
@ -23,6 +23,10 @@ stdenv.mkDerivation {
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ ssl_implementation ];
passthru = {
inherit ssl_implementation;
};
meta = with lib; {
description = "ustream SSL wrapper";
homepage = "https://git.openwrt.org/?p=project/ustream-ssl.git;a=summary";

View file

@ -21751,7 +21751,13 @@ with pkgs;
libu2f-server = callPackage ../development/libraries/libu2f-server { };
libubox = callPackage ../development/libraries/libubox { };
libubox-nossl = callPackage ../development/libraries/libubox { };
libubox = callPackage ../development/libraries/libubox { with_ustream_ssl = true; };
libubox-wolfssl = callPackage ../development/libraries/libubox { with_ustream_ssl = true; ustream-ssl = ustream-ssl-wolfssl; };
libubox-mbedtls = callPackage ../development/libraries/libubox { with_ustream_ssl = true; ustream-ssl = ustream-ssl-mbedtls; };
libudev-zero = callPackage ../development/libraries/libudev-zero { };