pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kefir: add new package for a C17/C23 compiler



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By:	wiz
Date:		Mon Sep 29 19:48:33 2025 +0200
Changeset:	ed8ef974c73ca689b0ebe4e44fd3aa801d074987

Modified Files:
	Makefile
Added Files:
	kefir/DESCR
	kefir/Makefile
	kefir/PLIST
	kefir/TODO
	kefir/distinfo

Log Message:
kefir: add new package for a C17/C23 compiler

Supports and tested on NetBSD.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=ed8ef974c73ca689b0ebe4e44fd3aa801d074987

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile       |   3 +-
 kefir/DESCR    |  12 +++
 kefir/Makefile |  29 +++++++
 kefir/PLIST    | 263 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 kefir/TODO     |   3 +
 kefir/distinfo |   5 ++
 6 files changed, 314 insertions(+), 1 deletion(-)

diffs:
diff --git a/Makefile b/Makefile
index 5040f5dd20..337bf906f9 100644
--- a/Makefile
+++ b/Makefile
@@ -1910,6 +1910,7 @@ SUBDIR+=	kdeutils1
 SUBDIR+=	kea
 SUBDIR+=	kea-git
 SUBDIR+=	keama-git
+SUBDIR+=	kefir
 SUBDIR+=	kermit
 SUBDIR+=	kgamma5
 SUBDIR+=	kgrab
@@ -3312,7 +3313,7 @@ SUBDIR+=	postoffice
 SUBDIR+=	pounce
 SUBDIR+=	povray
 SUBDIR+=	powerdevil
-SUBDIR+=        powerdns
+SUBDIR+=	powerdns
 SUBDIR+=	powerdns-recursor53
 SUBDIR+=	powerlevel10k
 SUBDIR+=	powerline
diff --git a/kefir/DESCR b/kefir/DESCR
new file mode 100644
index 0000000000..0851949f15
--- /dev/null
+++ b/kefir/DESCR
@@ -0,0 +1,12 @@
+Kefir is an independent compiler for the C17/C23 programming
+language, developed by Jevgenij Protopopov. Kefir has been validated
+with a test suite of 80 software projects, among which are GNU
+core- and binutils, Curl, Nginx, OpenSSL, Perl, Postgresql, Tcl
+and many others. The compiler targets x86_64 architecture and
+System-V AMD64 ABI, supporting Linux, FreeBSD, NetBSD and OpenBSD.
+While the primary priority is compatibility and compliance, Kefir
+also features conservative SSA-based optimization pipeline, debug
+information generation, position-independent code, and implements
+bit-identical bootstrap. Kefir focuses on C source code translation
+to assembly, and integrates with the rest of system toolchain
+(assembler, linker, standard library) for other tasks.
diff --git a/kefir/Makefile b/kefir/Makefile
new file mode 100644
index 0000000000..efb4ebcb5c
--- /dev/null
+++ b/kefir/Makefile
@@ -0,0 +1,29 @@
+# $NetBSD$
+
+DISTNAME=	kefir-0.5.0
+CATEGORIES=	devel
+MASTER_SITES=	https://kefir.protopopov.lv/releases/
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://kefir.protopopov.lv/
+COMMENT=	C17/C23 compiler
+LICENSE=	gnu-gpl-v3 AND modified-bsd
+
+ONLY_FOR_PLATFORM=	*-*-x86_64
+
+# uses grealpath during installation
+TOOL_DEPENDS+=	coreutils-[0-9]*:../../sysutils/coreutils
+
+WRKSRC=		${WRKDIR}
+USE_LANGUAGES=	c c++
+USE_TOOLS+=	gmake
+
+PKGSRC_USE_FORTIFY=	no
+
+MAKE_FLAGS+=	prefix=${PREFIX}
+MAKE_FLAGS+=	EXTRA_LDFLAGS=${COMPILER_RPATH_FLAG}${PREFIX}/lib
+
+REPLACE_SH+=	scripts/kefir.m4
+REPLACE_SH+=	scripts/detect-host-env.sh
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/kefir/PLIST b/kefir/PLIST
new file mode 100644
index 0000000000..a18121d03e
--- /dev/null
+++ b/kefir/PLIST
@@ -0,0 +1,263 @@
+@comment $NetBSD$
+bin/kefir
+bin/kefir-cc
+bin/kefir-cc1
+bin/kefir-detect-host-env
+etc/kefir.local
+include/kefir/runtime
+include/kefir/toolchain/kefir/ast-translator/base.h
+include/kefir/toolchain/kefir/ast-translator/cache.h
+include/kefir/toolchain/kefir/ast-translator/context.h
+include/kefir/toolchain/kefir/ast-translator/debug/translator.h
+include/kefir/toolchain/kefir/ast-translator/environment.h
+include/kefir/toolchain/kefir/ast-translator/flow_control.h
+include/kefir/toolchain/kefir/ast-translator/function_declaration.h
+include/kefir/toolchain/kefir/ast-translator/function_definition.h
+include/kefir/toolchain/kefir/ast-translator/initializer.h
+include/kefir/toolchain/kefir/ast-translator/jump.h
+include/kefir/toolchain/kefir/ast-translator/layout.h
+include/kefir/toolchain/kefir/ast-translator/lvalue.h
+include/kefir/toolchain/kefir/ast-translator/misc.h
+include/kefir/toolchain/kefir/ast-translator/scope/global_scope_layout.h
+include/kefir/toolchain/kefir/ast-translator/scope/local_scope_layout.h
+include/kefir/toolchain/kefir/ast-translator/scope/scope_layout_impl.h
+include/kefir/toolchain/kefir/ast-translator/scope/scoped_identifier.h
+include/kefir/toolchain/kefir/ast-translator/scope/translator.h
+include/kefir/toolchain/kefir/ast-translator/temporaries.h
+include/kefir/toolchain/kefir/ast-translator/translator.h
+include/kefir/toolchain/kefir/ast-translator/translator_impl.h
+include/kefir/toolchain/kefir/ast-translator/type.h
+include/kefir/toolchain/kefir/ast-translator/typeconv.h
+include/kefir/toolchain/kefir/ast-translator/util.h
+include/kefir/toolchain/kefir/ast-translator/value.h
+include/kefir/toolchain/kefir/ast/alignment.h
+include/kefir/toolchain/kefir/ast/analyzer/analyzer.h
+include/kefir/toolchain/kefir/ast/analyzer/declarator.h
+include/kefir/toolchain/kefir/ast/analyzer/initializer.h
+include/kefir/toolchain/kefir/ast/analyzer/member_designator.h
+include/kefir/toolchain/kefir/ast/analyzer/nodes.h
+include/kefir/toolchain/kefir/ast/analyzer/type_traversal.h
+include/kefir/toolchain/kefir/ast/attributes.h
+include/kefir/toolchain/kefir/ast/base.h
+include/kefir/toolchain/kefir/ast/cache.h
+include/kefir/toolchain/kefir/ast/constant_expression.h
+include/kefir/toolchain/kefir/ast/constant_expression_impl.h
+include/kefir/toolchain/kefir/ast/constants.h
+include/kefir/toolchain/kefir/ast/context.h
+include/kefir/toolchain/kefir/ast/context_impl.h
+include/kefir/toolchain/kefir/ast/declarator.h
+include/kefir/toolchain/kefir/ast/declarator_specifier.h
+include/kefir/toolchain/kefir/ast/deprecation.h
+include/kefir/toolchain/kefir/ast/designator.h
+include/kefir/toolchain/kefir/ast/downcast.h
+include/kefir/toolchain/kefir/ast/flow_control.h
+include/kefir/toolchain/kefir/ast/format.h
+include/kefir/toolchain/kefir/ast/function_declaration_context.h
+include/kefir/toolchain/kefir/ast/global_context.h
+include/kefir/toolchain/kefir/ast/initializer.h
+include/kefir/toolchain/kefir/ast/initializer_traversal.h
+include/kefir/toolchain/kefir/ast/local_context.h
+include/kefir/toolchain/kefir/ast/node.h
+include/kefir/toolchain/kefir/ast/node_base.h
+include/kefir/toolchain/kefir/ast/node_helpers.h
+include/kefir/toolchain/kefir/ast/node_internal.h
+include/kefir/toolchain/kefir/ast/object.h
+include/kefir/toolchain/kefir/ast/runtime.h
+include/kefir/toolchain/kefir/ast/scope.h
+include/kefir/toolchain/kefir/ast/target_environment.h
+include/kefir/toolchain/kefir/ast/temporaries.h
+include/kefir/toolchain/kefir/ast/type.h
+include/kefir/toolchain/kefir/ast/type/array.h
+include/kefir/toolchain/kefir/ast/type/base.h
+include/kefir/toolchain/kefir/ast/type/basic.h
+include/kefir/toolchain/kefir/ast/type/enum.h
+include/kefir/toolchain/kefir/ast/type/function.h
+include/kefir/toolchain/kefir/ast/type/pointer.h
+include/kefir/toolchain/kefir/ast/type/qualified.h
+include/kefir/toolchain/kefir/ast/type/struct.h
+include/kefir/toolchain/kefir/ast/type_completion.h
+include/kefir/toolchain/kefir/ast/type_conv.h
+include/kefir/toolchain/kefir/ast/type_layout.h
+include/kefir/toolchain/kefir/cc1/cc1.h
+include/kefir/toolchain/kefir/cc1/options.h
+include/kefir/toolchain/kefir/codegen/amd64-common.h
+include/kefir/toolchain/kefir/codegen/amd64/asmcmp.h
+include/kefir/toolchain/kefir/codegen/amd64/codegen.h
+include/kefir/toolchain/kefir/codegen/amd64/devirtualize.h
+include/kefir/toolchain/kefir/codegen/amd64/dwarf.h
+include/kefir/toolchain/kefir/codegen/amd64/function.h
+include/kefir/toolchain/kefir/codegen/amd64/lowering.h
+include/kefir/toolchain/kefir/codegen/amd64/module.h
+include/kefir/toolchain/kefir/codegen/amd64/stack_frame.h
+include/kefir/toolchain/kefir/codegen/amd64/static_data.h
+include/kefir/toolchain/kefir/codegen/amd64/symbolic_labels.h
+include/kefir/toolchain/kefir/codegen/amd64/xregalloc.h
+include/kefir/toolchain/kefir/codegen/asmcmp/base.h
+include/kefir/toolchain/kefir/codegen/asmcmp/context.h
+include/kefir/toolchain/kefir/codegen/asmcmp/debug.h
+include/kefir/toolchain/kefir/codegen/asmcmp/format.h
+include/kefir/toolchain/kefir/codegen/asmcmp/pipeline.h
+include/kefir/toolchain/kefir/codegen/asmcmp/type_defs.h
+include/kefir/toolchain/kefir/codegen/codegen.h
+include/kefir/toolchain/kefir/codegen/variable_allocator.h
+include/kefir/toolchain/kefir/compiler/compiler.h
+include/kefir/toolchain/kefir/compiler/configuration.h
+include/kefir/toolchain/kefir/compiler/profile.h
+include/kefir/toolchain/kefir/core/base.h
+include/kefir/toolchain/kefir/core/basic-types.h
+include/kefir/toolchain/kefir/core/bitset.h
+include/kefir/toolchain/kefir/core/block_tree.h
+include/kefir/toolchain/kefir/core/data_model.h
+include/kefir/toolchain/kefir/core/error.h
+include/kefir/toolchain/kefir/core/error_format.h
+include/kefir/toolchain/kefir/core/extensions.h
+include/kefir/toolchain/kefir/core/hash.h
+include/kefir/toolchain/kefir/core/hashset.h
+include/kefir/toolchain/kefir/core/hashtable.h
+include/kefir/toolchain/kefir/core/hashtree.h
+include/kefir/toolchain/kefir/core/hashtreeset.h
+include/kefir/toolchain/kefir/core/interval_tree.h
+include/kefir/toolchain/kefir/core/list.h
+include/kefir/toolchain/kefir/core/mem.h
+include/kefir/toolchain/kefir/core/optional.h
+include/kefir/toolchain/kefir/core/os_error.h
+include/kefir/toolchain/kefir/core/platform.h
+include/kefir/toolchain/kefir/core/queue.h
+include/kefir/toolchain/kefir/core/sort.h
+include/kefir/toolchain/kefir/core/source_error.h
+include/kefir/toolchain/kefir/core/source_location.h
+include/kefir/toolchain/kefir/core/standard_version.h
+include/kefir/toolchain/kefir/core/string_array.h
+include/kefir/toolchain/kefir/core/string_buffer.h
+include/kefir/toolchain/kefir/core/string_builder.h
+include/kefir/toolchain/kefir/core/string_pool.h
+include/kefir/toolchain/kefir/core/tree.h
+include/kefir/toolchain/kefir/core/trie.h
+include/kefir/toolchain/kefir/core/util.h
+include/kefir/toolchain/kefir/core/vector.h
+include/kefir/toolchain/kefir/core/version.h
+include/kefir/toolchain/kefir/driver/compiler_options.h
+include/kefir/toolchain/kefir/driver/configuration.h
+include/kefir/toolchain/kefir/driver/driver.h
+include/kefir/toolchain/kefir/driver/driver_prologue.h
+include/kefir/toolchain/kefir/driver/externals.h
+include/kefir/toolchain/kefir/driver/parser.h
+include/kefir/toolchain/kefir/driver/runner.h
+include/kefir/toolchain/kefir/driver/target.h
+include/kefir/toolchain/kefir/driver/target_configuration.h
+include/kefir/toolchain/kefir/driver/tools.h
+include/kefir/toolchain/kefir/ir/assembly.h
+include/kefir/toolchain/kefir/ir/bitfields.h
+include/kefir/toolchain/kefir/ir/builder.h
+include/kefir/toolchain/kefir/ir/compact.h
+include/kefir/toolchain/kefir/ir/data.h
+include/kefir/toolchain/kefir/ir/debug.h
+include/kefir/toolchain/kefir/ir/format.h
+include/kefir/toolchain/kefir/ir/format_impl.h
+include/kefir/toolchain/kefir/ir/function.h
+include/kefir/toolchain/kefir/ir/instr.h
+include/kefir/toolchain/kefir/ir/mnemonic.h
+include/kefir/toolchain/kefir/ir/module.h
+include/kefir/toolchain/kefir/ir/opcode_defs.h
+include/kefir/toolchain/kefir/ir/opcodes.h
+include/kefir/toolchain/kefir/ir/platform.h
+include/kefir/toolchain/kefir/ir/type.h
+include/kefir/toolchain/kefir/ir/type_tree.h
+include/kefir/toolchain/kefir/lexer/allocator.h
+include/kefir/toolchain/kefir/lexer/base.h
+include/kefir/toolchain/kefir/lexer/buffer.h
+include/kefir/toolchain/kefir/lexer/context.h
+include/kefir/toolchain/kefir/lexer/format.h
+include/kefir/toolchain/kefir/lexer/lexem.h
+include/kefir/toolchain/kefir/lexer/lexer.h
+include/kefir/toolchain/kefir/lexer/source_cursor.h
+include/kefir/toolchain/kefir/lexer/string_literal_impl.h
+include/kefir/toolchain/kefir/optimizer/analysis.h
+include/kefir/toolchain/kefir/optimizer/base.h
+include/kefir/toolchain/kefir/optimizer/builder.h
+include/kefir/toolchain/kefir/optimizer/code.h
+include/kefir/toolchain/kefir/optimizer/code_util.h
+include/kefir/toolchain/kefir/optimizer/configuration.h
+include/kefir/toolchain/kefir/optimizer/constructor.h
+include/kefir/toolchain/kefir/optimizer/constructor_internal.h
+include/kefir/toolchain/kefir/optimizer/debug.h
+include/kefir/toolchain/kefir/optimizer/format.h
+include/kefir/toolchain/kefir/optimizer/function.h
+include/kefir/toolchain/kefir/optimizer/inline.h
+include/kefir/toolchain/kefir/optimizer/liveness.h
+include/kefir/toolchain/kefir/optimizer/local_variables.h
+include/kefir/toolchain/kefir/optimizer/loop_nest.h
+include/kefir/toolchain/kefir/optimizer/module.h
+include/kefir/toolchain/kefir/optimizer/opcode_defs.h
+include/kefir/toolchain/kefir/optimizer/pipeline.h
+include/kefir/toolchain/kefir/optimizer/schedule.h
+include/kefir/toolchain/kefir/optimizer/structure.h
+include/kefir/toolchain/kefir/optimizer/type.h
+include/kefir/toolchain/kefir/parser/base.h
+include/kefir/toolchain/kefir/parser/builder.h
+include/kefir/toolchain/kefir/parser/builtins.h
+include/kefir/toolchain/kefir/parser/cursor.h
+include/kefir/toolchain/kefir/parser/parser.h
+include/kefir/toolchain/kefir/parser/rule_helpers.h
+include/kefir/toolchain/kefir/parser/rules.h
+include/kefir/toolchain/kefir/parser/ruleset.h
+include/kefir/toolchain/kefir/parser/scope.h
+include/kefir/toolchain/kefir/platform/cli_parser.h
+include/kefir/toolchain/kefir/platform/filesystem.h
+include/kefir/toolchain/kefir/platform/filesystem_source.h
+include/kefir/toolchain/kefir/platform/input.h
+include/kefir/toolchain/kefir/platform/process.h
+include/kefir/toolchain/kefir/platform/tempfile.h
+include/kefir/toolchain/kefir/preprocessor/ast_context.h
+include/kefir/toolchain/kefir/preprocessor/directives.h
+include/kefir/toolchain/kefir/preprocessor/format.h
+include/kefir/toolchain/kefir/preprocessor/macro.h
+include/kefir/toolchain/kefir/preprocessor/macro_scope.h
+include/kefir/toolchain/kefir/preprocessor/predefined_macro.h
+include/kefir/toolchain/kefir/preprocessor/preprocessor.h
+include/kefir/toolchain/kefir/preprocessor/source_dependency_locator.h
+include/kefir/toolchain/kefir/preprocessor/source_file.h
+include/kefir/toolchain/kefir/preprocessor/token_sequence.h
+include/kefir/toolchain/kefir/preprocessor/tokenizer.h
+include/kefir/toolchain/kefir/preprocessor/user_macro.h
+include/kefir/toolchain/kefir/preprocessor/util.h
+include/kefir/toolchain/kefir/preprocessor/virtual_source_file.h
+include/kefir/toolchain/kefir/runtime/common/alloca.h
+include/kefir/toolchain/kefir/runtime/common/float.h
+include/kefir/toolchain/kefir/runtime/common/typeclass.h
+include/kefir/toolchain/kefir/runtime/common/typeclass_kefir_impl.h
+include/kefir/toolchain/kefir/target/abi/amd64/base.h
+include/kefir/toolchain/kefir/target/abi/amd64/bitfields.h
+include/kefir/toolchain/kefir/target/abi/amd64/function.h
+include/kefir/toolchain/kefir/target/abi/amd64/parameters.h
+include/kefir/toolchain/kefir/target/abi/amd64/platform.h
+include/kefir/toolchain/kefir/target/abi/amd64/return.h
+include/kefir/toolchain/kefir/target/abi/amd64/system-v/bitfields.h
+include/kefir/toolchain/kefir/target/abi/amd64/system-v/data.h
+include/kefir/toolchain/kefir/target/abi/amd64/system-v/parameters.h
+include/kefir/toolchain/kefir/target/abi/amd64/system-v/qwords.h
+include/kefir/toolchain/kefir/target/abi/amd64/system-v/return.h
+include/kefir/toolchain/kefir/target/abi/amd64/system-v/type_layout.h
+include/kefir/toolchain/kefir/target/abi/amd64/type_layout.h
+include/kefir/toolchain/kefir/target/abi/amd64/vararg.h
+include/kefir/toolchain/kefir/target/abi/util.h
+include/kefir/toolchain/kefir/target/asm/amd64/db.h
+include/kefir/toolchain/kefir/target/asm/amd64/xasmgen.h
+include/kefir/toolchain/kefir/target/dwarf/dwarf.h
+include/kefir/toolchain/kefir/target/dwarf/generator.h
+include/kefir/toolchain/kefir/test/codegen.h
+include/kefir/toolchain/kefir/test/module_shim.h
+include/kefir/toolchain/kefir/test/unit_test.h
+include/kefir/toolchain/kefir/test/util.h
+include/kefir/toolchain/kefir/util/bigint.h
+include/kefir/toolchain/kefir/util/char32.h
+include/kefir/toolchain/kefir/util/json.h
+include/kefir/toolchain/kefir/util/uchar.h
+lib/libkefir.a
+lib/libkefir.so
+lib/libkefir.so.0.0
+share/licenses/kefir/COPYING
+share/licenses/kefir/README
+share/man/man1/kefir-cc1.1.gz
+share/man/man1/kefir-detect-host-env.1.gz
+share/man/man1/kefir.1.gz
diff --git a/kefir/TODO b/kefir/TODO
new file mode 100644
index 0000000000..7b9f1b3711
--- /dev/null
+++ b/kefir/TODO
@@ -0,0 +1,3 @@
+Fix pkglint.
+
+Test.
diff --git a/kefir/distinfo b/kefir/distinfo
new file mode 100644
index 0000000000..a84cfe44b4
--- /dev/null
+++ b/kefir/distinfo
@@ -0,0 +1,5 @@
+$NetBSD$
+
+BLAKE2s (kefir-0.5.0.tar.gz) = 1b7c5a5d4fb632a8f10c3d5cb5cee76e4097fc12bc8a24c6ac7646bb07d78dad
+SHA512 (kefir-0.5.0.tar.gz) = f512980dae2299bd3f2181eaa76be04eb35b6f6e1bae23faa22d6a67a5cb2eb00f4c3c2b6f878ce85a4ba80ab342572f80b47037de5a7ec7d6c9ae6326cb7f26
+Size (kefir-0.5.0.tar.gz) = 2222618 bytes


Home | Main Index | Thread Index | Old Index