summaryrefslogtreecommitdiff
path: root/sys-apps/kbd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-10-04 17:52:00 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-10-04 17:52:00 +0100
commitdd851ab76c56a249df7a0ec052acd90940bc014f (patch)
treeb9a0f7262f1fadcf70488c6c3c4dc644b502dc52 /sys-apps/kbd
parent713e25c0c3d1e5434ac60ec0549708ec2f744bb4 (diff)
gentoo auto-resync : 04:10:2023 - 17:51:59
Diffstat (limited to 'sys-apps/kbd')
-rw-r--r--sys-apps/kbd/Manifest2
-rw-r--r--sys-apps/kbd/files/kbd-2.6.3-no-redefine-fortify-source.patch171
-rw-r--r--sys-apps/kbd/kbd-2.6.3-r1.ebuild94
3 files changed, 267 insertions, 0 deletions
diff --git a/sys-apps/kbd/Manifest b/sys-apps/kbd/Manifest
index 822b831397b1..ab35989c1101 100644
--- a/sys-apps/kbd/Manifest
+++ b/sys-apps/kbd/Manifest
@@ -1,3 +1,4 @@
+AUX kbd-2.6.3-no-redefine-fortify-source.patch 5516 BLAKE2B ed6532cf047b3bc4bfe24ba8abeacc03088b21c8e356eb4891ad700ec23e8c785a832d131c2181b491f68bdf5cc8a8ebb713e07b6855f579e4e58713f6f51416 SHA512 d22db84d282d3231b2891745bd6f249ce65e17fcfed46e10fccdc8289ad182fe0b0b847c4a10739f95f250bd50e506fc12dfaf97db3b3d83e33cfce3bf62edf2
DIST kbd-2.5.1.tar.xz 1491952 BLAKE2B aab4c3d78c28709bf562b54fe94c0533d5c33185e183bf3eb944f89147b250d9df9b30b64a06eb4742feafe8c05a6aa491a7f007b4d6d9077bc19a4628ba05ae SHA512 74855f486aff5fc2f93a6cb29460a590c94eac653b001574e1b4eb1300ea99dfed9222f9e5d1d3a05a112a6880591d5c44ed6e76b8a64edf744ecb0892f562d0
DIST kbd-2.6.1.tar.xz 1591240 BLAKE2B 15c738379cfa9420e218ddbf6562e2c75b6bf5eb31ce159d798d49546991ca0c02bf9a11486d99bd2ba7d99f3bf6abb53ad799c6314df6d9ca9b1e8cf808b738 SHA512 8d7f39efa91ef16f4c0601c1744e7f00e411c121607660c8f585d3e085d8e8bea4ea095f6c7f491af763097a9844fb4a07d4b78a8358cb7caafbfda0626acf91
DIST kbd-2.6.2.tar.xz 1503532 BLAKE2B aa146177b2ffd9d6d396c253ce54d0ee42e1a1a2ba471ae0f8950a72b49f2f83aa4660337a581150cfd9fae0b9a4415725f4d152e83c0bdf26b833a31f6e2696 SHA512 afcac33e2e8eecd6f9cfa20bb39254deffc4d8924c4f722d003bdfaf286dac7d87f55ed0a5a35d341ae88fc48162966d5aa1ab8125b11e845bf3c2589a17c8d2
@@ -5,6 +6,7 @@ DIST kbd-2.6.3.tar.xz 1503048 BLAKE2B 9c3f9e2ec9abd3a18bd4159b3a223deee6aee74610
EBUILD kbd-2.5.1.ebuild 2027 BLAKE2B 66c55f1296812b9a197460a8a90bf237def618d6fc9d00ad6e26ff543b1918c7274aae2627c836925099ed37645bf6fa5c05ebfc392077b265b46f0d31d0b1c9 SHA512 9734368dac398812fee31c31a29f6ec8b4819181a8a0a711ceadb64c825aaf515aa35d767185bf9379e5287facda5f53c923ef64aeb3f45ea054b5a5c97f2dd2
EBUILD kbd-2.6.1.ebuild 2080 BLAKE2B 0606f8e5722854c0aeb9e389079d016eaeab9d3d5b35d973c78f5e1d96242e443b6ddd50684288d3fbbc2d1e901e5648fb2396401b443b561154a9cd1f97b754 SHA512 6f07c4c1c64c445fc2014a857005c8b4a8d070f387d57b24377c15669f75b19e56a1c17278935a2418db5fe317ed734c3c2e36fb3d96a1a6ff6d84287b721124
EBUILD kbd-2.6.2.ebuild 2087 BLAKE2B d28a22fedf7b8cbbeca0245c825a27f23f9bf2889362737103a0b368a78c4eeb96d6381e262d83b1c2b131206f36074f1f06ca0220a855ffe81b032a3d3ffbf6 SHA512 25f67af979a43e1866e8bbc98bfa86c27f493b06933e37365321dc6bbdc8520478fa8253430a8ad125b64c67c8e5df7560ff3e047a84ff2e661403afb456077a
+EBUILD kbd-2.6.3-r1.ebuild 2208 BLAKE2B 77a373d748301d2a4ccd36de5907c24a31a2116168ba6fd64e3a282f4bd54f1fff2a1d14bc720c826684dc128d1603cc2cf998ff8f5a0e2541c53645a03c33fa SHA512 5845863c0adf411da2f3259ca18b244c0bff48804e70373f3ba91375c5eb99d3971b6638c984623130987ed498a8fbdaf8cedf88453ee0420fe47094ec35402c
EBUILD kbd-2.6.3.ebuild 2087 BLAKE2B d28a22fedf7b8cbbeca0245c825a27f23f9bf2889362737103a0b368a78c4eeb96d6381e262d83b1c2b131206f36074f1f06ca0220a855ffe81b032a3d3ffbf6 SHA512 25f67af979a43e1866e8bbc98bfa86c27f493b06933e37365321dc6bbdc8520478fa8253430a8ad125b64c67c8e5df7560ff3e047a84ff2e661403afb456077a
EBUILD kbd-9999.ebuild 2087 BLAKE2B d28a22fedf7b8cbbeca0245c825a27f23f9bf2889362737103a0b368a78c4eeb96d6381e262d83b1c2b131206f36074f1f06ca0220a855ffe81b032a3d3ffbf6 SHA512 25f67af979a43e1866e8bbc98bfa86c27f493b06933e37365321dc6bbdc8520478fa8253430a8ad125b64c67c8e5df7560ff3e047a84ff2e661403afb456077a
MISC metadata.xml 335 BLAKE2B 3b00a31428edc76e9a758c347107ad15e2f91a440a49e5167878555eda6dad176f8936ca22acbbecb5ff4827d8605b28db53ca990284b4e18c536a04d46616ed SHA512 86a6b134e0403abf5c22e868e2013a2051f504401d5ff8aa1ad682638d866ab8d837470ed87434286b77933483d7675646f382b15aed19772b2fff17258fc0f7
diff --git a/sys-apps/kbd/files/kbd-2.6.3-no-redefine-fortify-source.patch b/sys-apps/kbd/files/kbd-2.6.3-no-redefine-fortify-source.patch
new file mode 100644
index 000000000000..b18fb9f751cf
--- /dev/null
+++ b/sys-apps/kbd/files/kbd-2.6.3-no-redefine-fortify-source.patch
@@ -0,0 +1,171 @@
+https://github.com/legionus/kbd/pull/103
+
+From 3392e2038dee97361d7438512653736d72a02109 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 4 Oct 2023 14:47:33 +0100
+Subject: [PATCH] Use `AX_ADD_FORTIFY_SOURCE` to avoid redefining
+ `_FORTIFY_SOURCE`
+
+Some distributions are now setting -D_FORTIFY_SOURCE=3 by default in their
+toolchains rather than _F_S=2. By forcing _F_S=2, this causes both a warning
+and a downgrade in the effective protection.
+
+Use the autoconf-archive macro for this purpose (AX_ADD_FORTIFY_SOURCE)
+to add the fortification at the highest supported level if the compiler doesn't
+already default to it.
+
+Bug: https://bugs.gentoo.org/892834
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 5 +-
+ m4/ax_add_fortify_source.m4 | 119 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 122 insertions(+), 2 deletions(-)
+ create mode 100644 m4/ax_add_fortify_source.m4
+
+diff --git a/configure.ac b/configure.ac
+index 66023ff8..7fdbe7d6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -63,13 +63,14 @@ strspn strstr strtol strtoul setpgrp malloc realloc])
+
+ AC_SEARCH_LIBS([timer_create], [rt])
+
++AX_ADD_FORTIFY_SOURCE
++
+ # Optimization level
+ CC_O_LEVEL="-O2"
+-FORTIFY_SOURCE="-D_FORTIFY_SOURCE=2"
+
+ if test "$enable_code_coverage" = yes; then
+ CC_O_LEVEL="-O0"
+- FORTIFY_SOURCE=
++ FORTIFY_SOURCE="-U_FORTIFY_SOURCE"
+ fi
+
+ case "$GCC,$ac_cv_prog_cc_g" in
+diff --git a/m4/ax_add_fortify_source.m4 b/m4/ax_add_fortify_source.m4
+new file mode 100644
+index 00000000..860c1598
+--- /dev/null
++++ b/m4/ax_add_fortify_source.m4
+@@ -0,0 +1,119 @@
++# ===========================================================================
++# https://www.gnu.org/software/autoconf-archive/ax_add_fortify_source.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_ADD_FORTIFY_SOURCE
++#
++# DESCRIPTION
++#
++# Check whether -D_FORTIFY_SOURCE=2 can be added to CPPFLAGS without macro
++# redefinition warnings, other cpp warnings or linker. Some distributions
++# (such as Ubuntu or Gentoo Linux) enable _FORTIFY_SOURCE globally in
++# their compilers, leading to unnecessary warnings in the form of
++#
++# <command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
++# <built-in>: note: this is the location of the previous definition
++#
++# which is a problem if -Werror is enabled. This macro checks whether
++# _FORTIFY_SOURCE is already defined, and if not, adds -D_FORTIFY_SOURCE=2
++# to CPPFLAGS.
++#
++# Newer mingw-w64 msys2 package comes with a bug in
++# headers-git-7.0.0.5546.d200317d-1. It broke -D_FORTIFY_SOURCE support,
++# and would need -lssp or -fstack-protector. See
++# https://github.com/msys2/MINGW-packages/issues/5803. Try to actually
++# link it.
++#
++# LICENSE
++#
++# Copyright (c) 2017 David Seifert <soap@gentoo.org>
++# Copyright (c) 2019, 2023 Reini Urban <rurban@cpan.org>
++#
++# Copying and distribution of this file, with or without modification, are
++# permitted in any medium without royalty provided the copyright notice
++# and this notice are preserved. This file is offered as-is, without any
++# warranty.
++
++#serial 10
++
++AC_DEFUN([AX_ADD_FORTIFY_SOURCE],[
++ ac_save_cflags=$CFLAGS
++ ac_cwerror_flag=yes
++ AX_CHECK_COMPILE_FLAG([-Werror],[CFLAGS="$CFLAGS -Werror"])
++ ax_add_fortify_3_failed=
++ AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=3 to CPPFLAGS])
++ AC_LINK_IFELSE([
++ AC_LANG_PROGRAM([],
++ [[
++ #ifndef _FORTIFY_SOURCE
++ return 0;
++ #else
++ _FORTIFY_SOURCE_already_defined;
++ #endif
++ ]]
++ )],
++ AC_LINK_IFELSE([
++ AC_LANG_SOURCE([[
++ #define _FORTIFY_SOURCE 3
++ #include <string.h>
++ int main(void) {
++ char *s = " ";
++ strcpy(s, "x");
++ return strlen(s)-1;
++ }
++ ]]
++ )],
++ [
++ AC_MSG_RESULT([yes])
++ CFLAGS=$ac_save_cflags
++ CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=3"
++ ], [
++ AC_MSG_RESULT([no])
++ ax_add_fortify_3_failed=1
++ ],
++ ),
++ [
++ AC_MSG_RESULT([no])
++ ax_add_fortify_3_failed=1
++ ])
++ if test -n "$ax_add_fortify_3_failed"
++ then
++ AC_MSG_CHECKING([whether to add -D_FORTIFY_SOURCE=2 to CPPFLAGS])
++ AC_LINK_IFELSE([
++ AC_LANG_PROGRAM([],
++ [[
++ #ifndef _FORTIFY_SOURCE
++ return 0;
++ #else
++ _FORTIFY_SOURCE_already_defined;
++ #endif
++ ]]
++ )],
++ AC_LINK_IFELSE([
++ AC_LANG_SOURCE([[
++ #define _FORTIFY_SOURCE 2
++ #include <string.h>
++ int main(void) {
++ char *s = " ";
++ strcpy(s, "x");
++ return strlen(s)-1;
++ }
++ ]]
++ )],
++ [
++ AC_MSG_RESULT([yes])
++ CFLAGS=$ac_save_cflags
++ CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
++ ], [
++ AC_MSG_RESULT([no])
++ CFLAGS=$ac_save_cflags
++ ],
++ ),
++ [
++ AC_MSG_RESULT([no])
++ CFLAGS=$ac_save_cflags
++ ])
++ fi
++])
+
diff --git a/sys-apps/kbd/kbd-2.6.3-r1.ebuild b/sys-apps/kbd/kbd-2.6.3-r1.ebuild
new file mode 100644
index 000000000000..8109218a18e0
--- /dev/null
+++ b/sys-apps/kbd/kbd-2.6.3-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/legionus/kbd.git https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git"
+ EGIT_BRANCH="master"
+ inherit git-r3
+else
+ if [[ $(ver_cut 3) -lt 90 ]] ; then
+ SRC_URI="https://www.kernel.org/pub/linux/utils/kbd/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ else
+ SRC_URI="https://github.com/legionus/kbd/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ fi
+fi
+
+DESCRIPTION="Keyboard and console utilities"
+HOMEPAGE="https://kbd-project.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="nls selinux pam test"
+RESTRICT="!test? ( test )"
+
+# Testsuite's Makefile.am calls missing(!)
+# ... but this seems to be consistent with the autoconf docs?
+# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html
+QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*"
+
+DEPEND="
+ app-alternatives/gzip
+ pam? (
+ !app-misc/vlock
+ sys-libs/pam
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-loadkeys )
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( dev-libs/check )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.6.3-no-redefine-fortify-source.patch
+)
+
+src_prepare() {
+ default
+
+ # Rename conflicting keymaps to have unique names, bug #293228
+ # See also https://github.com/legionus/kbd/issues/76.
+ pushd "${S}"/data/keymaps/i386 &> /dev/null || die
+ mv fgGIod/trf.map fgGIod/trf-fgGIod.map || die
+ mv olpc/es.map olpc/es-olpc.map || die
+ mv olpc/pt.map olpc/pt-olpc.map || die
+ mv qwerty/cz.map qwerty/cz-qwerty.map || die
+ popd &> /dev/null || die
+
+ #if [[ ${PV} == 9999 ]] || [[ $(ver_cut 3) -ge 90 ]] ; then
+ # eautoreconf
+ #fi
+
+ # Always do it for now for the F_S patch
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-werror
+
+ $(use_enable nls)
+ $(use_enable pam vlock)
+ $(use_enable test tests)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ docinto html
+ dodoc docs/doc/*.html
+
+ # USE="test" installs .la files
+ find "${ED}" -type f -name "*.la" -delete || die
+}