Summary
This package provides access to platform dependent file locking APIs: * Open file descriptor locking on Linux ("Lukko.OFD") * @flock@ locking on unix platforms ("Lukko.FLock") * Windows locking @LockFileEx@ ("Lukko.Windows") * No-op locking, which throws exceptions ("Lukko.NoOp") * "Lukko" module exports the best option for the target platform with uniform API. There are alternative file locking packages: * "GHC.IO.Handle.Lock" in @base >= 4.10@ is good enough for most use cases. However, uses only 'Handle's so these locks cannot be used for intra-process locking. (You should use e.g. 'MVar' in addition). * <https://hackage.haskell.org/package/filelock filelock> doesn't support OFD locking. /Lukko/ means lock in Finnish. Submodules "Lukko.OFD", "Lukko.Windows" etc are available based on following conditions. @ if os(windows) \ cpp-options: -DHAS_WINDOWS_LOCK elif (os(linux) && flag(ofd-locking)) \ cpp-options: -DHAS_OFD_LOCKING \ cpp-options: -DHAS_FLOCK elif !(os(solaris) || os(aix)) \ cpp-options: -DHAS_FLOCK @ "Lukko.FLock" is available on not (Windows or Solaris or AIX). "Lukko.NoOp" is always available.
Versions
v0.1.1.2 :: 0/0.1.1.2 :: gentoo
- Modified
- License
- GPL-2 BSD
- Keywords
- ~amd64 ~x86
- USE flags
- doc hscolour ofd-locking profile test
USE flags
General
- doc
- Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
- hscolour
- Include coloured haskell sources to generated documentation (dev-haskell/hscolour)
- ofd-locking
- Enable open file descriptor locking. Available on Linux (kernel 3.15, released Jun 8, 2014).
- profile
- Add support for software performance analysis (will likely vary from ebuild to ebuild)
- test
- Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Dependencies
dev-haskell / async : Run IO operations asynchronously and wait for their results
dev-haskell / cabal : A framework for packaging Haskell software
dev-haskell / hscolour : Colourise Haskell code
dev-haskell / singleton-bool : Type level booleans
dev-haskell / tagged : Haskell 98 phantom types to avoid unsafely passing dummy arguments
dev-haskell / tasty : Modern and extensible testing framework
dev-haskell / tasty-expected-failure : Mark tasty tests as failure expected
dev-haskell / tasty-hunit : HUnit support for the Tasty test framework
dev-haskell / temporary : Portable temporary file and directory support for Windows and Unix
Runtime Dependencies
Depending packages
app-portage / hackport : Hackage and Portage integration tool
dev-haskell / cabal-install : The command-line interface for Cabal and Hackage
dev-haskell / hackage-security : Hackage security library
Change logs
- Repository mirror & CI · gentoo
Merge updates from master - Jakov Smolic · gentoo
dev-haskell/lukko: update homepage
Package-Manager: Portage-3.0.3, Repoman-3.0.0 Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Jack Todaro · gentoo
dev-haskell/lukko: add package
Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>