Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP6:Update
ghc-lukko
lukko.cabal
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lukko.cabal of Package ghc-lukko
cabal-version: 2.2 name: lukko version: 0.1.1.3 x-revision: 2 synopsis: File locking category: System, Concurrency 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(solaris) || os(aix)) \ cpp-options: -DHAS_FLOCK @ . "Lukko.FLock" is available on not (Windows or Solaris or AIX). "Lukko.NoOp" is always available. maintainer: Oleg Grenrus <oleg.grenrus@iki.fi> license: GPL-2.0-or-later AND BSD-3-Clause license-files: LICENSE LICENSE.GPLv2 LICENSE.GPLv3 build-type: Simple extra-source-files: CHANGELOG.md tested-with: GHC ==7.6.3 || ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1 || ==9.2.1 source-repository head type: git location: https://github.com/haskellari/lukko/ flag ofd-locking default: True manual: True description: Enable open file descriptor locking. Available on Linux (kernel 3.15, released Jun 8, 2014). library default-language: Haskell2010 hs-source-dirs: src build-depends: base >=4.5 && <4.17 build-tool-depends: hsc2hs:hsc2hs >=0.67 && <0.69 -- Main library module exposed-modules: Lukko Lukko.NoOp if os(windows) hs-source-dirs: src-windows cpp-options: -DUSE_WINDOWS_LOCK exposed-modules: Lukko.Windows c-sources: cbits/windows.c elif (os(linux) && flag(ofd-locking)) hs-source-dirs: src-ofd hs-source-dirs: src-flock hs-source-dirs: src-unix cpp-options: -DUSE_OFD_LOCKING exposed-modules: Lukko.OFD elif !(os(solaris) || os(aix)) hs-source-dirs: src-flock hs-source-dirs: src-unix cpp-options: -DUSE_FLOCK else hs-source-dirs: src-unix cpp-options: -DUSE_NOOP -- Cabal check is silly if (!os(windows) && !(os(solaris) || os(aix))) exposed-modules: Lukko.FLock other-modules: Lukko.Internal.FD Lukko.Internal.FillBytes Lukko.Internal.HandleToFD Lukko.Internal.Types test-suite test-thread default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Tests.hs ghc-options: -threaded build-depends: , async ^>=2.2.2 , base , filepath ^>=1.3.0.0 || ^>=1.4.0.0 , lukko , singleton-bool ^>=0.1.5 , tasty ^>=1.4.0.1 , tasty-expected-failure ^>=0.11.1.2 || ^>=0.12.2 , tasty-hunit ^>=0.10.0.2 , temporary ^>=1.3 if !impl(ghc >=7.8) build-depends: tagged ^>=0.8.5 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 test-suite test-process default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test main-is: TestProcess.hs ghc-options: -threaded build-depends: , base , bytestring >=0.9.2.1 && <0.12 , lukko 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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor