From fe9d09dca4674c1a309eefe5fbf324c61ba975d1 Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 23 Sep 2024 07:04:02 +0800 Subject: [PATCH] gnu: Add cppgir. * gnu/packages/glib.scm (cppgir): New variable. Change-Id: Ic4510be6d05b7b3977aa457c6a7fec382c1d3a88 Signed-off-by: Maxim Cournoyer --- gnu/packages/glib.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index d6275ea63e..a479199cdd 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2023 Saku Laesvuori ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2024 Remco van 't Veer +;;; Copyright © 2024 dan ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,6 +73,7 @@ (define-module (gnu packages glib) #:use-module (gnu packages perl-check) #:use-module (gnu packages popt) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) @@ -1592,3 +1594,30 @@ (define-public libdex Dex also provides Fibers which allow writing synchronous looking code in C that uses asynchronous and future-based APIs.") (license license:lgpl2.1+))) + +(define-public cppgir + (package + (name "cppgir") + (version "2.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.com/mnauw/cppgir") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cj4myqzb28hgb7zlxlba9y8n4ysxkvv2y9wy6f7ps58mr18h7bl")))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DINTERNAL_EXPECTED=OFF"))) + (inputs (list boost fmt expected-lite)) + (home-page "https://gitlab.com/mnauw/cppgir") + (synopsis "C++ bindings generator for GObject introspection") + (description "cppgir processes @file{.gir} files derived from GObject +introspection annotations into a set of C++ files defining suitable +namespaces, classes and other types that together form a C++ binding.") + (license license:expat)))