summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-09 05:47:24 +0000
committerSam James <sam@gentoo.org>2023-01-09 05:52:46 +0000
commit5f88996c5e26575277f3167ea7bc99368d1fac35 (patch)
tree8daa24155d9ae83ad99ec8fd45757c9653d1894b /sys-fs/libeatmydata
parentapp-admin/rasdaemon: enable --record for OpenRC by default (diff)
downloadgentoo-5f88996c5e26575277f3167ea7bc99368d1fac35.tar.gz
gentoo-5f88996c5e26575277f3167ea7bc99368d1fac35.tar.bz2
gentoo-5f88996c5e26575277f3167ea7bc99368d1fac35.zip
sys-fs/libeatmydata: add 131
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/libeatmydata')
-rw-r--r--sys-fs/libeatmydata/Manifest1
-rw-r--r--sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch52
-rw-r--r--sys-fs/libeatmydata/libeatmydata-131.ebuild39
3 files changed, 92 insertions, 0 deletions
diff --git a/sys-fs/libeatmydata/Manifest b/sys-fs/libeatmydata/Manifest
index 4298bb47c862..3675698a430d 100644
--- a/sys-fs/libeatmydata/Manifest
+++ b/sys-fs/libeatmydata/Manifest
@@ -1 +1,2 @@
DIST libeatmydata-130.tar.gz 375627 BLAKE2B a1f65050572e8a7fc8345082a12e2831a8fb1e68e1d198ae507752375b2081a79fa6e5e589028104cd9d767d86b4d453c0eac0ad7f366c90d6734f5868f8e0cd SHA512 80edeee1b39e14d10e7d04d7fff63a233119c6e13216e92ec786cc41ecd79eb58937da0e621aaef697490e9fb285f3e1109b786ee6967fa1736bb4879e100f18
+DIST libeatmydata-131.tar.gz 368469 BLAKE2B 1b59f80ba72caeafa40272c5996e0fb03774c69c35d7a2194d312e53c48212caca84abed56ec63a9fba2b4142efbee4aa371c3869a76f8c5674936ffe0daea5d SHA512 064417dc085cb82e4baf1d160fcde2c6e0d9fed60e5c595799630b030053c373d888853055894c127c5b384be9204e8bbb251877651811b5fc5cdca8ffd9cf42
diff --git a/sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch b/sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch
new file mode 100644
index 000000000000..b60cdea868c4
--- /dev/null
+++ b/sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch
@@ -0,0 +1,52 @@
+https://github.com/stewartsmith/libeatmydata/pull/30
+
+From 9b37e3994f94687085e234d153c9ae3abdd038d3 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 9 Jan 2023 05:50:13 +0000
+Subject: [PATCH] Avoid redefining _GNU_SOURCE
+
+It's harmless, but with 3dea342f64a73a271d24779474d1b304b8f5618c, we get:
+```
+x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131 -O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -ggdb3 -Werror=implicit-function-declaration -Werror=implicit-int -c -o libeatmydata/test/tst-cancel4.o /var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131/libeatmydata/test/tst-cancel4.c
+/var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131/libeatmydata/test/tst-cancel4.c:28: warning: "_GNU_SOURCE" redefined
+ 28 | #define _GNU_SOURCE
+ |
+In file included from /var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131/libeatmydata/test/tst-cancel4.c:26:
+./config.h:115: note: this is the location of the previous definition
+ 115 | # define _GNU_SOURCE 1
+ |
+```
+
+This is because we already have `AC_USE_SYSTEM_EXTENSIONS` in configure.ac
+which sets GNU_SOURCE in config.h for us.
+
+We also explicitly add a config.h include to tst-invalidvd.c instead
+of relying on it via portability.h.
+--- a/libeatmydata/test/tst-cancel4.c
++++ b/libeatmydata/test/tst-cancel4.c
+@@ -25,7 +25,6 @@
+
+ #include "config.h"
+
+-#define _GNU_SOURCE
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
+--- a/libeatmydata/test/tst-invalidfd.c
++++ b/libeatmydata/test/tst-invalidfd.c
+@@ -13,6 +13,7 @@
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ * END LICENSE */
+
++#include "config.h"
+ #include "libeatmydata/portability.h"
+
+ #include <stdio.h>
+@@ -21,7 +22,6 @@
+ #include <assert.h>
+
+ #ifdef HAVE_SYNC_FILE_RANGE
+-#define _GNU_SOURCE
+ #include <fcntl.h>
+ #endif
+
diff --git a/sys-fs/libeatmydata/libeatmydata-131.ebuild b/sys-fs/libeatmydata/libeatmydata-131.ebuild
new file mode 100644
index 000000000000..92d05a4733a5
--- /dev/null
+++ b/sys-fs/libeatmydata/libeatmydata-131.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Multilib because "handy to inject into wine"
+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}-131-gnu_source.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
+}