summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/libeatmydata')
-rw-r--r--sys-fs/libeatmydata/Manifest1
-rw-r--r--sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch18
-rw-r--r--sys-fs/libeatmydata/libeatmydata-130.ebuild38
-rw-r--r--sys-fs/libeatmydata/metadata.xml2
4 files changed, 58 insertions, 1 deletions
diff --git a/sys-fs/libeatmydata/Manifest b/sys-fs/libeatmydata/Manifest
index 877f14934b9d..620220c6f68b 100644
--- a/sys-fs/libeatmydata/Manifest
+++ b/sys-fs/libeatmydata/Manifest
@@ -1 +1,2 @@
DIST libeatmydata-129.tar.gz 358437 BLAKE2B 448cff19629fa1a07443a52ebe16a7bf9a8ac7d0c2688e89555ed6c9c2369695a70ae2abf1b74152b3c305e6bc019e2e9808af6642122cd10a73deb7dfb580f2 SHA512 dbd0ea4df77034ecbb75955394b15aec6f1331205a5c7aa4a6e0595e3e486bbcc81c28a264bf5441c660563f74bfb06630da98373d481a2ebd9e9b1538c109d1
+DIST libeatmydata-130.tar.gz 375627 BLAKE2B a1f65050572e8a7fc8345082a12e2831a8fb1e68e1d198ae507752375b2081a79fa6e5e589028104cd9d767d86b4d453c0eac0ad7f366c90d6734f5868f8e0cd SHA512 80edeee1b39e14d10e7d04d7fff63a233119c6e13216e92ec786cc41ecd79eb58937da0e621aaef697490e9fb285f3e1109b786ee6967fa1736bb4879e100f18
diff --git a/sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch b/sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch
new file mode 100644
index 000000000000..da8403ca2c11
--- /dev/null
+++ b/sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch
@@ -0,0 +1,18 @@
+/var/tmp/portage/sys-fs/libeatmydata-130/work/libeatmydata-130/libeatmydata/test/tst-invalidfd.c:31:13: error: implicit declaration of function ‘sync_file_range’; did you mean ‘copy_file_range’? [-Werror=implicit-function-declaration]
+ 31 | r = sync_file_range(fd, 0, 0, 0);
+ | ^~~~~~~~~~~~~~~
+ | copy_file_range
+--- a/libeatmydata/test/tst-invalidfd.c
++++ b/libeatmydata/test/tst-invalidfd.c
+@@ -17,6 +17,11 @@
+
+ #include <stdio.h>
+ #include <errno.h>
++
++#ifdef HAVE_SYNC_FILE_RANGE
++#include <fcntl.h>
++#endif
++
+ #include <unistd.h>
+ #include <assert.h>
+
diff --git a/sys-fs/libeatmydata/libeatmydata-130.ebuild b/sys-fs/libeatmydata/libeatmydata-130.ebuild
new file mode 100644
index 000000000000..92dc9a864ca8
--- /dev/null
+++ b/sys-fs/libeatmydata/libeatmydata-130.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP"
+HOMEPAGE="https://www.flamingspork.com/projects/libeatmydata/"
+SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-util/strace )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-130-implicit-function-decl-test.patch
+)
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf
+}
+
+multilib_src_test() {
+ # Sandbox fools LD_PRELOAD and libeatmydata does not get control
+ # feature of sandbox
+ SANDBOX_ON=0 LD_PRELOAD= emake -k check
+}
+
+multilib_src_install_all() {
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ dodoc AUTHORS README.md
+}
diff --git a/sys-fs/libeatmydata/metadata.xml b/sys-fs/libeatmydata/metadata.xml
index d0fa84d5992b..3516e6b66e7b 100644
--- a/sys-fs/libeatmydata/metadata.xml
+++ b/sys-fs/libeatmydata/metadata.xml
@@ -7,6 +7,6 @@
Used as LD_PRELOAD hack to hijack fsync() and open(O_SYNC) calls.
</longdescription>
<upstream>
- <remote-id type="launchpad">libeatmydata</remote-id>
+ <remote-id type="github">stewartsmith/libeatmydata</remote-id>
</upstream>
</pkgmetadata>