diff mbox series

[bug#39258,v2,1/3] build-self: Add guile-xapian to Guix dependencies.

Message ID 20200307133116.11443-2-arunisaac@systemreboot.net
State Work in progress
Headers show
Series Xapian for Guix package search | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Arun Isaac March 7, 2020, 1:31 p.m. UTC
* build-aux/build-self.scm (build-program): Import fake guile-xapian module.
* guix/self.scm (compiled-guix): Add guile-xapian to Guix dependencies.
---
 build-aux/build-self.scm | 11 +++++++++++
 guix/self.scm            |  7 ++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

Comments

Simon Tournier March 9, 2020, 6:14 p.m. UTC | #1
On Sat, 7 Mar 2020 at 14:31, Arun Isaac <arunisaac@systemreboot.net> wrote:

> diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
> index f2e785b7f1..05d0353ccf 100644
> --- a/build-aux/build-self.scm
> +++ b/build-aux/build-self.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -261,6 +262,10 @@ interface (FFI) of Guile.")
>                   #~(define-module (gcrypt hash)
>                       #:export (sha1 sha256))))
>
> +  (define fake-xapian-hash
> +    ;; Fake (xapian xapian) module; see below.
> +    (scheme-file "xapian.scm" #~(define-module (xapian xapian))))
> +

Why 'fake-xapian-hash' and not simply 'fake-xapian'?
Jonathan Brielmaier March 9, 2020, 11:40 p.m. UTC | #2
On 07.03.20 14:31, Arun Isaac wrote:
> * build-aux/build-self.scm (build-program): Import fake guile-xapian module.
> * guix/self.scm (compiled-guix): Add guile-xapian to Guix dependencies.

Could you please trigger a release (e.g. 0.0.1) for guile-xapian? This
would make it more easy for distributions like openSUSE to package it.
Arun Isaac March 10, 2020, 5:24 a.m. UTC | #3
Jonathan Brielmaier <jonathan.brielmaier@web.de> writes:

> Could you please trigger a release (e.g. 0.0.1) for guile-xapian? This
> would make it more easy for distributions like openSUSE to package it.

Done! :-) See
https://git.systemreboot.net/guile-xapian/snapshot/guile-xapian-0.1.0.tar.xz

But I must warn you that guile-xapian is terribly incomplete and
terribly unstable. The API may change at any time without notice.
diff mbox series

Patch

diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index f2e785b7f1..05d0353ccf 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -1,5 +1,6 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -261,6 +262,10 @@  interface (FFI) of Guile.")
                  #~(define-module (gcrypt hash)
                      #:export (sha1 sha256))))
 
+  (define fake-xapian-hash
+    ;; Fake (xapian xapian) module; see below.
+    (scheme-file "xapian.scm" #~(define-module (xapian xapian))))
+
   (define fake-git
     (scheme-file "git.scm" #~(define-module (git))))
 
@@ -273,6 +278,12 @@  interface (FFI) of Guile.")
                            ;; adjust %LOAD-PATH later on.
                            ((gcrypt hash) => ,fake-gcrypt-hash)
 
+                           ;; To avoid relying on 'with-extensions', which was
+                           ;; introduced in 0.15.0, provide a fake (xapian
+                           ;; xapian) just so that we can build modules, and
+                           ;; adjust %LOAD-PATH later on.
+                           ((xapian xapian) => ,fake-xapian-hash)
+
                            ;; (guix git-download) depends on (git) but only
                            ;; for peripheral functionality.  Provide a dummy
                            ;; (git) to placate it.
diff --git a/guix/self.scm b/guix/self.scm
index 6b633f9bc0..a4f40574d1 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -1,5 +1,6 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -54,6 +55,7 @@ 
       ("guile-git"  (ref '(gnu packages guile) 'guile3.0-git))
       ("guile-sqlite3" (ref '(gnu packages guile) 'guile3.0-sqlite3))
       ("guile-gcrypt"  (ref '(gnu packages gnupg) 'guile3.0-gcrypt))
+      ("guile-xapian"  (ref '(gnu packages guile-xyz) 'guile3.0-xapian))
       ("gnutls"     (ref '(gnu packages tls) 'guile3.0-gnutls))
       ("zlib"       (ref '(gnu packages compression) 'zlib))
       ("lzlib"      (ref '(gnu packages compression) 'lzlib))
@@ -682,6 +684,9 @@  Info manual."
   (define guile-gcrypt
     (specification->package "guile-gcrypt"))
 
+  (define guile-xapian
+    (specification->package "guile-xapian"))
+
   (define gnutls
     (specification->package "gnutls"))
 
@@ -690,7 +695,7 @@  Info manual."
                          (cons (list "x" package)
                                (package-transitive-propagated-inputs package)))
                        (list guile-gcrypt gnutls guile-git guile-json
-                             guile-ssh guile-sqlite3))
+                             guile-ssh guile-sqlite3 guile-xapian))
       (((labels packages _ ...) ...)
        packages)))