Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/libhttpparser: New package
@ 2015-08-27 20:54 Renaud AUBIN
  2015-08-28 17:27 ` Thomas Petazzoni
  0 siblings, 1 reply; 2+ messages in thread
From: Renaud AUBIN @ 2015-08-27 20:54 UTC (permalink / raw)
  To: buildroot

http-parser provides a simple C API to parse HTTP responses and
requests.

This packaging uses the official Joyent repository.
---
 package/Config.in                      |  1 +
 package/libhttpparser/Config.in        | 13 +++++++++++++
 package/libhttpparser/libhttpparser.mk | 27 +++++++++++++++++++++++++++
 3 files changed, 41 insertions(+)
 create mode 100644 package/libhttpparser/Config.in
 create mode 100644 package/libhttpparser/libhttpparser.mk

diff --git a/package/Config.in b/package/Config.in
index 783fbb4..89d863d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -979,6 +979,7 @@ menu "Networking"
 	source "package/libeXosip2/Config.in"
 	source "package/libfcgi/Config.in"
 	source "package/libgsasl/Config.in"
+	source "package/libhttpparser/Config.in"
 	source "package/libidn/Config.in"
 	source "package/libiscsi/Config.in"
 	source "package/libmbus/Config.in"
diff --git a/package/libhttpparser/Config.in b/package/libhttpparser/Config.in
new file mode 100644
index 0000000..b8e6825
--- /dev/null
+++ b/package/libhttpparser/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LIBHTTPPARSER
+        bool "libhttpparser"
+        help
+          This is a parser for HTTP messages written in C. It
+          parses both requests and responses. The parser is
+          designed to be used in performance HTTP applications.
+          It does not make any syscalls nor allocations, it does
+          not buffer data, it can be interrupted at anytime.
+          Depending on your architecture, it only requires about
+          40 bytes of data per message stream (in a web server
+          that is per connection).
+
+          https://github.com/joyent/http-parser
diff --git a/package/libhttpparser/libhttpparser.mk b/package/libhttpparser/libhttpparser.mk
new file mode 100644
index 0000000..bcb26c7
--- /dev/null
+++ b/package/libhttpparser/libhttpparser.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# libhttp-parser
+#
+################################################################################
+
+LIBHTTPPARSER_VERSION = v2.5.0
+LIBHTTPPARSER_SITE = $(call github,joyent,http-parser,$(LIBHTTPPARSER_VERSION))
+LIBHTTPPARSER_INSTALL_STAGING = YES
+LIBHTTPPARSER_LICENSE = MIT
+LIBHTTPPARSER_LICENSE_FILES = LICENSE-MIT
+
+define LIBHTTPPARSER_BUILD_CMDS
+    $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_LD) -C $(@D) library package
+endef
+
+define LIBHTTPPARSER_INSTALL_STAGING_CMDS
+    $(INSTALL) -D -m 0755 $(@D)/libhttp_parser.a $(STAGING_DIR)/usr/lib/libhttp_parser.a
+    $(INSTALL) -D -m 0644 $(@D)/http_parser.h $(STAGING_DIR)/usr/include/http_parser.h
+    $(INSTALL) -D -m 0755 $(@D)/libhttp_parser.so* $(STAGING_DIR)/usr/lib
+endef
+
+define LIBHTTPPARSER_INSTALL_TARGET_CMDS
+    $(INSTALL) -D -m 0755 $(@D)/libhttp_parser.so* $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [Buildroot] [PATCH] package/libhttpparser: New package
  2015-08-27 20:54 [Buildroot] [PATCH] package/libhttpparser: New package Renaud AUBIN
@ 2015-08-28 17:27 ` Thomas Petazzoni
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni @ 2015-08-28 17:27 UTC (permalink / raw)
  To: buildroot

Dear Renaud AUBIN,

On Thu, 27 Aug 2015 22:54:56 +0200, Renaud AUBIN wrote:
> http-parser provides a simple C API to parse HTTP responses and
> requests.
> 
> This packaging uses the official Joyent repository.
> ---
>  package/Config.in                      |  1 +
>  package/libhttpparser/Config.in        | 13 +++++++++++++
>  package/libhttpparser/libhttpparser.mk | 27 +++++++++++++++++++++++++++
>  3 files changed, 41 insertions(+)
>  create mode 100644 package/libhttpparser/Config.in
>  create mode 100644 package/libhttpparser/libhttpparser.mk

Thanks, I've applied your patch to the next branch, after doing some
changes:

    [Thomas:
     - since we're always building the shared library, depend on
       !BR2_STATIC_LIBS in Config.in. We could build only the static
       library, but then we would have to do all the lib installation
       manually.
     - indent using tabs in Config.in
     - use 'make install' instead of handcoding the library installation.
     - use $(TARGET_CONFIGURE_OPTS) instead of just CC= and LD=.
     - use tabs for indentation in commands instead of spaces
     - add patch to fix reinstallation.]

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-08-28 17:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-27 20:54 [Buildroot] [PATCH] package/libhttpparser: New package Renaud AUBIN
2015-08-28 17:27 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox