aboutsummaryrefslogtreecommitdiffstats
path: root/testing/http-parser
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2016-03-27 23:01:19 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2016-03-30 08:26:05 +0000
commite379b72e209d55a68ac76a614c358e7bb8ea23f1 (patch)
treeac52f0611b80b1b9e3bf4bbcda6318b72b862ca3 /testing/http-parser
parent83c66b420d4c2bd4b8a93e1fe243161ce8efc22d (diff)
downloadaports-e379b72e209d55a68ac76a614c358e7bb8ea23f1.tar.bz2
aports-e379b72e209d55a68ac76a614c358e7bb8ea23f1.tar.xz
testing/http-parser: new abuild
https://github.com/nodejs/http-parser HTTP request/response parser for C
Diffstat (limited to 'testing/http-parser')
-rw-r--r--testing/http-parser/0001-makefile-fix-DESTDIR-usage.patch64
-rw-r--r--testing/http-parser/0002-makefile-quote-variables.patch50
-rw-r--r--testing/http-parser/0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch35
-rw-r--r--testing/http-parser/0004-makefile-add-CFLAGS-to-linking-command.patch31
-rw-r--r--testing/http-parser/0005-makefile-fix-install-rule-dependency.patch33
-rw-r--r--testing/http-parser/APKBUILD63
6 files changed, 276 insertions, 0 deletions
diff --git a/testing/http-parser/0001-makefile-fix-DESTDIR-usage.patch b/testing/http-parser/0001-makefile-fix-DESTDIR-usage.patch
new file mode 100644
index 0000000000..a819cf441d
--- /dev/null
+++ b/testing/http-parser/0001-makefile-fix-DESTDIR-usage.patch
@@ -0,0 +1,64 @@
+From 7fbc87986baa09c342abb21e34613e8bbdc3c9c7 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@hasufell.de>
+Date: Mon, 2 Nov 2015 16:24:43 +0100
+Subject: [PATCH 1/4] makefile: fix DESTDIR usage
+
+DESTDIR is not supposed to be set inside other variables. It is
+standard to have this variable in install/uninstall rules, so it
+can be reliably set separately no matter what other variables are set
+to.
+This also avoids potential bugs with setting SONAME or seds on
+installed files (like pkgconfig) which then might include the
+temporary DESTDIR directory.
+
+DESTDIR is really just for installing into a temporary directory or
+a chroot, mostly used by package managers.
+---
+ Makefile | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 33c8ba0..76153a0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -55,7 +55,7 @@ CFLAGS_LIB = $(CFLAGS_FAST) -fPIC
+ LDFLAGS_LIB = $(LDFLAGS) -shared
+
+ INSTALL ?= install
+-PREFIX ?= $(DESTDIR)/usr/local
++PREFIX ?= /usr/local
+ LIBDIR = $(PREFIX)/lib
+ INCLUDEDIR = $(PREFIX)/include
+
+@@ -123,19 +123,19 @@ tags: http_parser.c http_parser.h test.c
+ ctags $^
+
+ install: library
+- $(INSTALL) -D http_parser.h $(INCLUDEDIR)/http_parser.h
+- $(INSTALL) -D $(SONAME) $(LIBDIR)/$(SONAME)
+- ln -s $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT)
++ $(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h
++ $(INSTALL) -D $(SONAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
++ ln -s $(LIBDIR)/$(SONAME) $(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)
+
+ install-strip: library
+- $(INSTALL) -D http_parser.h $(INCLUDEDIR)/http_parser.h
+- $(INSTALL) -D -s $(SONAME) $(LIBDIR)/$(SONAME)
+- ln -s $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT)
++ $(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h
++ $(INSTALL) -D -s $(SONAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
++ ln -s $(LIBDIR)/$(SONAME) $(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)
+
+ uninstall:
+- rm $(INCLUDEDIR)/http_parser.h
+- rm $(LIBDIR)/$(SONAME)
+- rm $(LIBDIR)/libhttp_parser.so
++ rm $(DESTDIR)$(INCLUDEDIR)/http_parser.h
++ rm $(DESTDIR)$(LIBDIR)/$(SONAME)
++ rm $(DESTDIR)$(LIBDIR)/libhttp_parser.so
+
+ clean:
+ rm -f *.o *.a tags test test_fast test_g \
+--
+2.6.1
+
diff --git a/testing/http-parser/0002-makefile-quote-variables.patch b/testing/http-parser/0002-makefile-quote-variables.patch
new file mode 100644
index 0000000000..096ac6b6bd
--- /dev/null
+++ b/testing/http-parser/0002-makefile-quote-variables.patch
@@ -0,0 +1,50 @@
+From 9bce473ba7417b45bfdb59d4151a8857dcfff4ad Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@hasufell.de>
+Date: Mon, 2 Nov 2015 16:27:06 +0100
+Subject: [PATCH 2/4] makefile: quote variables
+
+Make does not take care of this in make rules. If any of the variables
+DESTDIR, INCLUDEDIR or LIBDIR contain whitespaces, then the related
+install command will fail.
+
+This is even more important for the uninstall rule.
+---
+ Makefile | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 76153a0..8c4a9d7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -123,19 +123,19 @@ tags: http_parser.c http_parser.h test.c
+ ctags $^
+
+ install: library
+- $(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h
+- $(INSTALL) -D $(SONAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
+- ln -s $(LIBDIR)/$(SONAME) $(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)
++ $(INSTALL) -D http_parser.h "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
++ $(INSTALL) -D $(SONAME) "$(DESTDIR)$(LIBDIR)/$(SONAME)"
++ ln -s $(LIBDIR)/$(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
+
+ install-strip: library
+- $(INSTALL) -D http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h
+- $(INSTALL) -D -s $(SONAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
+- ln -s $(LIBDIR)/$(SONAME) $(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)
++ $(INSTALL) -D http_parser.h "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
++ $(INSTALL) -D -s $(SONAME) "$(DESTDIR)$(LIBDIR)/$(SONAME)"
++ ln -s $(LIBDIR)/$(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
+
+ uninstall:
+- rm $(DESTDIR)$(INCLUDEDIR)/http_parser.h
+- rm $(DESTDIR)$(LIBDIR)/$(SONAME)
+- rm $(DESTDIR)$(LIBDIR)/libhttp_parser.so
++ rm "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
++ rm "$(DESTDIR)$(LIBDIR)/$(SONAME)"
++ rm "$(DESTDIR)$(LIBDIR)/libhttp_parser.so"
+
+ clean:
+ rm -f *.o *.a tags test test_fast test_g \
+--
+2.6.1
+
diff --git a/testing/http-parser/0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch b/testing/http-parser/0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch
new file mode 100644
index 0000000000..cafe68d220
--- /dev/null
+++ b/testing/http-parser/0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch
@@ -0,0 +1,35 @@
+From f45b38c42e7e92a5d0215c44dcf306616536011e Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@hasufell.de>
+Date: Mon, 2 Nov 2015 16:32:11 +0100
+Subject: [PATCH 3/4] makefile: fix SONAME symlink, it should not be a full
+ path
+
+The symlink destination being a full path doesn't give any benefit and
+may break a few use cases of copying these files to a different
+destination, while preserving the symlink.
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8c4a9d7..cbe93e8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -125,12 +125,12 @@ tags: http_parser.c http_parser.h test.c
+ install: library
+ $(INSTALL) -D http_parser.h "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
+ $(INSTALL) -D $(SONAME) "$(DESTDIR)$(LIBDIR)/$(SONAME)"
+- ln -s $(LIBDIR)/$(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
++ ln -s $(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
+
+ install-strip: library
+ $(INSTALL) -D http_parser.h "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
+ $(INSTALL) -D -s $(SONAME) "$(DESTDIR)$(LIBDIR)/$(SONAME)"
+- ln -s $(LIBDIR)/$(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
++ ln -s $(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
+
+ uninstall:
+ rm "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
+--
+2.6.1
+
diff --git a/testing/http-parser/0004-makefile-add-CFLAGS-to-linking-command.patch b/testing/http-parser/0004-makefile-add-CFLAGS-to-linking-command.patch
new file mode 100644
index 0000000000..e21cd71549
--- /dev/null
+++ b/testing/http-parser/0004-makefile-add-CFLAGS-to-linking-command.patch
@@ -0,0 +1,31 @@
+From 62b1450cfe2e0df2d912279d38edf1b916020101 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@hasufell.de>
+Date: Mon, 2 Nov 2015 16:39:31 +0100
+Subject: [PATCH 4/4] makefile: add CFLAGS to linking command
+
+Although we compile the objects explicitly there are some CFLAGS
+that may also affect linking, which is not always obvious.
+
+This can also be a problem for toolchains that support multiple ABIs
+and need to set CFLAGS=<abi selector>, which will cause linking
+to either fail or produce an unusable executable/library.
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index cbe93e8..ae16f08 100644
+--- a/Makefile
++++ b/Makefile
+@@ -102,7 +102,7 @@ libhttp_parser.o: http_parser.c http_parser.h Makefile
+ $(CC) $(CPPFLAGS_FAST) $(CFLAGS_LIB) -c http_parser.c -o libhttp_parser.o
+
+ library: libhttp_parser.o
+- $(CC) $(LDFLAGS_LIB) -o $(SONAME) $<
++ $(CC) $(CFLAGS_LIB) $(LDFLAGS_LIB) -o $(SONAME) $<
+
+ package: http_parser.o
+ $(AR) rcs libhttp_parser.a http_parser.o
+--
+2.6.1
+
diff --git a/testing/http-parser/0005-makefile-fix-install-rule-dependency.patch b/testing/http-parser/0005-makefile-fix-install-rule-dependency.patch
new file mode 100644
index 0000000000..da96637306
--- /dev/null
+++ b/testing/http-parser/0005-makefile-fix-install-rule-dependency.patch
@@ -0,0 +1,33 @@
+From b67bfbe6a07529dd82e2ee83b6848d017e6e422f Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@hasufell.de>
+Date: Mon, 2 Nov 2015 16:51:28 +0100
+Subject: [PATCH 5/5] makefile: fix install rule dependency
+
+Otherwise the install rule will recompile the library, no matter
+if it has already been compiled.
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ae16f08..df0b59f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -122,12 +122,12 @@ parsertrace_g: http_parser_g.o contrib/parsertrace.c
+ tags: http_parser.c http_parser.h test.c
+ ctags $^
+
+-install: library
++install: $(SONAME)
+ $(INSTALL) -D http_parser.h "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
+ $(INSTALL) -D $(SONAME) "$(DESTDIR)$(LIBDIR)/$(SONAME)"
+ ln -s $(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
+
+-install-strip: library
++install-strip: $(SONAME)
+ $(INSTALL) -D http_parser.h "$(DESTDIR)$(INCLUDEDIR)/http_parser.h"
+ $(INSTALL) -D -s $(SONAME) "$(DESTDIR)$(LIBDIR)/$(SONAME)"
+ ln -s $(SONAME) "$(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT)"
+--
+2.6.1
+
diff --git a/testing/http-parser/APKBUILD b/testing/http-parser/APKBUILD
new file mode 100644
index 0000000000..6905b211c4
--- /dev/null
+++ b/testing/http-parser/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=http-parser
+pkgver=2.6.2
+pkgrel=0
+pkgdesc="HTTP request/response parser for C"
+url="https://github.com/nodejs/http-parser"
+arch="all"
+license="MIT"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev"
+
+# Note: All the patches are copied from Gentoo ebuild.
+# upstream: https://github.com/nodejs/http-parser/pull/272
+source="$pkgname-$pkgver.tar.gz::https://github.com/nodejs/$pkgname/archive/v$pkgver.tar.gz
+ 0001-makefile-fix-DESTDIR-usage.patch
+ 0002-makefile-quote-variables.patch
+ 0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch
+ 0004-makefile-add-CFLAGS-to-linking-command.patch
+ 0005-makefile-fix-install-rule-dependency.patch
+ "
+
+_builddir="$srcdir/$pkgname-$pkgver"
+
+prepare() {
+ cd "$_builddir"
+
+ local file; for file in $source; do
+ case $file in
+ *.patch) msg $file; patch -p1 -i "$srcdir"/$file || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ make library
+}
+
+package() {
+ cd "$_builddir"
+ make install DESTDIR="$pkgdir" PREFIX="/usr"
+}
+
+md5sums="bcb0b4845b38404590c7197761bfa7b9 http-parser-2.6.2.tar.gz
+f6d5377fd3b5c91422bb2dcc2c4dce6c 0001-makefile-fix-DESTDIR-usage.patch
+859eff808165458c797353f0306ebc65 0002-makefile-quote-variables.patch
+8aea7eb27ae19ede7c8aed3d41c86d84 0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch
+23d1e43dbf2deffb38488d54cce62f96 0004-makefile-add-CFLAGS-to-linking-command.patch
+fd7ffe7e725f866232f3b2850d164256 0005-makefile-fix-install-rule-dependency.patch"
+sha256sums="80fffc3b64ef6968cecdd4b299a96986007dff4bd12ae6c58cbcb506959b90ad http-parser-2.6.2.tar.gz
+785012d9e0efb70c4dcc137f354ab57afabdcb0fb7c8cb2580c3c4a7e9add330 0001-makefile-fix-DESTDIR-usage.patch
+80fdf673731f27f328d45f4da7daa613613d8db40f1dc84d2ce65fad0130c054 0002-makefile-quote-variables.patch
+9854f5f205ec0959cc10cab80d16ff54f33a9979e5fd310ba9a4624b60c84ee9 0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch
+e69fa304327dbb0626edaf147b73dc9fb4718b656b225794a04937206929c0df 0004-makefile-add-CFLAGS-to-linking-command.patch
+04898654adef3f3dbf1e29e66f8e9fc4467f68389e224beb03387d33ee263212 0005-makefile-fix-install-rule-dependency.patch"
+sha512sums="e19e5377b3eb7f149c428196826fb878564fdfa3716ff6df5a3845c51586aee0582e252e09d1f8ebad1163b3e66632ff0c6e78f6acb2f0da20d7a06e734406c1 http-parser-2.6.2.tar.gz
+ebb481df21cb312824ed65e7d6a3e7b237451071235566595da97c09b165767693ec3c47c27c451bfbdc2d62cc45c7d5d9f996b80789dc7fedaa2543c94c9065 0001-makefile-fix-DESTDIR-usage.patch
+3637abedbf330af0f4a9721081db99fe0f6400322f21f77ab16d580546a9d200d40bc584e8dbb51adec249c2d468730c6e2487ccda3786626909d988b7f8856a 0002-makefile-quote-variables.patch
+8202d665963234ce6dd84439f281921cb959424024c2fec8a27b65693b3466cab8674a3549d22fdb2fc07edf69f94440368ef77738ae4be2a5d94c13e3c814bb 0003-makefile-fix-SONAME-symlink-it-should-not-be-a-full-.patch
+e18c163f2069795fb6b744ad9f6e44eb9efca7f560460a6759bc0121a404bfe8109031c0f43d36d4987bda3411e0a433dbab6d0eabb2dbb5c79f1ce878251aae 0004-makefile-add-CFLAGS-to-linking-command.patch
+4cd120f406eeeb1e5a60c7d8955cdfead50d99b60f91a0fcdb2ae19403d08e5ed5619885c9e434ce40ffb442b317ee8c32ef636960429036f9bff92492f03968 0005-makefile-fix-install-rule-dependency.patch"