perl-web.scm 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
  3. ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
  4. ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
  5. ;;;
  6. ;;; This file is part of GNU Guix.
  7. ;;;
  8. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  9. ;;; under the terms of the GNU General Public License as published by
  10. ;;; the Free Software Foundation; either version 3 of the License, or (at
  11. ;;; your option) any later version.
  12. ;;;
  13. ;;; GNU Guix is distributed in the hope that it will be useful, but
  14. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. ;;; GNU General Public License for more details.
  17. ;;;
  18. ;;; You should have received a copy of the GNU General Public License
  19. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  20. (define-module (gnu packages perl-web)
  21. #:use-module ((guix licenses) #:prefix license:)
  22. #:use-module (gnu packages)
  23. #:use-module (guix packages)
  24. #:use-module (gnu packages perl)
  25. #:use-module (gnu packages perl-check)
  26. #:use-module (guix download)
  27. #:use-module (guix build-system perl)
  28. #:use-module (gnu packages web))
  29. (define-public perl-mojolicious
  30. (package
  31. (name "perl-mojolicious")
  32. (version "9.17")
  33. (source
  34. (origin
  35. (method url-fetch)
  36. (uri (string-append "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-"
  37. version ".tar.gz"))
  38. (sha256
  39. (base32
  40. "13dxjhr03dhh1f5bbxbb3jiwdv7jby96qqb97l3arf5x043yd9hd"))))
  41. (build-system perl-build-system)
  42. (home-page "https://mojolicious.org/")
  43. (synopsis "Real-time web framework")
  44. (description "Back in the early days of the web, many people learned Perl
  45. because of a wonderful Perl library called @code{CGI}. It was simple enough
  46. to get started without knowing much about the language and powerful enough to
  47. keep you going, learning by doing was much fun. While most of the techniques
  48. used are outdated now, the idea behind it is not. Mojolicious is a new
  49. endeavor to implement this idea using modern technologies.")
  50. (license license:artistic2.0)))
  51. (define-public perl-uri-db
  52. (package
  53. (name "perl-uri-db")
  54. (version "0.19")
  55. (source
  56. (origin
  57. (method url-fetch)
  58. (uri (string-append
  59. "mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-"
  60. version
  61. ".tar.gz"))
  62. (sha256
  63. (base32
  64. "0n56xxlw7c39pfar0dxckr9mbmp6yrzk53ic0cb24raiykm9v6f4"))))
  65. (build-system perl-build-system)
  66. (native-inputs
  67. `(("perl-module-build" ,perl-module-build)))
  68. (propagated-inputs
  69. `(("perl-uri" ,perl-uri)
  70. ("perl-uri-nested" ,perl-uri-nested)))
  71. (home-page "https://metacpan.org/release/URI-db")
  72. (synopsis "Handle database URIs")
  73. (description
  74. "This module defines a format for database URIs, and provides a @{URI}
  75. class to handle these.")
  76. (license license:perl-license)))
  77. (define-public perl-uri-escape
  78. (package
  79. (name "perl-uri-escape")
  80. (version "1.76")
  81. (source
  82. (origin
  83. (method url-fetch)
  84. (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/URI-"
  85. version ".tar.gz"))
  86. (sha256
  87. (base32
  88. "0gj1aj18k43kmzc3y1zhj5giinf8rksacf757r475xfna0fqxjdj"))))
  89. (build-system perl-build-system)
  90. (native-inputs
  91. `(("perl-test-needs" ,perl-test-needs)))
  92. (home-page "https://github.com/libwww-perl/URI")
  93. (synopsis "Percent-encode and percent-decode unsafe characters")
  94. (description "This module provides functions to percent-encode and
  95. percent-decode URI strings as defined by RFC 3986. Percent-encoding URI's is
  96. informally called URI escaping. This is the terminology used by this module,
  97. which predates the formalization of the terms by the RFC by several years.")
  98. (license license:perl-license)))
  99. (define-public perl-uri-nested
  100. (package
  101. (name "perl-uri-nested")
  102. (version "0.10")
  103. (source
  104. (origin
  105. (method url-fetch)
  106. (uri (string-append
  107. "mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-"
  108. version
  109. ".tar.gz"))
  110. (sha256
  111. (base32
  112. "1bzg6f11m8wfnmycflvp858rs99xknsx8hkip0xcdfjzlqwi75z1"))))
  113. (build-system perl-build-system)
  114. (native-inputs
  115. `(("perl-module-build" ,perl-module-build)))
  116. (propagated-inputs
  117. `(("perl-uri" ,perl-uri)))
  118. (home-page "https://metacpan.org/release/URI-Nested")
  119. (synopsis "Nested URIs")
  120. (description
  121. "@code{URI::Nested} provides support for nested URIs, where the scheme is
  122. a prefix, and the remainder of the URI is another URI.")
  123. (license license:perl-license)))