summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-05-07 05:19:32 +0100
committerSam James <sam@gentoo.org>2022-05-07 05:19:37 +0100
commit84a47e6543c593e187987df9fc7dd5fa09be8b35 (patch)
tree2014adeffd4de2799cf78e9469643e7193daca4a /app-admin/xstow
parentapp-laptop/thinkfan: add 1.3.1 (diff)
downloadgentoo-84a47e6543c593e187987df9fc7dd5fa09be8b35.tar.gz
gentoo-84a47e6543c593e187987df9fc7dd5fa09be8b35.tar.bz2
gentoo-84a47e6543c593e187987df9fc7dd5fa09be8b35.zip
app-admin/xstow: update EAPI 7 -> 8; fix build with GCC 12 and Clang
Also dodir -> keepdir, hence revbump. Closes: https://bugs.gentoo.org/729114 Closes: https://bugs.gentoo.org/840359 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-admin/xstow')
-rw-r--r--app-admin/xstow/files/xstow-1.0.1-gcc12-clang.patch33
-rw-r--r--app-admin/xstow/xstow-1.0.2-r1.ebuild54
2 files changed, 87 insertions, 0 deletions
diff --git a/app-admin/xstow/files/xstow-1.0.1-gcc12-clang.patch b/app-admin/xstow/files/xstow-1.0.1-gcc12-clang.patch
new file mode 100644
index 000000000000..982d6bc5cb12
--- /dev/null
+++ b/app-admin/xstow/files/xstow-1.0.1-gcc12-clang.patch
@@ -0,0 +1,33 @@
+https://svnweb.freebsd.org/ports/head/sysutils/xstow/files/patch-src__string_utils.h?revision=319588&view=co&pathrev=319588
+https://svnweb.freebsd.org/ports/head/sysutils/xstow/files/patch-src__leoini.h?revision=319588&view=co&pathrev=319588
+https://bugs.gentoo.org/840359
+https://bugs.gentoo.org/729114
+
+--- a/src/leoini.h
++++ b/src/leoini.h
+@@ -260,11 +260,9 @@
+
+ if( start == std::string::npos ||
+ end == std::string::npos )
+- s = "";
+- else
+- s = s.substr( start+1, start-end -1 );
++ return s2x<A>("");
+
+- return s2x<A>(s);
++ return s2x<A>(s.substr( start+1, start-end -1 ));
+ }
+ } // namespace Leo
+
+--- a/src/string_utils.h
++++ b/src/string_utils.h
+@@ -28,6 +28,9 @@
+ # define STRSTREAM
+ #endif
+
++typedef std::vector<std::string> vec_string;
++std::ostream& operator<<( std::ostream& out, const vec_string &v );
++
+ std::string toupper( std::string s );
+ std::string strip( const std::string& str, const std::string& what = " \t\n\0" );
+ bool is_int( const std::string &s );
diff --git a/app-admin/xstow/xstow-1.0.2-r1.ebuild b/app-admin/xstow/xstow-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..85b4c928574f
--- /dev/null
+++ b/app-admin/xstow/xstow-1.0.2-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Replacement for GNU stow with extensions"
+HOMEPAGE="http://xstow.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xstow/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="ncurses"
+
+DEPEND="ncurses? ( sys-libs/ncurses:0= )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.1-ncurses.patch
+ "${FILESDIR}"/${PN}-1.0.1-gcc12-clang.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_with ncurses curses)
+}
+
+src_install() {
+ emake DESTDIR="${D}" docdir="${EPREFIX}/usr/share/doc/${PF}/html" install
+ dodoc AUTHORS ChangeLog NEWS README TODO
+
+ # Create new STOWDIR
+ keepdir /var/lib/xstow
+
+ # Install env.d file to add STOWDIR to PATH and LDPATH
+ doenvd "${FILESDIR}"/99xstow
+}
+
+pkg_postinst() {
+ elog "We now recommend that you use /var/lib/xstow as your STOWDIR"
+ elog "instead of /usr/local in order to avoid conflicts with the"
+ elog "symlink from /usr/lib64 -> /usr/lib. See Bug 246264"
+ elog "(regarding app-admin/stow, equally applicable to XStow) for"
+ elog "more details on this change."
+ elog "For your convenience, PATH has been updated to include"
+ elog "/var/lib/bin."
+}