guix-cantrips/.guix/modules/guix-cantrips-package.scm

90 lines
3.1 KiB
Scheme

(define-module (guix-cantrips-package)
#:use-module (guix)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages texinfo))
(define vcs-file?
(or (git-predicate "../..")
(const #t)))
(define-public guix-cantrips
(package
(name "guix-cantrips")
(version "0.1-src")
(source (local-file "../.." "guix-cantrips"
#:recursive? #t
#:select? vcs-file?))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list "GUILE_AUTO_COMPILE=0")
#:phases
#~(modify-phases %standard-phases
(delete 'strip)
(add-before 'configure 'hall-build
(lambda _
(system* "hall" "build" "-x")))
(add-after 'hall-build 'autoreconf
(lambda _
(system* "autoreconf" "-vif")))
(add-after 'install 'hall-wrap-binaries
(lambda _
(use-modules (ice-9 ftw))
(define (compiled-dir out version)
(string-append out "/lib/guile/"
version
"/site-ccache"))
(define (uncompiled-dir out version)
(string-append out
"/share/guile/site"
(if (string-null? version) ""
"/")
version))
(define (dep-path env modules path)
(list env ":"
'prefix
(cons modules
(map (lambda (input)
(string-append input path))
(list #$guile-config
#$guile-lib
#$guile-simple-iterators)))))
(define bin (string-append #$output "/bin/"))
(define site (uncompiled-dir #$output ""))
(define version (caddr (scandir site)))
(wrap-program (string-append bin "guix-cantrips")
(dep-path
"GUILE_LOAD_PATH"
(uncompiled-dir #$output version)
(uncompiled-dir "" version))
(dep-path
"GUILE_LOAD_COMPILED_PATH"
(compiled-dir #$output version)
(compiled-dir "" version))))))))
(native-inputs (list autoconf automake pkg-config texinfo guile-hall))
(inputs (list guile-3.0))
(propagated-inputs (list guix
guile-config
tar
unzip))
(synopsis "")
(description "")
(home-page "")
(license license:gpl3+)))
guix-cantrips