diff --git a/media-libs/imgui/Manifest b/media-libs/imgui/Manifest new file mode 100644 index 0000000..f267840 --- /dev/null +++ b/media-libs/imgui/Manifest @@ -0,0 +1,5 @@ +AUX imgui-meson.build 5691 BLAKE2B 332d560d54b51e8dc54c638622a79464e471cd5a007d6716a470dc389c60e5d82054674e1c665765aba04059dd340275000cef7a96702e733bd0508909120c3f SHA512 7bfaf4f62fbe331072525263150fc231971020ea356fcf5ef4d773e61e39b52f79558534527b9086884029fa262eeeef588fa98b547590d1f790b49838123930 +AUX imgui-meson_options.txt 887 BLAKE2B c3cee068700d00b14e98522a464d5dd373c20e7f6fd81295fb694f402e663a9e5c040701c9cf1297b9aab4159945b00b0e6460557835c6b764f5897776e92236 SHA512 e33e892aaae8a12a656b91ff4275b3f286d3806b7eea1a325e701dfb0e3f6bdd27de0c5e5765413503cd7c780f1a48e16027cddef71a4864cbd20d7e54b40a4c +DIST imgui-1.91.9.tar.gz 1846168 BLAKE2B 2fd548879ec4bb36a5b67fd69878bdd7498a484584a3dcf11364226e36a20e7885b2687d8a6542db891719e6ad2babfdcb1518f96f777771d7a372d8cebc03b4 SHA512 c9393bd9f6b49b036ad6ab3ba4d972876c6f60ce7f5c13a7a56ff11b3559ea3211b0caa03eed10b4f4fbe9c371e14f7f24866bd476652f543f3ed3aa878ea930 +EBUILD imgui-1.91.9.ebuild 2044 BLAKE2B ce347dc889a8e9f4f20c990eb7a947694b30e8a524adf35f2d17fb404332a47763f7e4ec408b4c64fc9bb2d0b2033ce0f272504af2dd76878c679780d096204e SHA512 5184f3e80d5faea1a148f020d1efc13c6e69aab408f95d3f7bd0558071d26a66910ad5e762ecd00d735b467d1af4e2139fe9039bef8db5e9b08099634bf91703 +MISC metadata.xml 1018 BLAKE2B 24ef0cdaf35fb432e284cf2ea6605de6d67e70a2c9f4da72ed89b35279e330afeffc80e541b3b6fd611097a3434e82cada6f9128461cb775fb2c9561bd63f5b6 SHA512 2c6d4d3117dc1a1b3b9bf0ec91a96bcb971a3373eca0fb869a6e6cb5f6ec34e542cfd496ea4329d1e6a03e0b09bd3c419752f9809de41b3a1bf03a83fde7206a diff --git a/media-libs/imgui/files/imgui-meson.build b/media-libs/imgui/files/imgui-meson.build new file mode 100644 index 0000000..2cdbad9 --- /dev/null +++ b/media-libs/imgui/files/imgui-meson.build @@ -0,0 +1,175 @@ +project( + 'imgui', + 'cpp', + license: 'MIT', + version: 'PV', + meson_version: '>=0.50.0', +) + +if host_machine.system() == 'darwin' + add_languages('objcpp') +endif + +include_dirs = include_directories('.', 'backends') +sources = files( + 'misc/cpp/imgui_stdlib.cpp', + 'imgui.cpp', + 'imgui_demo.cpp', + 'imgui_draw.cpp', + 'imgui_tables.cpp', + 'imgui_widgets.cpp', +) + +headers = files() + +cpp = meson.get_compiler('cpp') +dependencies = [] + +# renderer backends +dependencies += cpp.find_library('d3dcompiler', required: host_machine.system() == 'windows') +dx9_dep = cpp.find_library('d3d9', required: get_option('dx9')) +if dx9_dep.found() + sources += 'backends/imgui_impl_dx9.cpp' + dependencies += dx9_dep + headers += files('backends/imgui_impl_dx9.h') +endif +dx10_dep = cpp.find_library('d3d10', required: get_option('dx10')) +if dx10_dep.found() + sources += 'backends/imgui_impl_dx10.cpp' + dependencies += dx10_dep + headers += files('backends/imgui_impl_dx10.h') +endif +dx11_dep = cpp.find_library('d3d11', required: get_option('dx11')) +if dx11_dep.found() + sources += 'backends/imgui_impl_dx11.cpp' + dependencies += dx11_dep + headers += files('backends/imgui_impl_dx11.h') +endif +dx12_dep = cpp.find_library('d3d12', required: get_option('dx12')) +# MinGW does not work. See https://github.com/ocornut/imgui/pull/4604 +if dx12_dep.found() and cpp.get_argument_syntax() == 'msvc' + sources += 'backends/imgui_impl_dx12.cpp' + dependencies += dx12_dep + headers += files('backends/imgui_impl_dx12.h') +endif +metal_dep = dependency('appleframeworks', modules: ['Foundation', 'AppKit', 'GameController', 'Metal'], required: get_option('metal')) +if metal_dep.found() + sources += 'backends/imgui_impl_metal.mm' + dependencies += metal_dep + headers += files('backends/imgui_impl_metal.h') +endif +libgl_dep = dependency('gl', required: get_option('opengl')) +opengl_src = files( + 'backends/imgui_impl_opengl2.cpp', + 'backends/imgui_impl_opengl3.cpp') +if libgl_dep.found() + sources += opengl_src + dependencies += libgl_dep + dependencies += cpp.find_library('dl', required: false) + headers = files('backends/imgui_impl_opengl2.h', + 'backends/imgui_impl_opengl3.h', + 'backends/imgui_impl_opengl3_loader.h') +endif +sdl2_renderer_dep = dependency('sdl2', version: '>=2.0.17', required: get_option('sdl2_renderer')) +if sdl2_renderer_dep.found() + sources += 'backends/imgui_impl_sdlrenderer2.cpp' + dependencies += sdl2_renderer_dep + headers += files('backends/imgui_impl_sdlrenderer2.h') +endif +sdl3_renderer_dep = dependency('sdl3', version: '>=3.0.0', required: get_option('sdl3_renderer')) +if sdl3_renderer_dep.found() + sources += 'backends/imgui_impl_sdlrenderer3.cpp' + dependencies += sdl3_renderer_dep + headers += files('backends/imgui_impl_sdlrenderer3.h') +endif +vulkan_dep = dependency('vulkan', required: get_option('vulkan')) +if vulkan_dep.found() + sources += 'backends/imgui_impl_vulkan.cpp' + dependencies += vulkan_dep + headers += files('backends/imgui_impl_vulkan.h') +endif +if cpp.has_header('webgpu/webgpu.h', required: get_option('webgpu')) + sources += 'backends/imgui_impl_wgpu.cpp' + headers += files('backends/imgui_impl_wgpu.h') +endif + +# platform backends +glfw_dep = dependency('glfw3', required: get_option('glfw')) +if glfw_dep.found() + sources += 'backends/imgui_impl_glfw.cpp' + dependencies += glfw_dep + headers += files('backends/imgui_impl_glfw.h') +endif +sdl2_dep = dependency('sdl2', required: get_option('sdl2')) +if sdl2_dep.found() + sources += 'backends/imgui_impl_sdl2.cpp' + dependencies += sdl2_dep + headers += files('backends/imgui_impl_sdl2.h') +endif +sdl3_dep = dependency('sdl3', required: get_option('sdl3')) +if sdl3_dep.found() + sources += 'backends/imgui_impl_sdl3.cpp' + dependencies += sdl3_dep + headers += files('backends/imgui_impl_sdl3.h') +endif +osx_dep = dependency('appleframeworks', modules: ['Carbon', 'Cocoa', 'GameController'], required: get_option('osx')) +if osx_dep.found() + sources += 'backends/imgui_impl_osx.mm' + headers += files('backends/imgui_impl_osx.h') +endif +win_dep = cpp.find_library('dwmapi', required: get_option('win')) +if win_dep.found() + sources += 'backends/imgui_impl_win32.cpp' + dependencies += win_dep + headers += files('backends/imgui_impl_win32.h') +endif + +# frameworks +allegro5_dep = dependency('allegro-5', required: get_option('allegro5')) +allegro5_primitives_dep = dependency('allegro_primitives-5', required: get_option('allegro5')) +if allegro5_dep.found() and allegro5_primitives_dep.found() + sources += 'backends/imgui_impl_allegro5.cpp' + dependencies += [allegro5_dep, allegro5_primitives_dep] + headers+= files('backends/imgui_impl_allegro5.h') +endif + +api = '-DIMGUI_API=__attribute__((visibility("default")))' +if host_machine.system() == 'windows' + api = '-DIMGUI_API=@0@'.format(get_option('default_library') != 'static' ? '__declspec(dllexport)' : '') +endif + +imgui = library( + 'imgui', + sources, + cpp_args: api, + gnu_symbol_visibility: 'hidden', + dependencies: dependencies, + include_directories: include_dirs, + version: meson.project_version(), + install: true +) + +headers += files( + 'imconfig.h', + 'imgui.h', + 'imgui_internal.h', + 'imstb_rectpack.h', + 'imstb_textedit.h', + 'imstb_truetype.h',) + +install_headers(headers, subdir: 'imgui') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(imgui, + description : 'Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies' +) + +if host_machine.system() == 'windows' + api = '-DIMGUI_API=@0@'.format(get_option('default_library') != 'static' ? '__declspec(dllimport)' : '') +endif + +imgui_dep = declare_dependency( + compile_args: api, + include_directories: include_dirs, + link_with: imgui, +) diff --git a/media-libs/imgui/files/imgui-meson_options.txt b/media-libs/imgui/files/imgui-meson_options.txt new file mode 100644 index 0000000..d594168 --- /dev/null +++ b/media-libs/imgui/files/imgui-meson_options.txt @@ -0,0 +1,21 @@ +# renderer backends +option('dx9', type : 'feature', value : 'auto') +option('dx10', type : 'feature', value : 'auto') +option('dx11', type : 'feature', value : 'auto') +option('dx12', type : 'feature', value : 'auto') +option('metal', type : 'feature', value : 'auto') +option('opengl', type : 'feature', value : 'auto') +option('sdl2_renderer', type : 'feature', value : 'auto') +option('sdl3_renderer', type : 'feature', value : 'auto') +option('vulkan', type : 'feature', value : 'auto') +option('webgpu', type : 'feature', value : 'auto') + +# platform backends +option('glfw', type : 'feature', value : 'auto') +option('sdl2', type : 'feature', value : 'auto') +option('sdl3', type : 'feature', value : 'auto') +option('osx', type : 'feature', value : 'auto') +option('win', type : 'feature', value : 'auto') + +# frameworks (renderer + platform) +option('allegro5', type : 'feature', value : 'auto') diff --git a/media-libs/imgui/imgui-1.91.9.ebuild b/media-libs/imgui/imgui-1.91.9.ebuild new file mode 100644 index 0000000..14b2d2b --- /dev/null +++ b/media-libs/imgui/imgui-1.91.9.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson-multilib + +MESON_WRAP_VER="1" + +DESCRIPTION="Bloat-free graphical user interface library for C++" +HOMEPAGE=" + https://github.com/ocornut/imgui +" + +SRC_URI="https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> imgui-${PV}.tar.gz" + +LICENSE="MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64" +IUSE="allegro5 glfw sdl2 sdl3 sdl2-renderer sdl3-renderer opengl vulkan webgpu" + +RDEPEND=" + dev-libs/stb:= + media-libs/libglvnd[${MULTILIB_USEDEP}] + media-libs/glew[${MULTILIB_USEDEP}] + allegro5? ( media-libs/allegro:5[${MULTILIB_USEDEP}] ) + glfw? ( media-libs/glfw:0[${MULTILIB_USEDEP}] ) + sdl2? ( media-libs/libsdl2[${MULTILIB_USEDEP}] ) + sdl2-renderer? ( media-libs/libsdl2[${MULTILIB_USEDEP}] ) + sdl3? ( media-libs/libsdl3[${MULTILIB_USEDEP}] ) + sdl3-renderer? ( media-libs/libsdl3[${MULTILIB_USEDEP}] ) + opengl? ( || ( + >=media-libs/mesa-24.1.7-r1[opengl,${MULTILIB_USEDEP}] + + + + + gonegrier.duarte@gmail.com + Gonçalo Negrier Duarte + + + https://github.com/ocornut/imgui/issues + ocornut/imgui + + + Enable allegro backend and renderer + Enable glfw backend + Enable opengl renderer + Enable vulkan renderer + Enable SDL2 backend + Enable SDL2 renderer backend + Enable SDL3 backend + Enable SDL3 renderer backend + Enable webgpu renderer backend + + diff --git a/metadata/md5-cache/media-libs/imgui-1.91.9 b/metadata/md5-cache/media-libs/imgui-1.91.9 new file mode 100644 index 0000000..c16808f --- /dev/null +++ b/metadata/md5-cache/media-libs/imgui-1.91.9 @@ -0,0 +1,15 @@ +BDEPEND=virtual/pkgconfig >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array +DEFINED_PHASES=compile configure install prepare test +DEPEND=dev-libs/stb:= media-libs/libglvnd[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] media-libs/glew[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] allegro5? ( media-libs/allegro:5[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) glfw? ( media-libs/glfw:0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) sdl2? ( media-libs/libsdl2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) sdl2-renderer? ( media-libs/libsdl2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) sdl3? ( media-libs/libsdl3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) sdl3-renderer? ( media-libs/libsdl3[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] ) opengl? ( || ( >=media-libs/mesa-24.1.7-r1[opengl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] =media-libs/mesa-24.1.7-r1[opengl,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_s390_32(-)?,abi_s390_64(-)?] imgui-1.91.9.tar.gz +_eclasses_=toolchain-funcs f9d71a6efe9d083aec750dd13968e169 flag-o-matic b892042b2667b8ac69ec8a2571dc290a multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b043191f3a82642545249acea7318e03 meson 99466844dd8d4fcfb07578a76f5a9922 out-of-source-utils dbf9e34ee8964084651e25907fa8f52c multibuild 4650a65187015567b4e041bb9bfdb364 multilib b2a329026f2e404e9e371097dda47f96 multilib-build 9ac26ea006828266d235e2f0135429b5 multilib-minimal e9f54d75b074edc47d36994bbc1e2123 meson-multilib 8989922d980e5e870cc3de949d1b2586 +_md5_=839ee77f7101ae00c25874463f810c0d