public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2022-04-15 20:34 Alessandro Barbieri
  0 siblings, 0 replies; 7+ messages in thread
From: Alessandro Barbieri @ 2022-04-15 20:34 UTC (permalink / raw
  To: gentoo-commits

commit:     0f466458f5ba120eeb3fb28b250bdea19d1bb85c
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sun Apr 10 01:04:34 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Fri Apr 15 20:34:20 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=0f466458

media-libs/imgui: add cimgui C bindings

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 media-libs/imgui/Manifest                          |   1 +
 media-libs/imgui/files/cimgui-1.87-fix-cmake.patch |  69 +++++++++++++
 .../{imgui-1.87-r1.ebuild => imgui-1.87-r2.ebuild} | 110 ++++++++++++++++++---
 media-libs/imgui/metadata.xml                      |   2 +
 4 files changed, 168 insertions(+), 14 deletions(-)

diff --git a/media-libs/imgui/Manifest b/media-libs/imgui/Manifest
index 9bbf158f0..582ac2320 100644
--- a/media-libs/imgui/Manifest
+++ b/media-libs/imgui/Manifest
@@ -1,2 +1,3 @@
+DIST cimgui-1.87.tar.gz 385460 BLAKE2B 0916d53a00234343536ee412035a2c405b01e31a26c3d059cff4d446188ee8a1835a1233a68f671ccebb67be480801b85203a90b0e79fa729f7ac1efdc8bf4a2 SHA512 bf2ed9461e8c12514d29914e6da7f8fae7cd31fcc587c7d89122c950541aed3b4b908d8cd298b3975e9a955a47789335a88db7223ca558cbdf459693a0081bda
 DIST imgui-1.83.tar.gz 1448389 BLAKE2B 648306bd69181ad8315f12fc5b2c319b23005d6b3fc790ad64caaf1f80304e81b33af5d6f435fa97151fcf1e77eb15455838a09570b7a9c7dd9c56a61510b5a1 SHA512 2150e7101f384b1c749b2e89876b2085a7ff43435f04e88602d0e5e00db7a41c1ace5176bdb0963326845d1c8303b5092a7ca1c9c8e70c522ba96f899ed5bb9c
 DIST imgui-1.87.tar.gz 1460834 BLAKE2B f73b71400311e7c5f82248e242a932add5090670c78077ca2239f349730bab88a00bfe4deca4e854772ef7f6a2cff1fc0f38f7174a026995f93c9e7b55eb2a1d SHA512 3255b06698ab9c8951953e1e0b6d160d64adfa4c011b21a4288547292a7f8fff586875faf9dae0677818bde65bd7e98da92f16f6beb1e6a66aa835edf32e8ce2

diff --git a/media-libs/imgui/files/cimgui-1.87-fix-cmake.patch b/media-libs/imgui/files/cimgui-1.87-fix-cmake.patch
new file mode 100644
index 000000000..b3bae1cfe
--- /dev/null
+++ b/media-libs/imgui/files/cimgui-1.87-fix-cmake.patch
@@ -0,0 +1,69 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,21 +1,13 @@
+ cmake_minimum_required(VERSION 3.1)
+ 
+-project(cimgui)
++project(libcimgui)
+ 
+-if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/imgui/imgui_tables.cpp)
+-	set(TABLES_SOURCE "imgui/imgui_tables.cpp")
+-else()
+ 	set(TABLES_SOURCE "")
+-endif()
+ 
+ 
+ #general settings
+ file(GLOB IMGUI_SOURCES
+     cimgui.cpp
+-    imgui/imgui.cpp
+-    imgui/imgui_draw.cpp
+-    imgui/imgui_demo.cpp
+-    imgui/imgui_widgets.cpp
+ 	${TABLES_SOURCE}
+ )
+ 
+@@ -24,34 +16,30 @@
+ set(IMGUI_LIBRARIES )
+ 
+ if(IMGUI_FREETYPE)
+-	FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
+-	list(APPEND IMGUI_LIBRARIES freetype)
+-	list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp)
++	list(APPEND IMGUI_LIBRARIES -lfreetype)
+ 	add_definitions("-DCIMGUI_FREETYPE=1")
+ endif(IMGUI_FREETYPE)
+ 
+ #add library and link
+ if (IMGUI_STATIC)
+-    add_library(cimgui STATIC ${IMGUI_SOURCES})
++    add_library(libcimgui STATIC ${IMGUI_SOURCES})
+ else (IMGUI_STATIC)
+-    add_library(cimgui SHARED ${IMGUI_SOURCES})
++    add_library(libcimgui SHARED ${IMGUI_SOURCES})
+ endif (IMGUI_STATIC)
+ 
+-target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
+ if (WIN32)
+-    target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
++    target_compile_definitions(libcimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
+     list(APPEND IMGUI_LIBRARIES imm32)
+ else (WIN32)
+-    target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
++    target_compile_definitions(libcimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
+ endif (WIN32)
+ 
+-target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+-target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
+-set_target_properties(cimgui PROPERTIES PREFIX "")
+-target_link_libraries(cimgui ${IMGUI_LIBRARIES})
++target_include_directories(libcimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
++set_target_properties(libcimgui PROPERTIES PREFIX "")
++target_link_libraries(libcimgui PUBLIC -limgui)
+ 
+ #install
+-install(TARGETS cimgui
++install(TARGETS libcimgui
+     RUNTIME DESTINATION  .
+     LIBRARY DESTINATION  .
+     ARCHIVE DESTINATION  .

diff --git a/media-libs/imgui/imgui-1.87-r1.ebuild b/media-libs/imgui/imgui-1.87-r2.ebuild
similarity index 64%
rename from media-libs/imgui/imgui-1.87-r1.ebuild
rename to media-libs/imgui/imgui-1.87-r2.ebuild
index 4339ad386..f51097b79 100644
--- a/media-libs/imgui/imgui-1.87-r1.ebuild
+++ b/media-libs/imgui/imgui-1.87-r2.ebuild
@@ -3,16 +3,25 @@
 
 EAPI=8
 
-inherit flag-o-matic toolchain-funcs
+inherit cmake flag-o-matic toolchain-funcs
+
+CMAKE_IN_SOURCE_BUILD=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 -> ${P}.tar.gz"
+HOMEPAGE="
+	https://github.com/ocornut/imgui
+	https://github.com/cimgui/cimgui
+"
+SRC_URI="
+	https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	https://github.com/cimgui/cimgui/archive/refs/tags/${PV}.tar.gz -> c${P}.tar.gz
+"
 
 LICENSE="MIT"
 SLOT="0"
 KEYWORDS="~amd64"
-IUSE="allegro examples freetype glfw glut opengl sdl vulkan"
+IUSE="allegro bindings examples freetype glfw glut opengl sdl vulkan"
+S="${WORKDIR}/c${P}"
 
 RDEPEND="
 	allegro? ( media-libs/allegro:5 )
@@ -27,12 +36,20 @@ DEPEND="
 	${RDEPEND}
 	vulkan? ( dev-util/vulkan-headers )
 "
-BDEPEND="virtual/pkgconfig"
+BDEPEND="
+	bindings? ( dev-lang/luajit )
+	virtual/pkgconfig
+"
 
+PATCHES=( "${FILESDIR}/c${P}-fix-cmake.patch" )
 REQUIRED_USE="
 	|| (
 		allegro
-		|| ( glfw glut sdl )
+		|| (
+			glfw
+			glut
+			sdl
+		)
 		|| ( opengl vulkan )
 	)
 	examples? (
@@ -46,45 +63,75 @@ REQUIRED_USE="
 "
 
 src_prepare() {
+	pushd ../ || die
+	rm -rf "${S}/imgui" || die
+	mv "${P}" "${S}/imgui" || die
+	pushd "${S}/imgui" || die
+
+	# imgui
 	rm -r examples/libs || die
 	rm -r misc/*/*.ttf || die
 	rm -r misc/single_file || die
-	default
+
+	# cimgui
+	if use bindings; then
+		pushd "${S}" || die
+		cmake_src_prepare
+	else
+		eapply_user
+	fi
 }
 
 src_configure() {
+	pushd imgui || die
+
+	# imgui
 	tc-export CXX
 	append-cppflags "-DIMGUI_USE_WCHAR32"
-	append-cxxflags "-I${S} -I${S}/backends -I${S}/misc/freetype -fPIC -fpermissive"
+	COMMONFLAGS="-I${S}/imgui -I${S}/imgui/backends -I${S}/imgui/misc/freetype -fPIC -fpermissive"
 	local PKGCONF="$(tc-getPKG_CONFIG)" || die
 
 	use allegro && append-libs "-lallegro -lallegro_main -lallegro_primitives"
 	if use freetype; then
 		append-cppflags "-DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE"
-		append-cxxflags "$(${PKGCONF} --cflags freetype2)" || die
+		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags freetype2)" || die
 		append-libs "$(${PKGCONF} --libs freetype2)" || die
 	fi
 	if use glfw; then
 		append-libs "$(${PKGCONF} --libs glfw3)" || die
-		append-cxxflags "$(${PKGCONF} --cflags glfw3)" || die
+		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags glfw3)" || die
 	fi
 	if use glut; then
 		append-libs "$(${PKGCONF} --libs freeglut)" || die
-		append-cxxflags "$(${PKGCONF} --cflags freeglut)" || die
+		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags freeglut)" || die
 	fi
 	use opengl && append-libs "-lGL"
 	if use sdl; then
 		append-libs "-ldl $(sdl2-config --libs)" || die
-		append-cxxflags "$(sdl2-config --cflags)" || die
+		COMMONFLAGS="${COMMONFLAGS} $(sdl2-config --cflags)" || die
 	fi
 	if use vulkan; then
 		append-libs "$(${PKGCONF} --libs vulkan)" || die
-		append-cxxflags "$(${PKGCONF} --cflags vulkan)" || die
+		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags vulkan)" || die
 		append-cppflags "-DImTextureID=ImU64" || die
 	fi
+	append-cxxflags "${COMMONFLAGS}"
+	popd || die
+
+	# cimgui
+	if use bindings; then
+		local mycmakeargs=(
+			-DIMGUI_FREETYPE=$(usex freetype)
+			-DIMGUI_STATIC=OFF
+		)
+		cmake_src_configure
+	fi
 }
 
 src_compile() {
+	pushd imgui || die
+
+	# imgui
 	set -x || die
 
 	local objects=()
@@ -137,14 +184,39 @@ src_compile() {
 	if use examples; then
 		mkdir ex || die
 		for f in allegro5 glfw_opengl{2,3} glfw_vulkan null sdl_opengl{2,3} sdl_{sdlrenderer,vulkan} glut_opengl2 ; do
-			${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE examples/example_${f}/main.cpp "-L${S}" -limgui ${LIBS} -o "${S}/ex/example_${f}" || die
+			${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE examples/example_${f}/main.cpp "-L${S}/imgui" -limgui ${LIBS} -o "${S}/imgui/ex/example_${f}" || die
 		done
 	fi
 
 	set +x || die
+	popd || die
+
+	# cimgui
+	if use bindings; then
+		pushd generator || die
+		local myargs=()
+		use allegro && myargs+=( allegro5 )
+		use glfw && myargs+=( glfw )
+		use glut && myargs+=( glut )
+		use opengl && myargs+=( opengl3 opengl2 )
+		use sdl && myargs+=( sdl sdlrenderer )
+		use vulkan && myargs+=( vulkan )
+		myargs+=( ${CFLAGS} ${COMMONFLAGS} ${CPPFLAGS} )
+
+		if use freetype ; then
+			luajit ./generator.lua gcc "internal freetype" ${myargs[@]} || die
+		else
+			luajit ./generator.lua gcc "internal" ${myargs[@]} || die
+		fi
+		popd || die
+		cmake_src_compile
+	fi
 }
 
 src_install() {
+	pushd imgui || die
+
+	# imgui
 	dolib.so libimgui.so
 	dodoc docs/*
 	insinto "/usr/include/imgui"
@@ -164,4 +236,14 @@ src_install() {
 		dodoc -r examples
 		docompress -x "/usr/share/doc/${PF}/examples"
 	fi
+
+	popd || die
+
+	# cimgui
+	if use bindings; then
+		dolib.so libcimgui.so
+		insinto "/usr/share/doc/${PF}/cimgui"
+		doins README.md TODO.txt
+		doheader cimgui.h
+	fi
 }

diff --git a/media-libs/imgui/metadata.xml b/media-libs/imgui/metadata.xml
index 2a6d52b5d..766c22dfc 100644
--- a/media-libs/imgui/metadata.xml
+++ b/media-libs/imgui/metadata.xml
@@ -9,9 +9,11 @@
     <upstream>
         <bugs-to>https://github.com/ocornut/imgui/issues</bugs-to>
         <remote-id type="github">ocornut/imgui</remote-id>
+        <remote-id type="github">cimgui/cimgui</remote-id>
     </upstream>
     <use>
         <flag name="allegro">Enable allegro backend and renderer</flag>
+        <flag name="bindings">Build the cimgui C bindigs</flag>
         <flag name="freetype">Use FreeType to build and rasterize the font atlas</flag>
         <flag name="glfw">Enable glfw backend</flag>
         <flag name="glut">Enable glut backen</flag>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2022-04-23  1:52 Alessandro Barbieri
  0 siblings, 0 replies; 7+ messages in thread
From: Alessandro Barbieri @ 2022-04-23  1:52 UTC (permalink / raw
  To: gentoo-commits

commit:     baad5b2e46440f460cbb58a0807f5a5a2f50f319
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Sat Apr 23 00:14:10 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Sat Apr 23 01:52:54 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=baad5b2e

media-libs/imgui: build with cmake

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 media-libs/imgui/files/cimgui-1.87-CMakeLists.txt  |  80 +++++++
 media-libs/imgui/files/cimgui-1.87-fix-cmake.patch |  69 ------
 media-libs/imgui/files/imgui-1.87-CMakeLists.txt   | 160 +++++++++++++
 media-libs/imgui/files/imgui.pc.in                 |  11 +
 media-libs/imgui/imgui-1.87-r2.ebuild              | 251 ---------------------
 media-libs/imgui/imgui-1.87-r4.ebuild              | 119 ++++++++++
 6 files changed, 370 insertions(+), 320 deletions(-)

diff --git a/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt b/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
new file mode 100644
index 000000000..713125ec6
--- /dev/null
+++ b/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
@@ -0,0 +1,80 @@
+cmake_minimum_required(VERSION 3.1)
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+project(cimgui)
+
+#general settings
+
+set(IMGUI_LIBRARIES )
+set(IMGUI_COMMON_FLAGS )
+set(GENERATOR_IMPL "internal")
+
+if(IMGUI_FREETYPE)
+	set(GENERATOR_IMPL "${GENERATOR_IMPL} freetype")
+	add_definitions("-DCIMGUI_FREETYPE=1")
+endif(IMGUI_FREETYPE)
+
+add_subdirectory(imgui)
+
+if(IMGUI_BINDINGS)
+add_library(cimgui SHARED "")
+target_link_libraries(cimgui PUBLIC imgui ${IMGUI_LIBRARIES})
+target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
+target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/generator/output)
+target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
+set_target_properties(cimgui PROPERTIES LINKER_LANGUAGE CXX)
+
+set(GENERATOR_ARGS )
+if(IMGUI_ALLEGRO)
+	list(APPEND GENERATOR_ARGS allegro5)
+endif()
+if(IMGUI_GLFW)
+	list(APPEND GENERATOR_ARGS glfw)
+endif()
+if(IMGUI_GLUT)
+	list(APPEND GENERATOR_ARGS glut)
+endif()
+if(IMGUI_OPENGL)
+	list(APPEND GENERATOR_ARGS opengl2 opengl3)
+endif()
+if(IMGUI_SDL)
+	list(APPEND GENERATOR_ARGS sdl sdlrenderer)
+endif()
+if(IMGUI_VULKAN)
+	list(APPEND GENERATOR_ARGS vulkan)
+endif()
+list(APPEND GENERATOR_ARGS ${IMGUI_COMMON_FLAGS} ${CMAKE_CPP_FLAGS})
+file(GLOB GENERATOR_OUTPUT_FILES "${CMAKE_SOURCE_DIR}/generator/output/*")
+list(APPEND
+	GENERATOR_OUTPUT_FILES
+	${CMAKE_SOURCE_DIR}/cimgui.cpp
+	${CMAKE_SOURCE_DIR}/cimgui.h
+	${CMAKE_SOURCE_DIR}/generator/output/cimgui_nopreprocess.cpp
+	${CMAKE_SOURCE_DIR}/generator/output/cimgui_nopreprocess.h
+)
+ADD_CUSTOM_COMMAND(VERBATIM
+	OUTPUT ${GENERATOR_OUTPUT_FILES}
+	COMMAND luajit ./generator.lua gcc "${GENERATOR_IMPL}" ${GENERATOR_ARGS}
+	WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/generator"
+)
+set(CIMGUI_SOURCES "${CMAKE_SOURCE_DIR}/cimgui.cpp")
+set(CIMGUI_INCLUDE_FILES "${CMAKE_SOURCE_DIR}/cimgui.h")
+
+target_sources(cimgui
+	PUBLIC
+	${CIMGUI_SOURCES}
+	${CIMGUI_INCLUDE_FILES}
+)
+
+include(GNUInstallDirs)
+
+#install
+install(TARGETS cimgui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+install(FILES ${CIMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
+
+#test
+set(CIMGUI_TEST "no" CACHE STRING "Enable compilation of a test unit based on imgui null")
+
+if (CIMGUI_TEST)
+  add_subdirectory(test)
+endif ()
+endif()

diff --git a/media-libs/imgui/files/cimgui-1.87-fix-cmake.patch b/media-libs/imgui/files/cimgui-1.87-fix-cmake.patch
deleted file mode 100644
index b3bae1cfe..000000000
--- a/media-libs/imgui/files/cimgui-1.87-fix-cmake.patch
+++ /dev/null
@@ -1,69 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,21 +1,13 @@
- cmake_minimum_required(VERSION 3.1)
- 
--project(cimgui)
-+project(libcimgui)
- 
--if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/imgui/imgui_tables.cpp)
--	set(TABLES_SOURCE "imgui/imgui_tables.cpp")
--else()
- 	set(TABLES_SOURCE "")
--endif()
- 
- 
- #general settings
- file(GLOB IMGUI_SOURCES
-     cimgui.cpp
--    imgui/imgui.cpp
--    imgui/imgui_draw.cpp
--    imgui/imgui_demo.cpp
--    imgui/imgui_widgets.cpp
- 	${TABLES_SOURCE}
- )
- 
-@@ -24,34 +16,30 @@
- set(IMGUI_LIBRARIES )
- 
- if(IMGUI_FREETYPE)
--	FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
--	list(APPEND IMGUI_LIBRARIES freetype)
--	list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp)
-+	list(APPEND IMGUI_LIBRARIES -lfreetype)
- 	add_definitions("-DCIMGUI_FREETYPE=1")
- endif(IMGUI_FREETYPE)
- 
- #add library and link
- if (IMGUI_STATIC)
--    add_library(cimgui STATIC ${IMGUI_SOURCES})
-+    add_library(libcimgui STATIC ${IMGUI_SOURCES})
- else (IMGUI_STATIC)
--    add_library(cimgui SHARED ${IMGUI_SOURCES})
-+    add_library(libcimgui SHARED ${IMGUI_SOURCES})
- endif (IMGUI_STATIC)
- 
--target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
- if (WIN32)
--    target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
-+    target_compile_definitions(libcimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
-     list(APPEND IMGUI_LIBRARIES imm32)
- else (WIN32)
--    target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
-+    target_compile_definitions(libcimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
- endif (WIN32)
- 
--target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
--target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
--set_target_properties(cimgui PROPERTIES PREFIX "")
--target_link_libraries(cimgui ${IMGUI_LIBRARIES})
-+target_include_directories(libcimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
-+set_target_properties(libcimgui PROPERTIES PREFIX "")
-+target_link_libraries(libcimgui PUBLIC -limgui)
- 
- #install
--install(TARGETS cimgui
-+install(TARGETS libcimgui
-     RUNTIME DESTINATION  .
-     LIBRARY DESTINATION  .
-     ARCHIVE DESTINATION  .

diff --git a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
new file mode 100644
index 000000000..0823d1dc3
--- /dev/null
+++ b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
@@ -0,0 +1,160 @@
+cmake_minimum_required(VERSION 3.8.2)
+project(imgui VERSION 1.73.0 LANGUAGES CXX C)
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
+include(GNUInstallDirs)
+
+option(IMGUI_ALLEGRO OFF)
+option(IMGUI_EXAMPLES "Build ImGui examples" OFF)
+option(IMGUI_FREETYPE OFF)
+option(IMGUI_GLFW OFF)
+option(IMGUI_GLUT OFF)
+option(IMGUI_OPENGL OFF)
+option(IMGUI_SDL OFF)
+option(IMGUI_VULKAN OFF)
+
+add_library (imgui_objects
+	OBJECT
+	imgui.cpp
+	imgui_demo.cpp
+	imgui_draw.cpp
+	imgui_tables.cpp
+	imgui_widgets.cpp
+)
+add_library (imgui SHARED "")
+target_include_directories(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
+#set(IMGUI_COMMON_FLAGS "-DIMGUI_USE_WCHAR32 -DIMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION -DIMGUI_STB_RECT_PACK_FILENAME=\"<stb/stb_rect_pack.h>\"")
+set(IMGUI_COMMON_FLAGS "-DIMGUI_USE_WCHAR32")
+
+if(IMGUI_ALLEGRO)
+	find_package(PkgConfig REQUIRED)
+	pkg_check_modules(ALLEGRO5 REQUIRED allegro-5 allegro_main-5 allegro_primitives-5)
+	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp")
+	target_include_directories(imgui_objects PUBLIC ${ALLEGRO5_INCLUDE_DIRS})
+	list(APPEND IMGUI_LIBRARIES ${ALLEGRO5_LIBRARIES})
+endif()
+if(IMGUI_FREETYPE)
+	find_package(Freetype REQUIRED)
+	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.cpp")
+	target_include_directories(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype" ${FREETYPE_INCLUDE_DIRS})
+	list(APPEND IMGUI_LIBRARIES ${FREETYPE_LIBRARIES})
+#	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE -DIMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION -DIMGUI_STB_TRUETYPE_FILENAME=\"<stb/stb_truetype.h>\"")
+	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE")
+	add_executable(binary_to_compressed_c "${CMAKE_CURRENT_SOURCE_DIR}/misc/fonts/binary_to_compressed_c.cpp")
+	target_include_directories(binary_to_compressed_c PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
+	target_link_libraries(binary_to_compressed_c PUBLIC imgui)
+	install(TARGETS binary_to_compressed_c DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui")
+endif()
+if(IMGUI_GLFW)
+	find_package(glfw3 REQUIRED)
+	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp")
+	list(APPEND IMGUI_LIBRARIES glfw)
+endif()
+if(IMGUI_GLUT)
+	find_package(FreeGLUT REQUIRED)
+	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.cpp")
+	target_include_directories(imgui_objects PUBLIC ${FreeGLUT_INCLUDE_DIRS})
+	list(APPEND IMGUI_LIBRARIES FreeGLUT::freeglut)
+endif()
+if(IMGUI_OPENGL)
+	find_package(OpenGL REQUIRED)
+	target_sources(imgui_objects
+		PUBLIC
+		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl2.cpp"
+		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3.cpp"
+	)
+	target_include_directories(imgui_objects PUBLIC ${OPENGL_INCLUDE_DIR})
+	list(APPEND IMGUI_LIBRARIES ${OPENGL_gl_LIBRARY})
+endif()
+if(IMGUI_SDL)
+	find_package(SDL2 REQUIRED)
+	target_sources(imgui_objects
+		PUBLIC
+		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl.cpp"
+		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer.cpp"
+	)
+	target_include_directories(imgui_objects PUBLIC "${SDL2_INCLUDE_DIRS}")
+	list(APPEND IMGUI_LIBRARIES "${SDL2_LIBRARIES}")
+endif()
+if(IMGUI_VULKAN)
+	find_package(Vulkan REQUIRED)
+	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_vulkan.cpp")
+	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DImTextureID=ImU64")
+	target_include_directories(imgui_objects PUBLIC ${Vulkan_INCLUDE_DIRS})
+	list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
+endif()
+
+if(IMGUI_EXAMPLES)
+	install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/examples" DESTINATION "${CMAKE_INSTALL_DOCDIR}")
+	add_executable(example_null "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_null/main.cpp")
+	target_include_directories(example_null PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
+	target_link_libraries(example_null PUBLIC imgui)
+	install(TARGETS example_null DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+	if(IMGUI_ALLEGRO)
+		add_executable(example_allegro5 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_allegro5/main.cpp")
+		target_include_directories(example_allegro5 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
+		target_link_libraries(example_allegro5 PUBLIC imgui)
+		install(TARGETS example_allegro5 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+	endif()
+	if(IMGUI_GLFW AND IMGUI_OPENGL)
+		add_executable(example_glfw_opengl2 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glfw_opengl2/main.cpp")
+		target_include_directories(example_glfw_opengl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
+		target_link_libraries(example_glfw_opengl2 PUBLIC imgui)
+		install(TARGETS example_allegro5 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+		add_executable(example_glfw_opengl3 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glfw_opengl3/main.cpp")
+		target_include_directories(example_glfw_opengl3 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
+		target_link_libraries(example_glfw_opengl3 PUBLIC imgui)
+		install(TARGETS example_glfw_opengl3 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+	endif()
+	if(IMGUI_GLFW AND IMGUI_VULKAN)
+		add_executable(example_glfw_vulkan "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glfw_vulkan/main.cpp")
+		target_include_directories(example_glfw_vulkan PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
+		target_link_libraries(example_glfw_vulkan PUBLIC imgui)
+		install(TARGETS example_glfw_vulkan DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+	endif()
+	if(IMGUI_GLUT AND IMGUI_OPENGL)
+		add_executable(example_glut_opengl2 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glut_opengl2/main.cpp")
+		target_include_directories(example_glut_opengl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
+		target_link_libraries(example_glut_opengl2 PUBLIC imgui)
+		install(TARGETS example_glut_opengl2 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+	endif()
+	if(IMGUI_SDL)
+		add_executable(example_sdl_sdlrenderer "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_sdlrenderer/main.cpp")
+		target_include_directories(example_sdl_sdlrenderer PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
+		target_link_libraries(example_sdl_sdlrenderer PUBLIC imgui)
+		install(TARGETS example_sdl_sdlrenderer DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+		if(IMGUI_OPENGL)
+			add_executable(example_sdl_opengl2 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_opengl2/main.cpp")
+			target_include_directories(example_sdl_opengl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
+			target_link_libraries(example_sdl_opengl2 PUBLIC imgui)
+			install(TARGETS example_sdl_opengl2 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+			add_executable(example_sdl_opengl3 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_opengl3/main.cpp")
+			target_include_directories(example_sdl_opengl3 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
+			target_link_libraries(example_sdl_opengl3 PUBLIC imgui)
+			install(TARGETS example_sdl_opengl2 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+		endif()
+		if(IMGUI_VULKAN)
+			add_executable(example_sdl_vulkan "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_vulkan/main.cpp")
+			target_include_directories(example_sdl_vulkan PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
+			target_link_libraries(example_sdl_vulkan PUBLIC imgui)
+			install(TARGETS example_sdl_vulkan DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
+		endif()
+	endif()
+endif()
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS} -fpermissive")
+target_sources (imgui PUBLIC $<TARGET_OBJECTS:imgui_objects>)
+
+add_library(imgui::imgui ALIAS imgui)
+target_link_libraries(imgui PUBLIC ${IMGUI_LIBRARIES})
+
+file(GLOB IMGUI_INCLUDE_FILES "*.h" "backends/*.h" "misc/freetype/*.h")
+install(FILES ${IMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
+install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/backends/vulkan" DESTINATION "${CMAKE_INSTALL_DATADIR}/imgui/backends")
+file(GLOB IMGUI_DOC_FILES "docs/*")
+install(FILES ${IMGUI_DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}")
+install(TARGETS imgui)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/imgui.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/imgui.pc" @ONLY)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/imgui.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS}" PARENT_SCOPE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" PARENT_SCOPE)

diff --git a/media-libs/imgui/files/imgui.pc.in b/media-libs/imgui/files/imgui.pc.in
new file mode 100644
index 000000000..4d033939f
--- /dev/null
+++ b/media-libs/imgui/files/imgui.pc.in
@@ -0,0 +1,11 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/imgui
+
+Name: imgui
+Description: Bloat-free Immediate Mode Graphical User interface for C
+Version: @version@
+URL: https://github.com/ocornut/imgui
+Libs: -L${libdir} -limgui @IMGUI_LIBRARIES@
+Libs.private: -lm
+Cflags: -I${includedir}

diff --git a/media-libs/imgui/imgui-1.87-r2.ebuild b/media-libs/imgui/imgui-1.87-r2.ebuild
deleted file mode 100644
index 0df42793d..000000000
--- a/media-libs/imgui/imgui-1.87-r2.ebuild
+++ /dev/null
@@ -1,251 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake flag-o-matic toolchain-funcs
-
-CMAKE_IN_SOURCE_BUILD=1
-
-DESCRIPTION="Bloat-free graphical user interface library for C++"
-HOMEPAGE="
-	https://github.com/ocornut/imgui
-	https://github.com/cimgui/cimgui
-"
-SRC_URI="
-	https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> ${P}.tar.gz
-	https://github.com/cimgui/cimgui/archive/refs/tags/${PV}.tar.gz -> c${P}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="allegro bindings examples freetype glfw glut opengl sdl vulkan"
-S="${WORKDIR}/c${P}"
-
-RDEPEND="
-	allegro? ( media-libs/allegro:5 )
-	freetype? ( media-libs/freetype )
-	glfw? ( media-libs/glfw:0 )
-	glut? ( media-libs/freeglut )
-	opengl? ( virtual/opengl )
-	sdl? ( media-libs/libsdl2 )
-	vulkan? ( media-libs/vulkan-loader )
-"
-DEPEND="
-	${RDEPEND}
-	vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="
-	bindings? ( dev-lang/luajit )
-	virtual/pkgconfig
-"
-
-PATCHES=( "${FILESDIR}/c${P}-fix-cmake.patch" )
-REQUIRED_USE="
-	|| (
-		allegro
-		glfw
-		glut
-		sdl
-	)
-	|| (
-		allegro
-		opengl
-		vulkan
-	)
-	examples? (
-		allegro
-		glfw
-		glut
-		opengl
-		sdl
-		vulkan
-	)
-"
-
-src_prepare() {
-	pushd ../ || die
-	rm -rf "${S}/imgui" || die
-	mv "${P}" "${S}/imgui" || die
-	pushd "${S}/imgui" || die
-
-	# imgui
-	rm -r examples/libs || die
-	rm -r misc/*/*.ttf || die
-	rm -r misc/single_file || die
-
-	# cimgui
-	if use bindings; then
-		pushd "${S}" || die
-		cmake_src_prepare
-	else
-		eapply_user
-	fi
-}
-
-src_configure() {
-	pushd imgui || die
-
-	# imgui
-	tc-export CXX
-	append-cppflags "-DIMGUI_USE_WCHAR32"
-	COMMONFLAGS="-I${S}/imgui -I${S}/imgui/backends -I${S}/imgui/misc/freetype -fPIC -fpermissive"
-	local PKGCONF="$(tc-getPKG_CONFIG)" || die
-
-	use allegro && append-libs "-lallegro -lallegro_main -lallegro_primitives"
-	if use freetype; then
-		append-cppflags "-DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE"
-		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags freetype2)" || die
-		append-libs "$(${PKGCONF} --libs freetype2)" || die
-	fi
-	if use glfw; then
-		append-libs "$(${PKGCONF} --libs glfw3)" || die
-		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags glfw3)" || die
-	fi
-	if use glut; then
-		append-libs "$(${PKGCONF} --libs freeglut)" || die
-		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags freeglut)" || die
-	fi
-	use opengl && append-libs "-lGL"
-	if use sdl; then
-		append-libs "-ldl $(sdl2-config --libs)" || die
-		COMMONFLAGS="${COMMONFLAGS} $(sdl2-config --cflags)" || die
-	fi
-	if use vulkan; then
-		append-libs "$(${PKGCONF} --libs vulkan)" || die
-		COMMONFLAGS="${COMMONFLAGS} $(${PKGCONF} --cflags vulkan)" || die
-		append-cppflags "-DImTextureID=ImU64" || die
-	fi
-	append-cxxflags "${COMMONFLAGS}"
-	popd || die
-
-	# cimgui
-	if use bindings; then
-		local mycmakeargs=(
-			-DIMGUI_FREETYPE=$(usex freetype)
-			-DIMGUI_STATIC=OFF
-		)
-		cmake_src_configure
-	fi
-}
-
-src_compile() {
-	pushd imgui || die
-
-	# imgui
-	set -x || die
-
-	local objects=()
-
-	for i in imgui{,_draw,_demo,_tables,_widgets}; do
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c ${i}.cpp -o ${i}.o || die
-		objects+=( ${i}.o )
-	done
-
-	if use freetype; then
-		pushd misc/freetype || die
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_freetype.cpp -o imgui_freetype.o || die
-		objects+=( misc/freetype/imgui_freetype.o )
-		popd || die
-		pushd misc/fonts || die
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE binary_to_compressed_c.cpp -o binary_to_compressed_c || die
-		popd || die
-	fi
-
-	pushd backends || die
-	if use allegro; then
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_allegro5.cpp -o imgui_impl_allegro5.o || die
-		objects+=( backends/imgui_impl_allegro5.o )
-	fi
-	if use glfw; then
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_glfw.cpp -o imgui_impl_glfw.o || die
-		objects+=( backends/imgui_impl_glfw.o )
-	fi
-	if use glut; then
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_glut.cpp -o imgui_impl_glut.o || die
-		objects+=( backends/imgui_impl_glut.o )
-	fi
-	if use opengl; then
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_opengl2.cpp -o imgui_impl_opengl2.o || die
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_opengl3.cpp -o imgui_impl_opengl3.o || die
-		objects+=( backends/imgui_impl_opengl2.o backends/imgui_impl_opengl3.o )
-	fi
-	if use sdl; then
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_sdl.cpp -o imgui_impl_sdl.o || die
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_sdlrenderer.cpp -o imgui_impl_sdlrenderer.o || die
-		objects+=( backends/imgui_impl_sdl.o backends/imgui_impl_sdlrenderer.o )
-	fi
-	if use vulkan; then
-		${CXX} ${CXXFLAGS} ${CPPFLAGS} -fPIC -c imgui_impl_vulkan.cpp -o imgui_impl_vulkan.o || die
-		objects+=( backends/imgui_impl_vulkan.o )
-	fi
-	popd || die
-	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -shared -Wl,-soname,libimgui.so ${objects[@]} -o libimgui.so ${LIBS} || die
-
-	if use examples; then
-		mkdir ex || die
-		for f in allegro5 glfw_opengl{2,3} glfw_vulkan null sdl_opengl{2,3} sdl_{sdlrenderer,vulkan} glut_opengl2 ; do
-			${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -fPIE examples/example_${f}/main.cpp "-L${S}/imgui" -limgui ${LIBS} -o "${S}/imgui/ex/example_${f}" || die
-		done
-	fi
-
-	set +x || die
-	popd || die
-
-	# cimgui
-	if use bindings; then
-		pushd generator || die
-		local myargs=()
-		use allegro && myargs+=( allegro5 )
-		use glfw && myargs+=( glfw )
-		use glut && myargs+=( glut )
-		use opengl && myargs+=( opengl3 opengl2 )
-		use sdl && myargs+=( sdl sdlrenderer )
-		use vulkan && myargs+=( vulkan )
-		myargs+=( ${CFLAGS} ${COMMONFLAGS} ${CPPFLAGS} )
-
-		if use freetype ; then
-			luajit ./generator.lua gcc "internal freetype" ${myargs[@]} || die
-		else
-			luajit ./generator.lua gcc "internal" ${myargs[@]} || die
-		fi
-		popd || die
-		cmake_src_compile
-	fi
-}
-
-src_install() {
-	pushd imgui || die
-
-	# imgui
-	dolib.so libimgui.so
-	dodoc docs/*
-	insinto "/usr/include/imgui"
-	doins *.h
-	doins -r misc/*/*.h
-	doins backends/*.h
-	insinto "/usr/share/${PN}/backends"
-	doins -r backends/vulkan
-	exeinto "/usr/libexec/${PN}"
-	use freetype && doexe misc/fonts/binary_to_compressed_c
-	rm -rf misc/{fonts,freetype} || die
-	dodoc -r misc
-
-	if use examples; then
-		exeinto "/usr/libexec/${PN}/examples"
-		doexe ex/*
-		dodoc -r examples
-		docompress -x "/usr/share/doc/${PF}/examples"
-	fi
-
-	popd || die
-
-	# cimgui
-	if use bindings; then
-		dolib.so libcimgui.so
-		insinto "/usr/share/doc/${PF}/cimgui"
-		doins README.md TODO.txt
-		doheader cimgui.h
-	fi
-}

diff --git a/media-libs/imgui/imgui-1.87-r4.ebuild b/media-libs/imgui/imgui-1.87-r4.ebuild
new file mode 100644
index 000000000..7bb3f6e42
--- /dev/null
+++ b/media-libs/imgui/imgui-1.87-r4.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Bloat-free graphical user interface library for C++"
+HOMEPAGE="
+	https://github.com/ocornut/imgui
+	https://github.com/cimgui/cimgui
+"
+SRC_URI="
+	https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> ${P}.tar.gz
+	https://github.com/cimgui/cimgui/archive/refs/tags/${PV}.tar.gz -> c${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="allegro bindings examples freetype glfw glut opengl sdl vulkan"
+S="${WORKDIR}/c${P}"
+
+RDEPEND="
+	dev-libs/stb:=
+	allegro? ( media-libs/allegro:5 )
+	freetype? ( media-libs/freetype )
+	glfw? ( media-libs/glfw:0 )
+	glut? ( media-libs/freeglut )
+	opengl? ( virtual/opengl )
+	sdl? ( media-libs/libsdl2 )
+	vulkan? ( media-libs/vulkan-loader )
+"
+DEPEND="
+	${RDEPEND}
+	vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+	bindings? ( dev-lang/luajit )
+	virtual/pkgconfig
+"
+
+REQUIRED_USE="
+	|| (
+		allegro
+		glfw
+		glut
+		sdl
+	)
+	|| (
+		allegro
+		opengl
+		vulkan
+	)
+	examples? (
+		allegro
+		glfw
+		glut
+		opengl
+		sdl
+		vulkan
+	)
+"
+
+src_prepare() {
+	pushd ../ || die
+	rm -rf "${S}/imgui" || die
+	mv "${P}" "${S}/imgui" || die
+	pushd "${S}/imgui" || die
+
+	# imgui
+	rm -r examples/libs || die
+	rm -r misc/*/*.ttf || die
+	rm -r misc/single_file || die
+
+	cp "${FILESDIR}/${P}-CMakeLists.txt" CMakeLists.txt || die
+	cp "${FILESDIR}/imgui.pc.in" imgui.pc.in || die
+	sed -e "s|@version@|${PV}|g" -i imgui.pc.in || die
+
+	pushd "${S}" || die
+	cp "${FILESDIR}/c${P}-CMakeLists.txt" CMakeLists.txt || die
+	# remove files to be generated
+	rm cimgui.cpp cimgui.h || die
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DIMGUI_ALLEGRO=$(usex allegro)
+		-DIMGUI_BINDINGS=$(usex bindings)
+		-DIMGUI_EXAMPLES=$(usex examples)
+		-DIMGUI_FREETYPE=$(usex freetype)
+		-DIMGUI_GLFW=$(usex glfw)
+		-DIMGUI_GLUT=$(usex glut)
+		-DIMGUI_OPENGL=$(usex opengl)
+		-DIMGUI_SDL=$(usex sdl)
+		-DIMGUI_VULKAN=$(usex vulkan)
+	)
+	cmake_src_configure
+}
+
+src_install() {
+
+	cmake_src_install
+
+	pushd imgui || die
+	# imgui
+	rm -rf misc/{fonts,freetype} || die
+	dodoc -r misc
+
+	popd || die
+
+	if use bindings; then
+		# cimgui
+
+		insinto "/usr/share/doc/${PF}/cimgui"
+		doins README.md TODO.txt
+	fi
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2022-05-04  0:59 Alessandro Barbieri
  0 siblings, 0 replies; 7+ messages in thread
From: Alessandro Barbieri @ 2022-05-04  0:59 UTC (permalink / raw
  To: gentoo-commits

commit:     6b24ca9ef444311a78105507d415509a8dd7d836
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed May  4 00:59:16 2022 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Wed May  4 00:59:16 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6b24ca9e

media-libs/imgui: fix pkgconfig file

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 media-libs/imgui/files/imgui-1.87-CMakeLists.txt              | 11 ++++++++++-
 media-libs/imgui/files/imgui.pc.in                            |  6 +++---
 .../imgui/{imgui-1.87-r4.ebuild => imgui-1.87-r5.ebuild}      |  5 ++++-
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
index 0823d1dc3..1735d8270 100644
--- a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
+++ b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
@@ -4,6 +4,8 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
 include(GNUInstallDirs)
 
+set(pc_req_private)
+
 option(IMGUI_ALLEGRO OFF)
 option(IMGUI_EXAMPLES "Build ImGui examples" OFF)
 option(IMGUI_FREETYPE OFF)
@@ -32,6 +34,7 @@ if(IMGUI_ALLEGRO)
 	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp")
 	target_include_directories(imgui_objects PUBLIC ${ALLEGRO5_INCLUDE_DIRS})
 	list(APPEND IMGUI_LIBRARIES ${ALLEGRO5_LIBRARIES})
+	string(APPEND pc_req_private " allegro-5 allegro_main-5 allegro_primitives-5")
 endif()
 if(IMGUI_FREETYPE)
 	find_package(Freetype REQUIRED)
@@ -44,17 +47,20 @@ if(IMGUI_FREETYPE)
 	target_include_directories(binary_to_compressed_c PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
 	target_link_libraries(binary_to_compressed_c PUBLIC imgui)
 	install(TARGETS binary_to_compressed_c DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui")
+	string(APPEND pc_req_private " freetype2")
 endif()
 if(IMGUI_GLFW)
 	find_package(glfw3 REQUIRED)
 	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp")
 	list(APPEND IMGUI_LIBRARIES glfw)
+	string(APPEND pc_req_private " glfw3")
 endif()
 if(IMGUI_GLUT)
 	find_package(FreeGLUT REQUIRED)
 	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.cpp")
 	target_include_directories(imgui_objects PUBLIC ${FreeGLUT_INCLUDE_DIRS})
 	list(APPEND IMGUI_LIBRARIES FreeGLUT::freeglut)
+	string(APPEND pc_req_private " glut")
 endif()
 if(IMGUI_OPENGL)
 	find_package(OpenGL REQUIRED)
@@ -65,6 +71,7 @@ if(IMGUI_OPENGL)
 	)
 	target_include_directories(imgui_objects PUBLIC ${OPENGL_INCLUDE_DIR})
 	list(APPEND IMGUI_LIBRARIES ${OPENGL_gl_LIBRARY})
+	string(APPEND pc_req_private " opengl")
 endif()
 if(IMGUI_SDL)
 	find_package(SDL2 REQUIRED)
@@ -75,6 +82,7 @@ if(IMGUI_SDL)
 	)
 	target_include_directories(imgui_objects PUBLIC "${SDL2_INCLUDE_DIRS}")
 	list(APPEND IMGUI_LIBRARIES "${SDL2_LIBRARIES}")
+	string(APPEND pc_req_private " sdl2")
 endif()
 if(IMGUI_VULKAN)
 	find_package(Vulkan REQUIRED)
@@ -82,6 +90,7 @@ if(IMGUI_VULKAN)
 	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DImTextureID=ImU64")
 	target_include_directories(imgui_objects PUBLIC ${Vulkan_INCLUDE_DIRS})
 	list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
+	string(APPEND pc_req_private " vulkan")
 endif()
 
 if(IMGUI_EXAMPLES)
@@ -142,7 +151,7 @@ if(IMGUI_EXAMPLES)
 	endif()
 endif()
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS} -fpermissive")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS}")
 target_sources (imgui PUBLIC $<TARGET_OBJECTS:imgui_objects>)
 
 add_library(imgui::imgui ALIAS imgui)

diff --git a/media-libs/imgui/files/imgui.pc.in b/media-libs/imgui/files/imgui.pc.in
index 4d033939f..e7776fc8c 100644
--- a/media-libs/imgui/files/imgui.pc.in
+++ b/media-libs/imgui/files/imgui.pc.in
@@ -6,6 +6,6 @@ Name: imgui
 Description: Bloat-free Immediate Mode Graphical User interface for C
 Version: @version@
 URL: https://github.com/ocornut/imgui
-Libs: -L${libdir} -limgui @IMGUI_LIBRARIES@
-Libs.private: -lm
-Cflags: -I${includedir}
+Requires.private: @pc_req_private@
+Libs: -L${libdir} -limgui
+Cflags: -I${includedir}/imgui @IMGUI_COMMON_FLAGS@

diff --git a/media-libs/imgui/imgui-1.87-r4.ebuild b/media-libs/imgui/imgui-1.87-r5.ebuild
similarity index 95%
rename from media-libs/imgui/imgui-1.87-r4.ebuild
rename to media-libs/imgui/imgui-1.87-r5.ebuild
index 0c83b5cdf..51478bf63 100644
--- a/media-libs/imgui/imgui-1.87-r4.ebuild
+++ b/media-libs/imgui/imgui-1.87-r5.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-inherit cmake
+inherit cmake flag-o-matic
 
 DESCRIPTION="Bloat-free graphical user interface library for C++"
 HOMEPAGE="
@@ -55,6 +55,9 @@ REQUIRED_USE="
 "
 
 src_prepare() {
+	# https://github.com/ocornut/imgui/issues/5281
+	append-cxxflags -fpermissive
+
 	pushd ../ || die
 	rm -rf "${S}/imgui" || die
 	mv "${P}" "${S}/imgui" || die


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2022-09-07 17:27 Adel KARA SLIMANE
  0 siblings, 0 replies; 7+ messages in thread
From: Adel KARA SLIMANE @ 2022-09-07 17:27 UTC (permalink / raw
  To: gentoo-commits

commit:     3dbd028826ddaa32b5da8af35bc848ac93f98a68
Author:     Adel KARA SLIMANE <adel.ks <AT> zegrapher <DOT> com>
AuthorDate: Wed Sep  7 17:26:09 2022 +0000
Commit:     Adel KARA SLIMANE <adel <AT> karaslimane <DOT> com>
CommitDate: Wed Sep  7 17:26:09 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3dbd0288

media-libs/imgui: 1.81: fix ebuild

wrapdb's meson.build file needs some tweaks so the library gets
properly installed.

Signed-off-by: Adel KARA SLIMANE <adel.ks <AT> zegrapher.com>

 .../imgui/files/imgui-1.81-wrapdb-meson-fix.patch  | 45 ++++++++++++++++++++++
 media-libs/imgui/imgui-1.81.ebuild                 |  4 ++
 2 files changed, 49 insertions(+)

diff --git a/media-libs/imgui/files/imgui-1.81-wrapdb-meson-fix.patch b/media-libs/imgui/files/imgui-1.81-wrapdb-meson-fix.patch
new file mode 100644
index 000000000..a80319e9c
--- /dev/null
+++ b/media-libs/imgui/files/imgui-1.81-wrapdb-meson-fix.patch
@@ -0,0 +1,45 @@
+# Meson wrapdb's meson.build file doesn't handle installing the library, we patch that here
+
+diff --git a/meson.build b/imgui-1.81-meson.build
+index 3343dd4ad..804f84227 100644
+--- a/meson.build
++++ b/imgui-1.81-meson.build
+@@ -80,6 +80,38 @@ imgui = library('imgui',
+     sources,
+     dependencies: dependencies,
+     include_directories: include_dirs,
++    version: meson.project_version(),
++    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(
++    'imconfig.h',
++    'imgui.h',
++    'imgui_internal.h',
++    'imstb_rectpack.h',
++    'imstb_textedit.h',
++    'imstb_truetype.h',
++    'backends/imgui_impl_dx9.h',
++    'backends/imgui_impl_osx.h',
++    'backends/imgui_impl_sdl.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_wgpu.h',
++    'backends/imgui_impl_metal.h',
++    'backends/imgui_impl_win32.h',
++    'backends/imgui_impl_vulkan.h',
++    'backends/imgui_impl_opengl2.h',
++    'backends/imgui_impl_opengl3.h',
++    'backends/imgui_impl_allegro5.h',
++    'backends/imgui_impl_marmalade.h',
++    subdir: 'imgui')
++
+ imgui_dep = declare_dependency(include_directories: include_dirs, link_with: imgui)

diff --git a/media-libs/imgui/imgui-1.81.ebuild b/media-libs/imgui/imgui-1.81.ebuild
index 3ff8437c9..22929f29b 100644
--- a/media-libs/imgui/imgui-1.81.ebuild
+++ b/media-libs/imgui/imgui-1.81.ebuild
@@ -40,6 +40,10 @@ BDEPEND="
 	app-arch/unzip
 "
 
+PATCHES=(
+	"${FILESDIR}/imgui-1.81-wrapdb-meson-fix.patch"
+)
+
 src_unpack() {
 	default
 


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2023-09-20 17:39 Alessandro Barbieri
  0 siblings, 0 replies; 7+ messages in thread
From: Alessandro Barbieri @ 2023-09-20 17:39 UTC (permalink / raw
  To: gentoo-commits

commit:     3e12b65f0dc89e9f147f1055a0157c729ebf0fe8
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed Sep 20 17:38:19 2023 +0000
Commit:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
CommitDate: Wed Sep 20 17:39:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3e12b65f

media-libs/imgui: install all the generated cimgui files

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 media-libs/imgui/files/cimgui-1.87-CMakeLists.txt |  26 +++--
 media-libs/imgui/imgui-1.87-r7.ebuild             | 113 ++++++++++++++++++++++
 2 files changed, 133 insertions(+), 6 deletions(-)

diff --git a/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt b/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
index 713125ec6b..a1c735bcab 100644
--- a/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
+++ b/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
@@ -43,13 +43,22 @@ if(IMGUI_VULKAN)
 	list(APPEND GENERATOR_ARGS vulkan)
 endif()
 list(APPEND GENERATOR_ARGS ${IMGUI_COMMON_FLAGS} ${CMAKE_CPP_FLAGS})
-file(GLOB GENERATOR_OUTPUT_FILES "${CMAKE_SOURCE_DIR}/generator/output/*")
-list(APPEND
-	GENERATOR_OUTPUT_FILES
+set(CIMGUI_EXTRA_STUFF
+	${CMAKE_SOURCE_DIR}/generator/output/definitions.json
+	${CMAKE_SOURCE_DIR}/generator/output/definitions.lua
+	${CMAKE_SOURCE_DIR}/generator/output/impl_definitions.json
+	${CMAKE_SOURCE_DIR}/generator/output/impl_definitions.lua
+	${CMAKE_SOURCE_DIR}/generator/output/overloads.txt
+	${CMAKE_SOURCE_DIR}/generator/output/structs_and_enums.json
+	${CMAKE_SOURCE_DIR}/generator/output/structs_and_enums.lua
+	${CMAKE_SOURCE_DIR}/generator/output/typedefs_dict.json
+	${CMAKE_SOURCE_DIR}/generator/output/typedefs_dict.lua
+)
+set(GENERATOR_OUTPUT_FILES
 	${CMAKE_SOURCE_DIR}/cimgui.cpp
 	${CMAKE_SOURCE_DIR}/cimgui.h
-	${CMAKE_SOURCE_DIR}/generator/output/cimgui_nopreprocess.cpp
-	${CMAKE_SOURCE_DIR}/generator/output/cimgui_nopreprocess.h
+	${CMAKE_SOURCE_DIR}/generator/output/cimgui_impl.h
+	${CIMGUI_EXTRA_STUFF}
 )
 ADD_CUSTOM_COMMAND(VERBATIM
 	OUTPUT ${GENERATOR_OUTPUT_FILES}
@@ -57,7 +66,10 @@ ADD_CUSTOM_COMMAND(VERBATIM
 	WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/generator"
 )
 set(CIMGUI_SOURCES "${CMAKE_SOURCE_DIR}/cimgui.cpp")
-set(CIMGUI_INCLUDE_FILES "${CMAKE_SOURCE_DIR}/cimgui.h")
+set(CIMGUI_INCLUDE_FILES
+	"${CMAKE_SOURCE_DIR}/cimgui.h"
+	"${CMAKE_SOURCE_DIR}/generator/output/cimgui_impl.h"
+)
 
 target_sources(cimgui
 	PUBLIC
@@ -70,6 +82,7 @@ include(GNUInstallDirs)
 #install
 install(TARGETS cimgui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 install(FILES ${CIMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
+install(FILES ${CIMGUI_EXTRA_STUFF} DESTINATION "${CMAKE_INSTALL_DATADIR}/cimgui")
 
 #test
 set(CIMGUI_TEST "no" CACHE STRING "Enable compilation of a test unit based on imgui null")
@@ -78,3 +91,4 @@ if (CIMGUI_TEST)
   add_subdirectory(test)
 endif ()
 endif()
+

diff --git a/media-libs/imgui/imgui-1.87-r7.ebuild b/media-libs/imgui/imgui-1.87-r7.ebuild
new file mode 100644
index 0000000000..49227f0f47
--- /dev/null
+++ b/media-libs/imgui/imgui-1.87-r7.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Bloat-free graphical user interface library for C++"
+HOMEPAGE="
+	https://github.com/ocornut/imgui
+	https://github.com/cimgui/cimgui
+"
+SRC_URI="
+	https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+	https://github.com/cimgui/cimgui/archive/refs/tags/${PV}.tar.gz -> c${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="allegro bindings examples freetype glfw glut opengl sdl vulkan"
+S="${WORKDIR}/c${P}"
+
+RDEPEND="
+	dev-libs/stb:=
+	allegro? ( media-libs/allegro:5 )
+	freetype? ( media-libs/freetype )
+	glfw? ( media-libs/glfw:0 )
+	glut? ( media-libs/freeglut )
+	opengl? ( virtual/opengl )
+	sdl? ( media-libs/libsdl2 )
+	vulkan? ( media-libs/vulkan-loader )
+"
+DEPEND="
+	${RDEPEND}
+	vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="
+	bindings? ( dev-lang/luajit )
+	virtual/pkgconfig
+"
+
+REQUIRED_USE="
+	|| (
+		allegro
+		glfw
+		glut
+		sdl
+	)
+	|| (
+		allegro
+		opengl
+		vulkan
+	)
+"
+
+PATCHES=( "${FILESDIR}/${P}-fpermissive.patch" )
+
+src_prepare() {
+	pushd ../ || die
+	rm -rf "${S}/imgui" || die
+	mv "${P}" "${S}/imgui" || die
+	pushd "${S}/imgui" || die
+
+	# imgui
+	rm -r examples/libs || die
+	rm -r misc/*/*.ttf || die
+	rm -r misc/single_file || die
+
+	cp "${FILESDIR}/${P}-CMakeLists.txt" CMakeLists.txt || die
+	cp "${FILESDIR}/imgui.pc.in" imgui.pc.in || die
+	sed -e "s|@version@|${PV}|g" -i imgui.pc.in || die
+
+	pushd "${S}" || die
+	cp "${FILESDIR}/c${P}-CMakeLists.txt" CMakeLists.txt || die
+	# remove files to be generated
+	rm cimgui.cpp cimgui.h generator/output/* || die
+	cmake_src_prepare
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DIMGUI_ALLEGRO=$(usex allegro)
+		-DIMGUI_BINDINGS=$(usex bindings)
+		-DIMGUI_EXAMPLES=$(usex examples)
+		-DIMGUI_FREETYPE=$(usex freetype)
+		-DIMGUI_GLFW=$(usex glfw)
+		-DIMGUI_GLUT=$(usex glut)
+		-DIMGUI_OPENGL=$(usex opengl)
+		-DIMGUI_SDL=$(usex sdl)
+		-DIMGUI_VULKAN=$(usex vulkan)
+	)
+	cmake_src_configure
+}
+
+src_install() {
+
+	cmake_src_install
+
+	pushd imgui || die
+	# imgui
+	rm -rf misc/{fonts,freetype} || die
+	dodoc -r misc
+
+	popd || die
+
+	if use bindings; then
+		# cimgui
+
+		insinto "/usr/share/doc/${PF}/cimgui"
+		doins README.md TODO.txt
+	fi
+}


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2024-05-09 15:57 Gonçalo Negrier Duarte
  0 siblings, 0 replies; 7+ messages in thread
From: Gonçalo Negrier Duarte @ 2024-05-09 15:57 UTC (permalink / raw
  To: gentoo-commits

commit:     59737466120a8e763b4430810a1007bbef9a4584
Author:     Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com>
AuthorDate: Thu May  9 08:52:50 2024 +0000
Commit:     Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com>
CommitDate: Thu May  9 15:57:39 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=59737466

media-libs/imgui: drop 1.81-r1, 1.87-r9, add 1.89.9

* use meson wrap instead of CMake to build

Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail.com>

 media-libs/imgui/Manifest                          |   7 +-
 media-libs/imgui/files/cimgui-1.87-CMakeLists.txt  |  94 ------------
 media-libs/imgui/files/imgui-1.87-CMakeLists.txt   | 169 ---------------------
 .../imgui/files/imgui-1.87-fpermissive.patch       |  11 --
 ...x.patch => imgui-1.89.9-wrapdb-meson-fix.patch} |  20 +--
 media-libs/imgui/files/imgui.pc.in                 |  11 --
 media-libs/imgui/imgui-1.83.ebuild                 |  37 -----
 media-libs/imgui/imgui-1.87-r9.ebuild              | 120 ---------------
 .../{imgui-1.81-r1.ebuild => imgui-1.89.9.ebuild}  |   3 +-
 media-libs/imgui/metadata.xml                      |  12 +-
 10 files changed, 17 insertions(+), 467 deletions(-)

diff --git a/media-libs/imgui/Manifest b/media-libs/imgui/Manifest
index 92dc7f09b4..bcfdfa8f68 100644
--- a/media-libs/imgui/Manifest
+++ b/media-libs/imgui/Manifest
@@ -1,5 +1,2 @@
-DIST cimgui-1.87.gh.tar.gz 385460 BLAKE2B 0916d53a00234343536ee412035a2c405b01e31a26c3d059cff4d446188ee8a1835a1233a68f671ccebb67be480801b85203a90b0e79fa729f7ac1efdc8bf4a2 SHA512 bf2ed9461e8c12514d29914e6da7f8fae7cd31fcc587c7d89122c950541aed3b4b908d8cd298b3975e9a955a47789335a88db7223ca558cbdf459693a0081bda
-DIST imgui-1.81-1-meson-wrap.zip 1850 BLAKE2B 325f84fd57a896ec9aceb83a54752e8dba52499c3540cc389ab51b929f1dd65c4a599ab71f7f06fa082f31572d8cdaf2f9d7bfdd8cf6ca96a529318bd53f0a06 SHA512 c97fa4cb5ab31c040951e6da04bb1b9659f0105adf54becc35c60ad376c6d4f9e4dcd2a5a554dc5430cfc69527ef5d8570f39fbbf91a23d15f51740f06fb7c3c
-DIST imgui-1.81.tar.gz 1413443 BLAKE2B 6f2e63777821b2767da92d9f40f4de7b4313c38817413e959e612c0ce67701645cf29f0748a3b86cfbd41e0b4b2c8099e9a0ca786c637ca1661fffd7b0de0629 SHA512 d7a2b66dea77359f78068a595607d7668e09ddd0b91910f67fc6463cb920b91b0cc1855984bd4d41e6a880b69ca7cd5e3adc064dcf461c0629b9f8c845a4fc3e
-DIST imgui-1.83.tar.gz 1448389 BLAKE2B 648306bd69181ad8315f12fc5b2c319b23005d6b3fc790ad64caaf1f80304e81b33af5d6f435fa97151fcf1e77eb15455838a09570b7a9c7dd9c56a61510b5a1 SHA512 2150e7101f384b1c749b2e89876b2085a7ff43435f04e88602d0e5e00db7a41c1ace5176bdb0963326845d1c8303b5092a7ca1c9c8e70c522ba96f899ed5bb9c
-DIST imgui-1.87.gh.tar.gz 1460834 BLAKE2B f73b71400311e7c5f82248e242a932add5090670c78077ca2239f349730bab88a00bfe4deca4e854772ef7f6a2cff1fc0f38f7174a026995f93c9e7b55eb2a1d SHA512 3255b06698ab9c8951953e1e0b6d160d64adfa4c011b21a4288547292a7f8fff586875faf9dae0677818bde65bd7e98da92f16f6beb1e6a66aa835edf32e8ce2
+DIST imgui-1.89.9-1-meson-wrap.zip 2413 BLAKE2B 01598058869b312e225c6c11fdea057854a4ffd45bbd6d64330093c68294f1c06529ed6033f94efa780be3a4243f2ece70fba9207ea54c14cfd32067b25e91a1 SHA512 5951c70d94d747530afb4603e0322cfd038c58bef1a7285f66889f9b7081ae336e2e933c6578176b2fb48279b656106882596bd797f7c949088dd63cd2943cbc
+DIST imgui-1.89.9.tar.gz 1609452 BLAKE2B d5f361acf4318b05066720e9da2ed06db760c482440fc7fb2ca95ce5dd88d9a9a010697c831d3e188baec69819c0a0925e98134c191d5e1856ab43e4dbf9b64f SHA512 42021b06b611b58222b09fab8db2c34e992c3dc4fbaa175e09833c66c90d04b4a4e7def16a732535335c0ac5ff014d235835511a5d9a76d32b4395b302146919

diff --git a/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt b/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
deleted file mode 100644
index a1c735bcab..0000000000
--- a/media-libs/imgui/files/cimgui-1.87-CMakeLists.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-cmake_minimum_required(VERSION 3.1)
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-project(cimgui)
-
-#general settings
-
-set(IMGUI_LIBRARIES )
-set(IMGUI_COMMON_FLAGS )
-set(GENERATOR_IMPL "internal")
-
-if(IMGUI_FREETYPE)
-	set(GENERATOR_IMPL "${GENERATOR_IMPL} freetype")
-	add_definitions("-DCIMGUI_FREETYPE=1")
-endif(IMGUI_FREETYPE)
-
-add_subdirectory(imgui)
-
-if(IMGUI_BINDINGS)
-add_library(cimgui SHARED "")
-target_link_libraries(cimgui PUBLIC imgui ${IMGUI_LIBRARIES})
-target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
-target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/generator/output)
-target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
-set_target_properties(cimgui PROPERTIES LINKER_LANGUAGE CXX)
-
-set(GENERATOR_ARGS )
-if(IMGUI_ALLEGRO)
-	list(APPEND GENERATOR_ARGS allegro5)
-endif()
-if(IMGUI_GLFW)
-	list(APPEND GENERATOR_ARGS glfw)
-endif()
-if(IMGUI_GLUT)
-	list(APPEND GENERATOR_ARGS glut)
-endif()
-if(IMGUI_OPENGL)
-	list(APPEND GENERATOR_ARGS opengl2 opengl3)
-endif()
-if(IMGUI_SDL)
-	list(APPEND GENERATOR_ARGS sdl sdlrenderer)
-endif()
-if(IMGUI_VULKAN)
-	list(APPEND GENERATOR_ARGS vulkan)
-endif()
-list(APPEND GENERATOR_ARGS ${IMGUI_COMMON_FLAGS} ${CMAKE_CPP_FLAGS})
-set(CIMGUI_EXTRA_STUFF
-	${CMAKE_SOURCE_DIR}/generator/output/definitions.json
-	${CMAKE_SOURCE_DIR}/generator/output/definitions.lua
-	${CMAKE_SOURCE_DIR}/generator/output/impl_definitions.json
-	${CMAKE_SOURCE_DIR}/generator/output/impl_definitions.lua
-	${CMAKE_SOURCE_DIR}/generator/output/overloads.txt
-	${CMAKE_SOURCE_DIR}/generator/output/structs_and_enums.json
-	${CMAKE_SOURCE_DIR}/generator/output/structs_and_enums.lua
-	${CMAKE_SOURCE_DIR}/generator/output/typedefs_dict.json
-	${CMAKE_SOURCE_DIR}/generator/output/typedefs_dict.lua
-)
-set(GENERATOR_OUTPUT_FILES
-	${CMAKE_SOURCE_DIR}/cimgui.cpp
-	${CMAKE_SOURCE_DIR}/cimgui.h
-	${CMAKE_SOURCE_DIR}/generator/output/cimgui_impl.h
-	${CIMGUI_EXTRA_STUFF}
-)
-ADD_CUSTOM_COMMAND(VERBATIM
-	OUTPUT ${GENERATOR_OUTPUT_FILES}
-	COMMAND luajit ./generator.lua gcc "${GENERATOR_IMPL}" ${GENERATOR_ARGS}
-	WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/generator"
-)
-set(CIMGUI_SOURCES "${CMAKE_SOURCE_DIR}/cimgui.cpp")
-set(CIMGUI_INCLUDE_FILES
-	"${CMAKE_SOURCE_DIR}/cimgui.h"
-	"${CMAKE_SOURCE_DIR}/generator/output/cimgui_impl.h"
-)
-
-target_sources(cimgui
-	PUBLIC
-	${CIMGUI_SOURCES}
-	${CIMGUI_INCLUDE_FILES}
-)
-
-include(GNUInstallDirs)
-
-#install
-install(TARGETS cimgui LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-install(FILES ${CIMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
-install(FILES ${CIMGUI_EXTRA_STUFF} DESTINATION "${CMAKE_INSTALL_DATADIR}/cimgui")
-
-#test
-set(CIMGUI_TEST "no" CACHE STRING "Enable compilation of a test unit based on imgui null")
-
-if (CIMGUI_TEST)
-  add_subdirectory(test)
-endif ()
-endif()
-

diff --git a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt b/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
deleted file mode 100644
index 1735d82708..0000000000
--- a/media-libs/imgui/files/imgui-1.87-CMakeLists.txt
+++ /dev/null
@@ -1,169 +0,0 @@
-cmake_minimum_required(VERSION 3.8.2)
-project(imgui VERSION 1.73.0 LANGUAGES CXX C)
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-
-include(GNUInstallDirs)
-
-set(pc_req_private)
-
-option(IMGUI_ALLEGRO OFF)
-option(IMGUI_EXAMPLES "Build ImGui examples" OFF)
-option(IMGUI_FREETYPE OFF)
-option(IMGUI_GLFW OFF)
-option(IMGUI_GLUT OFF)
-option(IMGUI_OPENGL OFF)
-option(IMGUI_SDL OFF)
-option(IMGUI_VULKAN OFF)
-
-add_library (imgui_objects
-	OBJECT
-	imgui.cpp
-	imgui_demo.cpp
-	imgui_draw.cpp
-	imgui_tables.cpp
-	imgui_widgets.cpp
-)
-add_library (imgui SHARED "")
-target_include_directories(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
-#set(IMGUI_COMMON_FLAGS "-DIMGUI_USE_WCHAR32 -DIMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION -DIMGUI_STB_RECT_PACK_FILENAME=\"<stb/stb_rect_pack.h>\"")
-set(IMGUI_COMMON_FLAGS "-DIMGUI_USE_WCHAR32")
-
-if(IMGUI_ALLEGRO)
-	find_package(PkgConfig REQUIRED)
-	pkg_check_modules(ALLEGRO5 REQUIRED allegro-5 allegro_main-5 allegro_primitives-5)
-	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.cpp")
-	target_include_directories(imgui_objects PUBLIC ${ALLEGRO5_INCLUDE_DIRS})
-	list(APPEND IMGUI_LIBRARIES ${ALLEGRO5_LIBRARIES})
-	string(APPEND pc_req_private " allegro-5 allegro_main-5 allegro_primitives-5")
-endif()
-if(IMGUI_FREETYPE)
-	find_package(Freetype REQUIRED)
-	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.cpp")
-	target_include_directories(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype" ${FREETYPE_INCLUDE_DIRS})
-	list(APPEND IMGUI_LIBRARIES ${FREETYPE_LIBRARIES})
-#	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE -DIMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION -DIMGUI_STB_TRUETYPE_FILENAME=\"<stb/stb_truetype.h>\"")
-	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DIMGUI_ENABLE_FREETYPE -DIMGUI_ENABLE_STB_TRUETYPE")
-	add_executable(binary_to_compressed_c "${CMAKE_CURRENT_SOURCE_DIR}/misc/fonts/binary_to_compressed_c.cpp")
-	target_include_directories(binary_to_compressed_c PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
-	target_link_libraries(binary_to_compressed_c PUBLIC imgui)
-	install(TARGETS binary_to_compressed_c DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui")
-	string(APPEND pc_req_private " freetype2")
-endif()
-if(IMGUI_GLFW)
-	find_package(glfw3 REQUIRED)
-	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp")
-	list(APPEND IMGUI_LIBRARIES glfw)
-	string(APPEND pc_req_private " glfw3")
-endif()
-if(IMGUI_GLUT)
-	find_package(FreeGLUT REQUIRED)
-	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.cpp")
-	target_include_directories(imgui_objects PUBLIC ${FreeGLUT_INCLUDE_DIRS})
-	list(APPEND IMGUI_LIBRARIES FreeGLUT::freeglut)
-	string(APPEND pc_req_private " glut")
-endif()
-if(IMGUI_OPENGL)
-	find_package(OpenGL REQUIRED)
-	target_sources(imgui_objects
-		PUBLIC
-		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl2.cpp"
-		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3.cpp"
-	)
-	target_include_directories(imgui_objects PUBLIC ${OPENGL_INCLUDE_DIR})
-	list(APPEND IMGUI_LIBRARIES ${OPENGL_gl_LIBRARY})
-	string(APPEND pc_req_private " opengl")
-endif()
-if(IMGUI_SDL)
-	find_package(SDL2 REQUIRED)
-	target_sources(imgui_objects
-		PUBLIC
-		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl.cpp"
-		"${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer.cpp"
-	)
-	target_include_directories(imgui_objects PUBLIC "${SDL2_INCLUDE_DIRS}")
-	list(APPEND IMGUI_LIBRARIES "${SDL2_LIBRARIES}")
-	string(APPEND pc_req_private " sdl2")
-endif()
-if(IMGUI_VULKAN)
-	find_package(Vulkan REQUIRED)
-	target_sources(imgui_objects PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_vulkan.cpp")
-	set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS} -DImTextureID=ImU64")
-	target_include_directories(imgui_objects PUBLIC ${Vulkan_INCLUDE_DIRS})
-	list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
-	string(APPEND pc_req_private " vulkan")
-endif()
-
-if(IMGUI_EXAMPLES)
-	install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/examples" DESTINATION "${CMAKE_INSTALL_DOCDIR}")
-	add_executable(example_null "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_null/main.cpp")
-	target_include_directories(example_null PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
-	target_link_libraries(example_null PUBLIC imgui)
-	install(TARGETS example_null DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-	if(IMGUI_ALLEGRO)
-		add_executable(example_allegro5 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_allegro5/main.cpp")
-		target_include_directories(example_allegro5 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
-		target_link_libraries(example_allegro5 PUBLIC imgui)
-		install(TARGETS example_allegro5 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-	endif()
-	if(IMGUI_GLFW AND IMGUI_OPENGL)
-		add_executable(example_glfw_opengl2 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glfw_opengl2/main.cpp")
-		target_include_directories(example_glfw_opengl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
-		target_link_libraries(example_glfw_opengl2 PUBLIC imgui)
-		install(TARGETS example_allegro5 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-		add_executable(example_glfw_opengl3 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glfw_opengl3/main.cpp")
-		target_include_directories(example_glfw_opengl3 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
-		target_link_libraries(example_glfw_opengl3 PUBLIC imgui)
-		install(TARGETS example_glfw_opengl3 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-	endif()
-	if(IMGUI_GLFW AND IMGUI_VULKAN)
-		add_executable(example_glfw_vulkan "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glfw_vulkan/main.cpp")
-		target_include_directories(example_glfw_vulkan PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
-		target_link_libraries(example_glfw_vulkan PUBLIC imgui)
-		install(TARGETS example_glfw_vulkan DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-	endif()
-	if(IMGUI_GLUT AND IMGUI_OPENGL)
-		add_executable(example_glut_opengl2 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_glut_opengl2/main.cpp")
-		target_include_directories(example_glut_opengl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends")
-		target_link_libraries(example_glut_opengl2 PUBLIC imgui)
-		install(TARGETS example_glut_opengl2 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-	endif()
-	if(IMGUI_SDL)
-		add_executable(example_sdl_sdlrenderer "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_sdlrenderer/main.cpp")
-		target_include_directories(example_sdl_sdlrenderer PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
-		target_link_libraries(example_sdl_sdlrenderer PUBLIC imgui)
-		install(TARGETS example_sdl_sdlrenderer DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-		if(IMGUI_OPENGL)
-			add_executable(example_sdl_opengl2 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_opengl2/main.cpp")
-			target_include_directories(example_sdl_opengl2 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
-			target_link_libraries(example_sdl_opengl2 PUBLIC imgui)
-			install(TARGETS example_sdl_opengl2 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-			add_executable(example_sdl_opengl3 "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_opengl3/main.cpp")
-			target_include_directories(example_sdl_opengl3 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
-			target_link_libraries(example_sdl_opengl3 PUBLIC imgui)
-			install(TARGETS example_sdl_opengl2 DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-		endif()
-		if(IMGUI_VULKAN)
-			add_executable(example_sdl_vulkan "${CMAKE_CURRENT_SOURCE_DIR}/examples/example_sdl_vulkan/main.cpp")
-			target_include_directories(example_sdl_vulkan PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/backends" "${SDL2_INCLUDE_DIRS}")
-			target_link_libraries(example_sdl_vulkan PUBLIC imgui)
-			install(TARGETS example_sdl_vulkan DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/imgui/examples" )
-		endif()
-	endif()
-endif()
-
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${IMGUI_COMMON_FLAGS}")
-target_sources (imgui PUBLIC $<TARGET_OBJECTS:imgui_objects>)
-
-add_library(imgui::imgui ALIAS imgui)
-target_link_libraries(imgui PUBLIC ${IMGUI_LIBRARIES})
-
-file(GLOB IMGUI_INCLUDE_FILES "*.h" "backends/*.h" "misc/freetype/*.h")
-install(FILES ${IMGUI_INCLUDE_FILES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/imgui")
-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/backends/vulkan" DESTINATION "${CMAKE_INSTALL_DATADIR}/imgui/backends")
-file(GLOB IMGUI_DOC_FILES "docs/*")
-install(FILES ${IMGUI_DOC_FILES} DESTINATION "${CMAKE_INSTALL_DOCDIR}")
-install(TARGETS imgui)
-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/imgui.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/imgui.pc" @ONLY)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/imgui.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
-set(IMGUI_COMMON_FLAGS "${IMGUI_COMMON_FLAGS}" PARENT_SCOPE)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" PARENT_SCOPE)

diff --git a/media-libs/imgui/files/imgui-1.87-fpermissive.patch b/media-libs/imgui/files/imgui-1.87-fpermissive.patch
deleted file mode 100644
index 7b2fef035d..0000000000
--- a/media-libs/imgui/files/imgui-1.87-fpermissive.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/imgui/backends/imgui_impl_allegro5.cpp
-+++ b/imgui/backends/imgui_impl_allegro5.cpp
-@@ -233,7 +233,7 @@
-         return false;
- 
-     // Store our identifier
--    io.Fonts->SetTexID((void*)cloned_img);
-+    io.Fonts->SetTexID((ImTextureID)(intptr_t)cloned_img);
-     bd->Texture = cloned_img;
- 
-     // Create an invisible mouse cursor

diff --git a/media-libs/imgui/files/imgui-1.81-wrapdb-meson-fix.patch b/media-libs/imgui/files/imgui-1.89.9-wrapdb-meson-fix.patch
similarity index 75%
rename from media-libs/imgui/files/imgui-1.81-wrapdb-meson-fix.patch
rename to media-libs/imgui/files/imgui-1.89.9-wrapdb-meson-fix.patch
index a80319e9c8..30bf42a168 100644
--- a/media-libs/imgui/files/imgui-1.81-wrapdb-meson-fix.patch
+++ b/media-libs/imgui/files/imgui-1.89.9-wrapdb-meson-fix.patch
@@ -4,14 +4,14 @@ diff --git a/meson.build b/imgui-1.81-meson.build
 index 3343dd4ad..804f84227 100644
 --- a/meson.build
 +++ b/imgui-1.81-meson.build
-@@ -80,6 +80,38 @@ imgui = library('imgui',
-     sources,
-     dependencies: dependencies,
-     include_directories: include_dirs,
-+    version: meson.project_version(),
-+    install: true
+@@ -112,8 +112,38 @@
+   gnu_symbol_visibility: 'hidden',
+   dependencies: dependencies,
+   include_directories: include_dirs,
++  version: meson.project_version(),
++  install: true
  )
-
+ 
 +pkg_mod = import('pkgconfig')
 +pkg_mod.generate(imgui,
 +  description : 'Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies'
@@ -26,7 +26,6 @@ index 3343dd4ad..804f84227 100644
 +    'imstb_truetype.h',
 +    'backends/imgui_impl_dx9.h',
 +    'backends/imgui_impl_osx.h',
-+    'backends/imgui_impl_sdl.h',
 +    'backends/imgui_impl_dx10.h',
 +    'backends/imgui_impl_dx11.h',
 +    'backends/imgui_impl_dx12.h',
@@ -39,7 +38,8 @@ index 3343dd4ad..804f84227 100644
 +    'backends/imgui_impl_opengl2.h',
 +    'backends/imgui_impl_opengl3.h',
 +    'backends/imgui_impl_allegro5.h',
-+    'backends/imgui_impl_marmalade.h',
 +    subdir: 'imgui')
 +
- imgui_dep = declare_dependency(include_directories: include_dirs, link_with: imgui)
+ if host_machine.system() == 'windows'
+   api = '-DIMGUI_API=@0@'.format(get_option('default_library') != 'static' ? '__declspec(dllimport)' : '')
+ endif

diff --git a/media-libs/imgui/files/imgui.pc.in b/media-libs/imgui/files/imgui.pc.in
deleted file mode 100644
index e7776fc8cd..0000000000
--- a/media-libs/imgui/files/imgui.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@/imgui
-
-Name: imgui
-Description: Bloat-free Immediate Mode Graphical User interface for C
-Version: @version@
-URL: https://github.com/ocornut/imgui
-Requires.private: @pc_req_private@
-Libs: -L${libdir} -limgui
-Cflags: -I${includedir}/imgui @IMGUI_COMMON_FLAGS@

diff --git a/media-libs/imgui/imgui-1.83.ebuild b/media-libs/imgui/imgui-1.83.ebuild
deleted file mode 100644
index 2b63cb7ce8..0000000000
--- a/media-libs/imgui/imgui-1.83.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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 -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="examples"
-
-RDEPEND="media-libs/glew:0"
-DEPEND="${RDEPEND}"
-
-src_install() {
-	dodoc docs/*
-	insinto "/usr/include/${PN}"
-	doins *.h
-	doins -r misc/*/*.h
-	insinto "/usr/include/${PN}/backend"
-	doins backends/*.h
-	insinto "/usr/share/${PN}"
-	doins *.cpp
-	insinto "/usr/share/${PN}/backend"
-	doins backends/*.cpp
-	doins -r backends/vulkan
-	rm -r misc/*/*.{h,ttf} || die
-	doins -r misc
-
-	if use examples; then
-		dodoc -r examples
-		docompress -x "/usr/share/doc/${PF}/examples"
-	fi
-}

diff --git a/media-libs/imgui/imgui-1.87-r9.ebuild b/media-libs/imgui/imgui-1.87-r9.ebuild
deleted file mode 100644
index 27dc90b9ae..0000000000
--- a/media-libs/imgui/imgui-1.87-r9.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake-multilib
-
-DESCRIPTION="Bloat-free graphical user interface library for C++"
-HOMEPAGE="
-	https://github.com/ocornut/imgui
-	https://github.com/cimgui/cimgui
-"
-SRC_URI="
-	https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
-	https://github.com/cimgui/cimgui/archive/refs/tags/${PV}.tar.gz -> c${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0/${PV}"
-KEYWORDS="~amd64"
-IUSE="allegro bindings examples freetype glfw glut opengl sdl vulkan"
-S="${WORKDIR}/c${P}"
-
-RDEPEND="
-	dev-libs/stb:=
-	allegro? ( media-libs/allegro:5[${MULTILIB_USEDEP}] )
-	freetype? ( media-libs/freetype[${MULTILIB_USEDEP}] )
-	glfw? ( media-libs/glfw:0[${MULTILIB_USEDEP}] )
-	glut? ( media-libs/freeglut[${MULTILIB_USEDEP}] )
-	opengl? ( virtual/opengl[${MULTILIB_USEDEP}] )
-	sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
-	vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
-"
-DEPEND="
-	${RDEPEND}
-	vulkan? ( dev-util/vulkan-headers )
-"
-BDEPEND="
-	bindings? ( dev-lang/luajit )
-	virtual/pkgconfig
-"
-
-REQUIRED_USE="
-	|| (
-		allegro
-		glfw
-		glut
-		sdl
-	)
-	|| (
-		allegro
-		opengl
-		vulkan
-	)
-"
-
-PATCHES=( "${FILESDIR}/${P}-fpermissive.patch" )
-
-src_unpack() {
-	# unpack imgui and cimgui to ${WORKDIR}
-	unpack "${P}.gh.tar.gz"
-    unpack "c${P}.gh.tar.gz"
-
-	# move imgui to the proper location before the patch (Bug #924126)
-	pushd ${WORKDIR} || die
-	rm -rf "${S}/imgui" || die
-	mv "${P}" "${S}/imgui" || die
-}
-
-multilib_src_prepare() {
-	# imgui
-	pushd "${S}/imgui" || die
-	rm -r examples/libs || die
-	rm -r misc/*/*.ttf || die
-	rm -r misc/single_file || die
-
-	cp "${FILESDIR}/${P}-CMakeLists.txt" CMakeLists.txt || die
-	cp "${FILESDIR}/imgui.pc.in" imgui.pc.in || die
-	sed -e "s|@version@|${PV}|g" -i imgui.pc.in || die
-
-	pushd "${S}" || die
-	cp "${FILESDIR}/c${P}-CMakeLists.txt" CMakeLists.txt || die
-	# remove files to be generated
-	rm cimgui.cpp cimgui.h generator/output/* || die
-	cmake_src_prepare
-}
-
-multilib_src_configure() {
-	local mycmakeargs=(
-		-DIMGUI_ALLEGRO=$(usex allegro)
-		-DIMGUI_BINDINGS=$(usex bindings)
-		-DIMGUI_EXAMPLES=$(usex examples)
-		-DIMGUI_FREETYPE=$(usex freetype)
-		-DIMGUI_GLFW=$(usex glfw)
-		-DIMGUI_GLUT=$(usex glut)
-		-DIMGUI_OPENGL=$(usex opengl)
-		-DIMGUI_SDL=$(usex sdl)
-		-DIMGUI_VULKAN=$(usex vulkan)
-	)
-	cmake_src_configure
-}
-
-multilib_src_install() {
-
-	cmake_src_install
-
-	pushd imgui || die
-	# imgui
-	rm -rf misc/{fonts,freetype} || die
-	dodoc -r misc
-
-	popd || die
-
-	if use bindings; then
-		# cimgui
-
-		insinto "/usr/share/doc/${PF}/cimgui"
-		doins README.md TODO.txt
-	fi
-}

diff --git a/media-libs/imgui/imgui-1.81-r1.ebuild b/media-libs/imgui/imgui-1.89.9.ebuild
similarity index 94%
rename from media-libs/imgui/imgui-1.81-r1.ebuild
rename to media-libs/imgui/imgui-1.89.9.ebuild
index 3c6e5ee7e8..44891bc53b 100644
--- a/media-libs/imgui/imgui-1.81-r1.ebuild
+++ b/media-libs/imgui/imgui-1.89.9.ebuild
@@ -41,7 +41,7 @@ BDEPEND="
 "
 
 PATCHES=(
-	"${FILESDIR}/imgui-1.81-wrapdb-meson-fix.patch"
+	"${FILESDIR}/${P}-wrapdb-meson-fix.patch"
 )
 
 src_unpack() {
@@ -63,7 +63,6 @@ multilib_src_configure() {
 		$(meson_feature sdl2)
 		-Dosx=disabled
 		-Dwin=disabled
-		$(meson_feature marmalade)
 		$(meson_feature allegro5)
 	)
 	meson_src_configure

diff --git a/media-libs/imgui/metadata.xml b/media-libs/imgui/metadata.xml
index 9ffdaf77e7..a32bd51ac0 100644
--- a/media-libs/imgui/metadata.xml
+++ b/media-libs/imgui/metadata.xml
@@ -1,23 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-    <!-- maintainer-needed -->
+	<maintainer type="person">
+		<email>gonegrier.duarte@gmail.com</email>
+		<name>Gonçalo Negrier Duarte</name>
+	</maintainer>
     <upstream>
         <bugs-to>https://github.com/ocornut/imgui/issues</bugs-to>
         <remote-id type="github">ocornut/imgui</remote-id>
-        <remote-id type="github">cimgui/cimgui</remote-id>
     </upstream>
     <use>
         <flag name="allegro5">Enable allegro backend and renderer</flag>
-        <flag name="allegro">Enable allegro backend and renderer</flag>
-        <flag name="bindings">Build the cimgui C bindigs</flag>
-        <flag name="freetype">Use FreeType to build and rasterize the font atlas</flag>
         <flag name="glfw">Enable glfw backend</flag>
-        <flag name="glut">Enable glut backen</flag>
         <flag name="opengl">Enable opengl renderer</flag>
-        <flag name="sdl">Enable sdl backend</flag>
         <flag name="vulkan">Enable vulkan renderer</flag>
-        <flag name="marmalade">Enable Marmalade backend</flag>
         <flag name="sdl2">Enable SDL2 backend</flag>
     </use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/
@ 2024-06-03 10:41 Gonçalo Negrier Duarte
  0 siblings, 0 replies; 7+ messages in thread
From: Gonçalo Negrier Duarte @ 2024-06-03 10:41 UTC (permalink / raw
  To: gentoo-commits

commit:     d38b1ad7fccabb3b3b22c649817a655098c35561
Author:     Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> com>
AuthorDate: Mon Jun  3 10:39:31 2024 +0000
Commit:     Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail <DOT> 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 <gonegrier.duarte <AT> 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 @@
         <flag name="opengl">Enable opengl renderer</flag>
         <flag name="vulkan">Enable vulkan renderer</flag>
         <flag name="sdl2">Enable SDL2 backend</flag>
-        <flag name="sdl_renderer">Enable SDL renderer backend</flag>
+		<flag name="sdl2_renderer">Enable SDL2 renderer backend</flag>
+        <flag name="sdl3">Enable SDL3 backend</flag>
+        <flag name="sdl2_renderer">Enable SDL3 renderer backend</flag>
         <flag name="webgpu">Enable webgpu renderer backend</flag>
     </use>
 </pkgmetadata>


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-06-03 10:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-23  1:52 [gentoo-commits] repo/proj/guru:dev commit in: media-libs/imgui/files/, media-libs/imgui/ Alessandro Barbieri
  -- strict thread matches above, loose matches on Subject: below --
2024-06-03 10:41 Gonçalo Negrier Duarte
2024-05-09 15:57 Gonçalo Negrier Duarte
2023-09-20 17:39 Alessandro Barbieri
2022-09-07 17:27 Adel KARA SLIMANE
2022-05-04  0:59 Alessandro Barbieri
2022-04-15 20:34 Alessandro Barbieri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox