app-editors/nano: Sync with Gentoo

It's from Gentoo commit 840cd591abebf437ff980ab68a41452664957cee.

Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
Flatcar Buildbot 2026-03-02 07:23:41 +00:00 committed by Krzesimir Nowak
parent e206262d35
commit 01dab71c93
6 changed files with 399 additions and 8 deletions

View File

@ -1,2 +1,5 @@
DIST nano-8.6.tar.xz 1707688 BLAKE2B f7e17085d237ec3512b21bb732c2ebcf71a96991344acd0efc3592a650be856aed3ad958df59e27f332f750ac5e46ba7ed06b23093c8b68c4bf0a94aeecd2af0 SHA512 f783c59d2fb47e121c63779c4ce8c6d5e90c31184ca28449c6c9270933d02e19ee60d29b6c9a1122fe59de1132d56d9e402cc63fc88f847cea2b4af6302524ea
DIST nano-8.7.1.tar.xz 1726976 BLAKE2B 25c73945c385c6615ad547cad65d6b7edc0098d5310951d09bd91991c93ef09ef2f58a5dec8a00a17c0326a64bce18a1819d2073af94a8afcf43df747843da3b SHA512 13ad1bfc7cbc43687d097b35f481d73021c3ef09c51753ac9e388661f3afe2b1f87c47f62cb51f19818f1f3abf9d2ee80424c44888c0bb3223112dd9b18a0a44
DIST nano-8.7.1.tar.xz.asc 833 BLAKE2B 6d8e96c24cc9a5cf490d1ea8259fc26365fe2a923804e63eb079b3da4acb99bfb12b9adc37d9bdec0ca3f2ef3337b8c651e325962a5ef875e983614195489657 SHA512 71293b248d858b24fca5c150425f1fb89e572f76aa7cac1bec0689acfd6acda64b0f1ef8bb09a871a7f699e1dbd0e6ae277f5ff8dd201aabbff8fc8ed68fe0e1
DIST nano-8.7.tar.xz 1710220 BLAKE2B 4a7a67f854969960c96d1e3b2c7184f9d9c9fb305a14ff9764a39a8103ca5f5878f9e344b0dc522e27643f93e57582881ea8e664ac9c6eaa99c3b2d9632febdc SHA512 0aac5b1708b05a882cba57f718154e42a6cd8a57f1e1c13c76598fe85645c49703f0c17d2e650da90348eb60c2bdbe349925415b6511c27e5b1bea77d107ab37
DIST nano-8.7.tar.xz.asc 833 BLAKE2B c5c12598bfa787ddcfcf48a0b6685f98f2577771d64eb7bec16e68767cfcbb928334bd4c729e7dd4fc919a49bf6a7f5ba145e0cb16b9af5b3c15d63c19b76ab6 SHA512 b525ae9bdd69eae326c364ffd76a03592f4012132fdbff061ec804741857f6cb7428ffa4ebb65ab584a3eb1ce310bf9865d4ad2f73b11d2b156b55bd2ade23c1

View File

@ -0,0 +1,142 @@
https://bugs.gentoo.org/969220
https://src.fedoraproject.org/rpms/nano/blob/rawhide/f/nano-8.7-gnulib-c23.patch
From c028b6f1804a8fef398d7642d8ccb7d8f73150fb Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 23 Nov 2025 00:50:40 -0800
Subject: [PATCH] Port to C23 qualifier-generic fns like strchr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This ports Gnulib to strict C23 platforms that reject code
like char *q = strchr (P, 'x'); when P is a pointer to const,
because in C23 strchr is a qualifier-generic function so
strchr (P, 'x') returns char const *.
This patch does not attempt to do the following two things,
which might be useful in the future:
1. When compiling on non-C23 platforms, check user code for
portability to platforms that define qualifier-generic functions.
2. Port Gnulib to platforms that have qualifier-generic functions
not listed in the C23 standard, e.g., strchrnul. I dont know
of any such platforms.
* lib/c++defs.h (_GL_FUNCDECL_SYS_NAME): New macro.
* lib/c++defs.h (_GL_FUNCDECL_SYS):
* lib/stdlib.in.h (bsearch):
Use it, to prevent C23 names like strchr from acting like macros.
* lib/string.in.h (memchr, strchr, strpbrk, strrchr):
Do not #undef when GNULIB_POSIXCHECK is defined, as this could
cause conforming C23 code to fail to conform. Its not clear why
_GL_WARN_ON_USE_CXX; perhaps it was needed but isnt any more?
But for now, limit the removal of #undef to these four functions
where #undeffing is clearly undesirable in C23.
* lib/wchar.in.h (wmemchr): Parenthesize function name in decl,
to prevent it from acting like a macro.
Cherry-picked-by: Lukáš Zaoral <lzaoral@redhat.com>
Upstream-commit: df17f4f37ed3ca373d23ad42eae51122bdb96626
---
lib/c++defs.h | 12 +++++++++++-
lib/stdlib.in.h | 6 +++---
lib/string.in.h | 4 ----
lib/wchar.in.h | 2 +-
4 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/lib/c++defs.h b/lib/c++defs.h
index b77979a..7384457 100644
--- a/lib/c++defs.h
+++ b/lib/c++defs.h
@@ -127,6 +127,16 @@
#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters,...) \
_GL_EXTERN_C_FUNC __VA_ARGS__ rettype rpl_func parameters
+/* _GL_FUNCDECL_SYS_NAME (func) expands to plain func if C++, and to
+ parenthsized func otherwise. Parenthesization is needed in C23 if
+ the function is like strchr and so is a qualifier-generic macro
+ that expands to something more complicated. */
+#ifdef __cplusplus
+# define _GL_FUNCDECL_SYS_NAME(func) func
+#else
+# define _GL_FUNCDECL_SYS_NAME(func) (func)
+#endif
+
/* _GL_FUNCDECL_SYS (func, rettype, parameters, [attributes]);
declares the system function, named func, with the given prototype,
consisting of return type, parameters, and attributes.
@@ -139,7 +149,7 @@
_GL_FUNCDECL_SYS (posix_openpt, int, (int flags), _GL_ATTRIBUTE_NODISCARD);
*/
#define _GL_FUNCDECL_SYS(func,rettype,parameters,...) \
- _GL_EXTERN_C_FUNC __VA_ARGS__ rettype func parameters
+ _GL_EXTERN_C_FUNC __VA_ARGS__ rettype _GL_FUNCDECL_SYS_NAME (func) parameters
/* _GL_CXXALIAS_RPL (func, rettype, parameters);
declares a C++ alias called GNULIB_NAMESPACE::func
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index bef0aaa..fd0e1e0 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -224,9 +224,9 @@ _GL_INLINE_HEADER_BEGIN
/* Declarations for ISO C N3322. */
#if defined __GNUC__ && __GNUC__ >= 15 && !defined __clang__
-_GL_EXTERN_C void *bsearch (const void *__key,
- const void *__base, size_t __nmemb, size_t __size,
- int (*__compare) (const void *, const void *))
+_GL_EXTERN_C void *_GL_FUNCDECL_SYS_NAME (bsearch)
+ (const void *__key, const void *__base, size_t __nmemb, size_t __size,
+ int (*__compare) (const void *, const void *))
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3) _GL_ARG_NONNULL ((5));
_GL_EXTERN_C void qsort (void *__base, size_t __nmemb, size_t __size,
int (*__compare) (const void *, const void *))
diff --git a/lib/string.in.h b/lib/string.in.h
index fdcdd21..8b56acf 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -409,7 +409,6 @@ _GL_CXXALIASWARN1 (memchr, void const *,
_GL_CXXALIASWARN (memchr);
# endif
#elif defined GNULIB_POSIXCHECK
-# undef memchr
/* Assume memchr is always declared. */
_GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - "
"use gnulib module memchr for portability" );
@@ -674,7 +673,6 @@ _GL_WARN_ON_USE (stpncpy, "stpncpy is unportable - "
#if defined GNULIB_POSIXCHECK
/* strchr() does not work with multibyte strings if the locale encoding is
GB18030 and the character to be searched is a digit. */
-# undef strchr
/* Assume strchr is always declared. */
_GL_WARN_ON_USE_CXX (strchr,
const char *, char *, (const char *, int),
@@ -981,7 +979,6 @@ _GL_CXXALIASWARN (strpbrk);
Even in this simple case, it does not work with multibyte strings if the
locale encoding is GB18030 and one of the characters to be searched is a
digit. */
-# undef strpbrk
_GL_WARN_ON_USE_CXX (strpbrk,
const char *, char *, (const char *, const char *),
"strpbrk cannot work correctly on character strings "
@@ -1011,7 +1008,6 @@ _GL_WARN_ON_USE (strspn, "strspn cannot work correctly on character strings "
#if defined GNULIB_POSIXCHECK
/* strrchr() does not work with multibyte strings if the locale encoding is
GB18030 and the character to be searched is a digit. */
-# undef strrchr
/* Assume strrchr is always declared. */
_GL_WARN_ON_USE_CXX (strrchr,
const char *, char *, (const char *, int),
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index ab602a2..6be4515 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -301,7 +301,7 @@ _GL_EXTERN_C int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3)
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (2, 3);
# ifndef __cplusplus
-_GL_EXTERN_C wchar_t *wmemchr (const wchar_t *__s, wchar_t __wc, size_t __n)
+_GL_EXTERN_C wchar_t *(wmemchr) (const wchar_t *__s, wchar_t __wc, size_t __n)
_GL_ATTRIBUTE_NONNULL_IF_NONZERO (1, 3);
# endif
_GL_EXTERN_C wchar_t *wmemset (wchar_t *__s, wchar_t __wc, size_t __n)
--
2.52.0

View File

@ -0,0 +1,117 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git"
inherit autotools git-r3
else
MY_P="${PN}-${PV/_}"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bennoschulenberg.asc
inherit verify-sig
SRC_URI="
https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz
verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )"
fi
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide"
LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )"
SLOT="0"
IUSE="debug justify magic minimal ncurses nls +spell unicode"
RDEPEND="
>=sys-libs/ncurses-5.9-r1:=[unicode(+)?]
magic? ( sys-apps/file )
nls? ( virtual/libintl )
"
DEPEND="${RDEPEND}"
BDEPEND+="
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
REQUIRED_USE="
magic? ( !minimal )
"
# gnulib FPs
QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert )
PATCHES=(
"${FILESDIR}"/${PN}-8.7-glibc-2.43-c23.patch
)
src_prepare() {
default
if [[ ${PV} == 9999 ]] ; then
eautoreconf
fi
}
src_configure() {
local myconfargs=(
--bindir="${EPREFIX}"/bin
--htmldir=/trash
$(use_enable !minimal color)
$(use_enable !minimal multibuffer)
$(use_enable !minimal nanorc)
$(use_enable magic libmagic)
$(use_enable spell speller)
$(use_enable justify)
$(use_enable debug)
$(use_enable nls)
$(use_enable unicode utf8)
$(use_enable minimal tiny)
)
econf "${myconfargs[@]}"
}
src_install() {
default
# Don't use "${ED}" here or things break (#654534)
rm -r "${D}"/trash || die
dodoc doc/sample.nanorc
docinto html
dodoc doc/faq.html
insinto /etc
newins doc/sample.nanorc nanorc
if ! use minimal ; then
# Enable colorization by default.
sed -i \
-e '/^# include /s:# *::' \
"${ED}"/etc/nanorc || die
# Since nano-5.0 these are no longer being "enabled" by default
# (bug #736848)
local rcdir="/usr/share/nano"
mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die
rmdir "${ED}"${rcdir}/extra || die
insinto "${rcdir}"
newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc
fi
}
pkg_postrm() {
[[ -n ${REPLACED_BY_VERSION} ]] && return
local e
e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}")
if [[ ${e##*/} == nano ]]; then
ewarn "The EDITOR variable is still set to ${e}."
ewarn "You can update it with \"eselect editor\"."
fi
}

View File

@ -0,0 +1,113 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://git.savannah.gnu.org/git/nano.git"
inherit autotools git-r3
else
MY_P="${PN}-${PV/_}"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bennoschulenberg.asc
inherit verify-sig
SRC_URI="
https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz
verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )"
fi
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
HOMEPAGE="https://www.nano-editor.org/ https://wiki.gentoo.org/wiki/Nano/Guide"
LICENSE="GPL-3+ LGPL-2.1+ || ( GPL-3+ FDL-1.2+ )"
SLOT="0"
IUSE="debug justify magic minimal ncurses nls +spell unicode"
RDEPEND="
>=sys-libs/ncurses-5.9-r1:=[unicode(+)?]
magic? ( sys-apps/file )
nls? ( virtual/libintl )
"
DEPEND="${RDEPEND}"
BDEPEND+="
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
REQUIRED_USE="
magic? ( !minimal )
"
# gnulib FPs
QA_CONFIG_IMPL_DECL_SKIP=( unreachable MIN static_assert )
src_prepare() {
default
if [[ ${PV} == 9999 ]] ; then
eautoreconf
fi
}
src_configure() {
local myconfargs=(
--bindir="${EPREFIX}"/bin
--htmldir=/trash
$(use_enable !minimal color)
$(use_enable !minimal multibuffer)
$(use_enable !minimal nanorc)
$(use_enable magic libmagic)
$(use_enable spell speller)
$(use_enable justify)
$(use_enable debug)
$(use_enable nls)
$(use_enable unicode utf8)
$(use_enable minimal tiny)
)
econf "${myconfargs[@]}"
}
src_install() {
default
# Don't use "${ED}" here or things break (#654534)
rm -r "${D}"/trash || die
dodoc doc/sample.nanorc
docinto html
dodoc doc/faq.html
insinto /etc
newins doc/sample.nanorc nanorc
if ! use minimal ; then
# Enable colorization by default.
sed -i \
-e '/^# include /s:# *::' \
"${ED}"/etc/nanorc || die
# Since nano-5.0 these are no longer being "enabled" by default
# (bug #736848)
local rcdir="/usr/share/nano"
mv "${ED}"${rcdir}/extra/* "${ED}"/${rcdir}/ || die
rmdir "${ED}"${rcdir}/extra || die
insinto "${rcdir}"
newins "${FILESDIR}/gentoo.nanorc-r1" gentoo.nanorc
fi
}
pkg_postrm() {
[[ -n ${REPLACED_BY_VERSION} ]] && return
local e
e=$(unset EDITOR; . "${EROOT}"/etc/profile &>/dev/null; echo "${EDITOR}")
if [[ ${e##*/} == nano ]]; then
ewarn "The EDITOR variable is still set to ${e}."
ewarn "You can update it with \"eselect editor\"."
fi
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,8 +8,16 @@ if [[ ${PV} == 9999 ]] ; then
inherit autotools git-r3
else
MY_P="${PN}-${PV/_}"
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bennoschulenberg.asc
inherit verify-sig
SRC_URI="
https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz
verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc )
"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )"
fi
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
@ -25,9 +33,9 @@ RDEPEND="
nls? ( virtual/libintl )
"
DEPEND="${RDEPEND}"
BDEPEND="
nls? ( sys-devel/gettext )
BDEPEND+="
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
REQUIRED_USE="

View File

@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,8 +8,16 @@ if [[ ${PV} == 9999 ]] ; then
inherit autotools git-r3
else
MY_P="${PN}-${PV/_}"
SRC_URI="https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bennoschulenberg.asc
inherit verify-sig
SRC_URI="
https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz
verify-sig? ( https://www.nano-editor.org/dist/v${PV:0:1}/${MY_P}.tar.xz.asc )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bennoschulenberg )"
fi
DESCRIPTION="GNU GPL'd Pico clone with more functionality"
@ -25,9 +33,9 @@ RDEPEND="
nls? ( virtual/libintl )
"
DEPEND="${RDEPEND}"
BDEPEND="
nls? ( sys-devel/gettext )
BDEPEND+="
virtual/pkgconfig
nls? ( sys-devel/gettext )
"
REQUIRED_USE="