summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/newt/Manifest1
-rw-r--r--dev-libs/newt/files/newt-0.52.21_p20210816-makefile-LDFLAGS-ordering.patch30
-rw-r--r--dev-libs/newt/newt-0.52.21_p20210816.ebuild104
3 files changed, 135 insertions, 0 deletions
diff --git a/dev-libs/newt/Manifest b/dev-libs/newt/Manifest
index ea14fe205752..0cd49159a543 100644
--- a/dev-libs/newt/Manifest
+++ b/dev-libs/newt/Manifest
@@ -1 +1,2 @@
DIST newt-0.52.21.tar.gz 174895 BLAKE2B a0d6a15f87fe04dc535e65fcd28606cd666142d006a53b6ee0c8387a6295215e44f1815ac56ceb56b561ca9b5bc8f3cab2d04b5decd62642f46b744333dc7e34 SHA512 d53d927996d17223e688bf54dccfabb2a3dc02bfe38ffc455964e86feaca3cd9f9ab5b19774433be430fa4d761cd9b6680b558f297acb86f80daeb6942f7d23c
+DIST newt-0.52.21_p20210816.tar.gz 128555 BLAKE2B 97c791d7301b657bec68045f2cd9bbe16eef0b099a6304e2336414837b36492bd794be04d0bbcd9eadc6fcd000ba2563a5ab90be5d61249390a6ea5435091f97 SHA512 06c1d5634d88a6126de5eddd1c4d436639a4d739b100f391638b0429a3941eabcaa0ff7398f498d735ec0af5e88deb14178110ab11bf5301ef661f7953692bc4
diff --git a/dev-libs/newt/files/newt-0.52.21_p20210816-makefile-LDFLAGS-ordering.patch b/dev-libs/newt/files/newt-0.52.21_p20210816-makefile-LDFLAGS-ordering.patch
new file mode 100644
index 000000000000..445637b7ca0d
--- /dev/null
+++ b/dev-libs/newt/files/newt-0.52.21_p20210816-makefile-LDFLAGS-ordering.patch
@@ -0,0 +1,30 @@
+From 22d44d2cbfcbec216d0028ebdf274247139a8045 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 14 Jul 2021 05:12:32 +0100
+Subject: [PATCH] Swap order of LDFLAGS and P*FLAGS
+
+Needed to respect as-needed.
+
+Bug: https://bugs.gentoo.org/798945
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 1047efc..f0bc417 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -97,8 +97,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH)
+ PLFLAGS=`$$pyconfig --libs`; \
+ echo $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
+ $(CC) $(SHCFLAGS) $(CFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \
+- echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
+- $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
++ echo $(CC) --shared $(LDFLAGS) $$PLDFLAGS $$PLFLAGS -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
++ $(CC) --shared $(LDFLAGS) $$PLDFLAGS $$PLFLAGS -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
+ done || :
+ touch $@
+
+--
+2.32.0
+
diff --git a/dev-libs/newt/newt-0.52.21_p20210816.ebuild b/dev-libs/newt/newt-0.52.21_p20210816.ebuild
new file mode 100644
index 000000000000..f38fc22cf2ff
--- /dev/null
+++ b/dev-libs/newt/newt-0.52.21_p20210816.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit autotools python-r1 toolchain-funcs
+
+COMMIT=a7533580cd092e6a71c4ed722e830da4eb884d06
+
+DESCRIPTION="Redhat's Newt windowing toolkit development files"
+HOMEPAGE="https://pagure.io/newt"
+SRC_URI="https://github.com/mlichvar/newt/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gpm nls tcl"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/popt-1.6
+ =sys-libs/slang-2*
+ gpm? ( sys-libs/gpm )
+ tcl? ( >=dev-lang/tcl-8.5:0 )
+ "
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.52.13-gold.patch
+ "${FILESDIR}"/${PN}-0.52.14-tcl.patch
+ "${FILESDIR}"/${PN}-0.52.21-python-sitedir.patch
+ "${FILESDIR}"/${P}-makefile-LDFLAGS-ordering.patch
+ "${FILESDIR}"/${PN}-0.52.21-fix-non-POSIX-backticks.patch
+)
+
+S=${WORKDIR}/${PN}-${COMMIT}
+
+src_prepare() {
+ sed -i Makefile.in \
+ -e 's|$(SHCFLAGS) -o|$(LDFLAGS) &|g' \
+ -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
+
+ # can't build out-of-source
+ python_copy_sources
+}
+
+src_configure() {
+ configuring() {
+ econf \
+ PYTHONVERS="${PYTHON}" \
+ $(use_with gpm gpm-support) \
+ $(use_with tcl) \
+ $(use_enable nls)
+ }
+ python_foreach_impl run_in_build_dir configuring
+}
+
+src_compile() {
+ building() {
+ emake PYTHONVERS="${EPYTHON}"
+ }
+ python_foreach_impl run_in_build_dir building
+}
+
+src_install() {
+ installit() {
+ emake \
+ DESTDIR="${D}" \
+ PYTHON_SITEDIR="$(python_get_sitedir)" \
+ PYTHONVERS="${EPYTHON}" \
+ install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installit
+ dodoc peanuts.py popcorn.py tutorial.sgml
+ doman whiptail.1
+ einstalldocs
+
+ # don't want static archives
+ rm "${ED}"/usr/$(get_libdir)/libnewt.a || die
+}