commit:     03105a49262efc690eb99697319a5249142b70ce
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Tue May  6 08:19:13 2025 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri May  9 07:09:50 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03105a49

dev-libs/newt: make python bindings optional

Supported since 0.52.13, released in 2011. Few packages need these
bindings, and it's simpler to update a system, the fewer random C
libraries attempt to acquire a lock on PYTHON_TARGETS.

Furthermore, newt is required by the command-line tools for
networkmanager, which is quite popular and means it is significantly
more likely that PYTHON_COMPAT *needs* to be kept promptly up to date.

Acked-by: Ben Kohler <bkohler <AT> gentoo.org>
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 dev-libs/newt/newt-0.52.25-r1.ebuild | 90 ++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/dev-libs/newt/newt-0.52.25-r1.ebuild 
b/dev-libs/newt/newt-0.52.25-r1.ebuild
new file mode 100644
index 000000000000..b565d41a19f5
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.25-r1.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..13} )
+
+inherit autotools python-r1 toolchain-funcs
+
+MY_PV="r$(ver_rs 1- -)"
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt";
+SRC_URI="https://github.com/mlichvar/newt/archive/${MY_PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc 
~x86"
+IUSE="gpm python nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+       >=dev-libs/popt-1.6
+       =sys-libs/slang-2*
+       gpm? ( sys-libs/gpm )
+       python? ( ${PYTHON_DEPS} )
+       tcl? ( >=dev-lang/tcl-8.5:0 )
+       "
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/gettext"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.52.23-gold.patch
+       "${FILESDIR}"/${PN}-0.52.24-c99-fix.patch
+)
+
+S=${WORKDIR}/${PN}-${MY_PV}
+
+src_prepare() {
+       sed -i Makefile.in \
+               -e 's|-g -o|$(CFLAGS) $(LDFLAGS) -o|g' \
+               -e 's|-shared -o|$(CFLAGS) $(LDFLAGS) &|g' \
+               -e 's|instroot|DESTDIR|g' \
+               -e 's|  make |  $(MAKE) |g' \
+               -e "s|  ar |    $(tc-getAR) |g" \
+               || die "sed Makefile.in"
+
+       if [[ -n ${LINGUAS} ]]; then
+               local lang langs
+               for lang in ${LINGUAS}; do
+                       test -r po/${lang}.po && langs="${langs} ${lang}.po"
+               done
+               sed -i po/Makefile \
+                       -e "/^CATALOGS = /cCATALOGS = ${langs}" \
+                       || die "sed po/Makefile"
+       fi
+
+       default
+       eautoreconf
+}
+
+src_configure() {
+       local versions=
+       getversions() {
+               versions+="${EPYTHON} "
+       }
+       python_foreach_impl getversions
+
+       econf \
+               $(use_with python '' "${EPYTHON}") \
+               $(use_with gpm gpm-support) \
+               $(use_with tcl) \
+               $(use_enable nls)
+}
+
+src_install() {
+       emake \
+               DESTDIR="${D}" \
+               install
+       use python && python_foreach_impl python_optimize
+
+       dodoc peanuts.py popcorn.py tutorial.sgml
+       doman whiptail.1
+       einstalldocs
+
+       # don't want static archives
+       rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}

Reply via email to