;;; guile-xapian --- Guile bindings for Xapian ;;; Copyright © 2021–2024 Arun Isaac ;;; ;;; This file is part of guile-xapian. ;;; ;;; guile-xapian 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 2 of the ;;; License, or (at your option) any later version. ;;; ;;; guile-xapian 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 guile-xapian. If not, see ;;; . (define-module (guile-xapian-package) #:use-module ((gnu packages emacs) #:select (emacs-minimal)) #:use-module ((gnu packages guile-xyz) #:prefix guix:) #:use-module ((guix build-system guile) #:select (%guile-build-system-modules)) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix utils)) (define-public guile-xapian (package (inherit guix:guile-xapian) (source (local-file ".." "guile-xapian-checkout" #:recursive? #t #:select? (or (git-predicate (dirname (current-source-directory))) (const #t)))))) (define-public guile2.2-xapian (package (inherit guix:guile2.2-xapian) (source (local-file ".." "guile-xapian-checkout" #:recursive? #t #:select? (or (git-predicate (dirname (current-source-directory))) (const #t)))))) (define guile-xapian-website-gexp (let ((development-profile (profile (content (package->development-manifest guile-xapian))))) (with-imported-modules %guile-build-system-modules #~(begin (use-modules (guix build guile-build-system) (guix build utils)) (copy-recursively #$(package-source guile-xapian) (getcwd)) (set-path-environment-variable "PATH" (list "/bin") (list #$emacs-minimal #$development-profile)) (set-path-environment-variable "C_INCLUDE_PATH" (list "/include") (list #$development-profile)) (set-path-environment-variable "CPLUS_INCLUDE_PATH" (list "/include") (list #$development-profile)) (set-path-environment-variable "LIBRARY_PATH" (list "/lib") (list #$development-profile)) (set-path-environment-variable "ACLOCAL_PATH" (list "/share/aclocal") (list #$development-profile)) (set-path-environment-variable "PKG_CONFIG_PATH" (list "/lib/pkgconfig") (list #$development-profile)) (set-path-environment-variable "GUILE_LOAD_PATH" (list (string-append "/share/guile/site/" (target-guile-effective-version))) (list #$development-profile)) (set-path-environment-variable "GUILE_LOAD_COMPILED_PATH" (list (string-append "/lib/guile/" (target-guile-effective-version) "/site-ccache")) (list #$development-profile)) (invoke "autoreconf" "--verbose" "--install" "--force") (patch-shebang "configure") (invoke "./configure" "CONFIG_SHELL=sh" "SHELL=sh") (invoke "make" "website") (copy-recursively "website" #$output))))) (define-public guile-xapian-website (computed-file "guile-xapian-website" guile-xapian-website-gexp)) guile-xapian