name:                 lukko
version:              0.1.2
visibility:           public
id:                   lukko-0.1.2-ClxhsyYt5oT1eRIAfHf4Dg
key:                  lukko-0.1.2-ClxhsyYt5oT1eRIAfHf4Dg
license:              GPL-2.0-or-later AND BSD-3-Clause
maintainer:           Oleg Grenrus <oleg.grenrus@iki.fi>
synopsis:             File locking
description:
    This package provides access to platform dependent file locking APIs:

    * <https://www.gnu.org/software/libc/manual/html_node/Open-File-Description-Locks.html Open file descriptor locking> on Linux ("Lukko.OFD")
    * BSD-style @flock(2)@ locks on UNIX platforms ("Lukko.FLock")
    * Windows locking via <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-lockfilee 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(aix))
    \  cpp-options: -DHAS_FLOCK
    @

    "Lukko.FLock" is available on not (Windows or Solaris or AIX).
    "Lukko.NoOp" is always available.

category:             System, Concurrency
abi:                  33d22404fe1fbd3f53cf252e3c3a2560
exposed:              True
exposed-modules:      Lukko Lukko.FLock Lukko.NoOp
hidden-modules:
    Lukko.Internal.FD Lukko.Internal.FillBytes
    Lukko.Internal.HandleToFD Lukko.Internal.Types

import-dirs:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1/lukko-0.1.2-ClxhsyYt5oT1eRIAfHf4Dg

library-dirs:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1/lukko-0.1.2-ClxhsyYt5oT1eRIAfHf4Dg

library-dirs-static:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1/lukko-0.1.2-ClxhsyYt5oT1eRIAfHf4Dg

dynamic-library-dirs: /usr/pkg/lib/aarch64-netbsd-ghc-9.10.1
data-dir:             /usr/pkg/share/aarch64-netbsd-ghc-9.10.1/lukko-0.1.2
hs-libraries:         HSlukko-0.1.2-ClxhsyYt5oT1eRIAfHf4Dg
depends:              base-4.20.0.0-inplace
haddock-interfaces:
    /usr/pkg/share/doc/aarch64-netbsd-ghc-9.10.1/lukko-0.1.2/html/lukko.haddock

haddock-html:
    /usr/pkg/share/doc/aarch64-netbsd-ghc-9.10.1/lukko-0.1.2/html
