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
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
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
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
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
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
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.