diff options
| author | Michael Forney <mforney@mforney.org> | 2024-08-14 20:37:12 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2024-08-15 01:09:25 -0700 |
| commit | 0bbe257a92854aa65dfc5fa1aaa321c9b42c8043 (patch) | |
| tree | 75e4dbba9c328e732b8804ad048f561a0117de1b /pkg/mpv/gen.lua | |
| parent | 559deaa755f18455fbcdaf3ce1474214811f8c8f (diff) | |
mpv: Update to 0.38.0
Diffstat (limited to 'pkg/mpv/gen.lua')
| -rw-r--r-- | pkg/mpv/gen.lua | 347 |
1 files changed, 259 insertions, 88 deletions
diff --git a/pkg/mpv/gen.lua b/pkg/mpv/gen.lua index 42b409d5..c97feb5a 100644 --- a/pkg/mpv/gen.lua +++ b/pkg/mpv/gen.lua @@ -1,4 +1,4 @@ -build('awk', '$outdir/generated/version.h', {'$srcdir/VERSION', '|', '$dir/version.awk'}, { +build('awk', '$outdir/version.h', {'$srcdir/VERSION', '|', '$dir/version.awk'}, { expr='-f $dir/version.awk', }) @@ -9,13 +9,13 @@ sub('tools.ninja', function() end) cflags{ - '-Wno-deprecated-declarations', '-D _GNU_SOURCE', '-I $dir', '-I $outdir', '-I $srcdir', '-isystem $basedir/pkg/ffmpeg/src', '-isystem $builddir/pkg/ffmpeg/include', + '-isystem $builddir/pkg/libplacebo/include', '-isystem $builddir/pkg/linux-headers/include', '-isystem $builddir/pkg/zlib/include', } @@ -27,26 +27,31 @@ local libs = { 'ffmpeg/libavutil.a', 'ffmpeg/libswresample.a.d', 'ffmpeg/libswscale.a.d', + 'libplacebo/libplacebo.a', 'zlib/libz.a', } pkg.deps = { - '$outdir/generated/version.h', + '$outdir/version.h', 'pkg/ffmpeg/headers', 'pkg/ffmpeg/fetch', + 'pkg/libplacebo/headers', 'pkg/linux-headers/headers', 'pkg/zlib/headers', } -build('copy', '$outdir/generated/wayland/idle-inhibit-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/idle-inhibit-unstable-v1-client-protocol.h') -build('copy', '$outdir/generated/wayland/linux-dmabuf-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/linux-dmabuf-unstable-v1-client-protocol.h') -build('copy', '$outdir/generated/wayland/presentation-time.h', '$builddir/pkg/wayland-protocols/include/presentation-time-client-protocol.h') -build('copy', '$outdir/generated/wayland/viewporter.h', '$builddir/pkg/wayland-protocols/include/viewporter-client-protocol.h') -build('copy', '$outdir/generated/wayland/xdg-decoration-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/xdg-decoration-unstable-v1-client-protocol.h') -build('copy', '$outdir/generated/wayland/xdg-shell.h', '$builddir/pkg/wayland-protocols/include/xdg-shell-client-protocol.h') +build('copy', '$outdir/content-type-v1.h', '$builddir/pkg/wayland-protocols/include/content-type-v1-client-protocol.h') +build('copy', '$outdir/fractional-scale-v1.h', '$builddir/pkg/wayland-protocols/include/fractional-scale-v1-client-protocol.h') +build('copy', '$outdir/idle-inhibit-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/idle-inhibit-unstable-v1-client-protocol.h') +build('copy', '$outdir/linux-dmabuf-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/linux-dmabuf-unstable-v1-client-protocol.h') +build('copy', '$outdir/presentation-time.h', '$builddir/pkg/wayland-protocols/include/presentation-time-client-protocol.h') +build('copy', '$outdir/single-pixel-buffer-v1.h', '$builddir/pkg/wayland-protocols/include/single-pixel-buffer-v1-client-protocol.h') +build('copy', '$outdir/viewporter.h', '$builddir/pkg/wayland-protocols/include/viewporter-client-protocol.h') +build('copy', '$outdir/xdg-decoration-unstable-v1.h', '$builddir/pkg/wayland-protocols/include/xdg-decoration-unstable-v1-client-protocol.h') +build('copy', '$outdir/xdg-shell.h', '$builddir/pkg/wayland-protocols/include/xdg-shell-client-protocol.h') rule('file2string', '$outdir/file2string $in >$out') local function file2string(src) - local out = '$outdir/generated/'..src..'.inc' + local out = '$outdir/'..src..'.inc' build('file2string', out, {'$srcdir/'..src, '|', '$outdir/file2string'}) table.insert(pkg.deps, out) end @@ -56,8 +61,8 @@ file2string('etc/builtin.conf') file2string('sub/osd_font.otf') local lua = { 'defaults.lua', 'assdraw.lua', 'options.lua', 'osc.lua', - 'ytdl_hook.lua', 'stats.lua', 'console.lua', - 'auto_profiles.lua', + 'ytdl_hook.lua', 'stats.lua', 'console.lua', 'auto_profiles.lua', + 'input.lua', } for _, f in ipairs(lua) do file2string('player/lua/'..f) @@ -72,78 +77,235 @@ for line in iterlines('config.h', 1) do end table.insert(pkg.inputs.gen, '$dir/config.h') --- source inclusion parser -local eval -do - local ops = { - {tok='||', fn=function(a, b) return a or b end, binary=true}, - {tok='&&', fn=function(a, b) return a and b end, binary=true}, - {tok='!', fn=function(a) return not a end}, - } - local function check(x) - if not x then - error('invalid expression') - end - end - local function helper(s, i, j) - local result, var, val - if s:sub(i, i) == '(' then - i = s:find('[^%s]', i + 1) - check(i) - result, i = parse(s, i, 1) - check(i and s:sub(i, i) == ')') - return result, s:find('[^%s]', i + 1) - end - if j > #ops then - local k = select(2, s:find('^[%w_.-]+', i)) - check(k) - var = s:sub(i, k):upper():gsub('-', '_') - i = s:find('[^%s]', k + 1) - return options['HAVE_'..var] or false, i - end - local op = ops[j] - if op.binary then - result, i = helper(s, i, j + 1) - end - if i and s:sub(i, i + #op.tok - 1) == op.tok then - i = s:find('[^%s]', i + #op.tok) - check(i) - val, i = helper(s, i, j) - result = op.fn(val, result) - elseif not op.binary then - result, i = helper(s, i, j + 1) - end - return result, i - end - eval = function(s, i) - result, i = helper(s, i, 1) - check(not i) - return result - end -end +local srcs = { + -- src/meson.build:/^sources =/ + 'audio/aframe.c', + 'audio/chmap.c', + 'audio/chmap_sel.c', + 'audio/decode/ad_lavc.c', + 'audio/decode/ad_spdif.c', + 'audio/filter/af_drop.c', + 'audio/filter/af_format.c', + 'audio/filter/af_lavcac3enc.c', + 'audio/filter/af_scaletempo.c', + 'audio/filter/af_scaletempo2.c', + 'audio/filter/af_scaletempo2_internals.c', + 'audio/fmt-conversion.c', + 'audio/format.c', + 'audio/out/ao.c', + 'audio/out/ao_lavc.c', + 'audio/out/ao_null.c', + 'audio/out/ao_pcm.c', + 'audio/out/buffer.c', -local srcs = {} -for line in iterlines('sources.txt', 1) do - local i = line:find(' ', 1, true) - local add = true - if not i or eval(line, i + 1) then - srcs[line:sub(1, i and i - 1)] = true - end -end -srcs = table.keys(srcs) + 'common/av_common.c', + 'common/av_log.c', + 'common/codecs.c', + 'common/common.c', + 'common/encode_lavc.c', + 'common/msg.c', + 'common/playlist.c', + 'common/recorder.c', + 'common/stats.c', + 'common/tags.c', + 'common/version.c', + + 'demux/codec_tags.c', + 'demux/cue.c', + 'demux/cache.c', + 'demux/demux.c', + 'demux/demux_cue.c', + 'demux/demux_disc.c', + 'demux/demux_edl.c', + 'demux/demux_lavf.c', + 'demux/demux_mf.c', + 'demux/demux_mkv.c', + 'demux/demux_mkv_timeline.c', + 'demux/demux_null.c', + 'demux/demux_playlist.c', + 'demux/demux_raw.c', + 'demux/demux_timeline.c', + 'demux/ebml.c', + 'demux/packet.c', + 'demux/timeline.c', + + 'filters/f_async_queue.c', + 'filters/f_autoconvert.c', + 'filters/f_auto_filters.c', + 'filters/f_decoder_wrapper.c', + 'filters/f_demux_in.c', + 'filters/f_hwtransfer.c', + 'filters/f_lavfi.c', + 'filters/f_output_chain.c', + 'filters/f_swresample.c', + 'filters/f_swscale.c', + 'filters/f_utils.c', + 'filters/filter.c', + 'filters/frame.c', + 'filters/user_filters.c', + + 'input/cmd.c', + 'input/event.c', + 'input/input.c', + 'input/ipc.c', + 'input/keycodes.c', + + 'misc/bstr.c', + 'misc/charset_conv.c', + 'misc/dispatch.c', + 'misc/io_utils.c', + 'misc/json.c', + 'misc/language.c', + 'misc/natural_sort.c', + 'misc/node.c', + 'misc/path_utils.c', + 'misc/random.c', + 'misc/rendezvous.c', + 'misc/thread_pool.c', + 'misc/thread_tools.c', + + 'options/m_config_core.c', + 'options/m_config_frontend.c', + 'options/m_option.c', + 'options/m_property.c', + 'options/options.c', + 'options/parse_commandline.c', + 'options/parse_configfile.c', + 'options/path.c', + + 'player/audio.c', + 'player/client.c', + 'player/command.c', + 'player/configfiles.c', + 'player/external_files.c', + 'player/loadfile.c', + 'player/main.c', + 'player/misc.c', + 'player/osd.c', + 'player/playloop.c', + 'player/screenshot.c', + 'player/scripting.c', + 'player/sub.c', + 'player/video.c', + + 'stream/cookies.c', + 'stream/stream.c', + 'stream/stream_avdevice.c', + 'stream/stream_cb.c', + 'stream/stream_concat.c', + 'stream/stream_edl.c', + 'stream/stream_file.c', + 'stream/stream_lavf.c', + 'stream/stream_memory.c', + 'stream/stream_mf.c', + 'stream/stream_null.c', + 'stream/stream_slice.c', + + 'sub/ass_mp.c', + 'sub/dec_sub.c', + 'sub/draw_bmp.c', + 'sub/filter_sdh.c', + 'sub/img_convert.c', + 'sub/lavc_conv.c', + 'sub/osd.c', + 'sub/osd_libass.c', + 'sub/sd_ass.c', + 'sub/sd_lavc.c', + + 'video/csputils.c', + 'video/decode/vd_lavc.c', + 'video/filter/refqueue.c', + 'video/filter/vf_format.c', + 'video/filter/vf_sub.c', + 'video/fmt-conversion.c', + 'video/hwdec.c', + 'video/image_loader.c', + 'video/image_writer.c', + 'video/img_format.c', + 'video/mp_image.c', + 'video/mp_image_pool.c', + 'video/out/aspect.c', + 'video/out/bitmap_packer.c', + 'video/out/dither.c', + 'video/out/dr_helper.c', + 'video/out/filter_kernels.c', + --'video/out/gpu/context.c', + --'video/out/gpu/error_diffusion.c', + 'video/out/gpu/hwdec.c', + --'video/out/gpu/lcms.c', + --'video/out/gpu/libmpv_gpu.c', + --'video/out/gpu/osd.c', + 'video/out/gpu/ra.c', + --'video/out/gpu/shader_cache.c', + --'video/out/gpu/spirv.c', + --'video/out/gpu/user_shaders.c', + --'video/out/gpu/utils.c', + --'video/out/gpu/video.c', + --'video/out/gpu/video_shaders.c', + 'video/out/libmpv_sw.c', + 'video/out/vo.c', + --'video/out/vo_gpu.c', + 'video/out/vo_image.c', + 'video/out/vo_lavc.c', + 'video/out/vo_libmpv.c', + 'video/out/vo_null.c', + 'video/out/vo_tct.c', + 'video/out/vo_kitty.c', + 'video/out/win_state.c', + 'video/repack.c', + 'video/sws_utils.c', + + --'video/out/placebo/ra_pl.c', + --'video/out/placebo/utils.c', + --'video/out/vo_gpu_next.c', + --'video/out/gpu_next/context.c', + + 'osdep/io.c', + 'osdep/semaphore-mac.c', + 'osdep/subprocess.c', + 'osdep/timer.c', + + 'ta/ta.c', + 'ta/ta_talloc.c', + 'ta/ta_utils.c', + + 'osdep/language-posix.c', + 'osdep/subprocess-posix.c', + 'osdep/threads-posix.c', + 'osdep/path-unix.c', + 'osdep/terminal-unix.c', + 'osdep/timer-linux.c', + 'input/ipc-unix.c', + 'osdep/poll_wrapper.c', + 'sub/filter_regex.c', +} +if options.HAVE_AV_CHANNEL_LAYOUT then + table.insert(srcs, 'audio/chmap_avchannel.c') +end if options.HAVE_ALSA then cflags{'-isystem $builddir/pkg/alsa-lib/include'} + table.insert(srcs, 'audio/out/ao_alsa.c') table.insert(libs, 'alsa-lib/libasound.a') table.insert(pkg.deps, 'pkg/alsa-lib/headers') end if options.HAVE_SNDIO then cflags{'-isystem $builddir/pkg/sndio/include'} + table.insert(srcs, 'audio/out/ao_sndio.c') table.insert(libs, 'sndio/libsndio.a') table.insert(pkg.deps, 'pkg/sndio/headers') end if options.HAVE_DRM then cflags{'-isystem $builddir/pkg/libdrm/include'} + table.insert(srcs, { + 'video/drmprime.c', + 'video/out/drm_atomic.c', + 'video/out/drm_common.c', + 'video/out/drm_prime.c', + 'video/out/hwdec/hwdec_drmprime.c', + 'video/out/hwdec/hwdec_drmprime_overlay.c', + 'video/out/vo_drm.c', + }) table.insert(libs, 'libdrm/libdrm.a') table.insert(pkg.deps, 'pkg/libdrm/headers') end @@ -154,43 +316,52 @@ if options.HAVE_LIBASS then end if options.HAVE_LUA then cflags{'-isystem $builddir/pkg/lua/include'} + table.insert(srcs, 'player/lua.c') table.insert(libs, 'lua/liblua.a') table.insert(pkg.deps, 'pkg/lua/headers') end +if options.HAVE_WAYLAND or options.HAVE_DRM then + table.insert(srcs, 'video/out/present_sync.c') +end if options.HAVE_WAYLAND then cflags{ '-isystem $builddir/pkg/libxkbcommon/include', '-isystem $builddir/pkg/wayland/include', } + table.insert(srcs, { + 'video/out/vo_wlshm.c', + 'video/out/wayland_common.c', + '$builddir/pkg/wayland-protocols/content-type-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/fractional-scale-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/idle-inhibit-unstable-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/linux-dmabuf-unstable-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/single-pixel-buffer-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/presentation-time-protocol.c.o', + '$builddir/pkg/wayland-protocols/viewporter-protocol.c.o', + '$builddir/pkg/wayland-protocols/xdg-decoration-unstable-v1-protocol.c.o', + '$builddir/pkg/wayland-protocols/xdg-shell-protocol.c.o', + }) table.insert(libs, { 'wayland/libwayland-client.a.d', 'wayland/libwayland-cursor.a.d', 'libxkbcommon/libxkbcommon.a', }) table.insert(pkg.deps, { - '$outdir/generated/wayland/idle-inhibit-unstable-v1.h', - '$outdir/generated/wayland/linux-dmabuf-unstable-v1.h', - '$outdir/generated/wayland/presentation-time.h', - '$outdir/generated/wayland/viewporter.h', - '$outdir/generated/wayland/xdg-decoration-unstable-v1.h', - '$outdir/generated/wayland/xdg-shell.h', + '$outdir/content-type-v1.h', + '$outdir/fractional-scale-v1.h', + '$outdir/idle-inhibit-unstable-v1.h', + '$outdir/linux-dmabuf-unstable-v1.h', + '$outdir/single-pixel-buffer-v1.h', + '$outdir/presentation-time.h', + '$outdir/viewporter.h', + '$outdir/xdg-decoration-unstable-v1.h', + '$outdir/xdg-shell.h', 'pkg/libxkbcommon/headers', 'pkg/wayland/headers', }) end -exe('mpv', { - 'input/ipc-unix.c', - 'osdep/main-fn-unix.c', - 'osdep/subprocess-posix.c', - 'osdep/terminal-unix.c', - 'osdep/timer-linux.c', - 'ta/ta.c', - 'ta/ta_talloc.c', - 'ta/ta_utils.c', - srcs, - expand{'$builddir/pkg/', libs}, -}) +exe('mpv', {'osdep/main-fn-unix.c', srcs, expand{'$builddir/pkg/', libs}}) file('bin/mpv', '755', '$outdir/mpv') man{'$dir/mpv.1'} |
