guix_mirror_bot pushed a commit to branch gnome-team
in repository guix.
commit d43ac2a9e445170792c1b0a20862c6433fbde7c3
Author: Liliana Marie Prikler <[email protected]>
AuthorDate: Wed Jul 16 14:03:03 2025 +0200
gnu: Add tinysparql.
* gnu/packages/gnome.scm (tinysparql): New variable.
Signed-off-by: Maxim Cournoyer <[email protected]>
---
gnu/packages/gnome.scm | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 95 insertions(+)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9be488a6cb..c8c81c9c1d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9955,6 +9955,101 @@ shared object databases, search tools and indexing.")
license:lgpl2.1+
license:lgpl2.0+))))
+(define-public tinysparql
+ (package
+ (name "tinysparql")
+ (version "3.9.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/tinysparql/"
+ (version-major+minor version) "/"
+ "tinysparql-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13mddmszrk4ihfwi5n67v5ykf01fmld4pkmw4881hphk4j807khl"))))
+ (build-system meson-build-system)
+ (arguments
+ (list
+ #:glib-or-gtk? #t
+ #:configure-flags
+ #~(list "-Ddocs=false" "-Dsystemd_user_services=false")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "tests/functional-tests/test_cli.py"
+ (("^([\t ]*)def test_help\\(self\\)" all indent)
+ (string-append indent "@unittest.skip('apparently broken')\n"
+ all)))
+ #$@(if (not (target-64bit?))
+ ;; On 32-bit systems, the far away dates are incorrect,
+ ;; and the floats are not parsed exactly.
+ '((substitute*
+ "tests/libtinysparql/tracker-statement-test.c"
+ (("g_assert_cmpfloat *\\((.*), ==, ([0-9.e-]+)\\);"
+ total actual expected)
+ (string-append "g_assert_cmpfloat_with_epsilon ("
+ actual ", " expected ", 1e-12);")))
+ (substitute* "tests/core/tracker-sparql-test.c"
+ (("\\{ \"datetime/direct-1\", .* \\},")
+ "/* datetime test disabled */")))
+ '())
+ *unspecified*))
+ (add-before 'configure 'set-shell
+ (lambda _
+ (setenv "SHELL" (which "bash"))))
+ (delete 'check) ;moved after install
+ (add-after 'install 'set-gi-typelib-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "GI_TYPELIB_PATH"
+ (search-input-directory outputs
"lib/girepository-1.0"))))
+ (add-after 'set-gi-typelib-path 'check
+ (lambda* (#:key tests? test-options #:allow-other-keys)
+ (when tests?
+ ;; Some tests expect to write to $HOME.
+ (setenv "HOME" "/tmp")
+ (apply invoke "dbus-run-session" "--" "meson" "test"
+ "--print-errorlogs" "-t0" test-options)))))))
+ (native-inputs
+ (list gettext-minimal
+ `(,glib "bin")
+ (libc-utf8-locales-for-target)
+ gobject-introspection
+ docbook-xsl
+ docbook-xml
+ gsettings-desktop-schemas
+ asciidoc
+ libxslt
+ cmake-minimal
+ python-pygobject
+ gtk-doc/stable
+ dbus
+ pkg-config
+ python
+ vala))
+ (inputs
+ (list bash-minimal
+ dbus
+ libstemmer
+ libsoup))
+ (propagated-inputs
+ ;; These are in Requires or Requires.private of tracker-sparql-3.0.pc.
+ (list glib
+ icu4c ;libunistring gets miner-miner-fs test to fail
+ json-glib
+ libxml2
+ sqlite))
+ (synopsis "Lightweight RDF triple store")
+ (home-page "https://gitlab.gnome.org/GNOME/tinysparql")
+ (description
+ "TinySPARQL is a RDF triple store with a SPARQL 1.1 interface. It allows
+creating local databases in memory or the filesystem, and accessing/creating
+endpoints for federated queries.")
+ ;; https://gitlab.gnome.org/GNOME/tinysparql/-/blob/master/COPYING (stale):
+ ;; src/common/* and src/libtinysparql/* are covered by lgpl2.1+,
+ ;; the rest is gpl2+.
+ (license (list license:gpl2+ license:lgpl2.1+))))
+
(define-public nautilus
(package
(name "nautilus")