diff --git a/media-libs/imgui/files/imgui-meson.build b/media-libs/imgui/files/imgui-meson.build
index cb27420aab..2cdbad9605 100644
--- a/media-libs/imgui/files/imgui-meson.build
+++ b/media-libs/imgui/files/imgui-meson.build
@@ -20,6 +20,8 @@ sources = files(
'imgui_widgets.cpp',
)
+headers = files()
+
cpp = meson.get_compiler('cpp')
dependencies = []
@@ -29,46 +31,66 @@ 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 += 'backends/imgui_impl_opengl3.cpp'
+ 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('sdl_renderer'))
+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
@@ -76,20 +98,30 @@ 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
@@ -98,6 +130,7 @@ allegro5_primitives_dep = dependency('allegro_primitives-5', required: get_optio
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")))'
@@ -116,38 +149,20 @@ imgui = library(
install: true
)
-pkg_mod = import('pkgconfig')
-pkg_mod.generate(imgui,
- description : 'Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies'
-)
-
-install_headers(
+headers += files(
'imconfig.h',
'imgui.h',
'imgui_internal.h',
'imstb_rectpack.h',
'imstb_textedit.h',
- 'imstb_truetype.h',
- 'backends/imgui_impl_allegro5.h',
- 'backends/imgui_impl_android.h',
- 'backends/imgui_impl_dx10.h',
- 'backends/imgui_impl_dx11.h',
- 'backends/imgui_impl_dx12.h',
- 'backends/imgui_impl_glfw.h',
- 'backends/imgui_impl_glut.h',
- 'backends/imgui_impl_metal.h',
- 'backends/imgui_impl_opengl2.h',
- 'backends/imgui_impl_opengl3.h',
- 'backends/imgui_impl_opengl3_loader.h',
- 'backends/imgui_impl_osx.h',
- 'backends/imgui_impl_sdl2.h',
- 'backends/imgui_impl_sdl3.h',
- 'backends/imgui_impl_sdlrenderer2.h',
- 'backends/imgui_impl_sdlrenderer3.h',
- 'backends/imgui_impl_vulkan.h',
- 'backends/imgui_impl_wgpu.h',
- 'backends/imgui_impl_win32.h',
- subdir: 'imgui')
+ '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)' : '')
diff --git a/media-libs/imgui/files/imgui-meson_options.txt b/media-libs/imgui/files/imgui-meson_options.txt
index 967c85f64f..d5941684af 100644
--- a/media-libs/imgui/files/imgui-meson_options.txt
+++ b/media-libs/imgui/files/imgui-meson_options.txt
@@ -5,13 +5,15 @@ 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('sdl_renderer', 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')
diff --git a/media-libs/imgui/imgui-1.89.9-r1.ebuild b/media-libs/imgui/imgui-1.89.9-r2.ebuild
similarity index 87%
rename from media-libs/imgui/imgui-1.89.9-r1.ebuild
rename to media-libs/imgui/imgui-1.89.9-r2.ebuild
index 917ecd30c0..80fab10f6d 100644
--- a/media-libs/imgui/imgui-1.89.9-r1.ebuild
+++ b/media-libs/imgui/imgui-1.89.9-r2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> imgui-${PV}.t
LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64"
-IUSE="opengl vulkan glfw sdl2 sdl_renderer webgpu allegro5"
+IUSE="opengl vulkan glfw sdl2 sdl3 sdl2_renderer sdl3_renderer webgpu allegro5"
RDEPEND="
dev-libs/stb:=
@@ -26,7 +26,7 @@ RDEPEND="
glfw? ( media-libs/glfw:0[${MULTILIB_USEDEP}] )
opengl? ( virtual/opengl[${MULTILIB_USEDEP}] )
sdl2? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
- sdl_renderer? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
+ sdl2_renderer? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
webgpu? ( dev-util/webgpu-headers )
"
@@ -58,7 +58,9 @@ multilib_src_configure() {
$(meson_feature vulkan)
$(meson_feature glfw)
$(meson_feature sdl2)
- $(meson_feature sdl_renderer)
+ $(meson_feature sdl2_renderer)
+ -Dsdl3=disabled
+ -Dsdl3_renderer=disabled
$(meson_feature webgpu)
-Dosx=disabled
-Dwin=disabled
diff --git a/media-libs/imgui/imgui-1.90.7.ebuild b/media-libs/imgui/imgui-1.90.7.ebuild
deleted file mode 100644
index 917ecd30c0..0000000000
--- a/media-libs/imgui/imgui-1.90.7.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2022 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="opengl vulkan glfw sdl2 sdl_renderer webgpu allegro5"
-
-RDEPEND="
- dev-libs/stb:=
- media-libs/glew[${MULTILIB_USEDEP}]
- allegro5? ( media-libs/allegro:5[${MULTILIB_USEDEP}] )
- glfw? ( media-libs/glfw:0[${MULTILIB_USEDEP}] )
- opengl? ( virtual/opengl[${MULTILIB_USEDEP}] )
- sdl2? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
- sdl_renderer? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
- vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
- webgpu? ( dev-util/webgpu-headers )
-"
-DEPEND="
- ${RDEPEND}
- vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- # Use custom meson.build and meson_options.txt to install instead of relay on packages
- cp "${FILESDIR}/${PN}-meson.build" "${S}/meson.build" || die
- cp "${FILESDIR}/${PN}-meson_options.txt" "${S}/meson_options.txt" || die
- sed -i "s/ version: 'PV',/ version: '${PV}',/g" "${S}/meson.build" || die
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Ddx9=disabled
- -Ddx10=disabled
- -Ddx11=disabled
- -Ddx12=disabled
- -Dmetal=disabled
- $(meson_feature opengl)
- $(meson_feature vulkan)
- $(meson_feature glfw)
- $(meson_feature sdl2)
- $(meson_feature sdl_renderer)
- $(meson_feature webgpu)
- -Dosx=disabled
- -Dwin=disabled
- $(meson_feature allegro5)
- )
- meson_src_configure
-}
diff --git a/media-libs/imgui/metadata.xml b/media-libs/imgui/metadata.xml
index 6719588bc6..6273590a21 100644
--- a/media-libs/imgui/metadata.xml
+++ b/media-libs/imgui/metadata.xml
@@ -15,7 +15,9 @@
Enable opengl renderer
Enable vulkan renderer
Enable SDL2 backend
- Enable SDL renderer backend
+ Enable SDL2 renderer backend
+ Enable SDL3 backend
+ Enable SDL3 renderer backend
Enable webgpu renderer backend