From patchwork Tue Mar 11 19:15:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Sergio_Pastor_P=C3=A9rez?= X-Patchwork-Id: 40104 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 DC68B27BBEC; Tue, 11 Mar 2025 19:18:39 +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=-6.6 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED 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 6B32127BBE2 for ; Tue, 11 Mar 2025 19:18:37 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ts57G-0001nl-Qd; Tue, 11 Mar 2025 15:18:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ts576-0001kY-VA for guix-patches@gnu.org; Tue, 11 Mar 2025 15:18:06 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ts575-0002M1-Qp for guix-patches@gnu.org; Tue, 11 Mar 2025 15:18:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=K5/fLXurCD2yGqX56/hSKN75MG+mqORhlNLZGTaQ0ZY=; b=mwPtM+D9UB1GX9SA5KgY3ehbdFmuYN/fToOWVnJ9ArXgTIji5k+bJc8I47EpFe/O6TtVoBcyFvOf19YLYnnFKekJ2uJAiFewvdxm/d/mcTIGf3UgV/LL7iS/SBdAKIqdOlC7F41FS5bxR0KhkObVMOhEFxPhKqVvEI20c49PjTs5hpz3kfINitdzNwPuRO8wnejadiAL75e29C5iU70oujabF04SsEp6XcIrN+8nOjDhYyFk1Q0z4Tg35eqHryBXq20fNYudUoXqBr5rsyhDst1T1dVQTpcwr2HM2luS6cnO/A390xZ1sl0q1V9ZO+6t8cE6gYbTszejHU3Pulaxkw==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ts574-0000HE-Lb; Tue, 11 Mar 2025 15:18:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#67755] [PATCH v5 2/9] gnu: Add jthread. Resent-From: Sergio Pastor =?utf-8?b?UMOpcmV6?= Original-Sender: "Debbugs-submit" Resent-CC: sergio.pastorperez@outlook.es, jgart@dismail.de, code@greghogan.com, guix-patches@gnu.org Resent-Date: Tue, 11 Mar 2025 19:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67755 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67755@debbugs.gnu.org Cc: Sergio Pastor =?utf-8?b?UMOpcmV6?= , Sergio Pastor =?utf-8?b?UMOpcmV6?= , jgart , Greg Hogan X-Debbugs-Original-Xcc: Sergio Pastor =?utf-8?b?UMOpcmV6?= , jgart , Greg Hogan Received: via spool by 67755-submit@debbugs.gnu.org id=B67755.1741720652955 (code B ref 67755); Tue, 11 Mar 2025 19:18:02 +0000 Received: (at 67755) by debbugs.gnu.org; 11 Mar 2025 19:17:32 +0000 Received: from localhost ([127.0.0.1]:45732 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ts56a-0000FL-0K for submit@debbugs.gnu.org; Tue, 11 Mar 2025 15:17:32 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:42458) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ts56I-0000Dq-QC for 67755@debbugs.gnu.org; Tue, 11 Mar 2025 15:17:15 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43cfa7e7f54so1060215e9.1 for <67755@debbugs.gnu.org>; Tue, 11 Mar 2025 12:17:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741720628; x=1742325428; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K5/fLXurCD2yGqX56/hSKN75MG+mqORhlNLZGTaQ0ZY=; b=Q2cjzWJ4NWNBftEPho7q1YS7fJhMmLcBEkn2322QJvREo39EvEQ71F+dkOzIlegT/C bNTATWsesMquQjggfHh6UDRA3jX3SnJpGe4pevavoZmvom4vuvKL6iTLZWufZMJ2juLD sAMDtjUooC6IpLPmdqoNUU7LLIwksgIComfuD/rebi3q0/67leg1e6/r27NKojr6uS+F MwEm5GEwMbPofFyFuyyUAlCBx1fhsUDzzOqB56YK/l1h9x7+VJ1TKYLgknUHTaf2EzbT OxxSriDE0c9ReCN08+P+Tu5lR6iAOHs70w8BCOI8MrvoRQ2+YwkWosftnomH95qK9c7C GFOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741720628; x=1742325428; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K5/fLXurCD2yGqX56/hSKN75MG+mqORhlNLZGTaQ0ZY=; b=ls/KGJFCfSGzNmqSFd8qyK2194fEu7dv90Zd5fJ1Z+/Wqyz1G3yuctuaZghnvv4A3f Pe6ZKIx02b/1pFtE/Jy9U723tLx7892Sj/QOnef1YCq4BaUNNzPjr5FljPP2YGfu6F73 oo67PdkdpF18K4NUfg8K4OOv+LDfQKIdCT2fzgj6szVC68FYucjW7j4d0kpRb648GLrk 0OFdDPT3px6rsdJpaEF3pZUWROQE1l/vymuq08/KkevqWncsv/TROimgZcJcE+q8b9KH r854YZvhLssgAyedNrwmWIOUK+S6Agkebzs5Yg0EX7qRKmBjAn8jKjciulee65mY39jJ GTYA== X-Gm-Message-State: AOJu0YxPRRPgzhpQKr7F3TalCyDLZfRZirDVj7o1JZXMmYRra/4Mu/GC SnLK7pUkbNWk0IDqMtkiNTjhvzgesI8j4NXYNHdx1c1bAANiThLdxhnyXg== X-Gm-Gg: ASbGnctJgL+aS6dvNXjz4ULDK0XUIYTqHn7VnX0Wo+WLLdP8A/5vBLdMS6ZogbT+pcU h1DxYQ+JzxY3+qQGrUXtNrG684bv45NJC1wMZhjUeqaBn2/+BEYFEckGIbjtPlYMdoDnjAeiGeV 5v2l3IiPkAfIKwR4ROLJIg0opqAf04v/riwcmS7rw8mFtkgvDhosGFRn7b1hW7dbY3vHDfoY3WF KvaaJSYD88CYUQtIAWE5gWnIqcoDDDqhEhNGD4KacP9IRF6uk/bFu45Xgd/Dmzr9l5et6XBYDDX UUGi4FOA1vtdA82p+KUCIp7iOsb2rc6lYtACTTnAm4OyewZKeDkBBhd2ig== X-Google-Smtp-Source: AGHT+IFmRbtomxQViLbecMiu3XF5c8pV+NkbzTsVAiw2VZVh6MhEoMYAuG900UYn+c+4VBMQn3UK3Q== X-Received: by 2002:a05:600c:13ca:b0:43c:ec72:3daf with SMTP id 5b1f17b1804b1-43d01d76f96mr55861275e9.14.1741720628157; Tue, 11 Mar 2025 12:17:08 -0700 (PDT) Received: from localhost ([2a0c:5a85:d50e:8e00:c7d4:a3dc:7540:dcad]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43cee67ae5esm109448035e9.33.2025.03.11.12.17.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Mar 2025 12:17:07 -0700 (PDT) From: Sergio Pastor =?utf-8?b?UMOpcmV6?= Date: Tue, 11 Mar 2025 20:15:18 +0100 Message-ID: <9fa60d241a95a1f991c3e69950571f9840ed2ef8.1741720525.git.sergio.pastorperez@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <5af801299bc13936ebbd6d1cbc5076dc5f11b463.1741720525.git.sergio.pastorperez@gmail.com> References: <5af801299bc13936ebbd6d1cbc5076dc5f11b463.1741720525.git.sergio.pastorperez@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-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches From: Sergio Pastor PĂ©rez * gnu/packages/cpp.scm (jthread): New variable. Change-Id: I163ab0f8dbd9bc5ed0250612938f82926b07bc92 --- gnu/packages/cpp.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 338455b9fb..e0c6be7905 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -118,6 +118,7 @@ (define-module (gnu packages cpp) #:use-module (gnu packages pretty-print) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages tls) + #:use-module (gnu packages tex) #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -1145,6 +1146,100 @@ (define-public nlohmann-json (define-public json-modern-cxx (deprecated-package "json-modern-cxx" nlohmann-json)) +(define-public jthread + (let ((commit "0fa8d394254886c555d6faccd0a3de819b7d47f8") + (revision "0")) + (package + (name "jthread") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/josuttis/jthread") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11cq4zh7pv86c62ah5im00gxr4cw6d396dp9117z8s271j4lrp6f")) + (snippet + ;; NOTE: remove precompiled PDFs. + #~(begin + (use-modules (guix build utils)) + (for-each (lambda (file) + (delete-file file)) + (find-files "." ".pdf")) + (delete-file-recursively "doc"))))) + (outputs '("out" "doc")) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (add-after 'unpack 'cd-and-generate-makefile + (lambda _ + (call-with-output-file "source/Makefile.h" + (lambda (port) + ;; GCC 2.95 fails to deal with anonymous unions in glibc's + ;; 'struct_rusage.h', so skip that. + (display "CXX17 := c++ -std=c++17 -pthread\n" port))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "-C" "source")))) + (add-after 'check 'build-docs + (lambda _ + (with-directory-excursion "tex" + ;; NOTE: remove strict versioning. + (substitute* "styles.tex" + (("lst@CheckVersion\\{1.6\\}") + "lst@CheckVersion{1.10}")) + (invoke "pdflatex" "std") + (invoke "pdflatex" "std")))) ;Rerun to update references. + (replace 'install + (lambda _ + (for-each (lambda (file) + (install-file file + (string-append #$output "/include"))) + '("source/condition_variable_any2.hpp" + "source/stop_token.hpp" "source/jthread.hpp")))) + (add-after 'install 'install-doc + (lambda _ + (let ((out (string-append #$output:doc "/share/doc/"))) + (mkdir-p out) + (copy-file "tex/std.pdf" + (string-append out + #$name "-" + #$version ".pdf")))))))) + (native-inputs + (list perl + (texlive-updmap.cfg + (list texlive-ulem + texlive-rsfs + texlive-memoir + texlive-substr + texlive-xcolor + texlive-isodate + texlive-caption + texlive-relsize + texlive-extract + texlive-xpatch + texlive-xkeyval + texlive-jknapltx + texlive-booktabs + texlive-enumitem + texlive-etoolbox + texlive-listings + texlive-microtype + texlive-underscore)))) + (home-page "https://github.com/josuttis/jthread") + (synopsis "C++ class for a joining and cooperative interruptible thread") + (description + "C++ class for a joining and cooperative interruptible thread +(std::jthread) with stop_token helper.") + (license license:cc-by4.0)))) + (define-public tomlplusplus (package (name "tomlplusplus")