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))) From patchwork Sun Jan 30 07:48:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 36894 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 DAB0927BBEB; Sun, 30 Jan 2022 07:52:49 +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 autolearn=ham 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 9BD8E27BBEA for ; Sun, 30 Jan 2022 07:52:48 +0000 (GMT) Received: from localhost ([::1]:49804 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nE50x-0003EW-RS for patchwork@mira.cbaines.net; Sun, 30 Jan 2022 02:52:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE4yS-0002Ib-PR for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42616) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nE4yJ-0000gm-1m 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-000132-Vb for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53634] [PATCH 2/4] gnu: Add glad. 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.16435289553928 (code B ref 53634); Sun, 30 Jan 2022 07:50:02 +0000 Received: (at 53634) by debbugs.gnu.org; 30 Jan 2022 07:49:15 +0000 Received: from localhost ([127.0.0.1]:35513 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xR-00010y-9C for submit@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:15 -0500 Received: from mail-qv1-f50.google.com ([209.85.219.50]:46867) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xP-00010C-89 for 53634@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:07 -0500 Received: by mail-qv1-f50.google.com with SMTP id o9so9857976qvy.13 for <53634@debbugs.gnu.org>; Sat, 29 Jan 2022 23:49:07 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=0WsvEfdlacKUTJRtdcWVL/Orx/q4EpzgWGoWqU0F8TQ=; b=eOEyOdlxsTbtZVBJ3NHBlFe8a9HEUUefCTFcN2ORmgOt1grEs2NspuvFdtUYfVSDDe hdBuaGzDMNrxENmzq4qZOECoFLrYxt1FlqU2sU+x31lYP6d9RYnqL6BWBwDxmLIwOYx3 Nk3n59QoszlqgufjoCmv6iRoiFy5720aUbq9TdZhRalUN+p5H7MacGFHaJK0hOK8iGdG 9qW9BHqd8GVxAyxrhd0zAmQ1a9jY9h8QnURIYW1ktd37TIXbw5r36gbQcnD7nbOp7/ME u4d0I/CDzSbywjWNg5AJgJUxmKjByAFxlW98ki4OiujiUZnu7nCrc/SA1S9SC7ghwlM0 ferA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=0WsvEfdlacKUTJRtdcWVL/Orx/q4EpzgWGoWqU0F8TQ=; b=HfAaoawMv+R9zx4voFbHjtAc2hGq78X5wNB1/7mIOi6+mTRnekabcixDxF06JbA1sf LOUalC0E3ZLOVIBpGY2Mf5Wyy0luEw7Tbk3eKy4sSgALWWVkC3Xpjn345X+Ma7ee3p4Z 8CG0JFLmh7b3AwgLzHQhF0ceLaH6BaPg1XY93wsR2Qi6XytGi6qj6vkie6dz1UCaiYP9 7Zhg+S7kYNybk+niCzlS08iQZZnX1kyC8lKvmcmBxgQ9H2Ytm8ARNnUPjS1r8epsySt/ ItY1uYtDEEgGqE+cn839zFu4jX0Zgg8sX4u0xyI7WCEapk2QOQawdEtih5ypv+E/kbpG +CXQ== X-Gm-Message-State: AOAM532vjBt83nLRiXy1V9FsieBJSfFia4u6U3bRNt7qi3zca89+Ux7H wdDswf2Ss+7LMB9/TXcnQxpsztAsSRA= X-Google-Smtp-Source: ABdhPJyXnve6gLQYoWfZKVPE7u9uwdU2FhbRYDcNefDfw3stAty7K8dlf2Bt+HVOUFubUbd702lJzQ== X-Received: by 2002:ad4:4ee7:: with SMTP id dv7mr13126567qvb.65.1643528941542; Sat, 29 Jan 2022 23:49:01 -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.49.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Jan 2022 23:49:01 -0800 (PST) From: Maxim Cournoyer Date: Sun, 30 Jan 2022 02:48:46 -0500 Message-Id: <20220130074848.3397-2-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20220130074848.3397-1-maxim.cournoyer@gmail.com> References: <20220130074848.3397-1-maxim.cournoyer@gmail.com> 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/gl.scm (glad): New variable. --- gnu/packages/gl.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index fa49679870..7ca1c510ab 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Giacomo Leidi -;;; Copyright © 2020, 2021 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2020 Kei Kebreau ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2021 John Kehayias @@ -63,6 +63,7 @@ (define-module (gnu packages gl) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) + #:use-module (guix build-system python) #:use-module (guix build-system waf) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -181,6 +182,38 @@ (define-public ftgl Polygon meshes, and Extruded polygon meshes.") (license license:x11))) +(define-public glad + (package + (name "glad") + (version "0.1.36") + (source + (origin + ;; We fetch the sources from the repository since the PyPI archive + ;; doesn't contain the CMakeLists.txt file which is useful for + ;; integration with other software, such as the openboardview package. + (method git-fetch) + (uri (git-reference + (url "https://github.com/Dav1dde/glad") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-cmakelists.txt + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/" ,name))) + (install-file "CMakeLists.txt" share))))))) + (home-page "https://github.com/Dav1dde/glad") + (synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator") + (description "Glad uses the official Khronos XML specifications to +generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.") + (license license:expat))) + (define-public s2tc (package (name "s2tc") From patchwork Sun Jan 30 07:48:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 36891 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 84ACE27BBEA; Sun, 30 Jan 2022 07:52:02 +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 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 1BF4C27BBE9 for ; Sun, 30 Jan 2022 07:52:02 +0000 (GMT) Received: from localhost ([::1]:48692 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nE50C-0002JR-LB for patchwork@mira.cbaines.net; Sun, 30 Jan 2022 02:52:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41344) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE4yS-0002IY-OL for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nE4yJ-0000go-Mx 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 1nE4yJ-00013C-Lj for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53634] [PATCH 3/4] gnu: Add utf8-h. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 30 Jan 2022 07:50:03 +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.16435289553935 (code B ref 53634); Sun, 30 Jan 2022 07:50:03 +0000 Received: (at 53634) by debbugs.gnu.org; 30 Jan 2022 07:49:15 +0000 Received: from localhost ([127.0.0.1]:35516 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xX-00011J-C0 for submit@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:15 -0500 Received: from mail-qk1-f181.google.com ([209.85.222.181]:39804) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xR-00010V-0C for 53634@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:09 -0500 Received: by mail-qk1-f181.google.com with SMTP id b35so8838018qkp.6 for <53634@debbugs.gnu.org>; Sat, 29 Jan 2022 23:49:08 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=WE/FHefI5xsVJY5MmH1LPg/b0wbT0KCObuddiLLqXCE=; b=p+z7bjuisxXQrjByAGSAjOyg7V8YdN/cGYRUApxkL4YdWXVydfcw68XINeADPm2aDc 0Lb7LQq2pH8d8Y4TwII2irTkwxZVN5XQMQYi4m1Ziku8hKx+ezM30fwfPs7YlYPKN2qS ZwGthyUQgAu66/YOhl0wDoj+N/SrIgKAEE5FMaxDEtdISe0pg71ziOiNGtw4PlSOxRz/ UPdYqvbvJSY7Kerm6EhksJTEdh5Q35kR62cG2qwhaIhveKjtFgzui40OhlaV+CR3imlA WBGlhpkB7aC3tKVAbPjvosveN7cB7Dkdt/LuWK7J95p86ZUJz4ipLlvutjcI0fEBWs+n oTMQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=WE/FHefI5xsVJY5MmH1LPg/b0wbT0KCObuddiLLqXCE=; b=VUaW7YgFl+mHtKuawH60RXnSlidifh8hncUlPAX0TJM4Pu77zcR7dUiHIaNSTKcYKX /3kR2eSy0mm1/1YEOZ2N53YKAELzUTpDT4DyCCyhPLP/kW/YA/zhq4Tl3k0RRdZ+AcyT o7nL3bZV8n2PRIoSwkopZrS3uiaqsQLlGIyBzz3s8/FkGBcBm7etyBdAR2DhQhbT9FGA 2ldjrCCUEwpX1JvMvq5itTRXo5koZPeRMNaCGFhfxFndWDC1zzkpdomu+1OT6md9tDBr jw/CoG29Kiufqcg6VPFiBUX6hcOEOMdbjcs4SIbuTMX0bsmuS3wBHllR6OfXGDdEcBnM VKNg== X-Gm-Message-State: AOAM5339WCwDeShoawVh2vtQqMWdyxd/D/zXXEry22Cz9liDEwV3CJqv moZKzmisnVyKtld3yNkEC+aa20oHINU= X-Google-Smtp-Source: ABdhPJwNoT/MoG46zBtXTcJN3r1vBfFX5bacJ1LChSzj7Fuw+ua6BOXcbY14rQDXPnEHVH1rLtvXDQ== X-Received: by 2002:a37:3c7:: with SMTP id 190mr9764885qkd.677.1643528943349; Sat, 29 Jan 2022 23:49:03 -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.49.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Jan 2022 23:49:03 -0800 (PST) From: Maxim Cournoyer Date: Sun, 30 Jan 2022 02:48:47 -0500 Message-Id: <20220130074848.3397-3-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20220130074848.3397-1-maxim.cournoyer@gmail.com> References: <20220130074848.3397-1-maxim.cournoyer@gmail.com> 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/c.scm (utf8-h): New variable. --- gnu/packages/c.scm | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 459d996fa2..e53a7c865f 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020, 2021 Marius Bakke ;;; Copyright © 2020 Katherine Cox-Buday -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020, 2022 Maxim Cournoyer ;;; Copyright © 2020, 2021 Greg Hogan ;;; Copyright © 2021 David Dashyan ;;; @@ -895,3 +895,42 @@ (define-public aws-c-mqtt Telemetry Transport (MQTT) publish-subscribe messaging protocol.") (home-page "https://github.com/awslabs/aws-c-mqtt") (license license:asl2.0))) + +(define-public utf8-h + ;; The latest tag is used as there is no release. + (let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734") + (revision "0")) + (package + (name "utf8-h") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sheredom/utf8.h") + (commit commit))) + (file-name (git-file-name "utf8.h" version)) + (sha256 + (base32 + "0x9f7ivww8c7cigf4ck0hfx2bm79qgx6q4ccwzqbzkrmcrl9shfb")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'build) + (delete 'configure) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "test" + (invoke "cmake" ".") + (invoke "make"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "utf8.h" (string-append out "/include")))))))) + (home-page "https://github.com/sheredom/utf8.h") + (synopsis "Single header UTF-8 string functions for C and C++") + (description "A simple one header solution to supporting UTF-8 strings in +C and C++. The functions it provides are like those from the C header +string.h, but with a utf8* prefix instead of the str* prefix.") + (license license:unlicense)))) From patchwork Sun Jan 30 07:48:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 36893 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 B49A627BBE9; Sun, 30 Jan 2022 07:52:40 +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 C13DE27BBEA for ; Sun, 30 Jan 2022 07:52:39 +0000 (GMT) Received: from localhost ([::1]:49362 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nE50o-0002wI-Ue for patchwork@mira.cbaines.net; Sun, 30 Jan 2022 02:52:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nE4yS-0002IZ-OK for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42618) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nE4yK-0000gp-6Z for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:11 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nE4yK-00013K-5U for guix-patches@gnu.org; Sun, 30 Jan 2022 02:50:04 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#53634] [PATCH 4/4] gnu: Add openboardview. Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 30 Jan 2022 07:50:04 +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.16435289623950 (code B ref 53634); Sun, 30 Jan 2022 07:50:04 +0000 Received: (at 53634) by debbugs.gnu.org; 30 Jan 2022 07:49:22 +0000 Received: from localhost ([127.0.0.1]:35518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xX-00011Q-Ou for submit@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:22 -0500 Received: from mail-qt1-f171.google.com ([209.85.160.171]:36765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nE4xS-00010m-It for 53634@debbugs.gnu.org; Sun, 30 Jan 2022 02:49:11 -0500 Received: by mail-qt1-f171.google.com with SMTP id z1so7688748qto.3 for <53634@debbugs.gnu.org>; Sat, 29 Jan 2022 23:49:10 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=QYztkT1V6FleO6FTSnz4ruY+ONUjceMLVqsaEXcOGmc=; b=FnzRYUZZo2B7on98Zq4a2ETi1WaAtz7Ng/EiMPe9/xr0hq77MMtVAgsx7KyxEaNZ7Z B29I83IcTyJiO4g59ssmAUNzH+82d5HlNbO/y1BJdCI0nMgj+HM1HTRhFKn7D3tq9EP+ m2HBqHXQNVhKQJkEk0g5IR5T1/iifR7QAWUQvjKTDuYfQxu4/9SRvBR2NVs7FAclT7NU ZppXagAQAI8r6qreU9lX5Dqj8caGJCbEtwPJxKdB4nZUgcKkia+CUb9sw+8s/KdGN2Kg 3UgFUj/Qf81EviQ/VEcJZshRxP5IaSCTU9tV42O4BAOUfbreB/XlAdjobBq6mVXf2oqU eYAw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=QYztkT1V6FleO6FTSnz4ruY+ONUjceMLVqsaEXcOGmc=; b=LQxuydEU3tBwwvKQGAFM6f4RbG9zoeY+WhVPs+pWwwd1oF8RkuJgXzX5LZsR/rVhYX RfssD56BTRgwJw+E8xCsoSLSkZzoFKyqYQBiAlW0zK2EPSaGSV42lL6s8GyDcyFgW+F/ dbDox+mhi++CINbDIi9ht/f/wCCo03yaGRxn7NDSXELqML7OkwF/k4kbIzXTiKh41rz+ TGq3I5UvrBcYiiwcj8kzlAur1pxMYIlZBp1FZPcYqVWw0ubmPaUIOBuTW5LCuGiAaMTN eZUVsgSFpgjkcaNkGDcxSaGnzRy87m8qMw+cUubzjNIbn7x7UQbtFaVYwMN9tUpnxQns jD6A== X-Gm-Message-State: AOAM531l7Te1sOIgSg6ZVpjnhdtfBb5fDBT7IX46E065in6AjKCYjQIm w3FKGhIvcMynw/nRPKIwM86xs4yBYk4= X-Google-Smtp-Source: ABdhPJxMgfMNwlPbZ6K5ztx+b69NmCG2T+1pgGBHzFmRK+Z2JmRsYNVoedf6AWtuu7iBxqRiejUmNA== X-Received: by 2002:a05:622a:1793:: with SMTP id s19mr10937225qtk.451.1643528944812; Sat, 29 Jan 2022 23:49:04 -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.49.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Jan 2022 23:49:04 -0800 (PST) From: Maxim Cournoyer Date: Sun, 30 Jan 2022 02:48:48 -0500 Message-Id: <20220130074848.3397-4-maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.34.0 In-Reply-To: <20220130074848.3397-1-maxim.cournoyer@gmail.com> References: <20220130074848.3397-1-maxim.cournoyer@gmail.com> 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/electronics.scm (openboardview): New variable. * gnu/packages/patches/openboardview-use-system-utf8.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/electronics.scm | 113 +++++++++++++++++- .../openboardview-use-system-utf8.patch | 48 ++++++++ 3 files changed, 159 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/openboardview-use-system-utf8.patch diff --git a/gnu/local.mk b/gnu/local.mk index 96e6cb08f4..692cd7d6bc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1567,6 +1567,7 @@ dist_patch_DATA = \ %D%/packages/patches/onnx-shared-libraries.patch \ %D%/packages/patches/onnx-skip-model-downloads.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ + %D%/packages/patches/openboardview-use-system-utf8.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 54f246faa6..918bd8f9a8 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2019 Clément Lassieur ;;; Copyright © 2021 Efraim Flashner ;;; Copyright © 2021 Leo Famulari +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,12 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages electronics) - #:use-module (guix utils) - #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (gnu packages) @@ -34,11 +36,14 @@ (define-module (gnu packages electronics) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages boost) + #:use-module (gnu packages c) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages embedded) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gawk) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) @@ -48,7 +53,10 @@ (define-module (gnu packages electronics) #:use-module (gnu packages m4) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages qt)) + #:use-module (gnu packages qt) + #:use-module (gnu packages sdl) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages stb)) (define-public libserialport (package @@ -240,6 +248,105 @@ (define-public sigrok-cli (description "Sigrok-cli is a command-line frontend for sigrok.") (license license:gpl3+))) +(define-public openboardview + (package + (name "openboardview") + (version "8.95.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenBoardView/OpenBoardView") + (commit version) + (recursive? #t))) ;for the "src/imgui" submodule + (file-name (git-file-name name version)) + (modules '((ice-9 ftw) + (srfi srfi-26) + (guix build utils))) + (snippet + '(with-directory-excursion "src" + ;; Keep the bundled ImGui for now, as in the current version + ;; (~1.79), it requires the glad loader generated at build + ;; time as an input. + (define keep (list "." ".." "imgui" "openboardview")) + (for-each (lambda (f) + (when (eq? 'directory (stat:type (lstat f))) + (delete-file-recursively f))) + (scandir "." (negate (cut member <> keep)))))) + (patches + (search-patches "openboardview-use-system-utf8.patch")) + (sha256 + (base32 + "16mrs7bimwp8a8lb2wqhfisy6j0hl9574l4h9yb66v46aglvmd3h")))) + (build-system cmake-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:imported-modules `((guix build glib-or-gtk-build-system) + ,@%cmake-build-system-modules) + #:modules '((guix build cmake-build-system) + (guix build utils) + ((guix build glib-or-gtk-build-system) #:prefix gtk:)) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'configure-glad + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/CMakeLists.txt" + (("add_subdirectory\\(glad\\)") + (string-append + ;; Configure Glad to use static Khronos XML specifications + ;; instead of attempting to fetch them from the Internet. + "option(GLAD_REPRODUCIBLE \"Reproducible build\" ON)\n" + ;; Use the CMake files from our glad package. + "add_subdirectory(" + (search-input-directory inputs "share/glad") ;source_dir + " src/glad)\n"))))) ;binary dir + (add-before 'configure 'fix-utf8-include-directive + ;; Our utf8-h package makes the header available as "utf8.h" + ;; directly rather than "utf8/utf8.h". + (lambda _ + (substitute* '("src/openboardview/FileFormats/BRDFile.cpp" + "src/openboardview/BoardView.cpp") + (("utf8/utf8.h") "utf8.h")))) + (add-before 'configure 'dynamically-load-gtk-via-absolute-path + ;; The GTK library is not linked thus not present in the RUNPATH of + ;; the produced binary; the absolute path of the libraries must to + ;; the dynamic loader otherwise they aren't found. + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/openboardview/unix.cpp" + (("libgtk-3.so") + (search-input-file inputs "lib/libgtk-3.so"))))) + ;; Add the two extra phases from `glib-or-gtk-build-system'. + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref gtk:%standard-phases 'glib-or-gtk-wrap))))) + (native-inputs + (list pkg-config + python + glad + stb-image + utf8-h)) + (inputs + (list fontconfig + gtk+ + sdl2 + sqlite + zlib)) + (home-page "https://openboardview.org/") + (synopsis "Viewer for BoardView files") + (description "OpenBoardView is a viewer for BoardView files, which present +the details of a printed circuit board (PCB). It comes with features +such as: +@itemize +@item Dynamic part outline rendering, including complex connectors +@item Annotations, for leaving notes about parts, nets, pins or location +@item Configurable colour themes +@item Configurable DPI to facilitate usage on 4K monitors +@item Configurable for running on slower systems +@item Reads FZ (with key), BRD, BRD2, BDV and BV* formats. +@end itemize") + (license license:expat))) + (define-public pulseview (package (name "pulseview") diff --git a/gnu/packages/patches/openboardview-use-system-utf8.patch b/gnu/packages/patches/openboardview-use-system-utf8.patch new file mode 100644 index 0000000000..25b5952bda --- /dev/null +++ b/gnu/packages/patches/openboardview-use-system-utf8.patch @@ -0,0 +1,48 @@ +From 251e23422f37c93a3f460fb660c5e5bfa8200d91 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer +Date: Sun, 2 Dec 2018 16:40:39 -0500 +Subject: [PATCH] build system: Allow using utf8.h from the system. + +--- + src/CMakeLists.txt | 12 ++++++++---- + src/openboardview/CMakeLists.txt | 1 + + 2 files changed, 9 insertions(+), 4 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 90442ed..26d4a69 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -8,10 +8,14 @@ if(NOT WIN32 OR MINGW) + endif() + + ## utf8.h ## +-execute_process( +- COMMAND git submodule update --init src/utf8 +- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +-) ++FIND_PATH(UTF8_INCLUDE_DIR utf8.h) ++if(NOT UTF8_INCLUDE_DIR) ++ execute_process( ++ COMMAND git submodule update --init src/utf8 ++ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} ++ ) ++ set(UTF8_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/utf8) ++endif() + + ## zlib ## + find_package(ZLIB) +diff --git a/src/openboardview/CMakeLists.txt b/src/openboardview/CMakeLists.txt +index b0bdbe3..6c4564c 100644 +--- a/src/openboardview/CMakeLists.txt ++++ b/src/openboardview/CMakeLists.txt +@@ -44,6 +44,7 @@ include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${IMGUI_INCLUDE_DIRS} ++ ${UTF8_INCLUDE_DIR} + ${GLAD_INCLUDE_DIRS} + ${GTK_INCLUDE_DIRS} + ${OPENGL_INCLUDE_DIR} +-- +2.34.0 +