diff options
author | Ben Kohler <bkohler@gentoo.org> | 2023-06-15 10:17:46 -0500 |
---|---|---|
committer | Ben Kohler <bkohler@gentoo.org> | 2023-06-15 10:17:46 -0500 |
commit | 1afb1f2f7dfb2e4c1588fcb084f9879f3494f111 (patch) | |
tree | e825d73bdfbcba0bc74ab1aec1c6e63b7bb7c37f /sys-fs/fatcat | |
parent | net-misc/dropbox: add 176.4.5108 (diff) | |
download | gentoo-1afb1f2f7dfb2e4c1588fcb084f9879f3494f111.tar.gz gentoo-1afb1f2f7dfb2e4c1588fcb084f9879f3494f111.tar.bz2 gentoo-1afb1f2f7dfb2e4c1588fcb084f9879f3494f111.zip |
sys-fs/fatcat: new musl fix, replace old musl fix too
We previously had 1 musl patch for getopt usage, I'm replacing that with
one from an upstream PR [1], also adding a new patch from that upstream PR.
[1] https://github.com/Gregwar/fatcat/pull/34
Closes: https://bugs.gentoo.org/908541
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'sys-fs/fatcat')
-rw-r--r-- | sys-fs/fatcat/fatcat-1.1.1.ebuild | 6 | ||||
-rw-r--r-- | sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch | 107 | ||||
-rw-r--r-- | sys-fs/fatcat/files/fatcat-include-getopt.patch | 11 |
3 files changed, 111 insertions, 13 deletions
diff --git a/sys-fs/fatcat/fatcat-1.1.1.ebuild b/sys-fs/fatcat/fatcat-1.1.1.ebuild index 1cbdeace786e..ac61be67b09a 100644 --- a/sys-fs/fatcat/fatcat-1.1.1.ebuild +++ b/sys-fs/fatcat/fatcat-1.1.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2018-2022 Gentoo Authors +# Copyright 2018-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -17,7 +17,9 @@ IUSE="" DEPEND="!elibc_glibc? ( sys-libs/argp-standalone )" RDEPEND="${DEPEND}" -PATCHES=( "${FILESDIR}"/fatcat-include-getopt.patch ) +PATCHES=( + "${FILESDIR}/fatcat-1.1.1-musl-1.2.4-fixes.patch" +) src_install() { cmake_src_install diff --git a/sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch b/sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch new file mode 100644 index 000000000000..e01533fee306 --- /dev/null +++ b/sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch @@ -0,0 +1,107 @@ +From 12fdf46cb916b71ed8360250d50b9208684695c9 Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Sun, 19 Jan 2020 16:03:21 +0000 +Subject: [PATCH 1/2] Use unistd.h not argp.h for all POSIX systems + +getopt(3) is found in unistd.h on all POSIX systems and we make no use +of any of the GNU specific argp extensions. Include unistd.h directly to +allow building with musl on linux, whilst retaining compatibility with +glibc and other unices. + +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + src/fatcat.cpp | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/src/fatcat.cpp b/src/fatcat.cpp +index ce23ca0..b4427e4 100644 +--- a/src/fatcat.cpp ++++ b/src/fatcat.cpp +@@ -1,14 +1,10 @@ + #include <stdlib.h> +-#include<string.h> +-#ifdef __APPLE__ +-#include <unistd.h> +-#else ++#include <string.h> + #ifdef __WIN__ + #include <ctype.h> + #include "xgetopt/xgetopt.h" + #else +-#include <argp.h> +-#endif ++#include <unistd.h> + #endif + + #include <stdio.h> + +From 29021747ac2e52a27013310a532439bfdf438c24 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 16 Dec 2022 18:54:55 -0800 +Subject: [PATCH 2/2] Enable 64bit off_t + +Ensure that off_t is always 64-bit by specifying -D_LARGEFILE_SOURCE +-D_FILE_OFFSET_BITS=64 this will ensure that normal lseek() function is +same as lseek64 + +This helps compiling on latest musl where lseek64 and friends are not +available + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + CMakeLists.txt | 2 ++ + src/core/FatSystem.cpp | 4 ++-- + src/core/FatSystem.h | 2 -- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d6a2649..4cdd1fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,6 +34,8 @@ IF(DEFINE_WIN) + add_definitions(-D__WIN__) + ENDIF(DEFINE_WIN) + ++add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64) ++ + include_directories("${CMAKE_SOURCE_DIR}/src") + + add_executable(fatcat "src/fatcat.cpp" ${ALL_SOURCES}) +diff --git a/src/core/FatSystem.cpp b/src/core/FatSystem.cpp +index 79cda8c..1f52e82 100644 +--- a/src/core/FatSystem.cpp ++++ b/src/core/FatSystem.cpp +@@ -90,7 +90,7 @@ int FatSystem::readData(unsigned long long address, char *buffer, int size) + cerr << "! Trying to read outside the disk" << endl; + } + +- lseek64(fd, globalOffset+address, SEEK_SET); ++ lseek(fd, globalOffset+address, SEEK_SET); + + int n; + int pos = 0; +@@ -112,7 +112,7 @@ int FatSystem::writeData(unsigned long long address, const char *buffer, int siz + throw string("Trying to write data while write mode is disabled"); + } + +- lseek64(fd, globalOffset+address, SEEK_SET); ++ lseek(fd, globalOffset+address, SEEK_SET); + + int n; + int pos = 0; +diff --git a/src/core/FatSystem.h b/src/core/FatSystem.h +index cd3c914..f9f2ca3 100644 +--- a/src/core/FatSystem.h ++++ b/src/core/FatSystem.h +@@ -11,11 +11,9 @@ + + #ifdef __APPLE__ + #define O_LARGEFILE 0 +-#define lseek64 lseek + #endif + #ifdef __WIN__ + #define O_LARGEFILE 0 +-#define lseek64 lseek + #endif + using namespace std; + diff --git a/sys-fs/fatcat/files/fatcat-include-getopt.patch b/sys-fs/fatcat/files/fatcat-include-getopt.patch deleted file mode 100644 index a9c9094eceb3..000000000000 --- a/sys-fs/fatcat/files/fatcat-include-getopt.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ur a/src/fatcat.cpp b/src/fatcat.cpp ---- a/src/fatcat.cpp 2020-04-05 11:12:55.773602065 -0500 -+++ b/src/fatcat.cpp 2020-04-05 11:13:14.112132604 -0500 -@@ -8,6 +8,7 @@ - #include "xgetopt/xgetopt.h" - #else - #include <argp.h> -+#include <getopt.h> - #endif - #endif - |