From patchwork Sun Jan 30 07:48:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 36892 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id D61AE27BBEA; Sun, 30 Jan 2022 07:52:04 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 4EFF527BBE9 for ; Sun, 30 Jan 2022 07:52:04 +0000 (GMT) Received: from localhost ([::1]:48704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nE50F-0002LX-DP for patchwork@mira.cbaines.net; Sun, 30 Jan 2022 02:52:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41348) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE4yS-0002Ia-OV for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42615) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nE4yI-0000g6-IO for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:12 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nE4yI-00012u-F3 for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53634] [PATCH 1/4] gnu: Add imgui. References: <20220130074558.3323-1-maxim.cournoyer@gmail.com> In-Reply-To: <20220130074558.3323-1-maxim.cournoyer@gmail.com> Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 30 Jan 2022 07:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53634 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 53634@debbugs.gnu.org Cc: Maxim Cournoyer Received: via spool by 53634-submit@debbugs.gnu.org id=B53634.16435289453889 (code B ref 53634); Sun, 30 Jan 2022 07:50:02 +0000 Received: (at 53634) by debbugs.gnu.org; 30 Jan 2022 07:49:05 +0000 Received: from localhost ([127.0.0.1]:35509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xM-00010d-QH for submit@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:05 -0500 Received: from mail-qt1-f173.google.com ([209.85.160.173]:44761) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xK-000101-TU for 53634@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:03 -0500 Received: by mail-qt1-f173.google.com with SMTP id b5so8808962qtq.11 for <53634@debbugs.gnu.org>; Sat, 29 Jan 2022 23:49:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P5CZgy3fNveoUMep+4/VOJDJU0CgFE6Q4h4+e3JkL1Q=; b=hLngpTq+zZ0oMZmxsGr4sbQTpvAdEMut6dqvJbaFHBLT6uuCT89Hk7NhsGl1uX9Vng Kyg7J5GTWCpVh4I4w+HHMCuaOluAYdWx/+zyP3ypyoqTgQECN16Fr/DPiaOm0TzpmCS2 ldOk8XAAbjqXGpx7G8o7xWj7dZCXPMtcRcyKJN00EzPuYm6DfH4IYxB6RVlKUl+qyNXx ANbcn4Q7SY09dX5miZGGkH5qhJx8a+CP7TgZG4UGRPo2e8xA9/Z9VoCQ9eyeWrLSiFVA +Cu/YhS/oti0WEKfY9C1MhsBH16c6LsCVPA/wWxxiJiz1eIC0lg7M5KhRqdfo+p+oRnj zExQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P5CZgy3fNveoUMep+4/VOJDJU0CgFE6Q4h4+e3JkL1Q=; b=lIDbTLjQkXCZ4cZ++9KDFpDe75xrnq6HfMPKLU2FsHILNDpNzY1f77lFyhsuajC36m wP3b7RPBmvott/fla6cRCVet+Aqh95MP2Mkn3AXVikpGn065yEKIZ1xi57LfArHNqegZ C+pLDmZBkWZGZ+0MIF82SKWiLfAd6h4rVieqB8l6yo7lkQ6zTAheGZKORB7yCM5GLvpF QtrJCgvHl8QSAt8QzpFA7ZDfELrdFrEXLny9iNJEPU/h7WaiIIar8aBWuTifjfsJJUso KC0Cpp6cI+3NROe06rMPGl3eEskhyDwvri4VoLOOvoc3cKpRVhppC350988nxC1d7GjA h1ew== X-Gm-Message-State: AOAM533/B0rc0emw40INASUBgX04ZmtMO/g5bwB1SmmbLpNb0WmnCM6/ ucWnWMYEzpEuJqmewdDsR2q6itgk2RA= X-Google-Smtp-Source: ABdhPJzhC7khvkCPwCAz3egJ0xnH2oUyubr1kfBSKBv/BCq2kmDPyDe6tYJWmYSWaaNPukHAesxsgw== X-Received: by 2002:a05:622a:152:: with SMTP id v18mr11007125qtw.209.1643528937101; Sat, 29 Jan 2022 23:48:57 -0800 (PST) Received: from localhost.localdomain (dsl-153-218.b2b2c.ca. [66.158.153.218]) by smtp.gmail.com with ESMTPSA id u63sm6360757qkh.43.2022.01.29.23.48.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Jan 2022 23:48:56 -0800 (PST) From: Maxim Cournoyer Date: Sun, 30 Jan 2022 02:48:45 -0500 Message-Id: <20220130074848.3397-1-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.34.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/toolkits.scm (imgui): New variable. --- gnu/packages/toolkits.scm | 104 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 gnu/packages/toolkits.scm diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm new file mode 100644 index 0000000000..e980438ca9 --- /dev/null +++ b/gnu/packages/toolkits.scm @@ -0,0 +1,104 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Maxim Cournoyer +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages toolkits) + #:use-module (gnu packages gl) + #:use-module (gnu packages sdl) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix git-download)) + +(define-public imgui + (package + (name "imgui") + (version "1.86") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocornut/imgui") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02a7b05zrka20jhzag2jb4jl624i1m456bsv69jb9zgys2p9dv1n")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Contains fonts and other unneeded files. + (delete-file-recursively "misc"))))) + (outputs '("out" "doc")) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test suite + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'adjust-includes + (lambda _ + (substitute* (find-files "." "(\\.cpp|\\.mm)$") + (("#include )) + (imgui-headers (scandir "." header?)) + (backend-headers (find-files + "backends" + "(glfw|opengl|sdl|vulkan).*\\.h$"))) + (install-file "libimgui.so" (string-append out "/lib")) + ;; Install headers. + (for-each (lambda (f) + (install-file f (string-append out "/include/imgui"))) + imgui-headers) + (for-each (lambda (f) + (install-file f (string-append + out "/include/imgui/backends"))) + backend-headers) + ;; Install examples. + (copy-recursively + "examples" (string-append + doc "/share/imgui/examples")))))))) + (inputs (list glfw mesa sdl2)) + (home-page "https://github.com/ocornut/imgui") + (synopsis "Graphical user interface library for C++") + (description "@code{dear imgui} (also know as ImGui) is a graphical user +interface library for C++. It outputs vertex buffers that can be rendered in +a 3D application. It is fast, renderer agnostic and self-contained.") + (license license:expat)))