GNU logs - #77448, boring messages


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#77448] [PATCH 0/2] gnu: Add Souffle.
Resent-From: Karl Hallsby <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Wed, 02 Apr 2025 05:20:07 +0000
Resent-Message-ID: <handler.77448.B.17435711612241 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 77448
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 77448 <at> debbugs.gnu.org
Cc: Raven Hallsby <karl@HIDDEN>
X-Debbugs-Original-To: guix-patches@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.17435711612241
          (code B ref -1); Wed, 02 Apr 2025 05:20:07 +0000
Received: (at submit) by debbugs.gnu.org; 2 Apr 2025 05:19:21 +0000
Received: from localhost ([127.0.0.1]:53676 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tzqVT-0000a1-Hg
	for submit <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:19:20 -0400
Received: from lists.gnu.org ([2001:470:142::17]:33308)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>) id 1tzqVQ-0000Yw-Kq
 for submit <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:19:17 -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 <karl@HIDDEN>) id 1tzqVK-0001oq-8n
 for guix-patches@HIDDEN; Wed, 02 Apr 2025 01:19:10 -0400
Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <karl@HIDDEN>) id 1tzqVE-0007A9-5k
 for guix-patches@HIDDEN; Wed, 02 Apr 2025 01:19:05 -0400
Received: by mail-io1-xd2e.google.com with SMTP id
 ca18e2360f4ac-85ad83ba141so657218239f.2
 for <guix-patches@HIDDEN>; Tue, 01 Apr 2025 22:19:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=hallsby.com; s=google; t=1743571142; x=1744175942; darn=gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=17IeR8M7abhmZd/keRtkgxlYCaQIhicoy7rfjmPiaIk=;
 b=KNXZzLAkFyGuoLl2visFo3+eA01UuXmSxcWAhwM6/rfLkhPt1s4svnQVoaVSQHwg+f
 iHBTorAjbrNtA1bs4XUaxH2SrWx5TuYYI8LwdMR85voo69o1ZmfETFZTGg4Jbz2HV503
 dWB6Kl66ERsnITAnHdZyv/8mfYjPmNrMXwq144FxM9N8FsLNnbrRsNvA8+4GnfqF/Aiu
 vLcw+Y/v7HGd49lBmpNvbT0oEvGxC5Fa2uCQxXOVok1h9jg5D05kGAmhv7GwN/BTenOj
 hznlTN6XMKvDbeaTE8DAQkWHmT0Y5uGgtaVEI1AeqXKLeRS8TQndD0PSvxxeGmWKP1w7
 ceAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743571142; x=1744175942;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=17IeR8M7abhmZd/keRtkgxlYCaQIhicoy7rfjmPiaIk=;
 b=E+fOQTKYPFIuqpvbD/W/UNa8n/KlVvbwMhu2NMRH0IrRJbZEgn6Zub04r1MSby64+E
 AaAPXUDfRogJhPeXUpgYc8nmV0ZkUG5EXbSsrpeHziDWrGLR1QsKAut5vGARVLIO1gRh
 d8DK9Nv2KhnGMzg1VfrZnP6mNmgjo9cV96TG4zwJ12PE66cqWKeqs6dSJVzWB9I4Am8J
 cDCUdSvGRpSTLVvn4ZR3Bck8RlBxPQ7CKRbSRcc5oiolLL8y470ulkKKmpEN0+DmRCon
 v7W58bKLbG1iVNqoJsd4LlZBTWHhQqlykuJippIWlJCE2xHpRUG7mo3+kOkPSWBAkhXd
 fHdA==
X-Gm-Message-State: AOJu0YzhGEGLNjUFH/I2vT2AMgJCWUwqRhB0nTIuZhv46xfwth7gpNjP
 jziURrj7cbJOO2CE8OaKEl/LbHoGtogpWy7Ce6DiN67jeC7x5aJzcERRBb0OR0RuU5N1m8gLTFY
 =
X-Gm-Gg: ASbGncttHZK47Q7ZpAcQIInllSP/2JNGXTr/u3iVt8U80TZ8R04qCimQJ7Lov//M6jX
 hrGHEOeAftpvIjFlafgm5dMIc7SHbKpxktjBmwG38hdk9X28rrrTisuTYJ80RZTbDgLUKvbb5fc
 OkN94qi1PS1fqtABrpLIGnOYNxbvqvC81BG/Bx8n7VY4GHowceF5MYoYAgnPZc8ZUrk25DaaTvg
 VTIODGWaM6FyGhr+xXd7aWH9vHX+Fe5psvFHnabJNTWZzd2VaMbIonXVHvJWerO+SOmorrvGgE7
 4qjB/f/LfSrqNeWZTwR3i/myYKWIOrwg58K0qNCRxwIbYpK2HA==
X-Google-Smtp-Source: AGHT+IE25vOD18Ez61NWT7aHRwsheXshKSxH1lyu83gckXKZv1URbqJlzdus1uju4j0Ccnsr9Wc1SA==
X-Received: by 2002:a05:6e02:1547:b0:3d1:a75e:65f6 with SMTP id
 e9e14a558f8ab-3d5e09d91c2mr202487275ab.18.1743571141730; 
 Tue, 01 Apr 2025 22:19:01 -0700 (PDT)
Received: from Karl-Desktop.raven ([207.237.222.72])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4f464746a8fsm2747564173.46.2025.04.01.22.19.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Apr 2025 22:19:01 -0700 (PDT)
From: Karl Hallsby <karl@HIDDEN>
Date: Wed,  2 Apr 2025 00:18:25 -0500
Message-ID: <cover.1743570894.git.karl@HIDDEN>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Received-SPF: pass client-ip=2607:f8b0:4864:20::d2e;
 envelope-from=karl@HIDDEN; helo=mail-io1-xd2e.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)

From: Raven Hallsby <karl@HIDDEN>

Souffle[1] is a Logic-based programming language based on Datalog. It is
possible to both interpret and compile. Further, SOuffle can be used
*natively* with C++ projects and offers Swig-generated FFI interfaces for Java
and Python.

I have tested this package by using the simple example steps at [2] and the
more scalable features of using SQLite to store and represent facts about your
logic's domain space[3].

In the future, I would like the test script I created to be merged into Guix
so that a package's usage can be tested alongside its definition (after being
built). Particularly because Souffle relies on a significant amount of
wrapping and has an embedded JSON configuration file as a runner script for
Souffle's compiler. I have brought this topic up on IRC in the past[4], and
the community has thought about them before. This package is an example of one
whose long-term maintenance in Guix would greatly benefit from this
infrastructure.

[1] https://souffle-lang.github.io/
[2] https://souffle-lang.github.io/simple
[3] https://souffle-lang.github.io/tutorial#io-directives
[4] https://logs.guix.gnu.org/guix/2025-03-19.log#175226

Raven Hallsby (2):
  licenses: Add UPL 1.0.
  gnu: Add souffle

 gnu/local.mk             |   1 +
 gnu/packages/datalog.scm | 235 +++++++++++++++++++++++++++++++++++++++
 guix/import/utils.scm    |   1 +
 guix/licenses.scm        |   6 +
 4 files changed, 243 insertions(+)
 create mode 100644 gnu/packages/datalog.scm


base-commit: 97523d50017f2cc5c190c9a2aa50f620b33b6318
--
2.49.0




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Karl Hallsby <karl@HIDDEN>
Subject: bug#77448: Acknowledgement ([PATCH 0/2] gnu: Add Souffle.)
Message-ID: <handler.77448.B.17435711612241.ack <at> debbugs.gnu.org>
References: <cover.1743570894.git.karl@HIDDEN>
X-Gnu-PR-Message: ack 77448
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 77448 <at> debbugs.gnu.org
Date: Wed, 02 Apr 2025 05:20:08 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 guix-patches@HIDDEN

If you wish to submit further information on this problem, please
send it to 77448 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
77448: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D77448
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#77448] [PATCH 1/2] licenses: Add UPL 1.0.
Resent-From: Raven Hallsby <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, guix-patches@HIDDEN
Resent-Date: Wed, 02 Apr 2025 05:26:07 +0000
Resent-Message-ID: <handler.77448.B77448.17435715625879 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77448
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 77448 <at> debbugs.gnu.org
Cc: Raven Hallsby <karl@HIDDEN>, Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN>
X-Debbugs-Original-Xcc: Christopher Baines <guix@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN>
Received: via spool by 77448-submit <at> debbugs.gnu.org id=B77448.17435715625879
          (code B ref 77448); Wed, 02 Apr 2025 05:26:07 +0000
Received: (at 77448) by debbugs.gnu.org; 2 Apr 2025 05:26:02 +0000
Received: from localhost ([127.0.0.1]:53692 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tzqbu-0001WL-Rd
	for submit <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:26:01 -0400
Received: from mail-io1-xd2d.google.com ([2607:f8b0:4864:20::d2d]:52297)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>) id 1tzqbs-0001VW-1P
 for 77448 <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:25:56 -0400
Received: by mail-io1-xd2d.google.com with SMTP id
 ca18e2360f4ac-85e751cffbeso497036939f.0
 for <77448 <at> debbugs.gnu.org>; Tue, 01 Apr 2025 22:25:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=hallsby.com; s=google; t=1743571549; x=1744176349; 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=5nwPDfuRjTrojCUyNyy+PmlA72bfHR/K0PbirwYGbxc=;
 b=b16eHDaFXqEPzmfrWJqTAptY/8u6q4Fu8sl1VZ8Ib3kGFIFuH/RAnydMgMS/qvQ7VN
 e4RiAEnaSaXLkIDLdt6UoXR9hJ8NQEkcZMxHv7Kw9ayEwmZgapPTPZRkqd1gnvY3UfHW
 W30evU8gmhnrzc+KDl4kN0vcjMEMvYwKw65yqEemx6f2klJh/NGbb5HbsIn8sGZ7MOGi
 sUq7ClznoX75LWhpPMh4CLHRTh+MF2reChTcXz6DvF4FYTIctMfe5DciJYXJIqHSPab2
 B/+m/9Fp59QSHZcMI416cUU5NjTKSngoPttZZIDBWxp2y/TkRxeTIm0zbDRPF71cPsvl
 43Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743571549; x=1744176349;
 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=5nwPDfuRjTrojCUyNyy+PmlA72bfHR/K0PbirwYGbxc=;
 b=clnJW4wCj0Xt+bb9R+2J4rcOK81Hst3zkc9qfjOGOPGl4A5nj/YIUJjUadzHG/JD9D
 R5kjtS0DRm2HPZWfyqQPkds6tKAtFsXsrUT9goTwXzn94Mo3ai6gfUsIYcd/gddPBcxe
 YZuq5koDDfR7DUJqwEJGRK00Bk4fEtBxd6k1lRmKfFDzfE1axie8kqNNpp2osjNVQx45
 DcYupnzNzxdCf2l1rS6DvIJfeztStvBDzetJoMDmB8WTyzfja1/KIx4vwxq411ZXbllt
 bGiH3FnAD+4NcQr97XASKHcAm6K7aQIYF6Q+PzPzksEJrpMjRv1lWQoxpZw7LiNPjqst
 u4XQ==
X-Gm-Message-State: AOJu0Yw7Klyb5zN4WfTMzN6iSQBxk5XLqDOD429faPqqf6GftReuIWKR
 Wc1n2oId+AQhkWYBpkmdfTZkZN2QLjBZmgMqLK4riOZCSk6R/HB4v80b5LtDKdRcxyxzs4BuhNM
 =
X-Gm-Gg: ASbGncs2cK9MmXagO6AiRcB1hpVzOXz/tB+OPZGeas7los3DBfLqU6uMwM6VOEGHGZW
 QBgRYgZ6tkhqfA3xLrn0taOVdgiFaB3to/ESvRFoAcyYcSavghw5wMPJOaVfcCJcTbj0wCBGV+B
 UEyQSuo91oXrLr/OOT0DWXFPlvoaZSIgOeFFuKdNrTfHI9zjE1u3CUGRFsk+wxQ6NEvAPzgRij7
 Rh7v/Kwp0m/UCjqV1o55To8+UQnGSWN+HChRcv1Zs5hGgJErkpJ+wj4OqbecaGqnk/GFh/bma56
 9Kk3eeAF/H72cVUn5nBeErIJWtlreKv3TCz42yLEmHjg4smPbw==
X-Google-Smtp-Source: AGHT+IEXdksgAGm/Lk9kOu+JZbTfYdLIA4Tc6fcNJXs9wes8NrbBcuc4YD8WTK3utzk8ETfimDMzBw==
X-Received: by 2002:a05:6602:4181:b0:85d:115b:bb3f with SMTP id
 ca18e2360f4ac-85e9e872d21mr1598302839f.6.1743571549498; 
 Tue, 01 Apr 2025 22:25:49 -0700 (PDT)
Received: from Karl-Desktop.raven ([207.237.222.72])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4f46489d849sm2742981173.108.2025.04.01.22.25.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Apr 2025 22:25:49 -0700 (PDT)
From: Raven Hallsby <karl@HIDDEN>
Date: Wed,  2 Apr 2025 00:25:14 -0500
Message-ID: <c5ea6669523b275bda0c4b9c3981bfefd49fcb67.1743570894.git.karl@HIDDEN>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1743570894.git.karl@HIDDEN>
References: <cover.1743570894.git.karl@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

From: Karl Hallsby <karl@HIDDEN>

* guix/licenses.scm (upl1.0): New variable.
* guix/import/utils.scm (%spdx-license-identifiers): Add license upl1.0.

Change-Id: I15c864755b4a5f7afffdcabd182f957faf7bbe43
---
 guix/import/utils.scm | 1 +
 guix/licenses.scm     | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index 38c986b4d5a..d9b9b3275d5 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -284,6 +284,7 @@ (define %spdx-license-identifiers
     ("Sleepycat"                  . license:sleepycat)
     ("TCL"                        . license:tcl/tk)
     ("Unlicense"                  . license:unlicense)
+    ("UPL-1.0"                    . license:upl1.0)
     ("Vim"                        . license:vim)
     ("W3C"                        . license:w3c)
     ("WTFPL"                      . license:wtfpl2)
diff --git a/guix/licenses.scm b/guix/licenses.scm
index 8fd4f363929..c86c333bd9c 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -103,6 +103,7 @@ (define-module (guix licenses)
             tcl/tk
             unicode
             unlicense
+            upl1.0
             vim
             w3c
             x11 x11-style
@@ -731,6 +732,11 @@ (define unlicense
            "https://unlicense.org/"
            "https://www.gnu.org/licenses/license-list.html#Unlicense"))
 
+(define upl1.0
+  (license "UPL-1.0"
+           "https://directory.fsf.org/wiki/License:UPL-1.0"
+           "https://www.gnu.org/licenses/license-list#UPL"))
+
 (define w3c
   (license "W3C Software Notice and License"
            "https://directory.fsf.org/wiki/License:W3C_31Dec2002"
-- 
2.49.0





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#77448] [PATCH 2/2] gnu: Add souffle
Resent-From: Raven Hallsby <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Wed, 02 Apr 2025 05:27:05 +0000
Resent-Message-ID: <handler.77448.B77448.17435715675930 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77448
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 77448 <at> debbugs.gnu.org
Cc: Raven Hallsby <karl@HIDDEN>
Received: via spool by 77448-submit <at> debbugs.gnu.org id=B77448.17435715675930
          (code B ref 77448); Wed, 02 Apr 2025 05:27:05 +0000
Received: (at 77448) by debbugs.gnu.org; 2 Apr 2025 05:26:07 +0000
Received: from localhost ([127.0.0.1]:53694 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tzqbx-0001Wm-Qz
	for submit <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:26:06 -0400
Received: from mail-il1-x133.google.com ([2607:f8b0:4864:20::133]:54781)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>) id 1tzqbu-0001Vk-2W
 for 77448 <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:25:59 -0400
Received: by mail-il1-x133.google.com with SMTP id
 e9e14a558f8ab-3cda56e1dffso29600115ab.1
 for <77448 <at> debbugs.gnu.org>; Tue, 01 Apr 2025 22:25:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=hallsby.com; s=google; t=1743571552; x=1744176352; 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=RjfKQ6NepDTJcuZlQCRXsJZct5R5GvN167V02X8VHpY=;
 b=DtPYUKNsQHjJXocoClJRhIn8ILpKPDhy2Yx42uW/VfQl6WBxQVICBoiG1YUyXJh3Lt
 Ej6VrHK0hJ9T0kRsyFPXVsYdeaUKpdQpu9IOhdo86Kz0ZX0nU68qTNwBbDGnbOemD4sp
 qb1WtJsBTAl5ZHquMLwGtCxW2+Ws0FCvZ/HY8oVVP1akz5wO2fAKJmDSTVuSsb00G+wg
 /5/3Q47Jmda3SD1q9XBJ35CdbH7qCpI+Vgb1gRkKZ+NBVZpmjl1pU6/lJnx2MkwqpJcD
 SyoSJ8NQrRy8ICkLlo8NeMtbXo07s2TBSBtHEiBQw212tY0LbWIinbkc4oTODdmZSBFQ
 zZ2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743571552; x=1744176352;
 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=RjfKQ6NepDTJcuZlQCRXsJZct5R5GvN167V02X8VHpY=;
 b=dUrLLVKXm4pvpYlSWDAz2ctkDs7hmX5UQWPvlqy5gjZ1Ppvk0MtY6O5cpXJW6sFeIS
 kvg3nI/Sm9uWfyuiYrCgI3CalGXVNt8PPWZgBYleYSeh8TxtOlSk0oPcbA2UHy1fiyvx
 BgfrcJn1kY0TJ9rTowjtvo+y49hKrVg923jyxZxJ7f9CgUR9HWp3HIBdw5dsapPycDnX
 fQBeedtleCufnaIJYuX7T4a6luUK1fv861wu2u8I2+jHVbBjsF3yIk1q9GvYTlW2Wsm8
 +NqWiYzeXpdFUGmnAUlC2G6jolGoW4gw/k7Uz2nDM9/B0pmqyFHr3BgaO96WZE65Zsyo
 gNVA==
X-Gm-Message-State: AOJu0YxFmCSt2U/9UgrEzJr6Iw+Wm0rFje/NzA2v/m0MWPS86UEk9E7L
 j3VGCNKIFKJCKHk66QZNyn9JrqlMeDPZslwNSP2phq1spWc/25tXgRHImOtorlBHBEG62wT5N6Q
 =
X-Gm-Gg: ASbGncsFePOXy3qMGvlLP4U1z8etUumC5nvpwcJvQNZ0Xjoo+AOqjHn8U20TTabJywO
 m6ebvytNilaxUCgWA36ecljCZXGeGuuWKmeDncy3HSCYxY0lYIOgiHVDao1jZRpaetnel8V31nC
 q0ritEmFL1kXIg7lKgSVelbCMnVvF458PTZwteFqBb++rl4q/mf1whmZZy6ihbtcw4KQgjCrWaU
 dH2E+HYV/eJoDB96l94Ew59RB7s/2LKfUUcpycpywQWrE5yYqamkrNxatxVMlEWUorgXoONUdv5
 h7ai0R0M5aS5CPQHKVBtXzB6JPzu2kadp73hw1gCY2N0qcVm5w==
X-Google-Smtp-Source: AGHT+IGoW067s2sEKPOVqcXjJVgvQZGpvoG/imLdqjJiqRpHm0k0m8LfJMFEGqCB3BojhAMMxcz2eA==
X-Received: by 2002:a05:6e02:3c82:b0:3cf:c7d3:e4b with SMTP id
 e9e14a558f8ab-3d5e0a09a11mr172877805ab.21.1743571551525; 
 Tue, 01 Apr 2025 22:25:51 -0700 (PDT)
Received: from Karl-Desktop.raven ([207.237.222.72])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4f46489d849sm2742981173.108.2025.04.01.22.25.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Apr 2025 22:25:51 -0700 (PDT)
From: Raven Hallsby <karl@HIDDEN>
Date: Wed,  2 Apr 2025 00:25:15 -0500
Message-ID: <7f59b2bec9c480dbecc35fc231ce4b07996762b8.1743570894.git.karl@HIDDEN>
X-Mailer: git-send-email 2.49.0
In-Reply-To: <cover.1743570894.git.karl@HIDDEN>
References: <cover.1743570894.git.karl@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

From: Karl Hallsby <karl@HIDDEN>

* gnu/packages/datalog.scm: New file.
* gnu/local.mk: Register it.
* gnu/packages/datalog.scm (souffle): New variable.

Change-Id: I5ac1a2ed943a79f50a85794585804522fddf0bdc
---
 gnu/local.mk             |   1 +
 gnu/packages/datalog.scm | 235 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 236 insertions(+)
 create mode 100644 gnu/packages/datalog.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index a96ca42532d..b6791eb0c26 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -240,6 +240,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/data-language.scm		\
   %D%/packages/databases.scm			\
   %D%/packages/datamash.scm			\
+  %D%/packages/datalog.scm			\
   %D%/packages/datastructures.scm		\
   %D%/packages/dav.scm				\
   %D%/packages/dbm.scm				\
diff --git a/gnu/packages/datalog.scm b/gnu/packages/datalog.scm
new file mode 100644
index 00000000000..89fd6583acb
--- /dev/null
+++ b/gnu/packages/datalog.scm
@@ -0,0 +1,235 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2025 Raven Hallsby <karl@HIDDEN>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages datalog)
+  #: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 build-system cmake)
+  #:use-module (guix utils)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages commencement)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages java)
+  #:use-module (gnu packages libffi)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages swig)
+  #:use-module (gnu packages version-control))
+
+(define-public souffle
+  ;; 2.4.1 is the most recent tagged commit, but is from 2023. A commit from
+  ;; 2024 (040a962f) fixes the last 2 unit test failures that 2.4.1 experienced.
+  ;; So we use a more recent commit hash instead.
+  (let ((commit "94ccab0127d78a2c295730e8c8f560aabc82ea0f")
+        (revision "0"))
+    (package
+      (name "souffle")
+      (version (string-append "2.4.1-" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/souffle-lang/souffle")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0k27cf1h6bl6rwkk4zkwpsfk2n4814fda2v7mcin0r9wkx1pdrxi"))))
+      (native-inputs
+       (list bison flex
+             ;; Only needed for building documentation
+             doxygen fontconfig font-ghostscript graphviz-minimal))
+      (inputs
+       (list gcc-toolchain
+             mcpp
+             python-minimal
+             bash-minimal
+             libffi
+             ncurses
+             sqlite
+             swig
+             `(,openjdk "jdk")
+             zlib))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:configure-flags
+        #~(list
+           ;; Prevent souffle from calling out to git for a version number
+           "-DSOUFFLE_GIT=OFF"
+           ;; Use larger representation values.
+           "-DSOUFFLE_DOMAIN_64BIT=ON"
+           ;; Allow Java/Python/others to use libffi to interop with souffle.
+           "-DSOUFFLE_SWIG=ON"
+           ;; By default Souffle only runs tests on evaluation examples. We
+           ;; force it to also test its code examples.
+           "-DSOUFFLE_ENABLE_TESTING=ON"
+           "-DSOUFFLE_TEST_EXAMPLES=ON"
+           "-DSOUFFLE_TEST_EVALUATION=ON"
+           ;; Enable documentation target
+           "-DSOUFFLE_GENERATE_DOXYGEN=man"
+           ;; Generate Bash completions
+           "-DSOUFFLE_BASH_COMPLETION=on"
+           (string-append "-DBASH_COMPLETION_COMPLETIONSDIR="
+                          #$output "/etc/bash_completion.d"))
+        #:phases
+        #~(modify-phases %standard-phases
+            ;; Allow for parallel testing. The -j in the "make check" command does
+            ;; not propagate to ctest. With 4500+ tests, and some taking multiple
+            ;; minutes to finish, parallelism really helps.
+            (replace 'check
+              (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
+                (setenv "CTEST_OUTPUT_ON_FAILURE" "1")
+                (when tests? (invoke "ctest" "--output-on-failure" "-j"
+                                     (if parallel-tests?
+                                         (number->string (parallel-job-count))
+                                         "1")))))
+            (add-after 'check 'build-docs
+              (lambda* (#:key inputs #:allow-other-keys)
+                ;; Already in build/ directory
+                ;; Set a cache directory for fontconfig
+                (setenv "XDG_CACHE_HOME" (mkdtemp "/tmp/cache-XXXXXX"))
+                (invoke "make" "doxygen")))
+            (add-after 'install 'install-docs
+              (lambda* (#:key outputs #:allow-other-keys)
+                (let ((out (assoc-ref outputs "out")))
+                  ;; Still currently in build/
+                  (format #t "~a~%" (getcwd))
+                  (with-directory-excursion "../source"
+                    (format #t "excursion: ~a~%" (getcwd))
+                    (mkdir-p (string-append out "/share/man/man1/"))
+                    (copy-recursively "man/"
+                                     (string-append out "/share/man/man1/"))
+                    (mkdir-p (string-append out "/share/man/man3/"))
+                    (install-file "doc/man/man3/souffle.3"
+                                      (string-append out "/share/man/man3/"))))))
+            ;; Clean up various files and wrap binaries.
+            ;; The compiler wrapper script takes many of its values from an
+            ;; embedded JSON string rather than environment variables, which
+            ;; makes some of our wrapping ineffective.
+            (add-after 'install 'wrap-programs
+              (lambda* (#:key inputs #:allow-other-keys)
+                ;; Wrap the compiled binaries that point to the libraries
+                ;; souffle needs at runtime.
+                (wrap-program (string-append #$output "/bin/souffle")
+                  `("PATH" ":" prefix
+                    ;; Souffle has a "build system" that will run the souffle
+                    ;; compiler to produce a C++ program and then run g++ to
+                    ;; build the final binary.
+                    ,(list (string-append (assoc-ref inputs "swig") "/bin")
+                           (string-append (assoc-ref inputs "python-minimal")
+                                          "/bin")
+                           (string-append (assoc-ref inputs "mcpp") "/bin")
+                           (string-append (assoc-ref inputs "gcc-toolchain")
+                                          "/bin")))
+                  `("C_INCLUDE_PATH" ":" prefix
+                    ,(list (string-append #$output "/include")
+                           (string-append (assoc-ref inputs "gcc-toolchain")
+                                          "/include")
+                           (string-append (assoc-ref inputs "zlib") "/include")
+                           (string-append (assoc-ref inputs "ncurses") "/include")
+                           (string-append (assoc-ref inputs "sqlite") "/include")
+                           (string-append (assoc-ref inputs "libffi") "/include")))
+                  `("CPLUS_INCLUDE_PATH" ":" prefix
+                    ;; Souffle needs to know where its own headers are.
+                    ,(list (string-append #$output "/include")
+                           (string-append (assoc-ref inputs "gcc-toolchain") "/include/c++")
+                           (string-append (assoc-ref inputs "gcc-toolchain") "/include")
+                           (string-append (assoc-ref inputs "zlib") "/include")
+                           (string-append (assoc-ref inputs "ncurses") "/include")
+                           (string-append (assoc-ref inputs "sqlite") "/include")
+                           (string-append (assoc-ref inputs "libffi") "/include")))
+                  ;; Make sure g++ and co. can find necessary files when
+                  ;; compiling the souffle-generated C++ program. In particular,
+                  ;; crt1.o and crti.o need to be found.
+                  ;; The final compiled program has rpaths set to libraries by
+                  ;; the compiler script. So no LD_LIBRARY_PATH changes are
+                  ;; needed.
+                  `("LIBRARY_PATH" ":" prefix
+                    ,(list (string-append #$output "/lib") ; Technically Souffle has no /lib
+                           (string-append (assoc-ref inputs "gcc-toolchain") "/lib")
+                           (string-append (assoc-ref inputs "zlib") "/lib")
+                           (string-append (assoc-ref inputs "ncurses") "/lib")
+                           (string-append (assoc-ref inputs "sqlite") "/lib")
+                           (string-append (assoc-ref inputs "libffi") "/lib"))))
+                ;; And now we must "wrap" souffle's compiler wrapper script's
+                ;; internal JSON config file, so the invoked g++ can find
+                ;; everything it needs.
+                (with-directory-excursion #$output
+                  (let ((includes (list (string-append #$output "/include")
+                           (string-append (assoc-ref inputs "gcc-toolchain") "/include/c++")
+                           (string-append (assoc-ref inputs "gcc-toolchain") "/include")
+                           (string-append (assoc-ref inputs "zlib") "/include")
+                           (string-append (assoc-ref inputs "ncurses") "/include")
+                           (string-append (assoc-ref inputs "sqlite") "/include")
+                           (string-append (assoc-ref inputs "libffi") "/include")
+                           (string-append (assoc-ref inputs "libc") "/lib")
+                           ;; Need an explicit path to <linux/errno.h>?
+                           (string-append (assoc-ref inputs "kernel-headers") "/include")))
+                        (libs (list (string-append (assoc-ref inputs "gcc-toolchain") "/lib")
+                                    (string-append (assoc-ref inputs "zlib") "/lib")
+                                    (string-append (assoc-ref inputs "ncurses") "/lib")
+                                    (string-append (assoc-ref inputs "sqlite") "/lib")
+                                    (string-append (assoc-ref inputs "libffi") "/lib")
+                                    (string-append (assoc-ref inputs "libc") "/lib"))))
+                    (substitute* "bin/souffle-compile.py"
+                      ;; Make C++ includes & linking work and remove embedded build path
+                      (("(\"includes\"): \"([[[[:alnum:] -_.]+)\"," all option prev-vals)
+                       (string-append option ": \""
+                                      (string-join includes " -I" 'prefix) " "
+                                      "\","))
+                      (("(\"link_options\"): \"([[:alnum:] -_.]+)\"," all option prev-options)
+                       (string-append option ": \""
+                                      (string-join libs " -L" 'prefix) " "
+                                      prev-options
+                                      "\","))
+                      ;; Remove embedded build path
+                      (("(\"source_include_dir\"): \".*\"," all option)
+                       (string-append option ": \"\","))))))))))
+      ;; (native-search-paths
+      ;;  (list (search-path-specification
+      ;;         (variable "C_INCLUDE_PATH")
+      ;;         (files '("include")))
+      ;;        (search-path-specification
+      ;;         (variable "CPLUS_INCLUDE_PATH")
+      ;;         (files '("include")))
+      ;;        (search-path-specification
+      ;;         (variable "LIBRARY_PATH")
+      ;;         (files '("lib")))))
+      (home-page "https://souffle-lang.github.io")
+      (synopsis "Compiler for a variant of Datalog using Horn clauses")
+      (description
+       "Souffle is a logic programming language inspired by Datalog by
+crafting analyses in Horn clauses.  It overcomes some of the limitations in
+classical Datalog.  For example, programmers are not restricted to finite
+domains, and the usage of functors (intrinsic, user-defined,
+records/constructors, etc.) is permitted.  Souffle has a component model so
+that large logic projects can be expressed.")
+      (license license:upl1.0))))
-- 
2.49.0





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#77448] [PATCH 0/2] gnu: Add Souffle.
References: <cover.1743570894.git.karl@HIDDEN>
In-Reply-To: <cover.1743570894.git.karl@HIDDEN>
Resent-From: Raven Hallsby <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Wed, 02 Apr 2025 05:27:06 +0000
Resent-Message-ID: <handler.77448.B77448.17435715816041 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77448
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 77448 <at> debbugs.gnu.org
Cc: Raven Hallsby <karl@HIDDEN>
Received: via spool by 77448-submit <at> debbugs.gnu.org id=B77448.17435715816041
          (code B ref 77448); Wed, 02 Apr 2025 05:27:06 +0000
Received: (at 77448) by debbugs.gnu.org; 2 Apr 2025 05:26:21 +0000
Received: from localhost ([127.0.0.1]:53704 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tzqcE-0001Z4-2w
	for submit <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:26:20 -0400
Received: from mail-il1-x12e.google.com ([2607:f8b0:4864:20::12e]:52632)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>) id 1tzqc8-0001Xg-Vy
 for 77448 <at> debbugs.gnu.org; Wed, 02 Apr 2025 01:26:15 -0400
Received: by mail-il1-x12e.google.com with SMTP id
 e9e14a558f8ab-3d57143ee39so53929965ab.1
 for <77448 <at> debbugs.gnu.org>; Tue, 01 Apr 2025 22:26:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=hallsby.com; s=google; t=1743571566; x=1744176366; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=qn6Wcx6KX+r4Z0VdgFC6Pw6e1e8NiIKqUPrOJe4d07c=;
 b=TNVm+GYLNyxz34JetpY94jXYSmz3P2Ex2Yig9UnYOWi7WetaKZITryptjZExOIZjad
 YijN/pDGb1j1t91TgJu81oxdL247OUxcpV/1DfYAQgjif8ROuG7EWcE57ypXmCIl4pu1
 HfOdNRMurjVK8S+aD/Y5Xt9F8aoRlwNff4lXepdE2EJAyBlqKkhdKudjU0nrtlhdOUgr
 +wow4jeVgVgfeBG1x/aJIZ61c92zzgaJ86d/E9TzyzzR3g4tJBiNO8sOAFlN6MqqUuDw
 6bOhT02mtfKmuEj82Ij+ZVjvT4lsHXeWRmoYXSyYm4+caw+N593uduA7IGmdTUjogT3x
 t8ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743571566; x=1744176366;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=qn6Wcx6KX+r4Z0VdgFC6Pw6e1e8NiIKqUPrOJe4d07c=;
 b=hfQYBm4OvHyRIVBGS2HQ3ateaOaEcbLuFvAgJp6bTJoBP5/JRaR0ZAoWAZIml3q3GS
 9BDczlEOFirIwFoZpwMgXXFj2ax4O35ZozThDE8Y4gkZU0Mk1LMm8+6a3jludAUotdth
 XhbiVq5QAPflpPHrG9ZXLtVn+Vj6EHQnF/vIeHtSJd+DTcZo1lHQdaAgwhP9SK5Hd3uN
 PM1m9KJDaivMMcTZ/z0yY+H3OEEq8HNBujx8I4lGgbKY8jXE2MmSMy48N9Xqn+/TV+ee
 ZylN+MwC2NC5FeWFb/EBXnnTUjQgMesNpQ04OX8LZzkbjN7tWbiKX4ATIyxvB3ofbDEE
 ZJ9g==
X-Gm-Message-State: AOJu0Yx9pUCWJ8CNm66aE3b+r6ozgEXCrSOnFpiNSj1m84uniDnnDXdF
 1HUQxErXJ5xxUmlhYn/gmHrN2nynAa6o2LH3v6pgqKua+mHfymqHja7xWs3JPBoMYflOANKWhCA
 =
X-Gm-Gg: ASbGncu0eUerBxWTexkknVNeqzqcWpzUvpSulEbUfKr5R7Kwxp9SRibI8CgTBrtt6WO
 s9GxZIRAx3ukNx1xEDWVToHwnN4VyDGUjWJ+B50V5tYQhDLajCPRwq55DLyEAXQoYiGvs1GXCyb
 M7mWAzot/HSIvPtSybxmSMksXl1BCEK8Y43qI7PazAVOVMuFRf6H44y1c1pKskWAq9u8GpyRm60
 CxNuTcjrii+2JFdA5NQscb9TJcE4Hr19TTl72HHUu2WusFucSFRxesBiB866baR5nBVOJbtmAkG
 JC+bucj6asTw1h7O7H7hfHkrXeG4/k0vXfjdkJRTBh33U01Q5g==
X-Google-Smtp-Source: AGHT+IHqlpfULN2lHdH99TugPZDPtD5IGKX9xGYI9jNStc4HyMzuqu4eaE7lEjtkZO1GxOs4a6jEQw==
X-Received: by 2002:a05:6e02:1f0c:b0:3d4:2306:a875 with SMTP id
 e9e14a558f8ab-3d5e0908f71mr188533525ab.8.1743571566508; 
 Tue, 01 Apr 2025 22:26:06 -0700 (PDT)
Received: from Karl-Desktop.raven ([207.237.222.72])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4f46489d849sm2742981173.108.2025.04.01.22.26.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 01 Apr 2025 22:26:06 -0700 (PDT)
From: Raven Hallsby <karl@HIDDEN>
Date: Wed,  2 Apr 2025 00:25:16 -0500
Message-ID: <cover.1743570021.git.karl@HIDDEN>
X-Mailer: git-send-email 2.49.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Souffle[1] is a Logic-based programming language based on Datalog. It is
possible to both interpret and compile. Further, SOuffle can be used
*natively* with C++ projects and offers Swig-generated FFI interfaces for Java
and Python.

I have tested this package by using the simple example steps at [2] and the
more scalable features of using SQLite to store and represent facts about your
logic's domain space[3].

In the future, I would like the test script I created to be merged into Guix
so that a package's usage can be tested alongside its definition (after being
built). Particularly because Souffle relies on a significant amount of
wrapping and has an embedded JSON configuration file as a runner script for
Souffle's compiler. I have brought this topic up on IRC in the past[4], and
the community has thought about them before. This package is an example of one
whose long-term maintenance in Guix would greatly benefit from this
infrastructure.

[1] https://souffle-lang.github.io/
[2] https://souffle-lang.github.io/simple
[3] https://souffle-lang.github.io/tutorial#io-directives
[4] https://logs.guix.gnu.org/guix/2025-03-19.log#175226

Karl Hallsby (2):
  licenses: Add UPL 1.0.
  gnu: Add souffle

 gnu/local.mk             |   1 +
 gnu/packages/datalog.scm | 220 +++++++++++++++++++++++++++++++++++++++
 guix/import/utils.scm    |   1 +
 guix/licenses.scm        |   6 ++
 4 files changed, 228 insertions(+)
 create mode 100644 gnu/packages/datalog.scm


base-commit: 97523d50017f2cc5c190c9a2aa50f620b33b6318
--
2.49.0




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#77448] [PATCH 0/2] gnu: Add Souffle.
Resent-From: Karl Hallsby <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Sun, 30 Nov 2025 17:45:01 +0000
Resent-Message-ID: <handler.77448.B77448.176452464412552 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77448
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 77448 <at> debbugs.gnu.org
Received: via spool by 77448-submit <at> debbugs.gnu.org id=B77448.176452464412552
          (code B ref 77448); Sun, 30 Nov 2025 17:45:01 +0000
Received: (at 77448) by debbugs.gnu.org; 30 Nov 2025 17:44:04 +0000
Received: from localhost ([127.0.0.1]:41510 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vPlSu-0003GO-D8
	for submit <at> debbugs.gnu.org; Sun, 30 Nov 2025 12:44:04 -0500
Received: from mail-il1-x12b.google.com ([2607:f8b0:4864:20::12b]:41999)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>) id 1vPlSq-0003Fg-FB
 for 77448 <at> debbugs.gnu.org; Sun, 30 Nov 2025 12:44:02 -0500
Received: by mail-il1-x12b.google.com with SMTP id
 e9e14a558f8ab-43346da8817so18130945ab.0
 for <77448 <at> debbugs.gnu.org>; Sun, 30 Nov 2025 09:44:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=hallsby.com; s=google; t=1764524634; x=1765129434; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:user-agent:references:in-reply-to
 :subject:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=vjTWHq3+fPh3I5o4EWSlEdHF9SYTuhBhUy8PfSRaSGU=;
 b=EBuLKKtGHLh6GvfFW2tpoaiDiYa7373BO23LakR1ArzroOhImIHrnR/gH34+p8zvf3
 Fw7cu+PQUSyHJtEUl6mgawP3blnTqkQnTJztEIfpH0NBeTA3d4FeTWmIzOoGLSXB3vac
 zjKn2/TPgFbRIykvvqN2WSZ4QA1kS7nenYYRQFUhxyYvT3OKFSnf+6rpTp3faIa8CS5N
 CkSPiymR0HXQTFUWriSxgR0cSj8yeehuWHNjLyAEX0+g3UhQPEj5SmP61Ln15lVdhWIR
 CqoG8a416B3PMP/B7EExve5O2g0O8JhwSsnMfaIIPbMuDDolfUUH2fDFF9RJKPM8/v1X
 DkXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1764524634; x=1765129434;
 h=mime-version:message-id:date:user-agent:references:in-reply-to
 :subject:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=vjTWHq3+fPh3I5o4EWSlEdHF9SYTuhBhUy8PfSRaSGU=;
 b=TXG5A37NFHvnsSWYeyrN1s2r7WZznG0FRMjEX/4Lg/OlcSHyG/diJkx7JSxzPGkFy8
 kyMow37qj0DWZWpibE/LzQRz6ZmjP4WAqJUzW8+eAdk+PaeqhDhZfr7Mz01NmomQMb/s
 F+pSBO3SOy5FXz5EThlJu8GfFoQps1bukob+ukoKSxpIGxlQg2+5YOoIAYlscnAXUQmC
 X7s7vyCL7GgQrwOxCKlpy+48PVgIFt+tFVdRZNAEr3xjeUxEmGZdvlh4w7S/xVUNiAJH
 9rBysUmeeloGPbE/9+TcobUYJsBkyP4d9yrRs0NrewiaHPF3ZjOYYtJojhelRWxGtVeN
 Wb2g==
X-Gm-Message-State: AOJu0Yw9/rjUEh6RB8cOTXsPfc2VdHmRaifQ63zDeYTQFThWYZGl1SeK
 c3n4w2ISS/qmFHm8GpzkqyJDtt3EopKOoM1BXag/CHkLYm9adJcChzLmTJ75bHONvVrkiGa9zbx
 P0Gs=
X-Gm-Gg: ASbGncvaa+/n1bOcgf9bPlxS6Q/yLY3K0gl6tnCwb1MyVamxbSaY1QnU/Msvo6QzypU
 wqio+cOCi5/IjqqoPYqgp/SKH19+vBZDYlowEKwo03yTXPmRXL0eK2UUb1+n+55xHmYogB4R+hE
 2UVom9jj7A0bWOrE4vzUnPeAM5HsbU1H1LetpTVBrsqjredCrhJFkAxyhXosd05jcHRAgtGwcaU
 uLnXfq5HK7KYmUqd0kYeuOJMLVdR+QfSzDPnOC+5X+4vj3+fmCqar2CN1417F9GXRWpaf1Nffq8
 qrIEOmth1y/fV/t7HJE50DwfgkVVqGT5mvWiETPmmF8EZ/tkRarX/xEILPnoIgugiX4j8IBpEqf
 ABnVH0EcgW6WUOAc+nZS4cAlwwCPE+hrWB9KDvmWpclkUCvZDjhfOWScKZp6s5hSjkWSBhFHwAK
 +jYFDUZfu/swmL6g7vCQjo8qhT/ZvfNWS8SDJ0+2i8wNHo6KF4uUQmRebeQ4h7ZA==
X-Google-Smtp-Source: AGHT+IFJGCO0EkpHFeEitEj2D5OpfKdwmJitRicF1Jod32VsNQiKwdhzqUbfzKkLYE074UhYrogaBw==
X-Received: by 2002:a05:6e02:3187:b0:433:7842:7967 with SMTP id
 e9e14a558f8ab-435b90f7448mr286434715ab.11.1764524634053; 
 Sun, 30 Nov 2025 09:43:54 -0800 (PST)
Received: from localhost (1459483-v115.1145-static.batvilaa.metronetinc.net.
 [192.69.181.148]) by smtp.gmail.com with ESMTPSA id
 e9e14a558f8ab-436b85c5413sm55904855ab.27.2025.11.30.09.43.52
 for <77448 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Nov 2025 09:43:52 -0800 (PST)
From: Karl Hallsby <karl@HIDDEN>
In-Reply-To: <cover.1743570021.git.karl@HIDDEN> (Raven Hallsby's message
 of "Wed, 2 Apr 2025 00:25:16 -0500")
References: <cover.1743570021.git.karl@HIDDEN>
User-Agent: mu4e 1.12.11; emacs 30.2
Date: Sun, 30 Nov 2025 11:43:50 -0600
Message-ID: <87y0nnxvop.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

close 79637

Closing in favor of tracking on Codeberg.

https://codeberg.org/guix/guix/pulls/4581




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#77448] [PATCH 0/2] gnu: Add Souffle.
Resent-From: Karl Hallsby <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Sun, 30 Nov 2025 18:29:02 +0000
Resent-Message-ID: <handler.77448.B77448.176452733722655 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 77448
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 77448 <at> debbugs.gnu.org
Received: via spool by 77448-submit <at> debbugs.gnu.org id=B77448.176452733722655
          (code B ref 77448); Sun, 30 Nov 2025 18:29:02 +0000
Received: (at 77448) by debbugs.gnu.org; 30 Nov 2025 18:28:57 +0000
Received: from localhost ([127.0.0.1]:41883 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vPmAL-0005tK-BU
	for submit <at> debbugs.gnu.org; Sun, 30 Nov 2025 13:28:57 -0500
Received: from mail-il1-x12e.google.com ([2607:f8b0:4864:20::12e]:43143)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <karl@HIDDEN>) id 1vPmAJ-0005t8-1I
 for 77448 <at> debbugs.gnu.org; Sun, 30 Nov 2025 13:28:55 -0500
Received: by mail-il1-x12e.google.com with SMTP id
 e9e14a558f8ab-435a16798feso20936095ab.0
 for <77448 <at> debbugs.gnu.org>; Sun, 30 Nov 2025 10:28:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=hallsby.com; s=google; t=1764527328; x=1765132128; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:user-agent:references:in-reply-to
 :subject:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=VZKnSgDvNiRJnHMeFUSVSjvzoW3H6RJeWgXqVq21UJE=;
 b=EFjEwBQVix9RGG5FvpS/HjeeaIEXPOsy1y5OBBwmeTfPHnxa4rp7TWHG8TTHeXkFDt
 weQX0SFqUhWcUDabp9TUKSQ9SJqPCCTp5pGeMf+OMl2rt+Fh8TdGG/P7J5Y8YcLfQtCH
 QmfrtHi+xfhqtOVpd9PVGzfCBBtdtzLNZ19BcAt1U53OksN74puB8pDtC07R6s/cnLQW
 olJQEmiOeInSIsU7dhptVHIMMcWBeyIjqlBEN7eWszI74b2oN+OKHO+F5UE2Hde14XOc
 T2Dq5HsWAH1R07BurD5SVfogWlvSuiMWGRABghMExqrXhbMonAw7q5pG4ZBWJ/u8h1Xw
 19Cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1764527328; x=1765132128;
 h=mime-version:message-id:date:user-agent:references:in-reply-to
 :subject:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=VZKnSgDvNiRJnHMeFUSVSjvzoW3H6RJeWgXqVq21UJE=;
 b=S7UNEhJqafmjcyFtQG/a395FMWi2wdbAdKQuMk76TI0Uk3DoIBEg5RaMJpRmmfb58d
 u2nMd8v4kmWVNOq2ilfES1Bw8zs0lhtCkPhZniz0Rv+AI0LPPKbkfw22a0S77g0Cqcx6
 oTStXUavDVyaDKWo1s56Mw9hbnwSB5A/H/noIBTkCiVtq+RUafB78CQ7XcLRgiU+XPs6
 b3Kmt4widTrangDUf9/wCefNJs3phLJgfLraNS2tTpQBI2STqge9L7Y7WZAObLnu6I49
 kI3T/4s2kPBUy5lxfG7FtPO7QjS4KhSK5qfcbmnw57rtxPCUx3epiGwg9qQzLmJlhZkC
 EEZQ==
X-Gm-Message-State: AOJu0YxU03yVVWhv6FBEkOQQCTlW+GlFZlJC2sSm1SX0bIA5yJxZ8rPI
 tkzifuC1XtXjIoOGrCLVfENGzxpUCS2a9Ur30STbBG1pCB0btoiwe1sINjsBu8xhITjmlbxto+e
 4zLY=
X-Gm-Gg: ASbGncsAt9C8FgW4RTJN4Y7SQRaenRHUfEw61HslWzoVgEKSxeTfpIJGClaDPE7xKZt
 RjRj2GzUC6eQYbo5Hgd074hapfOLMAn9y0R55UuYcg/I7DJFF8z+3bZq5bnls7j7bRZ5hNgTfzW
 18sTqRnlDfuWF/LwYxVn0sRUYqflmXC8C055esMKOhvLOGvwbfn1KD1PIHiV2GsuLVwcGC8gQL7
 uqG0+DXH2ccgONfduSi3xR3Fk4ySlEuMUflT/6C9hXYZ3eCT3/c8Uh6iwxmm5gcJnrUMQQ99aaf
 XrCYrlLKBqaGiMCAGAGIIQwHUGkVXUI9o2QspJpJEplkq31XhlC3xk2/hayclMtrMLwU1i9UHAZ
 Z7dKv47ka5vF2qnoNun0LFvdRzP0PyiqGU3RJjzJDk5ucxHynjSVwvi/cDFeLX91Kn5oQi74r+g
 ZhHq1ClfzD5ZiYQxyb70FBuv9a4inBFo9BxJ/5CNNzsgzTyG8LuQYxcV8vgzz4fw==
X-Google-Smtp-Source: AGHT+IEFFavZH+O0haSPWP2J36mgzgryLAPmXBcmgs1Jzaxy+DZ61D960X5BBIXvrNeOTm4tpoGeAg==
X-Received: by 2002:a05:6e02:1b0e:b0:433:43fb:37dd with SMTP id
 e9e14a558f8ab-435b9046455mr348213955ab.5.1764527328444; 
 Sun, 30 Nov 2025 10:28:48 -0800 (PST)
Received: from localhost (1459483-v115.1145-static.batvilaa.metronetinc.net.
 [192.69.181.148]) by smtp.gmail.com with ESMTPSA id
 e9e14a558f8ab-436b33b7035sm54355245ab.20.2025.11.30.10.28.45
 for <77448 <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 30 Nov 2025 10:28:46 -0800 (PST)
From: Karl Hallsby <karl@HIDDEN>
In-Reply-To: <cover.1743570021.git.karl@HIDDEN> (Raven Hallsby's message
 of "Wed, 2 Apr 2025 00:25:16 -0500")
References: <cover.1743570021.git.karl@HIDDEN>
User-Agent: mu4e 1.12.11; emacs 30.2
Date: Sun, 30 Nov 2025 12:28:44 -0600
Message-ID: <87sedvxtlv.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

close 77448





Last modified: Sun, 30 Nov 2025 18:30:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.