From patchwork Fri Sep 21 20:56:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabrice Fontaine X-Patchwork-Id: 973429 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.136; helo=silver.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="fJF6vQcQ"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42H5Vv4gm3z9s4Z for ; Sat, 22 Sep 2018 06:56:39 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 89110220EC; Fri, 21 Sep 2018 20:56:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E03Hp6nngYfD; Fri, 21 Sep 2018 20:56:36 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id A2A2A237C4; Fri, 21 Sep 2018 20:56:36 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id B434F1C1FAF for ; Fri, 21 Sep 2018 20:56:35 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id B1F1787209 for ; Fri, 21 Sep 2018 20:56:35 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LNqgq2QdYff8 for ; Fri, 21 Sep 2018 20:56:35 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by fraxinus.osuosl.org (Postfix) with ESMTPS id A8F4C871EA for ; Fri, 21 Sep 2018 20:56:34 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id s14-v6so14030677wrw.6 for ; Fri, 21 Sep 2018 13:56:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=AoMpe/WAXgGMZt9PyHSj6uvcQ5UrEtw3yY0kUv9yu9I=; b=fJF6vQcQ0fJtM3uPV7NbKDE85ym+aAsQuU5QKdTrvzlMhwrIuRbuoM/HUqknsdBwRG VFQlMQwkeJIW7jEti2qmD12mfTGlkRhZ+pnHaIk80ziybelvhcgfiiB0bgi37aEEuACU kj72plZWKg30FFuCK1M+LKQ4qEURDt4yKOFZ6vZcF5RNuKnZpa2TUbpmnvTbTXbypXW+ Y2FlriBdvM3TLR1vCS+hWZ5DuadNLTwNev5So3ZKMzRoV6EZGswB65G8jD/b2F/PcfqD jPiLbBl/bQJRPaxdXV2Pd3feCbRoL3uaZ5gH4BCkpdWWbNXmEk6hOW8bLXkARNCBAeaq RnjA== 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; bh=AoMpe/WAXgGMZt9PyHSj6uvcQ5UrEtw3yY0kUv9yu9I=; b=nyRtWKMie1N2yPoWoTZEb+MVxOL2CpJ/HqRjMsAS1QGLpzUB1kEibv4zw8hFgYuMFZ 5zSbgQMxUaYKDO/MI+bEmhxpiqcjHb876a5a5xTY1JqzbJwSl7zpIjowsCFCPpRaVzWL 55vB64m7gdMHSa66puI/49t5vxoc7LDztt1ITh8Gl+aLmdyP+HWAGeHCidxv72HkmGHt 4R3Fr7r48QCy3w30Bmpjus5Ge8SYll9s5KbLsqo0kX/v3EJXUpD41R00kLOJkSh5Jqk9 v7cF7NwVhier8hoqgjTMXLPGJFn9S2Z17i4F6SNKdlTaNpAb/cinBBna7LVbeoj3zifd 5o/g== X-Gm-Message-State: APzg51AwxDkqTxK2kEk7V0NdlUrwPqx8C/ZIg0qe/hVxQfPmYWMnwrHS FWTjDkOELe3cJ6cKwJZhgJ+dmLsQ X-Google-Smtp-Source: ANB0VdZpurN5acvkcUf9IW0Ykm2T2G1QKTQFz642wBbzAzD+8gGU198yqrQnbwTSn29RXqZpWZTVBA== X-Received: by 2002:adf:bd10:: with SMTP id j16-v6mr38495669wrh.267.1537563392723; Fri, 21 Sep 2018 13:56:32 -0700 (PDT) Received: from localhost.localdomain (ARennes-656-1-284-254.w109-218.abo.wanadoo.fr. [109.218.204.254]) by smtp.gmail.com with ESMTPSA id t20-v6sm4945623wmi.24.2018.09.21.13.56.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Sep 2018 13:56:32 -0700 (PDT) From: Fabrice Fontaine To: buildroot@buildroot.org Date: Fri, 21 Sep 2018 22:56:19 +0200 Message-Id: <20180921205619.25242-1-fontaine.fabrice@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [Buildroot] [PATCH 1/1] haproxy: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.24 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fabrice Fontaine MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. http://www.haproxy.org Signed-off-by: Fabrice Fontaine --- DEVELOPERS | 1 + package/Config.in | 1 + package/haproxy/Config.in | 10 +++++ package/haproxy/haproxy.hash | 5 +++ package/haproxy/haproxy.mk | 85 ++++++++++++++++++++++++++++++++++++ 5 files changed, 102 insertions(+) create mode 100644 package/haproxy/Config.in create mode 100644 package/haproxy/haproxy.hash create mode 100644 package/haproxy/haproxy.mk diff --git a/DEVELOPERS b/DEVELOPERS index 84129553c5..d71c7bd500 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -742,6 +742,7 @@ F: package/gssdp/ F: package/gupnp/ F: package/gupnp-dlna/ F: package/gupnp-tools/ +F: package/haproxy/ F: package/hiredis/ F: package/i2pd/ F: package/igd2-for-linux/ diff --git a/package/Config.in b/package/Config.in index c04645a30b..0d8fd8149f 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1789,6 +1789,7 @@ menu "Networking applications" source "package/gupnp-tools/Config.in" source "package/gutenprint/Config.in" source "package/hans/Config.in" + source "package/haproxy/Config.in" source "package/hiawatha/Config.in" source "package/hostapd/Config.in" source "package/hplip/Config.in" diff --git a/package/haproxy/Config.in b/package/haproxy/Config.in new file mode 100644 index 0000000000..cbcbc0c388 --- /dev/null +++ b/package/haproxy/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_HAPROXY + bool "haproxy" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + help + HAProxy is a free, very fast and reliable solution offering + high availability, load balancing, and proxying for TCP and + HTTP-based applications. + + http://www.haproxy.org diff --git a/package/haproxy/haproxy.hash b/package/haproxy/haproxy.hash new file mode 100644 index 0000000000..e6fcb3b65c --- /dev/null +++ b/package/haproxy/haproxy.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 2bf5dafbb5f1530c0e67ab63666565de948591f8e0ee2a1d3c84c45e738220f1 haproxy-1.8.13.tar.gz +sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt +sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 doc/gpl.txt diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk new file mode 100644 index 0000000000..ba0ebef1f3 --- /dev/null +++ b/package/haproxy/haproxy.mk @@ -0,0 +1,85 @@ +################################################################################ +# +# haproxy +# +################################################################################ + +HAPROXY_VERSION_MAJOR = 1.8 +HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).13 +HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src +HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions +HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt + +HAPROXY_MAKE_OPTS = \ + LD=$(TARGET_CC) \ + PREFIX=/usr \ + TARGET=custom + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +HAPROXY_LIBS += -latomic +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +HAPROXY_MAKE_OPTS += USE_THREAD=1 +endif + +ifeq ($(BR2_PACKAGE_LUA_5_3),y) +HAPROXY_DEPENDENCIES += lua +HAPROXY_MAKE_OPTS += USE_LUA=1 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +HAPROXY_DEPENDENCIES += openssl +HAPROXY_MAKE_OPTS += USE_OPENSSL=1 +ifeq ($(BR2_STATIC_LIBS),y) +HAPROXY_LIBS += -lz +endif +endif + +# pcre and pcre2 can't be enabled at the same time so prefer pcre2 +# Set PCRE2_DIR as by haproxy will try to use pcre2-config and will default to +# /usr/local +ifeq ($(BR2_PACKAGE_PCRE2),y) +HAPROXY_DEPENDENCIES += pcre2 +HAPROXY_MAKE_OPTS += \ + PCRE2DIR=$(STAGING_DIR)/usr \ + USE_PCRE2=1 + +# Again, set manually PCRE2_LDFLAGS or default will contain -L/usr/local +ifeq ($(BR2_PACKAGE_PCRE2_32),y) +HAPROXY_MAKE_OPTS += PCRE2_LDFLAGS=-lpcre2-32 +else ifeq ($(BR2_PACKAGE_PCRE2_16),y) +HAPROXY_MAKE_OPTS += PCRE2_LDFLAGS=-lpcre2-16 +else +HAPROXY_MAKE_OPTS += PCRE2_LDFLAGS=-lpcre2-8 +endif +else ifeq ($(BR2_PACKAGE_PCRE),y) +HAPROXY_DEPENDENCIES += pcre +HAPROXY_MAKE_OPTS += \ + PCREDIR=$(STAGING_DIR)/usr \ + USE_PCRE=1 +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +HAPROXY_DEPENDENCIES += systemd +HAPROXY_MAKE_OPTS += USE_SYSTEMD=1 +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +HAPROXY_DEPENDENCIES += zlib +HAPROXY_MAKE_OPTS += USE_ZLIB=1 +endif + +HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)" + +define HAPROXY_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(HAPROXY_MAKE_OPTS) -C $(@D) +endef + +define HAPROXY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(HAPROXY_MAKE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package))