ton-haskell.scm 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. (define-module (ton-haskell)
  2. #:use-module (guix packages)
  3. #:use-module (guix download)
  4. #:use-module (guix git-download)
  5. #:use-module (guix utils)
  6. #:use-module (guix build-system haskell)
  7. #:use-module ((guix licenses) #:prefix license:)
  8. #:use-module (gnu packages sdl)
  9. #:use-module (gnu packages haskell)
  10. #:use-module (gnu packages haskell-check)
  11. #:use-module (gnu packages haskell-web))
  12. (define-public ghc-bytes-t
  13. (package
  14. (name "ghc-bytes-t")
  15. (version "0.15.4")
  16. (source
  17. (origin
  18. (method url-fetch)
  19. (uri
  20. (string-append "https://hackage.haskell.org/package/bytes-"
  21. version ".tar.gz"))
  22. (file-name (string-append name "-" version ".tar.gz"))
  23. (sha256
  24. (base32
  25. "121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm"))))
  26. (build-system haskell-build-system)
  27. (inputs `(("ghc-cereal" ,ghc-cereal)
  28. ("cabal-doctest" ,cabal-doctest)
  29. ("ghc-doctest" ,ghc-doctest-0.13)
  30. ("ghc-mtl" ,ghc-mtl)
  31. ("ghc-scientific" ,ghc-scientific)
  32. ("ghc-text" ,ghc-text)
  33. ("ghc-transformers-compat" ,ghc-transformers-compat)
  34. ("ghc-unordered-containers" ,ghc-unordered-containers)
  35. ("ghc-void" ,ghc-void)
  36. ("ghc-vector" ,ghc-vector)))
  37. (synopsis "Haskell bytes: serialization between binary and cereal")
  38. (description "Haskell module to share code for serialization between
  39. binary and cereal")
  40. (home-page "https://hackage.haskell.org/package/bytes")
  41. (license license:bsd-3)))
  42. (define-public ghc-semigroupoids-5.2.2-t
  43. (package
  44. (inherit ghc-semigroupoids)
  45. (name "ghc-semigroupoids-t")
  46. (version "5.2.2")
  47. (source (origin
  48. (method url-fetch)
  49. (uri (string-append "https://hackage.haskell.org/package/semigroupoids-5.2.2/semigroupoids-"
  50. version ".tar.gz"))
  51. (sha256
  52. (base32
  53. "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
  54. (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
  55. ,@(package-inputs ghc-semigroupoids)))))
  56. (define-public ghc-linear-t
  57. (package
  58. (name "ghc-linear-t")
  59. (version "1.20.7")
  60. ; (version "1.19.1.3")
  61. ; (version "1.15.5")
  62. (source
  63. (origin
  64. (method url-fetch)
  65. (uri
  66. (string-append "https://hackage.haskell.org/package/linear-" version "/linear-"
  67. version ".tar.gz"))
  68. (file-name (string-append name "-" version ".tar.gz"))
  69. (sha256
  70. (base32
  71. ; "17fxz49zj6vklgfs583zpn7naqgp5mv2zsvmxrv80ym8r52mp5mi")))) ; 1.15.5
  72. ; "1hprmhs1nm6l81kpnnznz92l66j10z4asn3g3l9c47165q881592")))) ; 1.19.1.3
  73. "1dna0zf4qwqwvslz0nkkfclvbflfvf10qydnjsi20wijilkbd22b")))) ;;1.20.7
  74. (build-system haskell-build-system)
  75. (inputs `(;("ghc-base-orphans" ,ghc-base-orphans)
  76. ("ghc-bytes" ,ghc-bytes)
  77. ("ghc-cereal" ,ghc-cereal)
  78. ("ghc-distributive" ,ghc-distributive)
  79. ("ghc-doctest" ,ghc-doctest-0.12)
  80. ;("cabal-doctest" ,cabal-doctest)
  81. ("ghc-hashable" ,ghc-hashable)
  82. ("ghc-hunit" ,ghc-hunit)
  83. ("ghc-lens" ,ghc-lens)
  84. ("ghc-reflection" ,ghc-reflection)
  85. ("ghc-semigroupoids" ,ghc-semigroupoids-5.2.2)
  86. ("ghc-simple-reflect" ,ghc-simple-reflect)
  87. ("ghc-tagged" ,ghc-tagged)
  88. ("ghc-test-framework" ,ghc-test-framework)
  89. ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
  90. ;("ghc-vector" ,ghc-vector)
  91. ;("ghc-void" ,ghc-void)
  92. ))
  93. (synopsis "Haskell linear: Linear Algebra")
  94. (description "Haskell types and combinators for linear algebra on free vector
  95. spaces")
  96. (home-page "https://hackage.haskell.org/package/linear")
  97. (license license:bsd-3)))
  98. (define-public ghc-sdl2-t
  99. (package
  100. (name "ghc-sdl2-t")
  101. (version "2.4.0.1")
  102. (source
  103. (origin
  104. (method url-fetch)
  105. (uri
  106. (string-append "https://hackage.haskell.org/package/sdl2-2.4.0.1/sdl2-"
  107. version ".tar.gz"))
  108. (file-name (string-append name "-" version ".tar.gz"))
  109. (sha256
  110. (base32
  111. "0kb4nl653b0p7bcv9h4b2bhpgdb49v2d49ri3cs4yykdrl58v2cs"))))
  112. (build-system haskell-build-system)
  113. (inputs `(("sdl2" ,sdl2)
  114. ("ghc-statevar" ,ghc-statevar)
  115. ("ghc-exceptions" ,ghc-exceptions)
  116. ("ghc-text" ,ghc-text)
  117. ("ghc-opengl" ,ghc-opengl)
  118. ;; ("ghc-linear" ,ghc-linear)
  119. ("ghc-vector" ,ghc-vector)))
  120. (synopsis "Haskell sdl2: high- and low-level bindings to the SDL2 library")
  121. (description "Haskell bindings to the SDL 2 library, in both high-
  122. and low-level forms: The SDL namespace contains high-level bindings,
  123. where enumerations are split into sum types, and we perform automatic
  124. error-checking.
  125. The SDL.Raw namespace contains an almost 1-1 translation of the C API
  126. into Haskell FFI calls. As such, this does not contain sum types nor
  127. error checking.")
  128. (home-page "https://hackage.haskell.org/package/sdl2")
  129. (license license:bsd-3)))