Skip to content

Commit

Permalink
gpgme: patch out LFS64 usage (#324771)
Browse files Browse the repository at this point in the history
Needed for compatibility with musl 1.2.4+.

Link: #229439
  • Loading branch information
alyssais authored Jul 5, 2024
1 parent 19b834e commit e2254db
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
34 changes: 34 additions & 0 deletions pkgs/development/libraries/gpgme/LFS64.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
From 1726e0a0a3b9765a4ddf99c506178d3939a46ccd Mon Sep 17 00:00:00 2001
From: Alyssa Ross <[email protected]>
Date: Fri, 3 May 2024 13:39:26 +0200
Subject: [PATCH] posix: don't use LFS64 types in struct linux_dirent64

The *64_t types are transitional APIs for applications that do not yet
fully support large files on 32-bit platforms. They have been removed
in musl 1.2.5, which caused gpgme to fail to build. Since this is for
a raw syscall anyway, it doesn't make sense to use libc-specific types
here anyway, so I've changed this to match the definition of the
struct used in the kernel (except there the kernel-specific u64 and
s64 typedefs are used instead).
---
src/posix-io.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/posix-io.c b/src/posix-io.c
index a422d8f6..c943f75c 100644
--- a/src/posix-io.c
+++ b/src/posix-io.c
@@ -74,8 +74,8 @@
* define it ourselves. */
struct linux_dirent64
{
- ino64_t d_ino;
- off64_t d_off;
+ uint64_t d_ino;
+ int64_t d_off;
unsigned short d_reclen;
unsigned char d_type;
char d_name[];
--
2.44.0

3 changes: 3 additions & 0 deletions pkgs/development/libraries/gpgme/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ stdenv.mkDerivation rec {
./python-310-312-remove-distutils.patch
# Fix a test after disallowing compressed signatures in gpg (PR #180336)
./test_t-verify_double-plaintext.patch
# Don't use deprecated LFS64 APIs (removed in musl 1.2.4)
# https://dev.gnupg.org/D600
./LFS64.patch
];

postPatch = ''
Expand Down

0 comments on commit e2254db

Please sign in to comment.