mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
sys-fs/ext3grep: Fix include order / C23 compile errors
Based on patch provided by NHOrus via Github. Closes: https://github.com/gentoo/gentoo/pull/39904 Closes: https://bugs.gentoo.org/939024 Closes: https://bugs.gentoo.org/934532 Signed-off-by: Hanno Böck <hanno@gentoo.org>
This commit is contained in:
37
sys-fs/ext3grep/ext3grep-0.10.2-r2.ebuild
Normal file
37
sys-fs/ext3grep/ext3grep-0.10.2-r2.ebuild
Normal file
@@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Recover deleted files on an ext3 file system"
|
||||
HOMEPAGE="https://code.google.com/p/ext3grep/"
|
||||
SRC_URI="https://ext3grep.googlecode.com/files/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="debug pch"
|
||||
|
||||
DEPEND="
|
||||
sys-fs/e2fsprogs
|
||||
virtual/os-headers
|
||||
"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.10.1-gcc44.patch"
|
||||
"${FILESDIR}/${P}-include-unistd_h-for-sysconf.patch"
|
||||
"${FILESDIR}/${P}-new-e2fsprogs.patch"
|
||||
"${FILESDIR}/${P}-newer-e2fsprogs.patch"
|
||||
"${FILESDIR}/${P}-missing-cassert-include.patch"
|
||||
"${FILESDIR}/${P}-include-order.patch"
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable debug)
|
||||
$(use_enable pch)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
86
sys-fs/ext3grep/files/ext3grep-0.10.2-include-order.patch
Normal file
86
sys-fs/ext3grep/files/ext3grep-0.10.2-include-order.patch
Normal file
@@ -0,0 +1,86 @@
|
||||
https://bugs.gentoo.org/934532
|
||||
https://bugs.gentoo.org/939024
|
||||
Ordering of includes is important, so we don't redefine "clamp" from
|
||||
under STL internals:
|
||||
https://en.cppreference.com/w/cpp/algorithm/clamp takes four args
|
||||
but clamp in ext2fs.h takes three
|
||||
diff -ur a/src/directories.cc b/src/directories.cc
|
||||
--- a/src/directories.cc 2024-12-30 14:12:51.353812001 +0400
|
||||
+++ b/src/directories.cc 2024-12-30 14:13:51.472524523 +0400
|
||||
@@ -21,6 +21,10 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
+#include <cstring>
|
||||
+#include <ctime>
|
||||
+#include <algorithm>
|
||||
+
|
||||
#ifndef USE_PCH
|
||||
#include "sys.h"
|
||||
#include "ext3.h"
|
||||
@@ -33,9 +37,6 @@
|
||||
#include "indirect_blocks.h"
|
||||
#include "get_block.h"
|
||||
#include "directories.h"
|
||||
-#include <cstring>
|
||||
-#include <ctime>
|
||||
-#include <algorithm>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
diff -ur a/src/init_files.cc b/src/init_files.cc
|
||||
--- a/src/init_files.cc 2024-12-30 14:12:51.353812001 +0400
|
||||
+++ b/src/init_files.cc 2024-12-30 14:13:37.823593692 +0400
|
||||
@@ -21,6 +21,8 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
+#include <algorithm>
|
||||
+
|
||||
#ifndef USE_PCH
|
||||
#include "sys.h"
|
||||
#include <iomanip>
|
||||
@@ -33,7 +35,6 @@
|
||||
#include "globals.h"
|
||||
#include "forward_declarations.h"
|
||||
#include "journal.h"
|
||||
-#include <algorithm>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
diff -ur a/src/journal.cc b/src/journal.cc
|
||||
--- a/src/journal.cc 2024-12-30 14:12:51.353812001 +0400
|
||||
+++ b/src/journal.cc 2024-12-30 14:14:07.808441493 +0400
|
||||
@@ -21,6 +21,9 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
+#include <algorithm>
|
||||
+#include <ctime>
|
||||
+
|
||||
#ifndef USE_PCH
|
||||
#include "sys.h"
|
||||
#include <stdint.h>
|
||||
@@ -37,8 +40,6 @@
|
||||
#include "indirect_blocks.h"
|
||||
#include "get_block.h"
|
||||
#include "commandline.h"
|
||||
-#include <algorithm>
|
||||
-#include <ctime>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
It throws warning - we already define LARGEFILE on Gentoo, so let's not redefine
|
||||
diff -ur a/src/sys.h.in b/src/sys.h.in
|
||||
--- a/src/sys.h.in 2024-12-30 14:12:51.353812001 +0400
|
||||
+++ b/src/sys.h.in 2024-12-30 14:24:36.796244569 +0400
|
||||
@@ -31,7 +31,9 @@
|
||||
#endif
|
||||
|
||||
// This is needed for lseek64.
|
||||
+#ifndef _LARGEFILE64_SOURCE
|
||||
#define _LARGEFILE64_SOURCE
|
||||
+#endif
|
||||
|
||||
#ifdef CWDEBUG
|
||||
#ifndef _GNU_SOURCE
|
||||
Reference in New Issue
Block a user