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