git: 8c1a20b75018 - main - devel/kconfig-frontends: Kconfig files parser and frontend

From: Kurt Jaeger <pi_at_FreeBSD.org>
Date: Mon, 03 Oct 2022 07:21:04 UTC
The branch main has been updated by pi:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8c1a20b75018df72c4a5bd36c5eef2466ccf268e

commit 8c1a20b75018df72c4a5bd36c5eef2466ccf268e
Author:     Tomek CEDRO <tomek@cedro.info>
AuthorDate: 2022-10-03 07:19:29 +0000
Commit:     Kurt Jaeger <pi@FreeBSD.org>
CommitDate: 2022-10-03 07:19:29 +0000

    devel/kconfig-frontends: Kconfig files parser and frontend
    
    Kconfig frontends and parser. Port created for NuttX RTOS development.
    Kconfig is the configuration language used by the Linux kernel. This package
    is a simple copy of the frontends and the parser found in the Linux kernel
    source tree, with very minor changes to adapt them to being built out of
    the kernel build infrastructure. Kconfig is also used in embedded development.
    This program has currently no upstream maintainer. NuttX copy is used.
    There are two forks: Debian based on 4.11, Espressif based on version 4.6.
    
    PR:             259256
---
 devel/Makefile                                     |  1 +
 devel/kconfig-frontends/Makefile                   | 27 ++++++++++++++++++++++
 devel/kconfig-frontends/distinfo                   |  3 +++
 .../files/patch-libs_parser_hconf.c                | 11 +++++++++
 devel/kconfig-frontends/pkg-descr                  |  7 ++++++
 devel/kconfig-frontends/pkg-plist                  | 19 +++++++++++++++
 6 files changed, 68 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 08b8b5ee2f92..dbe5c0e81b10 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1016,6 +1016,7 @@
     SUBDIR += kBuild
     SUBDIR += kapptemplate
     SUBDIR += kcachegrind
+    SUBDIR += kconfig-frontends
     SUBDIR += kcov
     SUBDIR += kdbg
     SUBDIR += kde-dev-scripts
diff --git a/devel/kconfig-frontends/Makefile b/devel/kconfig-frontends/Makefile
new file mode 100644
index 000000000000..bffdc5270574
--- /dev/null
+++ b/devel/kconfig-frontends/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	kconfig-frontends
+DISTVERSION=	4.11.0.1
+CATEGORIES=	devel
+MASTER_SITES=	https://bitbucket.org/nuttx/tools/downloads/
+
+MAINTAINER=	tomek@cedro.info
+COMMENT=	Kconfig files parser and frontend
+WWW=		https://bitbucket.org/nuttx/tools/downloads/
+
+LICENSE=	GPLv2
+
+USES=		gmake gperf libtool python shebangfix tar:bz2 ncurses
+SHEBANG_FILES=	utils/kconfig-diff utils/kconfig-tweak.in
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--disable-gconf --disable-qconf --enable-mconf --enable-mconf
+INSTALL_TARGET=	install-strip
+DOCS=		AUTHORS COPYING README docs/kconfig-language.txt \
+		docs/kconfig.txt
+
+.include <bsd.port.options.mk>
+
+post-install:
+.for file in ${DOCS}
+	${INSTALL_DATA} ${WRKSRC}/${file} ${STAGEDIR}${DOCSDIR}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/devel/kconfig-frontends/distinfo b/devel/kconfig-frontends/distinfo
new file mode 100644
index 000000000000..1cd1e5a7bd22
--- /dev/null
+++ b/devel/kconfig-frontends/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1634567697
+SHA256 (kconfig-frontends-4.11.0.1.tar.bz2) = cb1838cfe2f097ba09cade27d47527720d5b29e2b715c0a96c33d0b6a10bab13
+SIZE (kconfig-frontends-4.11.0.1.tar.bz2) = 448594
diff --git a/devel/kconfig-frontends/files/patch-libs_parser_hconf.c b/devel/kconfig-frontends/files/patch-libs_parser_hconf.c
new file mode 100644
index 000000000000..72ec3bbbb295
--- /dev/null
+++ b/devel/kconfig-frontends/files/patch-libs_parser_hconf.c
@@ -0,0 +1,11 @@
+--- libs/parser/hconf.c.orig	2019-09-24 15:10:13 UTC
++++ libs/parser/hconf.c
+@@ -172,7 +172,7 @@ __attribute__ ((__gnu_inline__))
+ #endif
+ #endif
+ const struct kconf_id *
+-kconf_id_lookup (register const char *str, register unsigned int len)
++kconf_id_lookup (register const char *str, register GPERF_LEN_TYPE len)
+ {
+   enum
+     {
diff --git a/devel/kconfig-frontends/pkg-descr b/devel/kconfig-frontends/pkg-descr
new file mode 100644
index 000000000000..d05a58d5c573
--- /dev/null
+++ b/devel/kconfig-frontends/pkg-descr
@@ -0,0 +1,7 @@
+Kconfig frontends and parser. Port created for NuttX RTOS development.
+Kconfig is the configuration language used by the Linux kernel. This package
+is a simple copy of the frontends and the parser found in the Linux kernel
+source tree, with very minor changes to adapt them to being built out of
+the kernel build infrastructure. Kconfig is also used in embedded development.
+This program has currently no upstream maintainer. NuttX copy is used.
+There are two forks: Debian based on 4.11, Espressif based on version 4.6.
diff --git a/devel/kconfig-frontends/pkg-plist b/devel/kconfig-frontends/pkg-plist
new file mode 100644
index 000000000000..1eef883386c5
--- /dev/null
+++ b/devel/kconfig-frontends/pkg-plist
@@ -0,0 +1,19 @@
+bin/kconfig
+bin/kconfig-conf
+bin/kconfig-diff
+bin/kconfig-merge
+bin/kconfig-mconf
+bin/kconfig-nconf
+bin/kconfig-tweak
+include/kconfig/expr.h
+include/kconfig/list.h
+include/kconfig/lkc.h
+include/kconfig/lkc_proto.h
+lib/libkconfig-parser-4.11.0.so
+lib/libkconfig-parser.so
+libdata/pkgconfig/kconfig-parser.pc
+%%DOCSDIR%%/AUTHORS
+%%DOCSDIR%%/COPYING
+%%DOCSDIR%%/README
+%%DOCSDIR%%/kconfig-language.txt
+%%DOCSDIR%%/kconfig.txt