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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
| | (define-module (gnu packages adacore)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages python))
(define-public python2-langkit
(let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f")
(revision "0"))
(package
(name "python2-langkit")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AdaCore/langkit.git")
(commit commit)))
(sha256
(base32
"1abqgw2p8pb1pm54my5kkbbixfhc6l0bwajdv1xlzyrh31xki3wx"))
(file-name (string-append name "-" version "-checkout"))))
(build-system python-build-system)
(propagated-inputs
`(("python2-docutils" ,python2-docutils)
("python2-enum34" ,python2-enum34)
("python2-funcy" ,python2-funcy)
("python2-mako" ,python2-mako)))
(arguments
`(#:python ,python-2
#:tests? #f)) ; Tests would requite gprbuild (Ada).
(synopsis "Semantic analysis tool generator in Python")
(description "@code{Langkit} is a tool whose purpose is to make it easy
to create syntactic and semantic analysis engines. Write a language
specification in our Python DSL and Langkit will generate for you an
Ada library with bindings for the C and Python programming languages.")
(home-page "https://github.com/AdaCore/langkit/")
(license license:gpl3+)))) ; and gcc runtime library exception
;; Note: non-Ada
(define-public python2-quex-0.67.3
(package
(name "python2-quex")
(version "0.67.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/quex/files/HISTORY/0.67/quex-" version ".zip/download"))
(sha256
(base32
"14gv8ll3ipqv4kyc2xiy891nrmjl4ic823zfyx8hassagyclyppw"))
(file-name (string-append name "-" version ".zip"))))
(build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)))
(arguments
`(#:python ,python-2
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share/quex (string-append out "/share/quex"))
(bin (string-append out "/bin")))
(copy-recursively "." share/quex)
(mkdir-p bin)
(symlink (string-append share/quex "/quex-exe.py")
(string-append bin "/quex"))
#t))))))
(native-search-paths
(list (search-path-specification
(variable "QUEX_PATH")
(files '("share/quex")))))
(home-page "http://quex.sourceforge.net/")
(synopsis "Lexical analyzer generator in Python")
(description "@code{quex} is a lexical analyzer generator in Python.")
(license license:lgpl2.1+))) ; Non-military
(define-public python2-quex
(package (inherit python2-quex-0.67.3)
(name "python2-quex")
(version "0.68.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/quex/files/DOWNLOAD/quex-" version ".tar.gz/download"))
(sha256
(base32
"0svc9nla3b9145d6b7fb9dizx412l3difzqw0ilh9lz52nsixw8j"))
(file-name (string-append name "-" version ".zip"))))))
(define-public python2-libadalang
(let ((commit "9b205e9bacdd50a68117727332e16fbef5f6ac49")
(revision "0"))
(package
(name "python2-libadalang")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AdaCore/libadalang.git")
(commit commit)))
(sha256
(base32
"06hsnzj2syqpq2yhg1bb0zil7ydbyqkdmkjbf8j9b5sdgkyh5xrp"))
(file-name (string-append name "-" version "-checkout"))))
(build-system python-build-system)
(native-inputs
`(("python2-langkit" ,python2-langkit)
("python2-quex" ,python2-quex-0.67.3)))
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(invoke "python2" "ada/manage.py" "generate")
(invoke "python2" "ada/manage.py" "build")))
(replace 'check
(lambda _
(invoke "python2" "ada/manage.py" "test")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(invoke "python2" "ada/manage.py" "install" out)))))))
(synopsis "Semantic Analysis for Ada in Python")
(description "@code{libadalang} provides a high-performance semantic
engine for the Ada programming language.")
(home-page "https://github.com/AdaCore/libadalang")
(license license:gpl3)))) ; and gcc runtime gcc lib exception
|