1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-06-14 14:04:07 +02:00
Files
Anderson Torres cf21d51433 gnu: Remove pending references to deprecated (gnu packages flex).
* gnu/packages/c.scm:  Remove references to (gnu packages flex).
* gnu/packages/video.scm: Likewise.
* gnu/packages/web.scm: Likewise.
* gnu/packages/admin.scm: Change (gnu packages flex)
  to (gnu packages compiler-tools).
* gnu/packages/algebra.scm: Likewise.
* gnu/packages/apparmor.scm: Likewise.
* gnu/packages/assembly.scm: Likewise.
* gnu/packages/astronomy.scm: Likewise.
* gnu/packages/audio.scm: Likewise.
* gnu/packages/bioinformatics.scm: Likewise.
* gnu/packages/bison.scm: Likewise.
* gnu/packages/bootloaders.scm: Likewise.
* gnu/packages/cdrom.scm: Likewise.
* gnu/packages/chemistry.scm: Likewise.
* gnu/packages/cluster.scm: Likewise.
* gnu/packages/cobol.scm: Likewise.
* gnu/packages/code.scm: Likewise.
* gnu/packages/commencement.scm: Likewise.
* gnu/packages/coq.scm: Likewise.
* gnu/packages/coreboot.scm: Likewise.
* gnu/packages/databases.scm: Likewise.
* gnu/packages/datalog.scm: Likewise.
* gnu/packages/debug.scm: Likewise.
* gnu/packages/dictionaries.scm: Likewise.
* gnu/packages/dns.scm: Likewise.
* gnu/packages/documentation.scm: Likewise.
* gnu/packages/dotnet.scm: Likewise.
* gnu/packages/education.scm: Likewise.
* gnu/packages/electronics.scm: Likewise.
* gnu/packages/embedded.scm: Likewise.
* gnu/packages/emulators.scm: Likewise.
* gnu/packages/engineering.scm: Likewise.
* gnu/packages/esolangs.scm: Likewise.
* gnu/packages/fabric-management.scm: Likewise.
* gnu/packages/file-systems.scm: Likewise.
* gnu/packages/finance.scm: Likewise.
* gnu/packages/firmware.scm: Likewise.
* gnu/packages/flashing-tools.scm: Likewise.
* gnu/packages/fontutils.scm: Likewise.
* gnu/packages/games.scm: Likewise.
* gnu/packages/gcc.scm: Likewise.
* gnu/packages/gdb.scm: Likewise.
* gnu/packages/geo.scm: Likewise.
* gnu/packages/gl.scm: Likewise.
* gnu/packages/glib.scm: Likewise.
* gnu/packages/gnome.scm: Likewise.
* gnu/packages/graph.scm: Likewise.
* gnu/packages/graphics.scm: Likewise.
* gnu/packages/groff.scm: Likewise.
* gnu/packages/gstreamer.scm: Likewise.
* gnu/packages/guile.scm: Likewise.
* gnu/packages/hardware.scm: Likewise.
* gnu/packages/haskell.scm: Likewise.
* gnu/packages/heads.scm: Likewise.
* gnu/packages/hurd.scm: Likewise.
* gnu/packages/image-processing.scm: Likewise.
* gnu/packages/instrumentation.scm: Likewise.
* gnu/packages/kde-frameworks.scm: Likewise.
* gnu/packages/kde-graphics.scm: Likewise.
* gnu/packages/kde-pim.scm: Likewise.
* gnu/packages/kde-sdk.scm: Likewise.
* gnu/packages/kerberos.scm: Likewise.
* gnu/packages/lego.scm: Likewise.
* gnu/packages/lesstif.scm: Likewise.
* gnu/packages/libreoffice.scm: Likewise.
* gnu/packages/lighting.scm: Likewise.
* gnu/packages/linux.scm: Likewise.
* gnu/packages/logging.scm: Likewise.
* gnu/packages/mail.scm: Likewise.
* gnu/packages/man.scm: Likewise.
* gnu/packages/maths.scm: Likewise.
* gnu/packages/mpi.scm: Likewise.
* gnu/packages/multiprecision.scm: Likewise.
* gnu/packages/music.scm: Likewise.
* gnu/packages/netpbm.scm: Likewise.
* gnu/packages/networking.scm: Likewise.
* gnu/packages/nickle.scm: Likewise.
* gnu/packages/ocaml.scm: Likewise.
* gnu/packages/package-management.scm: Likewise.
* gnu/packages/parallel.scm: Likewise.
* gnu/packages/plotutils.scm: Likewise.
* gnu/packages/pretty-print.scm: Likewise.
* gnu/packages/profiling.scm: Likewise.
* gnu/packages/qt.scm: Likewise.
* gnu/packages/radio.scm: Likewise.
* gnu/packages/rdesktop.scm: Likewise.
* gnu/packages/rpc.scm: Likewise.
* gnu/packages/rust.scm: Likewise.
* gnu/packages/security-token.scm: Likewise.
* gnu/packages/selinux.scm: Likewise.
* gnu/packages/shellutils.scm: Likewise.
* gnu/packages/simulation.scm: Likewise.
* gnu/packages/statistics.scm: Likewise.
* gnu/packages/telephony.scm: Likewise.
* gnu/packages/toys.scm: Likewise.
* gnu/packages/version-control.scm: Likewise.
* gnu/packages/virtualization.scm: Likewise.
* gnu/packages/vpn.scm: Likewise.
* gnu/packages/vulkan.scm: Likewise.
* gnu/packages/webkit.scm: Likewise.
* gnu/packages/wine.scm: Likewise.
* gnu/packages/wm.scm: Likewise.
* gnu/packages/xdisorg.scm: Likewise.
* gnu/packages/xorg.scm: Likewise.

Merges: https://codeberg.org/guix/guix/pulls/8483
Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-29 16:41:06 +09:00

114 lines
4.8 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2026 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; 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 (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages compiler-tools)
#:use-module (gnu packages libffi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (guix build-system cmake)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public souffle
(package
(name "souffle")
(version "2.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/souffle-lang/souffle")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lrw69g02b17vxxz4g7cj8hbmc39wlzl80vl5fwy40a6b9pxwrsj"))
(snippet
#~(begin
;; Delete bundled dependencies. souffle also uses a forked
;; and modified version of json11. We cannot unbundle
;; that.
(for-each delete-file
(list "licenses/TCBRINDLE SPAN.txt"
"licenses/TINYFORMAT.txt"
"src/include/souffle/utility/span.h"
"src/include/souffle/utility/tinyformat.h"))))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DSOUFFLE_GIT=OFF"
(string-append "-DPACKAGE_VERSION="
#$version))
;; We disable these tests since they fail with gcc 14. This issue
;; has been reported upstream:
;; https://github.com/souffle-lang/souffle/issues/2576
#:test-exclude (string-join
(list "syntactic/cpp_keywords_run_souffle"
"syntactic/cpp_keywords_c_run_souffle"
"syntactic/cpp_keywords_compare_std_outputs"
"syntactic/cpp_keywords_compare_csv"
"syntactic/cpp_keywords_c_compare_std_outputs"
"syntactic/cpp_keywords_c_compare_csv")
"|")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'replace-bundled-libraries
(lambda _
;; Patch souffle to use tinyformat from Guix.
(substitute* (find-files "src" "\\.(cpp|h)$")
(("#include \"souffle/utility/tinyformat.h\"")
"#include <tinyformat.h>"))
;; Replace span.h with a header that uses span from Guix
;; and provides the same namespace.
(call-with-output-file "src/include/souffle/utility/span.h"
(lambda (port)
(display "#pragma once
#include <span.hpp>
namespace souffle {
using tcb::span;
}
"
port))))))))
(inputs
(list libffi
ncurses
python
span
sqlite
zlib))
(native-inputs
(list bison
flex
tinyformat))
(home-page "https://souffle-lang.github.io/")
(synopsis "Datalog variant")
(description "Soufflé is a variant of Datalog for tool designers crafting
analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program
from a logic specification. The Soufflé language is similar to Datalog (but
has terms known as records), and is frequently used as a domain-specific
language for analysis problems.")
(license (list license:upl ; main license
;; src/include/souffle/profile/htmlJsChartistPlugin.h
;; src/include/souffle/utility/json11.h
license:expat))))