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 76C4015808B for ; Tue, 29 Mar 2022 00:23:06 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1D575E08EF; Tue, 29 Mar 2022 00:23:04 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C6FBFE08CE for ; Tue, 29 Mar 2022 00:23:03 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1CA9F34146C for ; Tue, 29 Mar 2022 00:23:02 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 5102A351 for ; Tue, 29 Mar 2022 00:22:59 +0000 (UTC) From: "Ronny Gutbrod" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ronny Gutbrod" Message-ID: <1648416504.ab60e471e906e5ac8b529cf7e964c1e875b0dccd.tastytea@gentoo> Subject: [gentoo-commits] repo/proj/guru:master commit in: media-libs/imgui/ X-VCS-Repository: repo/proj/guru X-VCS-Files: media-libs/imgui/Manifest media-libs/imgui/imgui-1.87.ebuild media-libs/imgui/metadata.xml X-VCS-Directories: media-libs/imgui/ X-VCS-Committer: tastytea X-VCS-Committer-Name: Ronny Gutbrod X-VCS-Revision: ab60e471e906e5ac8b529cf7e964c1e875b0dccd X-VCS-Branch: master Date: Tue, 29 Mar 2022 00:22:59 +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: 150a82a5-7c52-4847-ae5a-3ae72bbb9061 X-Archives-Hash: 28953d4f31cae0fb3bf9848e86659b91 commit: ab60e471e906e5ac8b529cf7e964c1e875b0dccd Author: Alessandro Barbieri gmail com> AuthorDate: Sun Mar 27 18:22:04 2022 +0000 Commit: Ronny Gutbrod tastytea de> CommitDate: Sun Mar 27 21:28:24 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ab60e471 media-libs/imgui: add 1.87 Signed-off-by: Alessandro Barbieri gmail.com> media-libs/imgui/Manifest | 1 + media-libs/imgui/imgui-1.87.ebuild | 157 +++++++++++++++++++++++++++++++++++++ media-libs/imgui/metadata.xml | 9 +++ 3 files changed, 167 insertions(+) diff --git a/media-libs/imgui/Manifest b/media-libs/imgui/Manifest index 6b3f46883..9bbf158f0 100644 --- a/media-libs/imgui/Manifest +++ b/media-libs/imgui/Manifest @@ -1 +1,2 @@ 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/imgui-1.87.ebuild b/media-libs/imgui/imgui-1.87.ebuild new file mode 100644 index 000000000..0b811f029 --- /dev/null +++ b/media-libs/imgui/imgui-1.87.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +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="allegro examples freetype glfw glut opengl sdl vulkan" + +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="virtual/pkgconfig" + +REQUIRED_USE=" + || ( + allegro + || ( glfw glut sdl ) + || ( opengl vulkan ) + ) + examples? ( + allegro + glfw + glut + opengl + sdl + vulkan + ) +" + +src_prepare() { + rm -r examples/libs || die + rm -r misc/*/*.ttf || die + rm -r misc/single_file || die + default +} + +src_configure() { + tc-export CXX + append-cppflags "-DIMGUI_USE_WCHAR32" + append-cxxflags "-I${S} -I${S}/backends -I${S}/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 + append-libs "$(${PKGCONF} --libs freetype2)" || die + fi + if use glfw; then + append-libs "$(${PKGCONF} --libs glfw3)" || die + append-cxxflags "$(${PKGCONF} --cflags glfw3)" || die + fi + if use glut; then + append-libs "$(${PKGCONF} --libs freeglut)" || die + append-cxxflags "$(${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 + fi + if use vulkan; then + append-libs "$(${PKGCONF} --libs vulkan)" || die + append-cxxflags "$(${PKGCONF} --cflags vulkan)" || die + append-cppflags "-DImTextureID=ImU64" || die + fi +} + +src_compile() { + set -x || die + + for i in imgui{,_draw,_demo,_tables,_widgets}; do + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c ${i}.cpp -o ${i}.o || die + done + + if use freetype; then + pushd misc/freetype || die + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_freetype.cpp -o imgui_freetype.o || die + 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} -c imgui_impl_allegro5.cpp -o imgui_impl_allegro5.o || die + fi + if use glfw; then + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_glfw.cpp -o imgui_impl_glfw.o || die + fi + if use glut; then + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_glut.cpp -o imgui_impl_glut.o || die + fi + if use opengl; then + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_opengl2.cpp -o imgui_impl_opengl2.o || die + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_opengl3.cpp -o imgui_impl_opengl3.o || die + fi + if use sdl; then + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_sdl.cpp -o imgui_impl_sdl.o || die + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_sdlrenderer.cpp -o imgui_impl_sdlrenderer.o || die + fi + if use vulkan; then + ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c imgui_impl_vulkan.cpp -o imgui_impl_vulkan.o || die + fi + popd || die + ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} -shared -Wl,-soname,libimgui.so *.o backends/*.o misc/freetype/*.o -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}" -limgui ${LIBS} -o "${S}/ex/example_${f}" || die + done + fi + + set +x || die +} + +src_install() { + 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 +} diff --git a/media-libs/imgui/metadata.xml b/media-libs/imgui/metadata.xml index 25bcc732f..2a6d52b5d 100644 --- a/media-libs/imgui/metadata.xml +++ b/media-libs/imgui/metadata.xml @@ -10,4 +10,13 @@ https://github.com/ocornut/imgui/issues ocornut/imgui + + Enable allegro backend and renderer + Use FreeType to build and rasterize the font atlas + Enable glfw backend + Enable glut backen + Enable opengl renderer + Enable sdl backend + Enable vulkan renderer +