blob: f959db19f068176d3d3efcb72d1b115a48c3677c (
plain) (
tree)
|
|
(define-module (xyz euandreh packages euandreh)
#:use-module (json)
#:use-module ((ice-9 textual-ports) #:prefix textual-ports:)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (guix transformations)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix store)
#:use-module (guix build-system gnu))
(define (euandreh-package name version-prefix version check-inputs hash)
(package
(name name)
(version version)
(source (origin
(method url-fetch)
(uri (string-append
"https://git.euandreh.xyz/"
name
"/snapshot/"
name
"-"
version-prefix
version
".tar.gz"))
(hash hash)))
(inputs
(map (lambda (name)
(list name (specification->package name)))
(vector->list check-inputs)))
(build-system gnu-build-system)
;; This shouldn't be necessary, but
;; the `gnu-build-system' doesn't provide a c99 variable
(arguments `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))))
(synopsis (file-append source "/description"))
(description (file-append source "/long-description"))
(home-page (string-append "https://" name ".euandreh.xyz"))
(license license:agpl3+)))
(let* ((json-file (canonicalize-path
(string-append (current-source-directory)
"/../../../../packages.json")))
(packages (call-with-input-file json-file json->scm)))
(map (lambda (package)
(euandreh-package
(assoc-ref package "name")
(assoc-ref package "version-prefix")
(assoc-ref package "version")
(assoc-ref package "check-inputs")
(content-hash (assoc-ref package "tarbal-sha256")))) ; FIXME
(vector->list (assoc-ref packages "packages"))))
;; FIXME: the define-public isn't being created
(define-public fallible
(euandreh-package "fallible" "" "4498c9f46de83f9bdbd053a27e855f37a2df0dd2" #("valgrind") (content-hash #f)))
fallible
|