about summary refs log tree commit homepage
path: root/script
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-03-23 08:54:35 +0000
committerEric Wong <e@80x24.org>2022-03-23 18:39:03 +0000
commitacefd91b302dc1bffded901c3ecd0db8f9916e9b (patch)
treedc67a37a04c85d503185f12d6c21cb19f01078a3 /script
parent215e2138c99d48e2061eb98aef5a6da1bc3ff828 (diff)
downloadpublic-inbox-acefd91b302dc1bffded901c3ecd0db8f9916e9b.tar.gz
Socket::MsgHdr is only packaged for Debian and derivatives at
the moment, and Inline::C pulling in gcc/clang is a huge amount
of disk space and bandwidth for some users.

This enables disk space and/or bandwidth-limited users to use lei.

Only Linux guarantees a stable ABI and syscall numbers, but
that's the majority of our userbase.  FreeBSD users will still
have to use Inline::C (or get Socket::MsgHdr packaged).

x86, x32, and x86-64 are all currently supported, more to be added.
Diffstat (limited to 'script')
-rwxr-xr-xscript/lei6
1 files changed, 5 insertions, 1 deletions
diff --git a/script/lei b/script/lei
index 5cad19d7..adef9944 100755
--- a/script/lei
+++ b/script/lei
@@ -1,5 +1,5 @@
 #!perl -w
-# Copyright (C) 2020-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use v5.10.1;
@@ -9,6 +9,10 @@ my $narg = 5;
 my $sock;
 my $recv_cmd = PublicInbox::CmdIPC4->can('recv_cmd4');
 my $send_cmd = PublicInbox::CmdIPC4->can('send_cmd4') // do {
+        require PublicInbox::Syscall;
+        $recv_cmd = PublicInbox::Syscall->can('recv_cmd4');
+        PublicInbox::Syscall->can('send_cmd4');
+} // do {
         my $inline_dir = $ENV{PERL_INLINE_DIRECTORY} //= (
                         $ENV{XDG_CACHE_HOME} //
                         ( ($ENV{HOME} // '/nonexistent').'/.cache' )