opkg

statically linked package installer
git clone anongit@rnpnr.xyz:opkg.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

Commit: 6275b3ac55ca2662f744e263337c51a0c6cbdf77
Parent: 78a5ad9a1ccf77881a67763d173123e5987e9da7
Author: hovercats
Date:   Sat, 15 Feb 2025 12:39:04 +0100

muon: new package @ 0.5.0

Diffstat:
M.gitmodules | 3+++
Mpkg/gen.lua | 1+
Apkg/muon/.gitignore | 1+
Apkg/muon/gen.lua | 131+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/muon/src | 1+
Apkg/muon/ver | 1+
Apkg/muon/version.c | 9+++++++++
Msets.lua | 1+
8 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/.gitmodules b/.gitmodules @@ -46,6 +46,9 @@ [submodule "pkg/msmtp/src"] path = pkg/msmtp/src url = https://github.com/marlam/msmtp-mirror.git +[submodule "pkg/muon/src"] + path = pkg/muon/src + url = https://git.sr.ht/~lattis/muon [submodule "pkg/netbsd-curses/src"] path = pkg/netbsd-curses/src url = https://github.com/oasislinux/netbsd-curses.git diff --git a/pkg/gen.lua b/pkg/gen.lua @@ -22,6 +22,7 @@ subgen('mandoc') subgen('mblaze') subgen('md4c') subgen('msmtp') +subgen('muon') subgen('netbsd-curses') subgen('openbsd') subgen('optipng') diff --git a/pkg/muon/.gitignore b/pkg/muon/.gitignore @@ -0,0 +1 @@ +/tools.ninja diff --git a/pkg/muon/gen.lua b/pkg/muon/gen.lua @@ -0,0 +1,131 @@ +cflags{ + '-std=c99', + '-Wall', '-Wpedantic', '-Wno-missing-braces', + '-D MUON_PLATFORM_posix', + '-D MUON_ENDIAN=0', + '-D MUON_STATIC', + '-D MUON_BOOTSTRAPPED', + '-I $outdir', + '-I $srcdir/include', +} + +sub('tools.ninja', function() + toolchain(config.host) + cflags{'-I $srcdir/include'} + exe('embedder', {'tools/embedder.c'}) +end) + +rule('embedder', '$outdir/embedder $args >$out') + +local embed = { + 'commands/copyfile.meson', + 'commands/coverage.meson', + 'commands/delete_suffix.meson', + 'commands/i18n/gettext.meson', + 'commands/i18n/itstool.meson', + 'commands/i18n/msgfmthelper.meson', + 'commands/vcs_tagger.meson', + 'lib/cmake_prelude.meson', + 'modules/_test.meson', + 'modules/gnome.meson', + 'modules/i18n.meson', + 'options/global.meson', + 'options/per_project.meson', + 'python/python_info.py', + 'runtime/dependencies.meson', +} + +local args = {} +for _, file in ipairs(embed) do + table.insert(args, '$srcdir/src/script/'..file) + table.insert(args, file) +end + +build('embedder', '$outdir/embedded_files.h', {expand{'$srcdir/src/script', embed}, '|', '$outdir/embedder'}, {args=args}) + +build('sed', '$outdir/version.c', '$srcdir/src/version.c.in', { + expr={ + '-e s,@version@,0.5.0,', + '-e s,@vcs_tag@,,', + '-e s,@meson_compat@,1.7,', + }, +}) + +pkg.deps = { + '$outdir/embedded_files.h', +} + +exe('muon', [[ + src/( + args.c cmd_install.c cmd_subprojects.c cmd_test.c + coerce.c compilers.c embedded.c + error.c guess.c install.c log.c + machine_file.c machines.c main.c + memmem.c meson_opts.c options.c + opts.c rpmvercmp.c sha_256.c + vsenv.c wrap.c ui_null.c + backend/( + backend.c common_args.c introspect.c ninja.c output.c xcode.c + ninja/( + alias_target.c coverage.c build_target.c + custom_target.c rules.c + ) + ) + datastructures/( + arr.c bucket_arr.c hash.c stack.c + ) + formats/( + editorconfig.c ini.c json.c + lines.c tap.c xml.c + ) + functions/( + array.c boolean.c both_libs.c + build_target.c compiler.c + configuration_data.c custom_target.c + dependency.c dict.c disabler.c + environment.c external_program.c + feature_opt.c file.c generator.c + kernel.c modules.c machine.c meson.c + number.c run_result.c + source_configuration.c source_set.c + string.c subproject.c + kernel/( + build_target.c configure_file.c + custom_target.c dependency.c + install.c options.c subproject.c + ) + modules/( + curl.c fs.c getopt.c keyval.c pkgconfig.c + python.c sourceset.c subprojects.c toolchain.c + json.c + ) + ) + lang/( + analyze.c compiler.c eval.c + fmt.c func_lookup.c lexer.c lsp.c + object.c object_iterators.c parser.c + serial.c string.c typecheck.c + vm.c workspace.c + ) + platform/( + assert.c filesystem.c os.c mem.c + path.c run_cmd.c uname.c + posix/( + filesystem.c init.c log.c + os.c path.c rpath_fixer.c + run_cmd.c term.c timer.c + uname.c + ) + ) + external/( + libarchive_null.c libcurl_null.c + samurai_null.c readline_builtin.c + pkgconfig.c pkgconfig_exec.c + ) + ) + $outdir/version.c +]]) + +file('bin/muon', '755', '$outdir/muon') + +fetch 'git' diff --git a/pkg/muon/src b/pkg/muon/src @@ -0,0 +1 @@ +Subproject commit 2a953ce7a16834888965e08160aafcbb2e557b70 diff --git a/pkg/muon/ver b/pkg/muon/ver @@ -0,0 +1 @@ +0.5.0 diff --git a/pkg/muon/version.c b/pkg/muon/version.c @@ -0,0 +1,9 @@ +#include "compat.h" + +#include "version.h" + +const struct muon_version muon_version = { + .version = "0.5.0", + .vcs_tag = "2a953ce7", + .meson_compat = "1.7.99", +}; diff --git a/sets.lua b/sets.lua @@ -13,6 +13,7 @@ S.bin = { 'mblaze', 'md4c', 'msmtp', + 'muon', 'openbsd', 'optipng', 'pax',