summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Zuber <a.zuber@gmx.ch>2018-03-19 17:09:40 +0100
committerPatrice Clement <monsieurp@gentoo.org>2018-03-22 14:06:06 +0100
commit0df3941d411137477e48943898d3cbb486b5229c (patch)
tree567bd943fa72b69190c3eb868b39398b4c374138
parentdev-python/utidylib: remove app-text/htmltidy dependency. (diff)
downloadgentoo-0df3941d411137477e48943898d3cbb486b5229c.tar.gz
gentoo-0df3941d411137477e48943898d3cbb486b5229c.tar.bz2
gentoo-0df3941d411137477e48943898d3cbb486b5229c.zip
dev-libs/libexplain: add missing defines.
These defines have been removed from the Linux headers and have to be added with a patch to make the library compile again. The patch comes from the Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828853 Package-Manager: Portage-2.3.24, Repoman-2.3.6 Closes: https://bugs.gentoo.org/628628 Closes: https://github.com/gentoo/gentoo/pull/7509
-rw-r--r--dev-libs/libexplain/files/libexplain-missing-defines.patch18
-rw-r--r--dev-libs/libexplain/libexplain-1.4-r2.ebuild53
2 files changed, 71 insertions, 0 deletions
diff --git a/dev-libs/libexplain/files/libexplain-missing-defines.patch b/dev-libs/libexplain/files/libexplain-missing-defines.patch
new file mode 100644
index 000000000000..bb1170cbc385
--- /dev/null
+++ b/dev-libs/libexplain/files/libexplain-missing-defines.patch
@@ -0,0 +1,18 @@
+--- libexplain-1.4.D001.orig/libexplain/buffer/file_inode_flags.c
++++ libexplain-1.4.D001/libexplain/buffer/file_inode_flags.c
+@@ -28,6 +28,14 @@
+
+ #if defined(FS_IOC_GETFLAGS) || defined(FS_IOC32_GETFLAGS)
+
++#ifndef FS_ECOMPR_FL
++#define FS_ECOMPR_FL 0x00000800 /* Compression error */
++#endif
++
++#ifndef FS_DIRECTIO_FL
++#define FS_DIRECTIO_FL 0x00100000 /* Use direct i/o */
++#endif
++
+ void
+ explain_buffer_file_inode_flags(explain_string_buffer_t *sb, int value)
+ {
+
diff --git a/dev-libs/libexplain/libexplain-1.4-r2.ebuild b/dev-libs/libexplain/libexplain-1.4-r2.ebuild
new file mode 100644
index 000000000000..d008b1f40c18
--- /dev/null
+++ b/dev-libs/libexplain/libexplain-1.4-r2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="Library which may be used to explain Unix and Linux system call errors"
+HOMEPAGE="http://libexplain.sourceforge.net/"
+SRC_URI="http://libexplain.sourceforge.net/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+LICENSE="GPL-3 LGPL-3"
+IUSE="static-libs"
+
+DEPEND="
+ sys-apps/acl
+ sys-apps/groff
+ app-text/ghostscript-gpl
+ >=sys-kernel/linux-headers-2.6.35"
+
+RDEPEND="
+ ${DEPEND}
+ sys-libs/libcap
+ sys-process/lsof
+ sys-libs/glibc"
+
+# Test fails with:
+# This is not a bug, but it does indicate where libexplain's ioctl support
+# could be improved.
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.45-configure.patch
+ "${FILESDIR}"/libexplain-missing-defines.patch
+)
+
+src_prepare() {
+ # Portage incompatible test
+ sed \
+ -e '/t0524a/d' \
+ -e '/t0363a/d' \
+ -i Makefile.in || die
+
+ cp -v "${S}"/etc/configure.ac "${S}" || die
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+}