summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrahmajit Das <brahmajit.xyz@gmail.com>2023-06-13 05:30:44 +0000
committerSam James <sam@gentoo.org>2024-05-09 02:29:42 +0100
commitb33711289c1fcb2b12f9bc2ffe77a5ebabee0a71 (patch)
tree5eaf22ec1a176838c3ac8c1cb1340607d1856414 /sys-fs/progsreiserfs
parentsys-apps/utempter: Fix undeclared gettimeofday (diff)
downloadgentoo-b33711289c1fcb2b12f9bc2ffe77a5ebabee0a71.tar.gz
gentoo-b33711289c1fcb2b12f9bc2ffe77a5ebabee0a71.tar.bz2
gentoo-b33711289c1fcb2b12f9bc2ffe77a5ebabee0a71.zip
sys-fs/progsreiserfs: Fix error call to undeclared function _getopt_internal
Closes: https://bugs.gentoo.org/898616 Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/31410 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/progsreiserfs')
-rw-r--r--sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-musl-getopt_internal-fix.patch36
-rw-r--r--sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8-r1.ebuild67
2 files changed, 103 insertions, 0 deletions
diff --git a/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-musl-getopt_internal-fix.patch b/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-musl-getopt_internal-fix.patch
new file mode 100644
index 000000000000..06ba7e357a55
--- /dev/null
+++ b/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-musl-getopt_internal-fix.patch
@@ -0,0 +1,36 @@
+Bug: https://bugs.gentoo.org/898616
+From: Brahmajit Das <brahmajit.xyz@gmail.com>
+Date: Tue, 13 Jun 2023 05:23:45 +0000
+Subject: [PATCH] getopt1.c: wrap the getopt_long and getopt_long_only
+ functions around include directive
+
+The header guard HAVE_GETOPT_LONG_ONLY can be used to check if the
+functions are available or not, as the functions getopt_long and
+getopt_long_only defined in getopt1.c uses the function _getopt_internal
+which is glibc specific and cannot be used on other libc systems (for
+example musl).
+Hence we're wrapping those two functions with this include guard.
+
+Bug: https://bugs.gentoo.org/898616
+Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com>
+--- a/progsreiserfs/libmisc/getopt1.c
++++ b/progsreiserfs/libmisc/getopt1.c
+@@ -63,6 +63,7 @@
+ #define NULL 0
+ #endif
+
++#ifndef HAVE_GETOPT_LONG_ONLY
+ int
+ getopt_long(argc, argv, options, long_options, opt_index)
+ int argc;
+@@ -89,6 +90,7 @@ int
+ {
+ return _getopt_internal(argc, argv, options, long_options, opt_index, 1);
+ }
++#endif
+
+ #endif /* Not ELIDE_CODE. */
+
+--
+2.41.0
+
diff --git a/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8-r1.ebuild b/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8-r1.ebuild
new file mode 100644
index 000000000000..e7fe27e0eefc
--- /dev/null
+++ b/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic libtool
+
+MY_P=${PN}-${PV/_/-}
+
+DESCRIPTION="Library for accessing and manipulating reiserfs partitions"
+HOMEPAGE="http://reiserfs.linux.kiev.ua/"
+SRC_URI="http://reiserfs.linux.kiev.ua/snapshots/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="debug examples nls static-libs"
+
+DEPEND="
+ sys-apps/util-linux
+ nls? (
+ sys-devel/gettext
+ virtual/libintl
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${PN}-0.3.1_rc8-musl-getopt_internal-fix.patch
+)
+
+src_prepare() {
+ default
+
+ elibtoolize
+}
+
+src_configure() {
+ filter-lfs-flags
+
+ econf \
+ $(use_enable static-libs static) \
+ --disable-Werror \
+ $(use_enable nls) \
+ $(use_enable debug)
+}
+
+src_install() {
+ default
+
+ if use examples; then
+ docinto examples
+ dodoc demos/*.c
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+
+ rm -r "${ED}"/usr/{sbin,share/man} || die
+}
+
+pkg_postinst() {
+ ewarn "progsreiserfs has been proven dangerous in the past, generating bad"
+ ewarn "partitions and destroying data on resize/cpfs operations."
+ ewarn "Because of this, we do NOT provide their binaries, but only their"
+ ewarn "libraries instead, as these are needed for other applications."
+}