diff options
Diffstat (limited to 'dev-haskell/lukko/metadata.xml')
-rw-r--r-- | dev-haskell/lukko/metadata.xml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/dev-haskell/lukko/metadata.xml b/dev-haskell/lukko/metadata.xml new file mode 100644 index 000000000000..a2f47beee925 --- /dev/null +++ b/dev-haskell/lukko/metadata.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + <use> + <flag name="ofd-locking">Enable open file descriptor locking. Available on Linux (kernel 3.15, released Jun 8, 2014).</flag> + </use> + <longdescription> + 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. + </longdescription> +</pkgmetadata> |