summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2020-05-20 19:08:10 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2020-05-20 19:38:42 +0200
commit5c30eb61d74034a1b7c188b8d7be7df0b926025f (patch)
tree01cca0f80d1acdd6aaf1df69c6cd94c41619678d /gnu/packages/patches
parent47253d4837f72dc912f08bdbcd657d968e6ef8ce (diff)
downloadguix-5c30eb61d74034a1b7c188b8d7be7df0b926025f.tar.gz
gnu: http-parser: Fix build [and guix pull] on armhf-linux.
* gnu/packages/web.scm (http-parser)[source]: Add patch.
* gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch39
1 files changed, 39 insertions, 0 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
new file mode 100644
index 0000000000..79bd3e8dbc
--- /dev/null
+++ b/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch
@@ -0,0 +1,39 @@
+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();