projects/guix·blob librewolf-updates · refs

1234 lines · 45.6 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015-2018 Ben Woodcroft <[email protected]>
3;;; Copyright © 2015 David Thompson <[email protected]>
4;;; Copyright © 2015 Pjotr Prins <[email protected]>
5;;; Copyright © 2015, 2019 Ricardo Wurmus <[email protected]>
6;;; Copyright © 2016 Muriithi Frederick Muriuki <[email protected]>
7;;; Copyright © 2017-2020, 2023 Christopher Baines <[email protected]>
8;;; Copyright © 2017, 2021 Efraim Flashner <[email protected]>
9;;; Copyright © 2017 nikita <[email protected]>
10;;; Copyright © 2018 Danny Milosavljevic <[email protected]>
11;;; Copyright © 2018 Julien Lepiller <[email protected]>
12;;; Copyright © 2019 Björn Höfling <[email protected]>
13;;; Copyright © 2019 Brian Leung <[email protected]>
14;;; Copyright © 2019 Collin J. Doering <[email protected]>
15;;; Copyright © 2019 Jelle Licht <[email protected]>
16;;; Copyright © 2019 Mikhail Kirillov <[email protected]>
17;;; Copyright © 2020 Holger Peters <[email protected]>
18;;; Copyright © 2020, 2021, 2022 Marius Bakke <[email protected]>
19;;; Copyright © 2020, 2023 Maxim Cournoyer <[email protected]>
20;;; Copyright © 2020 Nicolas Goaziou <[email protected]>
21;;; Copyright © 2021 EuAndreh <[email protected]>
22;;; Copyright © 2021 Giacomo Leidi <[email protected]>
23;;; Copyright © 2021, 2026 Ludovic Courtès <[email protected]>
24;;; Copyright © 2021 Mathieu Othacehe <[email protected]>
25;;; Copyright © 2022, 2024 Danny Milosavljevic <[email protected]>
26;;; Copyright © 2022 Maxime Devos <[email protected]>
27;;; Copyright © 2022 Philip McGrath <[email protected]>
28;;; Copyright © 2022 Stephen Paul Weber <[email protected]>
29;;; Copyright © 2022 Taiju HIGASHI <[email protected]>
30;;; Copyright © 2022 Tom Fitzhenry <[email protected]>
31;;; Copyright © 2023, 2025 gemmaro <[email protected]>
32;;; Copyright © 2023 Hartmut Goebel <[email protected]>
33;;; Copyright © 2023 Yovan Naumovski <[email protected]>
34;;; Copyright © 2025 Nicolas Graves <[email protected]>
35;;;
36;;; This file is part of GNU Guix.
37;;;
38;;; GNU Guix is free software; you can redistribute it and/or modify it
39;;; under the terms of the GNU General Public License as published by
40;;; the Free Software Foundation; either version 3 of the License, or (at
41;;; your option) any later version.
42;;;
43;;; GNU Guix is distributed in the hope that it will be useful, but
44;;; WITHOUT ANY WARRANTY; without even the implied warranty of
45;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
46;;; GNU General Public License for more details.
47;;;
48;;; You should have received a copy of the GNU General Public License
49;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
50
51(define-module (gnu packages ruby-check)
52 #:use-module ((guix licenses) #:prefix license:)
53 #:use-module (guix build-system ruby)
54 #:use-module (guix download)
55 #:use-module (guix gexp)
56 #:use-module (guix git-download)
57 #:use-module (guix packages)
58 #:use-module (guix utils)
59 #:use-module (gnu packages)
60 #:use-module (gnu packages rails)
61 #:use-module (gnu packages ruby)
62 #:use-module (gnu packages ruby-xyz))
63
64;;; Commentary:
65;;;
66;;; Please: Try to add new module packages in alphabetic order.
67;;;
68;;; Code:
69
70
71;; Bundler is yet another source of circular dependencies, so we must disable
72;; its test suite as well.
73(define-public bundler
74 (package
75 (name "bundler")
76 (version "2.6.9")
77 (source (origin
78 (method url-fetch)
79 (uri (rubygems-uri "bundler" version))
80 (sha256
81 (base32
82 "1sy9alf2pqjpkjwmkfwax242bxjc1c91xk36cwcf2nh5ppzpamm2"))))
83 (build-system ruby-build-system)
84 (arguments
85 '(#:tests? #f)) ; avoid dependency cycles
86 (synopsis "Ruby gem bundler")
87 (description "Bundler automatically downloads and installs a list of gems
88specified in a \"Gemfile\", as well as their dependencies.")
89 (home-page "https://bundler.io/")
90 (license license:expat)))
91
92(define-public ruby-appraisal
93 (package
94 (name "ruby-appraisal")
95 (version "2.5.0")
96 (source
97 (origin
98 (method git-fetch)
99 (uri (git-reference
100 (url "https://github.com/thoughtbot/appraisal")
101 (commit (string-append "v" version))))
102 (file-name (git-file-name name version))
103 (sha256
104 (base32 "19lv42j1a5slixldpfyz2id999aqkmg2kiibd7700ysiv4x70ayw"))))
105 (build-system ruby-build-system)
106 (arguments
107 (list
108 #:test-target "spec"
109 #:phases
110 #~(modify-phases %standard-phases
111 (add-before 'build 'loosen-requirements
112 (lambda _
113 (substitute* "Gemfile"
114 ((".*gem \"thor\",.*")
115 "gem \"thor\", \">= 0.14\""))))
116 (add-before 'check 'delete-broken-tests
117 ;; These tests make various bundler calls that don't respect
118 ;; the build environment
119 (lambda _
120 (for-each delete-file
121 (list
122 "./spec/acceptance/appraisals_file_bundler_dsl_compatibility_spec.rb"
123 "./spec/appraisal/appraisal_file_spec.rb"
124 "./spec/acceptance/bundle_without_spec.rb"
125 "./spec/acceptance/bundle_with_custom_path_spec.rb"
126 "./spec/acceptance/cli/clean_spec.rb"
127 "./spec/acceptance/cli/generate_spec.rb"
128 "./spec/acceptance/cli/help_spec.rb"
129 "./spec/acceptance/cli/install_spec.rb"
130 "./spec/acceptance/cli/list_spec.rb"
131 "./spec/acceptance/cli/run_spec.rb"
132 "./spec/acceptance/cli/update_spec.rb"
133 "./spec/acceptance/cli/version_spec.rb"
134 "./spec/acceptance/cli/with_no_arguments_spec.rb"
135 "./spec/acceptance/gemfile_dsl_compatibility_spec.rb"
136 "./spec/acceptance/gemspec_spec.rb")))))))
137 (native-inputs (list bundler ruby-activesupport ruby-rspec))
138 (propagated-inputs (list ruby-rake ruby-thor))
139 (synopsis "Tests your library against different versions of dependencies")
140 (description
141 "Appraisal integrates with bundler and rake to test your
142library against different versions of dependencies in repeatable scenarios
143called \"appraisals.\" Appraisal is designed to make it easy to check for
144regressions in your library without interfering with day-to-day development
145using Bundler.")
146 (home-page "https://github.com/thoughtbot/appraisal")
147 (license license:expat)))
148
149(define-public ruby-builder
150 (package
151 (name "ruby-builder")
152 (version "3.3.0")
153 (source (origin
154 (method url-fetch)
155 (uri (rubygems-uri "builder" version))
156 (sha256
157 (base32
158 "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"))))
159 (build-system ruby-build-system)
160 (synopsis "Ruby library to create structured data")
161 (description "Builder provides a number of builder objects that make it
162easy to create structured data. Currently the following builder objects are
163supported: XML Markup and XML Events.")
164 (home-page "https://github.com/rails/builder")
165 (license license:expat)))
166
167(define-public ruby-cucumber-ci-environment
168 (package
169 (name "ruby-cucumber-ci-environment")
170 (version "9.1.0")
171 (source (origin
172 (method url-fetch)
173 (uri (rubygems-uri "cucumber-ci-environment" version))
174 (sha256
175 (base32
176 "1nmn2hfrjlbazgcryr3hwvsa5v4csfbjqxb4q7wbjhaxl9xxn0k7"))))
177 (build-system ruby-build-system)
178 (arguments (list #:phases #~(modify-phases %standard-phases
179 (replace 'check
180 (lambda* (#:key tests? #:allow-other-keys)
181 (when tests?
182 (invoke "rspec")))))))
183 (native-inputs (list ruby-rspec))
184 (synopsis "Detect CI Environment from environment variables")
185 (description "This is a Ruby utility library for Cucumber that detects a
186CI environment from environment variables.")
187 (home-page "https://github.com/cucumber/ci-environment")
188 (license license:expat)))
189
190(define-public ruby-cucumber-compatibility-kit
191 (package
192 (name "ruby-cucumber-compatibility-kit")
193 (version "11.2.0")
194 (source (origin
195 (method url-fetch)
196 (uri (rubygems-uri "cucumber-compatibility-kit" version))
197 (sha256
198 (base32
199 "17c8zx0yn68rcpfbw4nb1gzvh9fzpwsi1y0qivb99ahdlgzcdp8q"))))
200 (build-system ruby-build-system)
201 (arguments (list #:phases #~(modify-phases %standard-phases
202 (replace 'check
203 (lambda* (#:key tests? #:allow-other-keys)
204 (when tests?
205 (invoke "rspec")))))))
206 (propagated-inputs (list ruby-cucumber-messages ruby-rake ruby-rspec))
207 (synopsis "Cucumber compatibility verification utility")
208 (description "The Cucumber Compatibility Kit (CCK) aims to validate a
209Cucumber implementation's support for the Cucumber Messages protocol.")
210 (home-page "https://github.com/cucumber/compatibility-kit")
211 (license license:expat)))
212
213;;; Variant package to break a cycle with ruby-cucumber-messages.
214(define-public ruby-cucumber-compatibility-kit-bootstrap
215 (package/inherit ruby-cucumber-compatibility-kit
216 (arguments (list #:tests? #f))
217 (propagated-inputs (modify-inputs (package-propagated-inputs
218 ruby-cucumber-compatibility-kit)
219 (delete "ruby-cucumber-messages")))
220 (properties '((hidden? . #t)))))
221
222(define-public ruby-cucumber-core
223 (package
224 (name "ruby-cucumber-core")
225 (version "11.1.0")
226 (source
227 (origin
228 (method git-fetch)
229 (uri (git-reference
230 (url "https://github.com/cucumber/cucumber-ruby-core")
231 (commit (string-append "v" version))))
232 (file-name (git-file-name name version))
233 (sha256
234 (base32
235 "0lf2inlam0951djc2qz81x0nkffmw2dpj44iadw1fw31m7r8wqvh"))))
236 (build-system ruby-build-system)
237 (arguments (list #:test-target "spec"
238 #:phases
239 #~(modify-phases %standard-phases
240 (add-after 'extract-gemspec 'relax-version-requirements
241 (lambda _
242 (substitute* "cucumber-core.gemspec"
243 (("'cucumber-tag-expressions',.*")
244 "'cucumber-tag-expressions', '>=4.1.0'\n")))))))
245 (native-inputs
246 (list ruby-rspec
247 ruby-rubocop/minimal
248 ruby-simplecov
249 ruby-unindent))
250 (propagated-inputs
251 (list ruby-cucumber-gherkin
252 ruby-cucumber-messages
253 ruby-cucumber-tag-expressions))
254 (synopsis "Core library for the Cucumber BDD app")
255 (description "Cucumber is a tool for running automated tests
256written in plain language. Because they're written in plain language,
257they can be read by anyone on your team. Because they can be read by
258anyone, you can use them to help improve communication, collaboration
259and trust on your team.")
260 (home-page "https://cucumber.io/")
261 (license license:expat)))
262
263(define-public ruby-cucumber-expressions
264 (package
265 (name "ruby-cucumber-expressions")
266 (version "16.1.2")
267 (source
268 (origin
269 (method git-fetch)
270 (uri (git-reference
271 (url "https://github.com/cucumber/cucumber-expressions")
272 (commit (string-append "v" version))))
273 (file-name (git-file-name name version))
274 (sha256
275 (base32
276 "1dhq88k9x2x8svam5bc7rrcd166fqymda8wxryqkbkffhnzla0id"))))
277 (build-system ruby-build-system)
278 (arguments
279 (list #:test-target "spec"
280 #:phases #~(modify-phases %standard-phases
281 (add-after 'unpack 'chdir
282 (lambda _
283 (chdir "ruby"))))))
284 (native-inputs (list ruby-rspec ruby-simplecov))
285 (synopsis "Simpler alternative to Regular Expressions")
286 (description "Cucumber Expressions offer similar functionality to Regular
287Expressions, with a syntax that is easier to read and write. Cucumber
288Expressions are extensible with parameter types.")
289 (home-page "https://github.com/cucumber/cucumber-expressions/")
290 (license license:expat)))
291
292(define-public ruby-cucumber-gherkin
293 (package
294 (name "ruby-cucumber-gherkin")
295 (version "26.1.0")
296 (source (origin
297 (method git-fetch)
298 (uri (git-reference
299 (url "https://github.com/cucumber/gherkin")
300 (commit (string-append "v" version))))
301 (file-name (git-file-name name version))
302 (sha256
303 (base32
304 "1rsannfcg5rqh5a3d3paw10kf6mmqjrgbq3k235px4swbyqysmgn"))))
305 (build-system ruby-build-system)
306 (arguments (list #:test-target "spec"
307 #:phases #~(modify-phases %standard-phases
308 (add-after 'unpack 'chdir
309 (lambda _
310 (chdir "ruby"))))))
311 (native-inputs (list ruby-rspec))
312 (propagated-inputs (list ruby-cucumber-messages))
313 (synopsis "Gherkin parser for Ruby")
314 (description "Gherkin is a parser and compiler for the Gherkin language.
315It is intended be used by all Cucumber implementations to parse
316@file{.feature} files.")
317 (home-page "https://github.com/cucumber/gherkin")
318 (license license:expat)))
319
320(define-public ruby-cucumber-html-formatter
321 (package
322 (name "ruby-cucumber-html-formatter")
323 (version "20.2.1")
324 (source
325 (origin
326 (method url-fetch)
327 (uri (rubygems-uri "cucumber-html-formatter" version))
328 (sha256
329 (base32
330 "0c7r9mfmph4c6yzc7y3dkr92rhwvpyksr0mdhpqp67xmmr8z1br4"))))
331 (build-system ruby-build-system)
332 (arguments
333 (list #:phases #~(modify-phases %standard-phases
334 (add-after 'extract-gemspec 'relax-requirements
335 (lambda _
336 (substitute* ".gemspec"
337 (("~> 18.0") "~> 21.0")))) ;cucumber-messages
338 (replace 'check
339 (lambda* (#:key tests? #:allow-other-keys)
340 (when tests?
341 (invoke "rspec")))))))
342 (native-inputs (list ruby-cucumber-compatibility-kit ruby-rspec))
343 (propagated-inputs (list ruby-cucumber-messages))
344 (synopsis "HTML formatter for Cucumber")
345 (description "Cucumber HTML Formatter produces a HTML report for Cucumber
346runs. It is built on top of cucumber-react and works with any Cucumber
347implementation with a protocol buffer formatter that outputs Cucumber
348messages.")
349 (home-page "https://github.com/cucumber/html-formatter")
350 (license license:expat)))
351
352(define-public ruby-cucumber-messages
353 (package
354 (name "ruby-cucumber-messages")
355 (version "21.0.1")
356 (source (origin
357 (method url-fetch)
358 (uri (rubygems-uri "cucumber-messages" version))
359 (sha256
360 (base32
361 "0482a63y7my0arn2bv208g401dq8525f0gwhnwaa11mhv6ph0q5i"))))
362 (build-system ruby-build-system)
363 (arguments
364 (list #:phases
365 #~(modify-phases %standard-phases
366 ;; The test suite requires the gem to be installed, so move it
367 ;; after the install phase.
368 (delete 'check)
369 (add-after 'install 'check
370 (lambda* (#:key tests? #:allow-other-keys)
371 (setenv "GEM_PATH" (string-append
372 (getenv "GEM_PATH") ":"
373 #$output "/lib/ruby/vendor_ruby"))
374 (when tests?
375 (invoke "rspec")))))))
376 (native-inputs
377 (list ruby-cucumber-compatibility-kit-bootstrap ruby-rspec))
378 (home-page "https://github.com/cucumber/messages/")
379 (synopsis "Cucumber Messages for Ruby (Protocol Buffers)")
380 (description "Cucumber Messages for Ruby is a library which allows
381serialization and deserialization of the protocol buffer messages used in
382Cucumber.")
383 (license license:expat)))
384
385(define-public ruby-cucumber-tag-expressions
386 (package
387 (name "ruby-cucumber-tag-expressions")
388 (version "5.0.1")
389 (source
390 (origin
391 (method git-fetch)
392 (uri (git-reference
393 (url "https://github.com/cucumber/tag-expressions")
394 (commit (string-append "v" version))))
395 (file-name (git-file-name name version))
396 (sha256
397 (base32
398 "1ziq30szn8m5y29hsdpx4dn1a8sy29h01nvcldm8nr1mx4b7dj1w"))))
399 (build-system ruby-build-system)
400 (arguments
401 (list #:test-target "spec"
402 #:phases #~(modify-phases %standard-phases
403 (add-after 'unpack 'chdir
404 (lambda _
405 (chdir "ruby"))))))
406 (native-inputs (list ruby-rspec))
407 (synopsis "Cucumber tag expressions for Ruby")
408 (description "Cucumber tag expression parser for Ruby. A tag expression
409is an infix boolean expression used by Cucumber.")
410 (home-page "https://github.com/cucumber/tag-expressions")
411 (license license:expat)))
412
413(define-public ruby-cucumber-wire
414 (package
415 (name "ruby-cucumber-wire")
416 (version "6.2.1")
417 (source
418 (origin
419 (method url-fetch)
420 (uri (rubygems-uri "cucumber-wire" version))
421 (sha256
422 (base32
423 "1pmydrh9lcckj7p0cn67jw7msxdkgr9zir86cs19h3mf2zlcv7b9"))))
424 (build-system ruby-build-system)
425 (arguments
426 (list #:tests? #f)) ;tests use cucumber, causing a cycle
427 (propagated-inputs
428 (list ruby-cucumber-core ruby-cucumber-expressions
429 ruby-cucumber-messages))
430 (synopsis "Cucumber wire protocol plugin")
431 (description "Cucumber's wire protocol allows step definitions to be
432implemented and invoked on any platform.")
433 (home-page "https://github.com/cucumber/cucumber-ruby-wire")
434 (license license:expat)))
435
436(define-public ruby-diff-lcs
437 (package
438 (name "ruby-diff-lcs")
439 (version "1.3")
440 (source (origin
441 (method url-fetch)
442 (uri (rubygems-uri "diff-lcs" version))
443 (sha256
444 (base32
445 "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza"))))
446 (build-system ruby-build-system)
447 (arguments
448 '(#:tests? #f)) ; avoid dependency cycles
449 (synopsis "Compute the difference between two Enumerable sequences")
450 (description "Diff::LCS computes the difference between two Enumerable
451sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm.
452It includes utilities to create a simple HTML diff output format and a
453standard diff-like tool.")
454 (home-page "https://github.com/halostatue/diff-lcs")
455 (license license:expat)))
456
457(define-public ruby-docile
458 (package
459 (name "ruby-docile")
460 (version "1.1.5")
461 (source
462 (origin
463 (method url-fetch)
464 (uri (rubygems-uri "docile" version))
465 (sha256
466 (base32
467 "0m8j31whq7bm5ljgmsrlfkiqvacrw6iz9wq10r3gwrv5785y8gjx"))))
468 (build-system ruby-build-system)
469 (arguments
470 '(#:tests? #f)) ; needs github-markup, among others
471 (synopsis "Ruby EDSL helper library")
472 (description "Docile is a Ruby library that provides an interface for
473creating embedded domain specific languages (EDSLs) that manipulate existing
474Ruby classes.")
475 (home-page "https://ms-ati.github.io/docile/")
476 (license license:expat)))
477
478(define-public ruby-fivemat
479 (package
480 (name "ruby-fivemat")
481 (version "1.3.7")
482 (source
483 (origin
484 (method url-fetch)
485 (uri (rubygems-uri "fivemat" version))
486 (sha256
487 (base32
488 "0pzlycasvwmg4bbx7plllpqnhd9zlmmff8l2w3yii86nrm2nvf9n"))))
489 (build-system ruby-build-system)
490 (arguments
491 `(#:tests? #f)) ; no tests
492 (synopsis "Each test file given its own line of dots")
493 (description
494 "Fivemat is a MiniTest/RSpec/Cucumber formatter that gives each test file
495its own line of dots during testing. It aims to provide test output that is
496neither too verbose nor too minimal.")
497 (home-page "https://github.com/tpope/fivemat")
498 (license license:expat)))
499
500(define-public ruby-given-core
501 (package
502 (name "ruby-given-core")
503 (version "3.8.2")
504 (source
505 (origin
506 (method url-fetch)
507 (uri (rubygems-uri "given_core" version))
508 (sha256
509 (base32
510 "0w1pyhgb2am7c267s8v06dpd9qhmsk2x4hfr2aq8l8lh49ma227s"))))
511 (build-system ruby-build-system)
512 (arguments '(#:tests? #f)) ;no test suite for the core package
513 (propagated-inputs
514 (list ruby-sorcerer))
515 (synopsis "Core abstractions used by rspec-given and minitest-given")
516 (description "Given_core is the basic functionality behind rspec-given and
517minitest-given, extensions that allow the use of Given/When/Then terminology
518when defining specifications.")
519 (home-page "https://github.com/rspec-given/rspec-given")
520 (license license:expat)))
521
522(define-public ruby-hoe
523 (package
524 (name "ruby-hoe")
525 (version "4.2.2")
526 (source (origin
527 (method url-fetch)
528 (uri (rubygems-uri "hoe" version))
529 (sha256
530 (base32
531 "1rhj1zs02mpdw6f4fh3mpfmj0p5pfar7rfxm758pk7l931mm8pyn"))))
532 (build-system ruby-build-system)
533 (arguments
534 (list
535 ;; Circular dependency with minitest
536 #:tests? #f))
537 (synopsis "Ruby project management helper")
538 (description
539 "Hoe is a rake/rubygems helper for project Rakefiles. It helps manage,
540maintain, and release projects and includes a dynamic plug-in system allowing
541for easy extensibility. Hoe ships with plug-ins for all the usual project
542tasks including rdoc generation, testing, packaging, deployment, and
543announcement.")
544 (home-page "https://www.zenspider.com/projects/hoe.html")
545 (license license:expat)))
546
547(define-public ruby-hoe-3
548 (package
549 (inherit ruby-hoe)
550 (version "3.26.0")
551 (source (origin
552 (method url-fetch)
553 (uri (rubygems-uri "hoe" version))
554 (sha256
555 (base32
556 "02vmphnfzna1dbb1l5nczcvlvvsg4flr26bdhmvdyf447bpswa63"))))))
557
558(define-public ruby-json
559 (package
560 (name "ruby-json")
561 (version "2.18.1")
562 (source
563 (origin
564 (method url-fetch)
565 (uri (rubygems-uri "json" version))
566 (sha256
567 (base32
568 "11prr7nrxh1y4rfsqa51gy4ixx63r18cz9mdnmk0938va1ajf4gy"))))
569 (build-system ruby-build-system)
570 (arguments '(#:tests? #f)) ; dependency cycle with sdoc
571 (synopsis "JSON library for Ruby")
572 (description "This Ruby library provides a JSON implementation written as
573a native C extension.")
574 (home-page "https://docs.ruby-lang.org/en/master/JSON.html")
575 (license (list license:ruby license:gpl2)))) ; GPL2 only
576
577(define-public ruby-mime-types
578 (package
579 (name "ruby-mime-types")
580 (version "3.4.1")
581 (source
582 (origin
583 (method url-fetch)
584 (uri (rubygems-uri "mime-types" version))
585 (sha256
586 (base32
587 "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb"))))
588 (build-system ruby-build-system)
589 (propagated-inputs
590 (list ruby-mime-types-data))
591 (native-inputs
592 (list ruby-hoe
593 ruby-fivemat
594 ruby-minitest-focus
595 ruby-minitest-bonus-assertions
596 ruby-minitest-hooks))
597 (synopsis "Library and registry for MIME content type definitions")
598 (description "The mime-types library provides a library and registry for
599information about Multipurpose Internet Mail Extensions (MIME) content type
600definitions. It can be used to determine defined filename extensions for MIME
601types, or to use filename extensions to look up the likely MIME type
602definitions.")
603 (home-page "https://github.com/mime-types/ruby-mime-types")
604 (license license:expat)))
605
606(define-public ruby-mime-types-data
607 (package
608 (name "ruby-mime-types-data")
609 (version "3.2016.0521")
610 (source
611 (origin
612 (method url-fetch)
613 (uri (rubygems-uri "mime-types-data" version))
614 (sha256
615 (base32
616 "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm"))))
617 (build-system ruby-build-system)
618 (native-inputs
619 (list ruby-hoe))
620 (synopsis "Registry for information about MIME media type definitions")
621 (description
622 "@code{mime-types-data} provides a registry for information about
623Multipurpose Internet Mail Extensions (MIME) media type definitions. It can
624be used with the Ruby mime-types library or other software to determine
625defined filename extensions for MIME types, or to use filename extensions to
626look up the likely MIME type definitions.")
627 (home-page "https://github.com/mime-types/mime-types-data/")
628 (license license:expat)))
629
630(define-public ruby-mini-portile
631 (package
632 (name "ruby-mini-portile")
633 (version "0.6.2")
634 (source
635 (origin
636 (method url-fetch)
637 (uri (rubygems-uri "mini_portile" version))
638 (sha256
639 (base32
640 "0h3xinmacscrnkczq44s6pnhrp4nqma7k056x5wv5xixvf2wsq2w"))))
641 (build-system ruby-build-system)
642 (arguments
643 '(#:tests? #f)) ; tests require network access
644 (synopsis "Ports system for Ruby developers")
645 (description "Mini-portile is a port/recipe system for Ruby developers.
646It provides a standard way to compile against specific versions of libraries
647to reproduce user environments.")
648 (home-page "https://github.com/flavorjones/mini_portile")
649 (license license:expat)))
650
651(define-public ruby-mini-portile-2
652 (package
653 (inherit ruby-mini-portile)
654 (version "2.8.2")
655 (source (origin
656 (method url-fetch)
657 (uri (rubygems-uri "mini_portile2" version))
658 (sha256
659 (base32
660 "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6"))))))
661
662(define-public ruby-minitest
663 (package
664 (name "ruby-minitest")
665 (version "5.27.0")
666 (source (origin
667 (method url-fetch)
668 (uri (rubygems-uri "minitest" version))
669 (sha256
670 (base32
671 "1mbpz92ml19rcxxfjrj91gmkif9khb1xpzyw38f81rvglgw1ffrd"))))
672 (build-system ruby-build-system)
673 (native-inputs (list ruby-hoe))
674 (home-page "https://github.com/minitest/minitest")
675 (synopsis "Small test suite library for Ruby")
676 (description "Minitest provides a complete suite of Ruby testing
677facilities supporting TDD, BDD, mocking, and benchmarking.")
678 (license license:expat)))
679
680(define-public ruby-minitest-bonus-assertions
681 (package
682 (name "ruby-minitest-bonus-assertions")
683 (version "3.0")
684 (source
685 (origin
686 (method url-fetch)
687 (uri (rubygems-uri "minitest-bonus-assertions" version))
688 (sha256
689 (base32
690 "1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a"))))
691 (build-system ruby-build-system)
692 (arguments
693 (list
694 #:tests? #f ; Test suite has bitrotted.
695 #:phases
696 #~(modify-phases %standard-phases
697 (add-before 'check 'clean-dependencies
698 (lambda _
699 ;; Remove unneeded require statement that would entail another
700 ;; dependency.
701 (substitute* "test/minitest_config.rb"
702 (("require 'minitest/bisect'") "")))))))
703 (native-inputs
704 (list ruby-hoe
705 ruby-minitest-focus
706 ruby-minitest-moar))
707 (synopsis "Bonus assertions for @code{Minitest}")
708 (description
709 "Minitest bonus assertions provides extra MiniTest assertions. For
710instance, it provides @code{assert_true}, @code{assert_false} and
711@code{assert_set_equal}.")
712 (home-page "https://github.com/halostatue/minitest-bonus-assertions")
713 (license license:expat)))
714
715(define-public ruby-minitest-focus
716 (package
717 (name "ruby-minitest-focus")
718 (version "1.3.1")
719 (source
720 (origin
721 (method url-fetch)
722 (uri (rubygems-uri "minitest-focus" version))
723 (sha256
724 (base32
725 "13kd2dkd9akfb99ziqndz9mir5iynyfyj2l45mcibab6mq5k8g67"))))
726 (build-system ruby-build-system)
727 (propagated-inputs
728 (list ruby-minitest))
729 (native-inputs
730 (list ruby-hoe))
731 (synopsis "Allows a few specific tests to be focused on")
732 (description
733 "@code{minitest-focus} gives the ability focus on a few tests with ease
734without having to use command-line arguments. It introduces a @code{focus}
735class method for use in testing classes, specifying that the next defined test
736is to be run.")
737 (home-page "https://github.com/seattlerb/minitest-focus")
738 (license license:expat)))
739
740(define-public ruby-minitest-hooks
741 (package
742 (name "ruby-minitest-hooks")
743 (version "1.5.2")
744 (source
745 (origin
746 (method url-fetch)
747 (uri (rubygems-uri "minitest-hooks" version))
748 (sha256
749 (base32 "11jb31dl5kbpyl3kgxql0p7da9066r2aqw54y5q6cni9nmld3zf5"))))
750 (build-system ruby-build-system)
751 (arguments
752 '(#:tests? #f)) ; No tests bundled.
753 (native-inputs
754 (list ruby-sequel ;ruby-sqlite3
755 ))
756 (synopsis "Hooks for the minitest framework")
757 (description
758 "Minitest-hooks adds @code{around}, @code{before_all}, @code{after_all},
759@code{around_all} hooks for Minitest. This allows, for instance, running each
760suite of specs inside a database transaction, running each spec inside its own
761savepoint inside that transaction. This can significantly speed up testing
762for specs that share expensive database setup code.")
763 (home-page "https://github.com/jeremyevans/minitest-hooks")
764 (license license:expat)))
765
766(define-public ruby-minitest-moar
767 (package
768 (name "ruby-minitest-moar")
769 (version "0.0.4")
770 (source
771 (origin
772 (method url-fetch)
773 (uri (rubygems-uri "minitest-moar" version))
774 (sha256
775 (base32
776 "0nb83blrsab92gcy6nfpw39njys7zisia8pw4igzzfzfl51cis0x"))))
777 (build-system ruby-build-system)
778 (arguments
779 `(#:phases
780 (modify-phases %standard-phases
781 (add-before 'check 'clean-dependencies
782 (lambda _
783 ;; Remove all gems defined in the Gemfile because these are not
784 ;; truly needed.
785 (substitute* "Gemfile"
786 (("gem .*") ""))
787 ;; Remove byebug as not needed to run tests.
788 (substitute* "test/test_helper.rb"
789 (("require 'byebug'") "")))))))
790 (native-inputs
791 (list bundler ruby-minitest))
792 (synopsis "Extra features and changes to MiniTest")
793 (description "@code{MiniTest Moar} add some additional features and
794changes some default behaviours in MiniTest. For instance, Moar replaces the
795MiniTest @code{Object#stub} with a global @code{stub} method.")
796 (home-page "https://github.com/dockyard/minitest-moar")
797 (license license:expat)))
798
799(define-public ruby-minitest-mock
800 (package
801 (name "ruby-minitest-mock")
802 (version "5.27.0")
803 (source
804 (origin
805 (method url-fetch)
806 (uri (rubygems-uri "minitest-mock" version))
807 (sha256
808 (base32
809 "1c2m99b9hgvhyhzv0nxjqlgymr0vmxpalzlq41lrcyj1hmqysh3h"))))
810 (build-system ruby-build-system)
811 (arguments (list #:tests? #f)) ; tests not bundled in gem
812 (native-inputs (list ruby-hoe ruby-hoe-git2))
813 (synopsis "Tiny mock (and stub) object framework")
814 (description "@code{Minitest Mock} implements a mock and stub framework
815for Minitest. This gem provides:
816@enumerate
817@item Stubs for returning canned responses
818@item Mocks for defining function expectations
819@end enumerate")
820 (home-page "https://minite.st/")
821 (license license:expat)))
822
823(define-public ruby-multi-test
824 (package
825 (name "ruby-multi-test")
826 (version "0.1.2")
827 (source
828 (origin
829 (method url-fetch)
830 (uri (rubygems-uri "multi_test" version))
831 (sha256
832 (base32
833 "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"))))
834 (build-system ruby-build-system)
835 (arguments
836 '(;; Tests require different sets of specific gem versions to be available,
837 ;; and there is no gemfile that specifies the newest versions of
838 ;; dependencies to be tested.
839 #:tests? #f))
840 (synopsis
841 "Interface to testing libraries loaded into a running Ruby process")
842 (description
843 "@code{multi_test} provides a uniform interface onto whatever testing
844libraries that have been loaded into a running Ruby process to help control
845rogue test/unit/autorun requires.")
846 (home-page "https://github.com/cucumber/multi_test")
847 (license license:expat)))
848
849(define-public ruby-rake
850 (package
851 (name "ruby-rake")
852 (version "13.3.0")
853 (source
854 (origin
855 (method git-fetch) ;for tests
856 (uri (git-reference
857 (url "https://github.com/ruby/rake")
858 (commit (string-append "v" version))))
859 (file-name (git-file-name name version))
860 (sha256
861 (base32
862 "01ixsz1k6y9ckzmyjmspbi5s213m9b7imglb9iypjmf1nrmsvgkx"))))
863 (build-system ruby-build-system)
864 (native-inputs
865 (list bundler))
866 (synopsis "Rake is a Make-like program implemented in Ruby")
867 (description
868 "Rake is a Make-like program where tasks and dependencies are specified
869in standard Ruby syntax.")
870 (home-page "https://github.com/ruby/rake")
871 (license license:expat)))
872
873(define-public ruby-rake-compiler
874 (package
875 (name "ruby-rake-compiler")
876 (version "1.2.9")
877 (source (origin
878 (method url-fetch)
879 (uri (rubygems-uri "rake-compiler" version))
880 (sha256
881 (base32
882 "01rnl94p1sr84xkbnh66db42qsndykbfx2z2fggxyxx9vnji6cjs"))))
883 (build-system ruby-build-system)
884 (arguments
885 '(#:tests? #f)) ; needs cucumber
886 (synopsis "Building and packaging helper for Ruby native extensions")
887 (description "Rake-compiler provides a framework for building and
888packaging native C and Java extensions in Ruby.")
889 (home-page "https://github.com/rake-compiler/rake-compiler")
890 (license license:expat)))
891
892(define-public ruby-rake-compiler-dock
893 (package
894 (name "ruby-rake-compiler-dock")
895 (version "1.3.0")
896 (source (origin
897 (method url-fetch)
898 (uri (rubygems-uri "rake-compiler-dock" version))
899 (sha256
900 (base32
901 "0yr5f72irvhmnk12q7bbr4qw0xwy7diqkbcvb4lygjbg7rvk3k8k"))))
902 (build-system ruby-build-system)
903 (arguments (list #:tests? #f)) ;test suite requires docker
904 (synopsis "Cross compiler environment for building Ruby gems")
905 (description "The code{rake-compiler-dock} gem provides a cross compiler
906environment for building gems on a variety of platforms (GNU/Linux, JRuby,
907Windows and Mac).")
908 (home-page "https://github.com/rake-compiler/rake-compiler-dock")
909 (license license:expat)))
910
911(define-public ruby-rubocop/minimal
912 (hidden-package
913 (package
914 (name "ruby-rubocop")
915 (version "1.68.0")
916 (source
917 (origin
918 (method git-fetch) ;no tests in distributed gem
919 (uri (git-reference
920 (url "https://github.com/rubocop/rubocop")
921 (commit (string-append "v" version))))
922 (file-name (git-file-name name version))
923 (sha256
924 (base32 "0pfsrgkg2dhb6a2rknciqskgxgmb9kf48rvbkhay9n8n6m712v2w"))))
925 (build-system ruby-build-system)
926 (arguments
927 (list #:tests? #f
928 #:phases
929 #~(modify-phases %standard-phases
930 (add-after 'unpack 'remove-runtime-dependencies
931 (lambda _
932 (substitute* "rubocop.gemspec"
933 (("s\\.add_dependency.*") "")))))))
934 (synopsis "Ruby code style checking tool")
935 (description
936 "@code{rubocop} is a Ruby code style checking tool. It aims to enforce
937the community-driven Ruby Style Guide.")
938 (home-page "https://github.com/rubocop/rubocop")
939 (license license:expat))))
940
941(define-public ruby-rspec
942 (package
943 (name "ruby-rspec")
944 (version "3.13.1")
945 (source (origin
946 (method url-fetch)
947 (uri (rubygems-uri "rspec" version))
948 (sha256
949 (base32
950 "0h11wynaki22a40rfq3ahcs4r36jdpz9acbb3m5dkf0mm67sbydr"))))
951 (build-system ruby-build-system)
952 (arguments
953 '(#:tests? #f)) ; avoid dependency cycles
954 (propagated-inputs
955 (list ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks))
956 (synopsis "Behavior-driven development framework for Ruby")
957 (description "RSpec is a behavior-driven development (BDD) framework for
958Ruby. This meta-package includes the RSpec test runner, along with the
959expectations and mocks frameworks.")
960 (home-page "https://rspec.info/")
961 (license license:expat)))
962
963(define-public ruby-rspec-2
964 (package (inherit ruby-rspec)
965 (version "2.14.1")
966 (source (origin
967 (method url-fetch)
968 (uri (rubygems-uri "rspec" version))
969 (sha256
970 (base32
971 "134y4wzk1prninb5a0bhxgm30kqfzl8dg06af4js5ylnhv2wd7sg"))))
972 (propagated-inputs
973 (list ruby-rspec-core-2 ruby-rspec-mocks-2 ruby-rspec-expectations-2))))
974
975(define-public ruby-rspec-core
976 (package
977 (name "ruby-rspec-core")
978 (version "3.13.2")
979 (source (origin
980 (method url-fetch)
981 (uri (rubygems-uri "rspec-core" version))
982 (sha256
983 (base32
984 "001kazj244cb6fbkmh7ap74csbr78717qaskqzqpir1q8xpdmywl"))))
985 (build-system ruby-build-system)
986 (arguments
987 '(#:tests? #f)) ; avoid dependency cycles
988 (propagated-inputs
989 (list ruby-rspec-support))
990 (synopsis "RSpec core library")
991 (description "Rspec-core provides the RSpec test runner and example
992groups.")
993 (home-page "https://github.com/rspec/rspec-core")
994 (license license:expat)))
995
996(define-public ruby-rspec-core-2
997 (package (inherit ruby-rspec-core)
998 (version "2.14.8")
999 (source (origin
1000 (method url-fetch)
1001 (uri (rubygems-uri "rspec-core" version))
1002 (sha256
1003 (base32
1004 "0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc"))))
1005 (arguments
1006 (cons*
1007 #:phases
1008 #~(modify-phases %standard-phases
1009 (add-after 'unpack 'patch
1010 (lambda _
1011 (substitute* "lib/rspec/core/ruby_project.rb"
1012 (("File\\.exists\\?") "File.exist?")))))
1013 (package-arguments ruby-rspec-core)))
1014 (propagated-inputs `())))
1015
1016(define-public ruby-rspec-expectations
1017 (package
1018 (name "ruby-rspec-expectations")
1019 (version "3.13.3")
1020 (source (origin
1021 (method url-fetch)
1022 (uri (rubygems-uri "rspec-expectations" version))
1023 (sha256
1024 (base32
1025 "0n3cyrhsa75x5wwvskrrqk56jbjgdi2q1zx0irllf0chkgsmlsqf"))))
1026 (build-system ruby-build-system)
1027 (arguments
1028 '(#:tests? #f)) ; avoid dependency cycles
1029 (propagated-inputs
1030 (list ruby-diff-lcs ruby-rspec-support))
1031 (synopsis "RSpec expectations library")
1032 (description "Rspec-expectations provides a simple API to express expected
1033outcomes of a code example.")
1034 (home-page "https://github.com/rspec/rspec-expectations")
1035 (license license:expat)))
1036
1037(define-public ruby-rspec-expectations-2
1038 (package (inherit ruby-rspec-expectations)
1039 (version "2.14.5")
1040 (source (origin
1041 (method url-fetch)
1042 (uri (rubygems-uri "rspec-expectations" version))
1043 (sha256
1044 (base32
1045 "1ni8kw8kjv76jvwjzi4jba00k3qzj9f8wd94vm6inz0jz3gwjqf9"))))
1046 (propagated-inputs
1047 (list ruby-diff-lcs))))
1048
1049(define-public ruby-rspec-mocks
1050 (package
1051 (name "ruby-rspec-mocks")
1052 (version "3.13.2")
1053 (source (origin
1054 (method url-fetch)
1055 (uri (rubygems-uri "rspec-mocks" version))
1056 (sha256
1057 (base32
1058 "1vxxkb2sf2b36d8ca2nq84kjf85fz4x7wqcvb8r6a5hfxxfk69r3"))))
1059 (build-system ruby-build-system)
1060 (arguments
1061 '(#:tests? #f)) ; avoid dependency cycles
1062 (propagated-inputs
1063 (list ruby-diff-lcs ruby-rspec-support))
1064 (synopsis "RSpec stubbing and mocking library")
1065 (description "Rspec-mocks provides RSpec's \"test double\" framework, with
1066support for stubbing and mocking.")
1067 (home-page "https://github.com/rspec/rspec-mocks")
1068 (license license:expat)))
1069
1070(define-public ruby-rspec-mocks-2
1071 (package (inherit ruby-rspec-mocks)
1072 (version "2.14.6")
1073 (source (origin
1074 (method url-fetch)
1075 (uri (rubygems-uri "rspec-mocks" version))
1076 (sha256
1077 (base32
1078 "1fwsmijd6w6cmqyh4ky2nq89jrpzh56hzmndx9wgkmdgfhfakv30"))))
1079 (propagated-inputs
1080 (list ruby-diff-lcs))))
1081
1082;; RSpec is the dominant testing library for Ruby projects. Even RSpec's
1083;; dependencies use RSpec for their test suites! To avoid these circular
1084;; dependencies, we disable tests for all of the RSpec-related packages.
1085(define-public ruby-rspec-support
1086 (package
1087 (name "ruby-rspec-support")
1088 (version "3.13.2")
1089 (source (origin
1090 (method url-fetch)
1091 (uri (rubygems-uri "rspec-support" version))
1092 (sha256
1093 (base32
1094 "1v6v6xvxcpkrrsrv7v1xgf7sl0d71vcfz1cnrjflpf6r7x3a58yf"))))
1095 (build-system ruby-build-system)
1096 (arguments
1097 '(#:tests? #f)) ; avoid dependency cycles
1098 (synopsis "RSpec support library")
1099 (description "Support utilities for RSpec gems.")
1100 (home-page "https://github.com/rspec/rspec-support")
1101 (license license:expat)))
1102
1103(define-public ruby-sequel
1104 (package
1105 (name "ruby-sequel")
1106 (version "5.47.0")
1107 (source
1108 (origin
1109 (method url-fetch)
1110 (uri (rubygems-uri "sequel" version))
1111 (sha256
1112 (base32
1113 "03pmhj4kc3ga75wy397l57bvd18jxxmrk3qsznjw93b993qgvj3z"))))
1114 (build-system ruby-build-system)
1115 (arguments
1116 '(#:tests? #f)) ; Avoid dependency loop with ruby-minitest-hooks.
1117 (synopsis "Database toolkit for Ruby")
1118 (description "Sequel provides thread safety, connection pooling and a
1119concise DSL for constructing SQL queries and table schemas. It includes a
1120comprehensive ORM layer for mapping records to Ruby objects and handling
1121associated records.")
1122 (home-page "https://sequel.jeremyevans.net")
1123 (license license:expat)))
1124
1125(define-public ruby-simplecov-json-formatter
1126 (package
1127 (name "ruby-simplecov-json-formatter")
1128 (version "0.1.4")
1129 (source (origin
1130 (method url-fetch)
1131 (uri (rubygems-uri "simplecov_json_formatter" version))
1132 (sha256
1133 (base32
1134 "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j"))))
1135 (build-system ruby-build-system)
1136 ;; The test suite is disabled because it requires simplecov, which
1137 ;; requires this, introducing a dependency cycle.
1138 (arguments (list #:tests? #f))
1139 (synopsis "JSON formatter for SimpleCov")
1140 (description "This package provides a JSON formatter for SimpleCov, the
1141Ruby code coverage tool.")
1142 (home-page
1143 "https://github.com/codeclimate-community/simplecov_json_formatter")
1144 (license license:expat)))
1145
1146(define-public ruby-simplecov
1147 (package
1148 (name "ruby-simplecov")
1149 (version "0.22.0")
1150 (source (origin
1151 (method url-fetch)
1152 (uri (rubygems-uri "simplecov" version))
1153 (sha256
1154 (base32
1155 "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py"))))
1156 (build-system ruby-build-system)
1157 ;; Simplecov depends on rubocop for code style checking at build time.
1158 ;; Rubocop needs simplecov at build time.
1159 (arguments `(#:tests? #f))
1160 (propagated-inputs
1161 (list ruby-json
1162 ruby-docile
1163 ruby-simplecov-html
1164 ruby-simplecov-json-formatter))
1165 (synopsis "Code coverage framework for Ruby")
1166 (description "SimpleCov is a code coverage framework for Ruby with a
1167powerful configuration library and automatic merging of coverage across test
1168suites.")
1169 (home-page "https://github.com/simplecov-ruby/simplecov")
1170 (license license:expat)))
1171
1172(define-public ruby-simplecov-html
1173 (package
1174 (name "ruby-simplecov-html")
1175 (version "0.12.3")
1176 (source (origin
1177 (method url-fetch)
1178 (uri (rubygems-uri "simplecov-html" version))
1179 (sha256
1180 (base32
1181 "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb"))))
1182 (build-system ruby-build-system)
1183 (arguments `(#:tests? #f)) ; there are no tests
1184 (native-inputs
1185 (list bundler))
1186 (synopsis "Default HTML formatter for SimpleCov code coverage tool")
1187 (description "This package provides the default HTML formatter for
1188the SimpleCov code coverage tool for Ruby version 1.9 and above.")
1189 (home-page "https://github.com/simplecov-ruby/simplecov-html")
1190 (license license:expat)))
1191
1192(define-public ruby-sorcerer
1193 (package
1194 (name "ruby-sorcerer")
1195 (version "2.0.1")
1196 (source
1197 (origin
1198 (method url-fetch)
1199 (uri (rubygems-uri "sorcerer" version))
1200 (sha256
1201 (base32
1202 "0d32ha9pp9slpmsm027pkdpbr9vc5jn2m8rl6hwwx6a87m8cr58h"))))
1203 (build-system ruby-build-system)
1204 (synopsis "Ripper-style abstract syntax tree to Ruby source generator")
1205 (description "Sorcerer generates Ruby code from a Ripper-like abstract
1206syntax tree (i.e. S-Expressions). Sorcerer is targeted mainly at small
1207snippets of Ruby code, expressible in a single line. Longer examples may be
1208re-sourced, but they will be rendered in a single-line format.")
1209 (home-page "https://github.com/rspec-given/sorcerer")
1210 (license license:expat)))
1211
1212(define-public ruby-unindent
1213 (package
1214 (name "ruby-unindent")
1215 (version "1.0")
1216 (source
1217 (origin
1218 (method url-fetch)
1219 (uri (rubygems-uri "unindent" version))
1220 (sha256
1221 (base32
1222 "1wqh3rzv8589yzibigminxx3qpmj2nqj28f90xy1sczk1pijmcrd"))))
1223 (build-system ruby-build-system)
1224 (synopsis "Ruby method to unindent strings")
1225 (description "This module provides a @code{String#unindent} Ruby method to
1226unindent strings, which can be useful to unindent multiline strings embedded
1227in already-indented code.")
1228 (home-page "https://github.com/mynyml/unindent")
1229 (license license:expat)))
1230
1231;;;
1232;;; Avoid adding new packages to the end of this file. To reduce the chances
1233;;; of a merge conflict, place them above in alphabetic order.
1234;;;