* [gentoo-commits] repo/gentoo:master commit in: sys-fs/fatcat/, sys-fs/fatcat/files/
@ 2020-04-05 16:46 Ben Kohler
0 siblings, 0 replies; 2+ messages in thread
From: Ben Kohler @ 2020-04-05 16:46 UTC (permalink / raw
To: gentoo-commits
commit: 3384356d7e1079b2e2b7bc64761b27e48693f0a7
Author: Ben Kohler <bkohler <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 5 16:25:27 2020 +0000
Commit: Ben Kohler <bkohler <AT> gentoo <DOT> org>
CommitDate: Sun Apr 5 16:25:52 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3384356d
sys-fs/fatcat: add missing dep & include for musl
Closes: https://bugs.gentoo.org/716116
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Ben Kohler <bkohler <AT> gentoo.org>
sys-fs/fatcat/fatcat-1.1.0-r1.ebuild | 26 +++++++++++++++++++++++++
sys-fs/fatcat/files/fatcat-include-getopt.patch | 11 +++++++++++
2 files changed, 37 insertions(+)
diff --git a/sys-fs/fatcat/fatcat-1.1.0-r1.ebuild b/sys-fs/fatcat/fatcat-1.1.0-r1.ebuild
new file mode 100644
index 00000000000..3fd6f313044
--- /dev/null
+++ b/sys-fs/fatcat/fatcat-1.1.0-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2018-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+DESCRIPTION="FAT filesystems explore, extract, repair, and forensic tool"
+HOMEPAGE="https://github.com/Gregwar/fatcat"
+SRC_URI="https://github.com/Gregwar/fatcat/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="!elibc_glibc? ( sys-libs/argp-standalone )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/fatcat-include-getopt.patch )
+
+src_install() {
+ cmake-utils_src_install
+ doman man/${PN}.1
+ dodoc docs/*.md
+}
diff --git a/sys-fs/fatcat/files/fatcat-include-getopt.patch b/sys-fs/fatcat/files/fatcat-include-getopt.patch
new file mode 100644
index 00000000000..a9c9094eceb
--- /dev/null
+++ b/sys-fs/fatcat/files/fatcat-include-getopt.patch
@@ -0,0 +1,11 @@
+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
+
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/fatcat/, sys-fs/fatcat/files/
@ 2023-06-15 15:19 Ben Kohler
0 siblings, 0 replies; 2+ messages in thread
From: Ben Kohler @ 2023-06-15 15:19 UTC (permalink / raw
To: gentoo-commits
commit: 1afb1f2f7dfb2e4c1588fcb084f9879f3494f111
Author: Ben Kohler <bkohler <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 15 15:17:46 2023 +0000
Commit: Ben Kohler <bkohler <AT> gentoo <DOT> org>
CommitDate: Thu Jun 15 15:17:46 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1afb1f2f
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 <AT> gentoo.org>
sys-fs/fatcat/fatcat-1.1.1.ebuild | 6 +-
.../files/fatcat-1.1.1-musl-1.2.4-fixes.patch | 107 +++++++++++++++++++++
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
-
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-06-15 15:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-05 16:46 [gentoo-commits] repo/gentoo:master commit in: sys-fs/fatcat/, sys-fs/fatcat/files/ Ben Kohler
-- strict thread matches above, loose matches on Subject: below --
2023-06-15 15:19 Ben Kohler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox