guix_mirror_bot pushed a commit to branch gnome-team
in repository guix.
commit 4c41c527a5eba0da9854412a2d8df6ed0e43d909
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.
(tracker): Deprecate in favor of tinysparql.
---
gnu/packages/gnome.scm | 230 +++++++++++++++++++++----------------------------
1 file changed, 98 insertions(+), 132 deletions(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ceaf0098dd..fdcaaed16f 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9575,138 +9575,6 @@ core C library, and bindings for Python (PyGTK).")
easy, safe, and automatic.")
(license license:lgpl2.1+)))
-(define-public tracker
- (package
- (name "tracker")
- (version "3.7.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnome/sources/tracker/"
- (version-major+minor version) "/"
- "tracker-" version ".tar.xz"))
- (sha256
- (base32
- "1yfi53fpfszfjajrqf1g80cri472k6wxpxj6g3nwa13yjd84lgdb"))))
- (build-system meson-build-system)
- (arguments
- (list
- #:glib-or-gtk? #t
- #:test-options `(list ,@(if (or (target-riscv64?)
- (target-aarch64?))
- `("--timeout-multiplier" "10")
- '("--timeout-multiplier" "2")))
- #:configure-flags
- ;; Otherwise, the RUNPATH will lack the final path component.
- #~(list (string-append "-Dc_link_args=-Wl,-rpath="
- #$output "/lib:"
- #$output "/lib/tracker-3.0")
- "-Ddocs=false"
- "-Dsystemd_user_services=false"
- "--wrap-mode=nodownload") ; XXX: to be disabled
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "utils/trackertestutils/__main__.py"
- (("/bin/bash")
- (search-input-file inputs "bin/bash")))))
- (add-after 'unpack 'disable-failing-tests
- (lambda _
- #$@(if (not (target-64bit?))
- ;; On 32-bit systems, the far away dates are incorrect,
- ;; and the floats are not parsed exactly.
- '((substitute*
- "tests/libtracker-sparql/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"))))
- (add-before 'configure 'relax-gcc-14-strictness
- (lambda _
- (setenv "CFLAGS"
- (string-append
- "-g -O2"
- " -Wno-error=implicit-function-declaration"
- " -Wno-error=incompatible-pointer-types"))))
- (add-before 'configure 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl")
- (file (search-input-file inputs manpage)))
- (substitute* "docs/manpages/meson.build"
- (("/etc/asciidoc[^']+")
- file)))))
- (replace '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" 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
- 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 "Metadata database, indexer and search tool")
- (home-page "https://wiki.gnome.org/Projects/Tracker")
- (description
- "Tracker is a search engine and triplestore for desktop, embedded and
mobile.
-
-It is a middleware component aimed at desktop application developers who want
-their apps to browse and search user content. It's not designed to be used
-directly by desktop users, but it provides a commandline tool named
-@command{tracker} for the adventurous.
-
-Tracker allows your application to instantly perform full-text searches across
-all documents. This feature is used by the @{emph{search} bar in GNOME Files,
for
-example. This is achieved by indexing the user's home directory in the
-background.
-
-Tracker also allows your application to query and list content that the user
-has stored. For example, GNOME Music displays all the music files that are
-found by Tracker. This means that GNOME Music doesn't need to maintain a
-database of its own.
-
-If you need to go beyond simple searches, Tracker is also a linked data
-endpoint and it understands SPARQL.")
- ;; https://gitlab.gnome.org/GNOME/tracker/-/blob/master/COPYING:
- ;; src/libtracker-*/* and src/tracker-extract/* are covered by lgpl2.1+,
- ;; libstemmer is bsd-3 and the rest is gpl2+.
- (license (list license:gpl2+
- license:bsd-3
- license:lgpl2.1+))))
-
(define-public tracker-miners
(package
(name "tracker-miners")
@@ -9829,6 +9697,104 @@ 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 tracker
+ (deprecated-package "tracker" tinysparql))
+
(define-public nautilus
(package
(name "nautilus")