projects/guix·blob python-team · refs

331 lines · 11.2 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2025 Giacomo Leidi <[email protected]>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages elixir-i18n)
20 #:use-module (gnu packages erlang)
21 #:use-module (gnu packages elixir-markup)
22 #:use-module (gnu packages elixir-xyz)
23 #:use-module (guix build-system mix)
24 #:use-module (guix download)
25 #:use-module (guix git-download)
26 #:use-module (guix gexp)
27 #:use-module ((guix licenses)
28 #:prefix license:)
29 #:use-module (guix packages))
30
31(define-public elixir-cldr-utils
32 (package
33 (name "elixir-cldr-utils")
34 (version "2.29.7")
35 (source
36 (origin
37 (method url-fetch)
38 (uri (hexpm-uri "cldr_utils" version))
39 (sha256
40 (base32 "0fm73arksyp3dq65zdznwmxdky7ypiifzscshb9f4d7fgxcwvpab"))))
41 (build-system mix-build-system)
42 (propagated-inputs (list elixir-castore erlang-certifi elixir-decimal))
43 (synopsis
44 "Helpers for @code{ex_cldr}")
45 (description
46 "@code{Map}, @code{Calendar}, @code{Digits}, @code{Decimal}, @code{HTTP},
47@code{Macro}, @code{Math}, and @code{String} helpers for @code{ex_cldr}.")
48 (home-page "https://hexdocs.pm/cldr_utils/")
49 (license license:asl2.0)))
50
51(define-public elixir-digital-token
52 (package
53 (name "elixir-digital-token")
54 (version "2.0.0")
55 (source
56 (origin
57 (method url-fetch)
58 (uri (hexpm-uri "digital_token" version))
59 (sha256
60 (base32 "1kc5ff0mrsr86hy7yb85zv33i5wya974n2jla614la3h4zszzlnb"))))
61 (build-system mix-build-system)
62 (propagated-inputs (list elixir-cldr-utils elixir-jason))
63 (synopsis
64 "ISO 24165 Digital Tokens")
65 (description
66 "Elixir integration for ISO 24165 Digital Tokens (crypto currencies) through the
67DTIF registry data.")
68 (home-page "https://hexdocs.pm/digital_token/")
69 (license license:asl2.0)))
70
71(define-public elixir-ex-cldr-calendars
72 (package
73 (name "elixir-ex-cldr-calendars")
74 (version "2.4.4")
75 (source
76 (origin
77 (method url-fetch)
78 (uri (hexpm-uri "ex_cldr_calendars" version))
79 (sha256
80 (base32 "0s4sn51a4kack2fbc09l5zpj43w8471qq969ni97g75aavn5r8a0"))))
81 (build-system mix-build-system)
82 (native-inputs
83 (list elixir-stream-data))
84 (propagated-inputs
85 (list elixir-calendar-interval
86 elixir-ex-cldr-lists
87 elixir-ex-cldr-numbers
88 elixir-ex-cldr-units
89 elixir-ex-doc
90 elixir-jason))
91 (synopsis
92 "Localized month and week-based calendars")
93 (description
94 "Localized month and week-based calendars and calendar functions based upon CLDR
95data.")
96 (home-page "https://hexdocs.pm/ex_cldr_calendars/")
97 (license license:asl2.0)))
98
99(define-public elixir-ex-cldr-calendars-japanese
100 (package
101 (name "elixir-ex-cldr-calendars-japanese")
102 (version "1.1.0")
103 (source
104 (origin
105 (method url-fetch)
106 (uri (hexpm-uri "ex_cldr_calendars_japanese" version))
107 (sha256
108 (base32 "13c6n5lgbpn3cja5aiik9836ki65syyhcv92acxywr53s6bsnsqc"))))
109 (build-system mix-build-system)
110 (propagated-inputs (list elixir-ex-cldr-calendars))
111 (synopsis "Japanese calendar implementation for Elixir")
112 (description
113 "This package provides an implementation of the Japanese
114(Gregorian-based with Japanese eras) calendar for Elixir.")
115 (home-page "https://hexdocs.pm/ex_cldr_calendars_japanese/")
116 (license license:asl2.0)))
117
118(define-public elixir-ex-cldr-currencies
119 (package
120 (name "elixir-ex-cldr-currencies")
121 (version "2.17.2")
122 (source
123 (origin
124 (method url-fetch)
125 (uri (hexpm-uri "ex_cldr_currencies" version))
126 (sha256
127 (base32 "04h19bvxcx7r8di4svv2vvkqwbqxzfff4c8mk0r6dzm20v0raw3r"))))
128 (build-system mix-build-system)
129 (propagated-inputs (list elixir-ex-cldr elixir-jason))
130 (synopsis
131 "Currency localization data encapsulation function")
132 (description
133 "Currency localization data encapsulation functions for the Common Locale Data
134Repository (CLDR).")
135 (home-page "https://hexdocs.pm/ex_cldr_currencies/")
136 (license license:asl2.0)))
137
138(define-public elixir-ex-cldr-lists
139 (package
140 (name "elixir-ex-cldr-lists")
141 (version "2.12.2")
142 (source
143 (origin
144 (method url-fetch)
145 (uri (hexpm-uri "ex_cldr_lists" version))
146 (sha256
147 (base32 "1s40463m9lxp7xz1s4iy3hk8yyb4vc9hxid2r6h72709cgfbdq0n"))))
148 (build-system mix-build-system)
149 (arguments
150 (list
151 #:phases
152 #~(modify-phases %standard-phases
153 (add-after 'unpack 'override-mix-env
154 (lambda _
155 (symlink (string-append (getcwd) "/config/release.exs")
156 "config/prod.exs"))))))
157 (propagated-inputs (list elixir-ex-cldr-numbers elixir-ex-doc elixir-jason))
158 (synopsis
159 "List formatting functions for @code{ex_cldr}.")
160 (description
161 "List formatting functions for the Common Locale Data Repository (CLDR) package
162@code{ex_cldr}.")
163 (home-page "https://hexdocs.pm/ex_cldr_lists/")
164 (license license:asl2.0)))
165
166(define-public elixir-ex-cldr-locale-display
167 (package
168 (name "elixir-ex-cldr-locale-display")
169 (version "1.7.3")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (hexpm-uri "ex_cldr_locale_display" version))
174 (sha256
175 (base32 "04mjhjhll8v5m349zf4ajz52sqvkk9j4i03rmp2zbbr48lawc84l"))))
176 (build-system mix-build-system)
177 (arguments
178 (list
179 #:phases
180 #~(modify-phases %standard-phases
181 (add-after 'unpack 'override-mix-env
182 (lambda _
183 (symlink (string-append (getcwd) "/config/release.exs")
184 "config/prod.exs"))))))
185 (propagated-inputs
186 (list elixir-ex-cldr
187 elixir-ex-cldr-currencies
188 elixir-ex-cldr-territories
189 elixir-jason))
190 (synopsis
191 "Locale display name presentation")
192 (description
193 "Locale display name presentation for Common Locale Data Repository (CLDR)
194locales.")
195 (home-page "https://hexdocs.pm/ex_cldr_locale_display/")
196 (license license:asl2.0)))
197
198(define-public elixir-ex-cldr-minimal
199 (package
200 (name "elixir-ex-cldr-minimal")
201 (version "2.47.5")
202 (source
203 (origin
204 (method url-fetch)
205 (uri (hexpm-uri "ex_cldr" version))
206 (sha256
207 (base32 "15bmfxk4adarzvjw7iy57dpksw7wv01zsnknx60q79kgjr5f2dw6"))))
208 (build-system mix-build-system)
209 (native-inputs
210 (list elixir-stream-data))
211 (propagated-inputs
212 (list elixir-cldr-utils elixir-decimal elixir-gettext elixir-jason
213 elixir-nimble-parsec))
214 (synopsis
215 "Common Locale Data Repository (CLDR) functions for Elixir")
216 (description
217 "Common Locale Data Repository (CLDR) functions for Elixir to localize and format
218numbers, dates, lists, messages, languages, territories and units with support
219for over 700 locales for internationalized (i18n) and localized (L10N)
220applications.")
221 (home-page "https://hexdocs.pm/ex_cldr/")
222 (license license:asl2.0)))
223
224(define-public elixir-ex-cldr-numbers
225 (package
226 (name "elixir-ex-cldr-numbers")
227 (version "2.38.3")
228 (source
229 (origin
230 (method url-fetch)
231 (uri (hexpm-uri "ex_cldr_numbers" version))
232 (sha256
233 (base32 "0g77ixz2iqq1srx0908966m7cgax84yh4rw9mrw6vij74zpqf39s"))))
234 (build-system mix-build-system)
235 (propagated-inputs
236 (list elixir-decimal elixir-digital-token elixir-ex-cldr
237 elixir-ex-cldr-currencies elixir-jason))
238 (synopsis
239 "Number and currency localization and formatting")
240 (description
241 "Number and currency localization and formatting functions for the Common Locale
242Data Repository (CLDR).")
243 (home-page "https://hexdocs.pm/ex_cldr_numbers/")
244 (license license:asl2.0)))
245
246(define-public elixir-ex-cldr-territories
247 (package
248 (name "elixir-ex-cldr-territories")
249 (version "2.12.0")
250 (source
251 (origin
252 (method url-fetch)
253 (uri (hexpm-uri "ex_cldr_territories" version))
254 (sha256
255 (base32 "0s7pl6kg6v6y1r0v38z683shjd7mv2hddvld4v9sxsqxrhyxsayi"))))
256 (build-system mix-build-system)
257 (arguments
258 (list
259 #:phases
260 #~(modify-phases %standard-phases
261 (add-after 'unpack 'override-mix-env
262 (lambda _
263 (symlink (string-append (getcwd) "/config/release.exs")
264 "config/prod.exs"))))))
265 (propagated-inputs (list elixir-ex-cldr elixir-jason))
266 (synopsis
267 "Terrritory formatting functions")
268 (description
269 "Terrritory formatting functions for the Common Locale Data Repository (CLDR)
270package @code{ex_cldr}.")
271 (home-page "https://hexdocs.pm/ex_cldr_territories/")
272 (license license:expat)))
273
274(define-public elixir-ex-cldr-units
275 (package
276 (name "elixir-ex-cldr-units")
277 (version "3.20.5")
278 (source
279 (origin
280 (method url-fetch)
281 (uri (hexpm-uri "ex_cldr_units" version))
282 (sha256
283 (base32 "15b9vdva04hgn83sp4rvb42gypn9zg27qdjqfgg2f4f5s8hrzr2i"))))
284 (build-system mix-build-system)
285 (arguments
286 (list
287 #:phases
288 #~(modify-phases %standard-phases
289 (add-after 'unpack 'override-mix-env
290 (lambda _
291 (symlink (string-append (getcwd) "/config/release.exs")
292 "config/prod.exs"))))))
293 (propagated-inputs
294 (list elixir-cldr-utils
295 elixir-decimal
296 elixir-ex-cldr-lists
297 elixir-ex-cldr-numbers
298 elixir-ex-doc
299 elixir-jason))
300 (synopsis
301 "Unit formatting (volume, area, length), conversion and arithmetic")
302 (description
303 "Unit formatting (volume, area, length), conversion and arithmetic functions
304based upon the Common Locale Data Repository (CLDR).")
305 (home-page "https://hexdocs.pm/ex_cldr_units/")
306 (license license:asl2.0)))
307
308(define-public elixir-ex-cldr
309 (package
310 (inherit elixir-ex-cldr-minimal)
311 (name "elixir-ex-cldr")
312 (version "2.47.5")
313 (source
314 (origin
315 ;; The hex.pm package ships only the en locale.
316 (method git-fetch)
317 (uri (git-reference
318 (url "https://github.com/elixir-cldr/cldr.git")
319 (commit (string-append "v" version))))
320 (file-name (git-file-name name version))
321 (sha256
322 (base32 "0ca6v4gnql7s1pqwz60rsaapwfbfirl6pq5d9ccj667jr2znwrcw"))))
323 (arguments
324 (list
325 #:phases
326 #~(modify-phases %standard-phases
327 (add-after 'unpack 'disable-failing-tests
328 ;; test That locales with no version are replaced with current version
329 ;; test That locales with an old version are replaced with current version
330 (lambda _
331 (for-each delete-file '("test/locale_upgrade_test.exs")))))))))