blob: 781a04b506b106543ca721345ce7cb4cee1072b2 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
(define-module (strong-type)
#:use-module (guix build-system cmake)
#:use-module (guix git-download)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix packages))
;; DATA LAYER
(define git-extension ".git")
(define strong-type-description-lines
(list "This tiny library provides a way to wrap an existing type in order to "
"give it additional meaning."))
(define strong-type-github "https://github.com/doom/strong_type")
(define strong-type-hash "021aggcrh92ircxrk8g375czz5njn62h502arn265d672kn05nrq")
(define strong-type-name "strong-type")
(define strong-type-synopsis-lines
(list "C++ implementation of strong types"))
(define strong-type-version "1.0.3")
;; ABSTRACTION LAYER -2
(define strong-type-git
(string-append strong-type-github git-extension))
;; ABSTRACTION LAYER -1
(define strong-type-content-hash
(content-hash (base32 strong-type-hash)))
(define strong-type-git-reference
(git-reference (url strong-type-git)
(commit strong-type-version)))
;; ABSTRACTION LAYER -0
(define get-strong-type-description
(string-concatenate strong-type-description-lines))
(define get-home-page strong-type-github)
(define get-strong-type-name strong-type-name)
(define get-strong-type-origin
(origin (uri strong-type-git-reference)
(method git-fetch)
(hash strong-type-content-hash)))
(define get-strong-type-synopsis
(string-concatenate strong-type-synopsis-lines))
(define get-strong-type-version strong-type-version)
;; SURFACE LAYER
(define-public strong-type
(package (name get-strong-type-name)
(version get-strong-type-version)
(source get-strong-type-origin)
(build-system cmake-build-system)
(synopsis get-strong-type-synopsis)
(description get-strong-type-description)
(license license:expat)
(home-page get-home-page)))
|