From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id gAxZONtJQGO7TAAAbAwnHQ (envelope-from ) for ; Fri, 07 Oct 2022 17:46:35 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id kAafONtJQGPgHgAA9RJhRA (envelope-from ) for ; Fri, 07 Oct 2022 17:46:35 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id B1E6139E85 for ; Fri, 7 Oct 2022 17:46:35 +0200 (CEST) Received: from localhost ([::1]:44602 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ogpYY-0002Hp-SS for larch@yhetil.org; Fri, 07 Oct 2022 11:46:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34106) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ogp0A-0005uC-J6 for guix-patches@gnu.org; Fri, 07 Oct 2022 11:11:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38019) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ogp0A-0003yS-AP for guix-patches@gnu.org; Fri, 07 Oct 2022 11:11:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ogp0A-0005Ps-60 for guix-patches@gnu.org; Fri, 07 Oct 2022 11:11:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58261] [PATCH 03/11] gnu: Add sajson. References: Resent-From: David Elsing Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 07 Oct 2022 15:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58261 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Liliana Marie Prikler , 58261@debbugs.gnu.org Received: via spool by 58261-submit@debbugs.gnu.org id=B58261.166515545920805 (code B ref 58261); Fri, 07 Oct 2022 15:11:02 +0000 Received: (at 58261) by debbugs.gnu.org; 7 Oct 2022 15:10:59 +0000 Received: from localhost ([127.0.0.1]:37096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ogp07-0005PV-1A for submit@debbugs.gnu.org; Fri, 07 Oct 2022 11:10:59 -0400 Received: from mout01.posteo.de ([185.67.36.65]:37493) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ogp03-0005PE-Ij for 58261@debbugs.gnu.org; Fri, 07 Oct 2022 11:10:56 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 0932C24002A for <58261@debbugs.gnu.org>; Fri, 7 Oct 2022 17:10:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1665155450; bh=EUibr5/MGqXpwvl8hCqxl7yRAFAKPBcUCNBD0+Y4zw0=; h=From:To:Subject:Date:From; b=H3ixGAUwl5HV3rTmf1YKvy91oaeqfX846yyCpTXpQ2s7oVH4cb5rYYXwXSS+gW2cg SeyXmTUzdMyP3eZqdofcSqCf8qHQEmnXh3UaIN6FYxb4WEffLWVLuPAfNMk7YDax7+ 7gqAFu0KuQ7797I+HS0pMA5R+Q2J2Pq9G/77OfpKC1AlgKU80fh0TnCrI0J7N986rE Ebc5uinkZdhMa06Gty01kjHdAk8rfn6UvsnKDe8EdLM3Jl7MD1mHw4iIEQm4GPpRff s1UvQZVaXAZWMw7I5chZu4V7UrcCED3sly3agby6uMMnVtuloY1QOk3Vi6onSqst+Q 1ZZrb3SjmUIxA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4MkWw93bD0z9rxM; Fri, 7 Oct 2022 17:10:49 +0200 (CEST) From: David Elsing In-Reply-To: <61e7edbb4d21c916338e1433886b0abaf0732567.camel@ist.tugraz.at> Date: Fri, 07 Oct 2022 15:10:48 +0000 Message-ID: <86fsfz6553.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1665157595; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=EUibr5/MGqXpwvl8hCqxl7yRAFAKPBcUCNBD0+Y4zw0=; b=f/9aAMJ0uZsr27k7qK/z9BiaeCie+onXrGjRKcgdGHMfnwr0Gc3x5DeO2DKATMcjCF6qn+ SRRm+U2CIRJsN8XUlughzlpXKzszHgAv4TzeuO06ibihwTLiVFuLk5fKbOeyy6dfJxDH/n 36G+krCWLeZFNZXbFjwItNFaHjeTSY9kzzAUXt5AMMLRlUfyOryrO7TecM3t49h9IvVFxx 4VJziRKPwGEse/+c8y90NZnB3QAo53prjOroxaOhxcjcb1COpRDunESdQyXmXPfBzoGAZI StTqRcfyjO3kO/yLHta9Hw54HPfPdbEWxwGa4XhXQ3tj/W+Q8PMMSkeXYbHM5Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1665157595; a=rsa-sha256; cv=none; b=PgjZk87mUfpP8aGdzK/6ij83XONLgTlv/SF60xcMJVuWLmVCrfWgzilf1LOaKZNKxpcTQ0 FaBOpmVTIDTd467Fk63lz6lQEQGUZtk9KjA39C5AB16JQMEh8yWuZPdjsSUh1166S2M+9H 3gN5AqbYbm31yOVqQt5M8CJpOqEZ4+m6TfWUpinXEBP+FjLtXyQbC1F0wxKfg/QJ+HWeH+ NAV5/p6EFO1XgO2YWyRlYHCqWC40jmwGRvrmmT0hNUSh0J6zcdDyhnK1ITnoAvG5AKF6ax aPi7oBGTHg94YAO/CiKFOrrwxAixFmmQSumPjVJq1TceRPYrJOiCqLHA/aoI8w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=H3ixGAUw; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 6.03 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=H3ixGAUw; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: B1E6139E85 X-Spam-Score: 6.03 X-Migadu-Scanner: scn1.migadu.com X-TUID: k90Y8+3QyFCw Liliana Marie Prikler writes: > Am Montag, dem 03.10.2022 um 00:19 +0000 schrieb David Elsing: >> * gnu/packages/cpp.scm (sajson): New variable. >> --- >> =C2=A0gnu/packages/cpp.scm=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 63 >> +++++++++++++++++++ >> =C2=A0.../patches/sajson-parse_flags-linking.patch=C2=A0 | 45 ++++++++++= +++ >> =C2=A02 files changed, 108 insertions(+) >> =C2=A0create mode 100644 gnu/packages/patches/sajson-parse_flags- >> linking.patch >>=20 >> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm >> index 65df317100..7bfa3d6cdf 100644 >> --- a/gnu/packages/cpp.scm >> +++ b/gnu/packages/cpp.scm >> @@ -57,6 +57,7 @@ (define-module (gnu packages cpp) >> =C2=A0=C2=A0 #:use-module (guix build-system gnu) >> =C2=A0=C2=A0 #:use-module (guix build-system meson) >> =C2=A0=C2=A0 #:use-module (guix build-system python) >> +=C2=A0 #:use-module (guix build-system scons) >> =C2=A0=C2=A0 #:use-module (guix modules) >> =C2=A0=C2=A0 #:use-module (guix gexp) >> =C2=A0=C2=A0 #:use-module (gnu packages) >> @@ -1957,3 +1958,65 @@ (define-public pocketfft >> =C2=A0which is an reimplementation of FFTPack with several advantages, >> such as >> =C2=A0multidimensional algorithms, different datatypes and vector >> instructions.") >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (license license:bsd-3)))) >> + >> +(define-public sajson >> +=C2=A0 (let ((commit "ec644013e34f9984a3cc9ba568cab97a391db9cd") >> (revision "0")) >> +=C2=A0=C2=A0=C2=A0 (package >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (name "sajson") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (version (git-version "0.0.0" revision c= ommit)) > Note that the swift FFI is advertised as 1.0 and there has been a > blogpost claiming it to be 1.0 in 2013. Ah ok, then I'll set it to 1.0. >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (source (origin >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (method git-fetch) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (uri (git-reference >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (url "https://git= hub.com/chadaustin/sajson") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (commit commit))) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (file-name (git-file-name name version)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (patches >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (search-patches "sajson-parse_flags- >> linking.patch")) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (sha256 >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 (base32 >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 >> "0fjag27w7gvkc5pdhq3ad7yc09rabpzahndw1sgsg04ipznidmmq")) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (modules '((guix build utils))) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (snippet '(delete-file-recursively "third-party")))) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (build-system scons-build-system) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (arguments >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (list >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:phases >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #~(modify-phases %standard-p= hases >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (add= -after 'unpack 'disable-other-builds >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 (lambda _ >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (substitute* "SConstruct" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (("for name, tools in builds:") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "for name, tools in [('opt', [gcc, = opt])]:")) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 #t)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (add= -after 'unpack 'use-external-unittest-cpp >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 (lambda* (#:key inputs #:allow-other-keys) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (substitute* "SConscript" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (("unittestpp_env\\.Library") "_dummy =3D= ") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (("test_env =3D env.Clone\\(tools=3D\\[un= ittestpp, >> sajson\\]\\)") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (string-append >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "test_env =3D env.Clone(tools= =3D[sajson])\n" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "test_env.Append(CPPPATH=3D'" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (search-input-directory inputs >> "/include/UnitTest++") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "', LIBPATH=3D'" >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (string-append #$(this-packag= e-native-input >> "unittest-cpp") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "/lib") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "', LIBS=3D['UnitTest++'])"))) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 #t)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (rep= lace 'check >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 (lambda* (#:key tests? #:allow-other-keys) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (when tests? >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (invoke "build/opt/test") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (invoke "build/opt/test_unsorted")) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 #t)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (rep= lace 'install >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 (lambda _ >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 (let ((out (string-append #$output "/include"))) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (install-file "include/sajson.h" out) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (install-file "include/sajson_ostream.h" = out)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 #t))))) > You don't need the trailing #ts Oh thanks, I think I read something outdated. >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (native-inputs (list unittest-cpp)) >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (home-page "https://github.com/chadausti= n/sajson") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (synopsis "Lightweight, extremely high-p= erformance JSON parser >> for C++11") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (description "sajson is a high-performan= ce, in-place JSON >> parser >> +header-only library.") > Cut down on the ads. >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (license license:expat)))) >> diff --git a/gnu/packages/patches/sajson-parse_flags-linking.patch >> b/gnu/packages/patches/sajson-parse_flags-linking.patch >> new file mode 100644 >> index 0000000000..878706dc79 >> --- /dev/null >> +++ b/gnu/packages/patches/sajson-parse_flags-linking.patch >> @@ -0,0 +1,45 @@ >> +This patch is from the upstream pull request >> +https://github.com/chadaustin/sajson/pull/54. >> +It fixes linking with GCC. >> + >> +diff --git a/include/sajson.h b/include/sajson.h >> +index 8b4e05a..1bd045b 100644 >> +--- a/include/sajson.h >> ++++ b/include/sajson.h >> +@@ -138,12 +138,17 @@ constexpr inline size_t make_element(tag t, >> size_t value) { >> + // header. This trick courtesy of Rich Geldreich's Purple JSON >> parser. >> + template >> + struct globals_struct { >> ++=C2=A0=C2=A0=C2=A0 static const unsigned char parse_flags[256]; >> ++}; >> ++typedef globals_struct<> globals; >> ++ >> + // clang-format off >> +=20 >> +=C2=A0=C2=A0=C2=A0=C2=A0 // bit 0 (1) - set if: plain ASCII string char= acter >> +=C2=A0=C2=A0=C2=A0=C2=A0 // bit 1 (2) - set if: whitespace >> +=C2=A0=C2=A0=C2=A0=C2=A0 // bit 4 (0x10) - set if: 0-9 e E . >> +-=C2=A0=C2=A0=C2=A0 constexpr static const uint8_t parse_flags[256] =3D= { >> ++=C2=A0=C2=A0=C2=A0 template >> ++=C2=A0=C2=A0=C2=A0 const unsigned char globals_struct::parse_f= lags[256] =3D >> { >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // 0=C2=A0=C2=A0=C2=A0 1=C2=A0=C2=A0=C2= =A0 2=C2=A0=C2=A0=C2=A0 3=C2=A0=C2=A0=C2=A0 4=C2=A0=C2=A0=C2=A0 5=C2=A0=C2= =A0=C2=A0 6=C2=A0=C2=A0=C2=A0 7=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 8=C2=A0=C2=A0= =C2=A0 9=C2=A0=C2=A0=C2=A0 A=C2=A0=C2=A0=C2=A0 >> B=C2=A0=C2=A0=C2=A0 C=C2=A0=C2=A0=C2=A0 D=C2=A0=C2=A0=C2=A0 E=C2=A0=C2= =A0=C2=A0 F >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2= =A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2= =A0=C2=A0 0,=C2=A0=C2=A0=C2=A0=C2=A0 0,=C2=A0=C2=A0 2,=C2=A0=C2=A0 2,=C2=A0= =C2=A0 >> 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 2,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0, // 0 >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2= =A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2= =A0=C2=A0 0,=C2=A0=C2=A0=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0= =C2=A0 >> 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0,=C2=A0=C2=A0 0, // 1 >> +@@ -162,15 +167,13 @@ struct globals_struct { >> +=C2=A0=C2=A0=C2=A0=C2=A0 }; >> +=20 >> + // clang-format on >> +-}; >> +-typedef globals_struct<> globals; >> +=20 >> +-constexpr inline bool is_plain_string_character(char c) { >> ++inline bool is_plain_string_character(char c) { >> +=C2=A0=C2=A0=C2=A0=C2=A0 // return c >=3D 0x20 && c <=3D 0x7f && c !=3D= 0x22 && c !=3D 0x5c; >> +=C2=A0=C2=A0=C2=A0=C2=A0 return (globals::parse_flags[static_cast(c)] & >> 1) !=3D 0; >> + } >> +=20 >> +-constexpr inline bool is_whitespace(char c) { >> ++inline bool is_whitespace(char c) { >> +=C2=A0=C2=A0=C2=A0=C2=A0 // return c =3D=3D '\r' || c =3D=3D '\n' || c = =3D=3D '\t' || c =3D=3D ' '; >> +=C2=A0=C2=A0=C2=A0=C2=A0 return (globals::parse_flags[static_cast(c)] & >> 2) !=3D 0; >> + } > Since this fixes an error that occurs when building with GCC 10, the > patch name should reflect that, e.g. "sajson-build-with-gcc10" (whether > you include or do not include a dash between gcc and 10 doesn't seem to > matter). > > Cheers