commit:     84a47e6543c593e187987df9fc7dd5fa09be8b35
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat May  7 04:19:32 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat May  7 04:19:37 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=84a47e65

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 <AT> gentoo.org>

 .../xstow/files/xstow-1.0.1-gcc12-clang.patch      | 33 +++++++++++++
 app-admin/xstow/xstow-1.0.2-r1.ebuild              | 54 ++++++++++++++++++++++
 2 files changed, 87 insertions(+)

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."
+}

Reply via email to