From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7B6C315817D for ; Mon, 3 Jun 2024 10:41:51 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B6019E2A8C; Mon, 3 Jun 2024 10:41:50 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9375BE2A8C for ; Mon, 3 Jun 2024 10:41:50 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BF0E4340754 for ; Mon, 3 Jun 2024 10:41:49 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1E9901C04 for ; Mon, 3 Jun 2024 10:41:48 +0000 (UTC) From: "Gonçalo Negrier Duarte" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Gonçalo Negrier Duarte" Message-ID: <1717411303.d38b1ad7fccabb3b3b22c649817a655098c35561.gonegrier.duarte@gentoo> Subject: [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/ X-VCS-Repository: repo/proj/guru X-VCS-Files: media-libs/imgui/files/imgui-meson.build media-libs/imgui/files/imgui-meson_options.txt media-libs/imgui/imgui-1.89.9-r1.ebuild media-libs/imgui/imgui-1.89.9-r2.ebuild media-libs/imgui/imgui-1.90.7.ebuild media-libs/imgui/metadata.xml X-VCS-Directories: media-libs/imgui/files/ media-libs/imgui/ X-VCS-Committer: gonegrier.duarte X-VCS-Committer-Name: Gonçalo Negrier Duarte X-VCS-Revision: d38b1ad7fccabb3b3b22c649817a655098c35561 X-VCS-Branch: dev Date: Mon, 3 Jun 2024 10:41:48 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 27972526-f94a-4719-a8df-54d1175f59ed X-Archives-Hash: e24a60b16deb2cfdff932d43631fdede commit: d38b1ad7fccabb3b3b22c649817a655098c35561 Author: Gonçalo Negrier Duarte gmail com> AuthorDate: Mon Jun 3 10:39:31 2024 +0000 Commit: Gonçalo Negrier Duarte gmail com> CommitDate: Mon Jun 3 10:41:43 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d38b1ad7 media-libs/imgui: improve meson build system Signed-off-by: Gonçalo Negrier Duarte gmail.com> media-libs/imgui/files/imgui-meson.build | 73 +++++++++++++--------- media-libs/imgui/files/imgui-meson_options.txt | 4 +- ...gui-1.89.9-r1.ebuild => imgui-1.89.9-r2.ebuild} | 8 ++- media-libs/imgui/imgui-1.90.7.ebuild | 68 -------------------- media-libs/imgui/metadata.xml | 4 +- 5 files changed, 55 insertions(+), 102 deletions(-) diff --git a/media-libs/imgui/files/imgui-meson.build b/media-libs/imgui/files/imgui-meson.build index cb27420aa..2cdbad960 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 967c85f64..d5941684a 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 917ecd30c..80fab10f6 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 917ecd30c..000000000 --- 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 6719588bc..6273590a2 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