summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/cunit')
-rw-r--r--dev-util/cunit/cunit-2.1_p3-r1.ebuild (renamed from dev-util/cunit/cunit-2.1_p3.ebuild)25
-rw-r--r--dev-util/cunit/files/cunit-2.1_p3-ncurses-format-security.patch51
2 files changed, 70 insertions, 6 deletions
diff --git a/dev-util/cunit/cunit-2.1_p3.ebuild b/dev-util/cunit/cunit-2.1_p3-r1.ebuild
index b863c77021aa..3cb045955b26 100644
--- a/dev-util/cunit/cunit-2.1_p3.ebuild
+++ b/dev-util/cunit/cunit-2.1_p3-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools flag-o-matic multilib-minimal toolchain-funcs
@@ -11,12 +11,13 @@ MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="C Unit Test Framework"
HOMEPAGE="http://cunit.sourceforge.net"
-SRC_URI="mirror://sourceforge/cunit/${MY_P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/cunit/${MY_P}.tar.bz2"
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="ncurses static-libs"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="ncurses static-libs test"
+RESTRICT="!test? ( test )"
RDEPEND="ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}"
@@ -24,6 +25,10 @@ BDEPEND="virtual/pkgconfig"
S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1_p3-ncurses-format-security.patch
+)
+
src_prepare() {
default
@@ -48,7 +53,15 @@ multilib_src_configure() {
econf \
$(use_enable static-libs static) \
--disable-debug \
- $(use_enable ncurses curses)
+ $(use_enable ncurses curses) \
+ $(use_enable test)
+}
+
+multilib_src_test() {
+ default
+
+ cd CUnit/Sources/Test || die
+ ./test_cunit || die
}
multilib_src_install_all() {
diff --git a/dev-util/cunit/files/cunit-2.1_p3-ncurses-format-security.patch b/dev-util/cunit/files/cunit-2.1_p3-ncurses-format-security.patch
new file mode 100644
index 000000000000..5403d9dc7dbb
--- /dev/null
+++ b/dev-util/cunit/files/cunit-2.1_p3-ncurses-format-security.patch
@@ -0,0 +1,51 @@
+https://sources.debian.org/patches/cunit/2.1-3-dfsg-2.4/fix-string-format-errors-with-recent-ncu.patch/
+
+From: Sven Joachim <svenjoac@gmx.de>
+Date: Wed, 13 Oct 2021 19:23:18 +0200
+X-Dgit-Generated: 2.1-3-dfsg-3 74c029a14c5195c79122d44c3777a169d8cc535f
+Subject: Fix string format errors with recent ncurses
+
+
+--- a/CUnit/Sources/Curses/Curses.c
++++ b/CUnit/Sources/Curses/Curses.c
+@@ -952,11 +952,11 @@ static void show_suite_level_help(CU_pSu
+
+ snprintf(szTemp, STRING_LENGTH, _("Commands: R - run all tests in suite %s"),
+ pSuite->pName);
+- mvwprintw(details_pad.pPad, 0, 0, szTemp);
++ mvwprintw(details_pad.pPad, 0, 0, "%s", szTemp);
+ mvwprintw(details_pad.pPad, 1, 0, _(" S - Select and run a test"));
+ snprintf(szTemp, STRING_LENGTH, _(" L - List all tests registered in suite %s"),
+ pSuite->pName);
+- mvwprintw(details_pad.pPad, 2, 0, szTemp);
++ mvwprintw(details_pad.pPad, 2, 0, "%s", szTemp);
+ mvwprintw(details_pad.pPad, 3, 0, _(" A - Activate or deactivate a test (toggle)"));
+ mvwprintw(details_pad.pPad, 4, 0, _(" F - Show failures from last test run"));
+ mvwprintw(details_pad.pPad, 5, 0, _(" M - Move up to main menu"));
+@@ -1068,14 +1068,14 @@ static void list_tests(CU_pSuite pSuite)
+ }
+
+ snprintf(szTemp, STRING_LENGTH, "%s: %s", _("Suite"), pSuite->pName);
+- mvwprintw(details_pad.pPad, 0, 0, szTemp);
++ mvwprintw(details_pad.pPad, 0, 0, "%s", szTemp);
+
+ snprintf(szTemp, STRING_LENGTH,
+ "%*s %-*s%*s",
+ width[0], _("#"),
+ width[1], _("Test Name"),
+ width[2], _("Active?"));
+- mvwprintw(details_pad.pPad, 1, 0, szTemp);
++ mvwprintw(details_pad.pPad, 1, 0, "%s", szTemp);
+
+ for (i = 0, pCurTest = pSuite->pTest ;
+ NULL != pCurTest ;
+@@ -1158,7 +1158,7 @@ static STATUS curses_set_options_run(voi
+
+ snprintf(szTemp, STRING_LENGTH, _(" 1 - Inactive suites/tests treated as runtime failures %s"),
+ (CU_FALSE != CU_get_fail_on_inactive()) ? _("Yes") : _("No "));
+- mvwprintw(details_pad.pPad, 2, 0, szTemp);
++ mvwprintw(details_pad.pPad, 2, 0, "%s", szTemp);
+ refresh_details_window();
+ read_input_string(_("Enter number of option to change : "), szTemp, STRING_LENGTH);
+ option_num = atol(szTemp);
+