Unverified Commit 9ffd1c3e authored by Franz Pletz's avatar Franz Pletz Committed by GitHub
Browse files

Merge pull request #216947 from mkg20001/openwrt

parents 0e6e15e1 965ceade
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
{ 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";
+30 −0
Original line number Diff line number Diff line
{ stdenv, lib, fetchgit, cmake, pkg-config, libubox }:

stdenv.mkDerivation {
  pname = "uclient";
  version = "unstable-2022-02-24";

  src = fetchgit {
    url = "https://git.openwrt.org/project/uclient.git";
    rev = "644d3c7e13c6a64bf5cb628137ee5bd4dada4b74";
    sha256 = "0vy4whs64699whp92d1zl7a8kh16yrfywqq0yp2y809l9z19sw22";
  };

  nativeBuildInputs = [ cmake pkg-config ];
  buidInputs = [ libubox ];

  preConfigure = ''
    sed -e 's|ubox_include_dir libubox/ustream-ssl.h|ubox_include_dir libubox/ustream-ssl.h HINTS ${libubox}/include|g' \
        -e 's|ubox_library NAMES ubox|ubox_library NAMES ubox HINTS ${libubox}/lib|g' \
        -i CMakeLists.txt
  '';

  meta = with lib; {
    description = "Tiny OpenWrt fork of libnl";
    homepage = "https://git.openwrt.org/?p=project/uclient.git;a=summary";
    license = licenses.isc;
    maintainers = with maintainers; [ mkg20001 ];
    mainProgram = "uclient-fetch";
    platforms = platforms.all;
  };
}
+37 −0
Original line number Diff line number Diff line
{ stdenv, lib, fetchgit, cmake, pkg-config, libubox-nossl, ssl_implementation }:

stdenv.mkDerivation {
  pname = "ustream-ssl";
  version = "unstable-2022-12-08-${ssl_implementation.pname}";

  src = fetchgit {
    url = "https://git.openwrt.org/project/ustream-ssl.git";
    rev = "9217ab46536353c7c792951b57163063f5ec7a3b";
    sha256 = "1ldyyb3is213iljyccx98f56rb69rfpgdcb1kjxw9a176hvpipdd";
  };

  preConfigure = ''
    sed -r \
        -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
  '';

  cmakeFlags = [ "-D${lib.toUpper ssl_implementation.pname}=ON" ];

  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";
    license = licenses.isc;
    maintainers = with maintainers; [ fpletz ];
    platforms = platforms.all;
  };
}
+28 −0
Original line number Diff line number Diff line
{ stdenv, lib, fetchgit, cmake, pkg-config }:

stdenv.mkDerivation {
  pname = "libnl-tiny";
  version = "unstable-2022-12-13";

  src = fetchgit {
    url = "https://git.openwrt.org/project/libnl-tiny.git";
    rev = "f5d9b7e4f534a69cbd35c3f150fa6d57b9d631e4";
    sha256 = "0c5ycsdas8rr5c33gd0mnmm515dq631fmdjn5mp2j1m0j1bk7hc0";
  };

  nativeBuildInputs = [ cmake pkg-config ];

  preConfigure = ''
    sed -e 's|''${prefix}/@CMAKE_INSTALL_LIBDIR@|@CMAKE_INSTALL_FULL_LIBDIR@|g' \
        -e 's|''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@|@CMAKE_INSTALL_FULL_INCLUDEDIR@|g' \
        -i libnl-tiny.pc.in
  '';

  meta = with lib; {
    description = "Tiny OpenWrt fork of libnl";
    homepage = "https://git.openwrt.org/?p=project/libnl-tiny.git;a=summary";
    license = licenses.isc;
    maintainers = with maintainers; [ mkg20001 ];
    platforms = platforms.all;
  };
}
+17 −1
Original line number Diff line number Diff line
@@ -19388,6 +19388,14 @@ with pkgs;
  uci = callPackage ../development/libraries/uci { };
  uclient = callPackage ../development/libraries/uclient { };
  ustream-ssl = callPackage ../development/libraries/ustream-ssl { ssl_implementation = openssl; };
  ustream-ssl-wolfssl = callPackage ../development/libraries/ustream-ssl { ssl_implementation = wolfssl; };
  ustream-ssl-mbedtls = callPackage ../development/libraries/ustream-ssl { ssl_implementation = mbedtls_2; };
  uri = callPackage ../development/libraries/uri { stdenv = gcc10StdenvCompat; };
  cppcms = callPackage ../development/libraries/cppcms { };
@@ -21832,7 +21840,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 { };
@@ -26011,6 +26025,8 @@ with pkgs;
  libnl = callPackage ../os-specific/linux/libnl { };
  libnl-tiny = callPackage ../os-specific/linux/libnl-tiny { };
  libtraceevent = callPackage ../os-specific/linux/libtraceevent {};
  libtracefs = callPackage ../os-specific/linux/libtracefs {};