gnu: Add ghc-concurrent-extra.
* gnu/packages/haskell-xyz.scm (ghc-concurrent-extra): New variable.
This commit is contained in:
parent
79fcc5e59b
commit
efb96749a2
|
@ -18,11 +18,64 @@
|
|||
|
||||
(define-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages haskell-check)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public ghc-concurrent-extra
|
||||
(package
|
||||
(name "ghc-concurrent-extra")
|
||||
(version "0.7.0.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hackage.haskell.org/package/"
|
||||
"concurrent-extra/concurrent-extra-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
;; XXX: The ReadWriteLock 'stressTest' fails.
|
||||
`(#:tests? #f))
|
||||
(inputs
|
||||
`(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
|
||||
(native-inputs
|
||||
`(("ghc-async" ,ghc-async)
|
||||
("ghc-hunit" ,ghc-hunit)
|
||||
("ghc-random" ,ghc-random)
|
||||
("ghc-test-framework" ,ghc-test-framework)
|
||||
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
|
||||
(home-page "https://github.com/basvandijk/concurrent-extra")
|
||||
(synopsis "Extra concurrency primitives")
|
||||
(description "This Haskell library offers (among other things) the
|
||||
following selection of synchronisation primitives:
|
||||
|
||||
@itemize
|
||||
@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
|
||||
@item @code{Event}: Wake multiple threads by signalling an event.
|
||||
@item @code{Lock}: Enforce exclusive access to a resource. Also known
|
||||
as a binary semaphore or mutex. The package additionally provides an
|
||||
alternative that works in the STM monad.
|
||||
@item @code{RLock}: A lock which can be acquired multiple times by the
|
||||
same thread. Also known as a reentrant mutex.
|
||||
@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
|
||||
to protect shared resources which may be concurrently read, but only
|
||||
sequentially written.
|
||||
@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
|
||||
@end itemize
|
||||
|
||||
Please consult the API documentation of the individual modules for more
|
||||
detailed information.
|
||||
|
||||
This package was inspired by the concurrency libraries of Java and
|
||||
Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-language-glsl
|
||||
(package
|
||||
(name "ghc-language-glsl")
|
||||
|
|
Loading…
Reference in New Issue