summaryrefslogtreecommitdiff
path: root/sys-fs/fatcat
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /sys-fs/fatcat
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'sys-fs/fatcat')
-rw-r--r--sys-fs/fatcat/Manifest1
-rw-r--r--sys-fs/fatcat/fatcat-1.1.1-r2.ebuild28
-rw-r--r--sys-fs/fatcat/files/fatcat-1.1.1-cmake4-compat.patch35
-rw-r--r--sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch107
-rw-r--r--sys-fs/fatcat/metadata.xml9
5 files changed, 180 insertions, 0 deletions
diff --git a/sys-fs/fatcat/Manifest b/sys-fs/fatcat/Manifest
new file mode 100644
index 000000000000..25e4bad8c7b1
--- /dev/null
+++ b/sys-fs/fatcat/Manifest
@@ -0,0 +1 @@
+DIST fatcat-1.1.1.tar.gz 57213 BLAKE2B 095d69d828759860c182a9208e234a90b80656207f3c6ee217adc903f4c75e09f44b9d8a45a37404c904657e787edcc7b3c5969f175414bde2c03b52765b537c SHA512 eb3feca0ee330fc7d3a557ff2ecca96102351105799d89cef64ddfaeaa5bbb5d8815f5f109bbd8f2721538ddbb231bebf3f3515c5b33a6d4093f4c1389000f9e
diff --git a/sys-fs/fatcat/fatcat-1.1.1-r2.ebuild b/sys-fs/fatcat/fatcat-1.1.1-r2.ebuild
new file mode 100644
index 000000000000..c370436710ca
--- /dev/null
+++ b/sys-fs/fatcat/fatcat-1.1.1-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2018-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+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"
+
+DEPEND="!elibc_glibc? ( sys-libs/argp-standalone )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/fatcat-1.1.1-musl-1.2.4-fixes.patch"
+ "${FILESDIR}/fatcat-1.1.1-cmake4-compat.patch"
+)
+
+src_install() {
+ cmake_src_install
+ doman man/${PN}.1
+ dodoc docs/*.md
+}
diff --git a/sys-fs/fatcat/files/fatcat-1.1.1-cmake4-compat.patch b/sys-fs/fatcat/files/fatcat-1.1.1-cmake4-compat.patch
new file mode 100644
index 000000000000..b6d10048845e
--- /dev/null
+++ b/sys-fs/fatcat/files/fatcat-1.1.1-cmake4-compat.patch
@@ -0,0 +1,35 @@
+From 2e3476a84cbe32598d36b5506c21025b3f94eb03 Mon Sep 17 00:00:00 2001
+From: Alper Ak <alperyasinak1@gmail.com>
+Date: Wed, 9 Jul 2025 19:30:26 +0300
+Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+
+ compatibility
+
+Fix:
+
+| CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
+| Compatibility with CMake < 3.5 has been removed from CMake.
+|
+| Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
+| to tell CMake that the project requires at least <min> but has been updated
+| to work with policies introduced by <max> or earlier.
+|
+| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
+|
+|
+| -- Configuring incomplete, errors occurred!
+
+Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d6a2649..8f3eadc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.8)
++cmake_minimum_required(VERSION 3.5)
+ project(fatcat)
+
+ OPTION(DEFINE_WIN "Compiling windows" OFF)
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/metadata.xml b/sys-fs/fatcat/metadata.xml
new file mode 100644
index 000000000000..5d076c5281ef
--- /dev/null
+++ b/sys-fs/fatcat/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bkohler@gentoo.org</email>
+ <name>Ben Kohler</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>