#| Copyright (C) 2025 Peter McGoron | | This program 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. | | This program 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 this program. If not, see . |# (define-module (mcgoron guix gauche) #:use-module (guix packages) #:use-module (gnu packages scheme) #:use-module (guix gexp)) (define-public gauche-abi-version (let* ((version (string-split (package-version gauche) #\.)) (major (string->number (car version))) (minor (string->number (list-ref version 1))) (patch (string->number (list-ref version 2)))) (cond ((and (= major 0) (= minor 9) (= patch 10)) "0.97") ((and (= major 0) (= minor 9) (> patch 11)) "0.98") (else (error 'gauche-abi-version "unknown gauche version: patch me!" major minor patch))))) (define-public gauche-lib-dir (string-append "share/gauche-" gauche-abi-version "/site/lib")) ;;; TODO: machine triple (define-public gauche-binlib-dir (string-append "lib/gauche-" gauche-abi-version "/site/x86_64-unknown-linux-gnu")) (define-public gauche-with-path (package (inherit gauche) (name "gauche-with-path") (native-search-paths (list (search-path-specification (variable "GAUCHE_LOAD_PATH") (files (list gauche-lib-dir))) (search-path-specification (variable "GAUCHE_DTNLOAD_PATH") (files (list gauche-lib-dir)))))))