Commit: 6275b3ac55ca2662f744e263337c51a0c6cbdf77
Parent: 78a5ad9a1ccf77881a67763d173123e5987e9da7
Author: hovercats
Date: Sat, 15 Feb 2025 12:39:04 +0100
muon: new package @ 0.5.0
Diffstat:
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',