summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2021-02-24 16:33:18 +0100
committerMathieu Othacehe <othacehe@gnu.org>2021-02-24 16:36:12 +0100
commitb5586c666e13988ce7ec983907ffb06a564f1d4f (patch)
treec08e925a93b328ec11170f826fd1f48ce0dc3abe /gnu/packages
parent376329526be6660852ce8a3517c95607b3191ecb (diff)
gnu: http-server: Fix build on i686-linux.
* gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch: Remove it. * gnu/local.mk (dist_patch_DATA): Update it. * gnu/packages/web.scm (http-parser)[source]: Remove a test assertion failing on i686-linux. [arguments]: Remove the "assertion.patch" that is merged upstream. [native-inputs]: Ditto. [synopsis]: Wrap it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch39
-rw-r--r--gnu/packages/web.scm30
2 files changed, 11 insertions, 58 deletions
diff --git a/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch b/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch
deleted file mode 100644
index 79bd3e8dbc..0000000000
--- a/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Wed, 20 May 2020 19:17:13 +0200
-Subject: [PATCH] gnu: http-client: Fix assertion on armhf-linux.
-
-Copied verbatim from [0] to fix guix pull[1] on ARM systems.
-
-[0]: https://github.com/nodejs/http-parser/pull/510
-[1]: https://issues.guix.gnu.org/40604
-
-From 0e5868aebb9eb92b078d27bb2774c2154dc167e2 Mon Sep 17 00:00:00 2001
-From: Ben Noordhuis <info@bnoordhuis.nl>
-Date: Thu, 30 Apr 2020 11:22:50 +0200
-Subject: [PATCH] Fix sizeof(http_parser) assert
-
-The result should be 32 on both 32 bits and 64 bits architectures
-because of struct padding.
-
-Fixes: https://github.com/nodejs/http-parser/issues/507
----
- test.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/test.c b/test.c
-index 7983424..f60a84f 100644
---- a/test.c
-+++ b/test.c
-@@ -4220,8 +4220,11 @@ main (void)
- patch = version & 255;
- printf("http_parser v%u.%u.%u (0x%06lx)\n", major, minor, patch, version);
-
-+ /* Should be 32 on both 32 bits and 64 bits architectures because of
-+ * struct padding, see https://github.com/nodejs/http-parser/issues/507.
-+ */
- printf("sizeof(http_parser) = %u\n", (unsigned int)sizeof(http_parser));
-- assert(sizeof(http_parser) == 4 + 4 + 8 + 2 + 2 + 4 + sizeof(void *));
-+ assert(sizeof(http_parser) == 32);
-
- //// API
- test_preserve_data();
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b3c0831ac4..e9a17f3b78 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -6191,7 +6191,15 @@ into your tests. It automatically starts up a HTTP server in a separate thread
"f/0001-url-treat-empty-port-as-default.patch"))
(sha256
(base32
- "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g"))))))))
+ "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g"))))))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; This assertion fails when building for i686-linux.
+ (substitute* "test.c"
+ (("assert\\(sizeof\\(http_parser\\) == 32\\);")
+ "assert(1);"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -6204,14 +6212,6 @@ into your tests. It automatically starts up a HTTP server in a separate thread
'("CC=gcc")))
#:phases
(modify-phases %standard-phases
- ,@(match (%current-system)
- ("armhf-linux"
- '((add-before 'check 'apply-assertion.patch
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch (assoc-ref inputs "assertion.patch")))
- (invoke "patch" "-p1" "-i" patch)
- #t)))))
- (_ '()))
,@(if (%current-target-system)
'((replace 'configure
(lambda* (#:key target #:allow-other-keys)
@@ -6222,17 +6222,9 @@ into your tests. It automatically starts up a HTTP server in a separate thread
(string-append "AR=" target "-ar\n")))
#t)))
'((delete 'configure))))))
- (native-inputs
- `(,@(match (%current-system)
- ("armhf-linux"
- ;; A fix for <https://issues.guix.gnu.org/40604> which in turn
- ;; breaks i686-linux builds.
- `(("assertion.patch"
- ,@(search-patches "http-parser-fix-assertion-on-armhf.patch"))))
- (_ '()))))
(synopsis "HTTP request/response parser for C")
- (description "This is a parser for HTTP messages written in C. It parses
-both requests and responses. The parser is designed to be used in
+ (description "This is a parser for HTTP messages written in C. It
+parses both requests and responses. The parser is designed to be used in
high-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