From patchwork Sat Nov 17 15:21:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: robert rose X-Patchwork-Id: 999322 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="R6dtiNCK"; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42xzN16vPxz9s9h for ; Sun, 18 Nov 2018 02:21:36 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 9FDE387BC8; Sat, 17 Nov 2018 15:21:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DJakleouHRBM; Sat, 17 Nov 2018 15:21:34 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id E222087BEE; Sat, 17 Nov 2018 15:21:33 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id B52A61BF289 for ; Sat, 17 Nov 2018 15:21:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id B6E3087BEE for ; Sat, 17 Nov 2018 15:21:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7QndUYxG4jgf for ; Sat, 17 Nov 2018 15:21:25 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) by hemlock.osuosl.org (Postfix) with ESMTPS id 87AD787BC8 for ; Sat, 17 Nov 2018 15:21:25 +0000 (UTC) Received: by mail-pl1-f193.google.com with SMTP id v1-v6so5410285plo.2 for ; Sat, 17 Nov 2018 07:21:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=O2YYfqw/NTBPnzr/1We/ypOTYtA011ct6XGm5UK88HU=; b=R6dtiNCKtorhLcfjMHN34z21wg2SLcmtd8v0ox8WJtrVUraKmVTNhawDgIafb6Uecl R8RMy4dVAYHF4ktaX+fXodvrNDwEuqKrRui2Vzqp5A9sP591LGTubUDhAg3FOhj4Of0i 9G1Nylkjzy/rRaEP6/vUU5OGNA3SEa614ctUrSOwzKeOgfEzIH4bHXHuunp+v0DIPGvl UdeNUr6alTpdfhAl0frkdSowEyJciQDZurtSaqQN3PJ24pnVeP/smYpEFenwRew+rM07 wu56ypomOXlQltYdKSFfteo7QnVWtYFxyz1hbSE0jyx+InwtMhA7B2bvh4AEdHK0ISbl fxhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=O2YYfqw/NTBPnzr/1We/ypOTYtA011ct6XGm5UK88HU=; b=pIKHIaLHA16WIszv1KMjgF2WKoEeB9TNFXnHrs5/Uttd6Z57/Ij+U7ajzL6NnUizLz GaEOtR2c7In6g5MOeGQd+vBKhShS8UQ4Ezc2Q5KsVP3zgxlfhH1xI7l666OGfbCEwHaI T4T0fHQ/NqSeIrPkIzxEWfFqiXAMW64QXvnwx9kl29HUVWYip0e2HkuV2HparYP+Em9t j3VKE9VNA0ahiBcSuhzEpOfsx4m8z4GPlCGdsgPfmRMd97KiiwlDq/RpajawyDgMhOBO Vi3irtT3bfPKTK3S8LkHwMn+HxvZM8f4H0VqZkLQ7jyudu9l1HxRx67AXRTzaf0KWv/U XN6g== X-Gm-Message-State: AGRZ1gJUz6AWPwRYDOhee5+FpVNxaC1aDik4zBFUwoUknIK4f8ZaA66M pRY5J8e6pkvYq8b1EYb4FX+EZv36 X-Google-Smtp-Source: AJdET5cViZrY+GaYgQThdcmbSLdozphNP/PvuDMnkC5SW5zaBHvaChfyB5afJhsrQ38RhMh/zHZ88g== X-Received: by 2002:a17:902:163:: with SMTP id 90-v6mr15615530plb.87.1542468084681; Sat, 17 Nov 2018 07:21:24 -0800 (PST) Received: from rrose-mini.hsd1.ca.comcast.net ([2601:644:8400:fe0a:e279:432a:7a7e:7fff]) by smtp.gmail.com with ESMTPSA id d202sm31818078pfd.58.2018.11.17.07.21.24 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 17 Nov 2018 07:21:24 -0800 (PST) From: Robert Rose To: buildroot@buildroot.org Date: Sat, 17 Nov 2018 07:21:15 -0800 Message-Id: <20181117152115.11888-1-robertroyrose@gmail.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH 1/1] grpc: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Robert Rose Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Signed-off-by: Robert Rose --- DEVELOPERS | 3 ++ package/Config.in | 1 + package/grpc/0001-grpc.patch | 60 ++++++++++++++++++++++++++++++++++++ package/grpc/Config.in | 10 ++++++ package/grpc/grpc.hash | 2 ++ package/grpc/grpc.mk | 34 ++++++++++++++++++++ 6 files changed, 110 insertions(+) create mode 100644 package/grpc/0001-grpc.patch create mode 100644 package/grpc/Config.in create mode 100644 package/grpc/grpc.hash create mode 100644 package/grpc/grpc.mk diff --git a/DEVELOPERS b/DEVELOPERS index 53467da489..437614c190 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1772,6 +1772,9 @@ F: package/subversion/ N: RJ Ascani F: package/azmq/ +N: Robert Rose +F: package/grpc + N: Rodrigo Rebello F: package/chocolate-doom/ F: package/irssi/ diff --git a/package/Config.in b/package/Config.in index b60e7700ad..2d0cc51797 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1495,6 +1495,7 @@ menu "Networking" source "package/freeradius-client/Config.in" source "package/geoip/Config.in" source "package/glib-networking/Config.in" + source "package/grpc/Config.in" source "package/gssdp/Config.in" source "package/gupnp/Config.in" source "package/gupnp-av/Config.in" diff --git a/package/grpc/0001-grpc.patch b/package/grpc/0001-grpc.patch new file mode 100644 index 0000000000..d276e7df19 --- /dev/null +++ b/package/grpc/0001-grpc.patch @@ -0,0 +1,60 @@ +diff -rc /usr/local/google/home/robertroyrose/grpc-1.16.0/CMakeLists.txt ./CMakeLists.txt +*** /usr/local/google/home/robertroyrose/grpc-1.16.0/CMakeLists.txt 2018-10-22 21:02:54.000000000 -0700 +--- ./CMakeLists.txt 2018-11-08 14:34:57.419741555 -0800 +*************** +*** 190,195 **** +--- 190,213 ---- + get_filename_component(REL_DIR ${REL_FIL} DIRECTORY) + set(RELFIL_WE "${REL_DIR}/${FIL_WE}") + ++ if(CMAKE_CROSSCOMPILING) ++ add_custom_command( ++ OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" ++ "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" ++ "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" ++ "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" ++ "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" ++ COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE} ++ ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR} ++ --cpp_out=${_gRPC_PROTO_GENS_DIR} ++ --plugin=protoc-gen-grpc=$ENV{HOST_DIR}/bin/grpc_cpp_plugin ++ ${_protobuf_include_path} ++ ${REL_FIL} ++ DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}" ++ VERBATIM) ++ else() + add_custom_command( + OUTPUT "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" + "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" +*************** +*** 206,211 **** +--- 224,230 ---- + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Running gRPC C++ protocol buffer compiler on ${FIL}" + VERBATIM) ++ endif() + + set_source_files_properties("${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.cc" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.grpc.pb.h" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}_mock.grpc.pb.h" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.cc" "${_gRPC_PROTO_GENS_DIR}/${RELFIL_WE}.pb.h" PROPERTIES GENERATED TRUE) + endforeach() +diff -rc /usr/local/google/home/robertroyrose/grpc-1.16.0/include/grpc/impl/codegen/port_platform.h ./include/grpc/impl/codegen/port_platform.h +*** /usr/local/google/home/robertroyrose/grpc-1.16.0/include/grpc/impl/codegen/port_platform.h 2018-10-22 21:02:54.000000000 -0700 +--- ./include/grpc/impl/codegen/port_platform.h 2018-11-08 14:10:44.097349975 -0800 +*************** +*** 462,468 **** + #define GPR_MAX_ALIGNMENT 16 + + #ifndef GRPC_ARES +! #define GRPC_ARES 1 + #endif + + #ifndef GRPC_MUST_USE_RESULT +--- 462,468 ---- + #define GPR_MAX_ALIGNMENT 16 + + #ifndef GRPC_ARES +! #define GRPC_ARES 0 + #endif + + #ifndef GRPC_MUST_USE_RESULT diff --git a/package/grpc/Config.in b/package/grpc/Config.in new file mode 100644 index 0000000000..2d8018ed85 --- /dev/null +++ b/package/grpc/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_GRPC + bool "grpc" + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PROTOBUF + select BR2_PACKAGE_ZLIB + help + A language-neutral, platform-neutral, open source, remote + procedure call (RPC) system initially developed at Google. + + http://github.com/grpc/grpc diff --git a/package/grpc/grpc.hash b/package/grpc/grpc.hash new file mode 100644 index 0000000000..8eca73e211 --- /dev/null +++ b/package/grpc/grpc.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 d99db0b39b490d2469a8ef74197d5f211fa740fc9581dccecbb76c56d080fce1 grpc-v1.16.0.tar.gz diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk new file mode 100644 index 0000000000..b193e3f340 --- /dev/null +++ b/package/grpc/grpc.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# grpc +# +################################################################################ + +GRPC_VERSION = v1.16.0 +GRPC_SOURCE = grpc-$(GRPC_VERSION).tar.gz +GRPC_SITE = $(call github,grpc,grpc,$(GRPC_VERSION)) +GRPC_LICENSE = Apache-2.0 +GRPC_LICENSE_FILES = LICENSE + +GRPC_INSTALL_STAGING = YES + +# N.B. Need to use host grpc_cpp_plugin during cross compilation. +GRPC_DEPENDENCIES = host-grpc openssl protobuf zlib +HOST_GRPC_DEPENDENCIES = host-openssl host-protobuf host-zlib + +GRPC_CONF_OPTS = \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_GFLAGS_PROVIDER=none \ + -DgRPC_BENCHMARK_PROVIDER=none \ + -DgRPC_SSL_PROVIDER=package + +HOST_GRPC_CONF_OPTS = \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_SSL_PROVIDER=package + +$(eval $(cmake-package)) +$(eval $(host-cmake-package))