name:                 atomic-write
version:              0.2.0.7
visibility:           public
id:                   atomic-write-0.2.0.7-98GmY26ioTi1WK8wrO1RfX
key:                  atomic-write-0.2.0.7-98GmY26ioTi1WK8wrO1RfX
license:              MIT
copyright:            2015-2019 Stack Builders Inc.
maintainer:           support@stackbuilders.com
author:               Justin Leitgeb
homepage:             https://github.com/stackbuilders/atomic-write
synopsis:             Atomically write to a file
description:

    Atomically write to a file on POSIX-compliant systems while preserving
    permissions.

    On most Unix systems, `mv` is an atomic operation. This makes it simple to write
    to a file atomically just by using the mv operation. However, this will
    destroy the permissions on the original file. This library does the following
    to preserve permissions while atomically writing to a file:

    * If an original file exists, take those permissions and apply them to the
    temp file before `mv`ing the file into place.

    * If the original file does not exist, create a following with default
    permissions (based on the currently-active umask).

    This way, when the file is `mv`'ed into place, the permissions will be the ones
    held by the original file.

    This library is based on similar implementations found in common libraries in
    Ruby and Python:

    * <http://apidock.com/rails/File/atomic_write/class Ruby on Rails includes a similar method called atomic_write>

    * <https://github.com/chef/chef/blob/c4631816132fcfefaba3d123a1d0dfe8bc2866bb/lib/chef/file_content_management/deploy/mv_unix.rb#L23:L71 Chef includes atomic update functionality>

    * <https://github.com/sashka/atomicfile There is a python library for atomically updating a file>

    To use `atomic-write`, import the module corresponding to the type you wish to
    write atomically, e.g., to write a (strict) ByteString atomically:

    > import System.AtomicWrite.Writer.ByteString

    Then you can use the atomicWriteFile function that accepts a `FilePath` and a
    `ByteString`, e.g.:

    > atomicWriteFile myFilePath myByteString

category:             System
abi:                  4903cff3658e27c32605a23c24ac70a9
exposed:              True
exposed-modules:
    System.AtomicWrite.Writer.ByteString
    System.AtomicWrite.Writer.ByteString.Binary
    System.AtomicWrite.Writer.ByteStringBuilder
    System.AtomicWrite.Writer.LazyByteString
    System.AtomicWrite.Writer.LazyByteString.Binary
    System.AtomicWrite.Writer.LazyText
    System.AtomicWrite.Writer.LazyText.Binary
    System.AtomicWrite.Writer.String
    System.AtomicWrite.Writer.String.Binary
    System.AtomicWrite.Writer.Text
    System.AtomicWrite.Writer.Text.Binary

hidden-modules:       System.AtomicWrite.Internal
import-dirs:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.8.2/atomic-write-0.2.0.7-98GmY26ioTi1WK8wrO1RfX

library-dirs:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.8.2/atomic-write-0.2.0.7-98GmY26ioTi1WK8wrO1RfX

library-dirs-static:
    /usr/pkg/lib/aarch64-netbsd-ghc-9.8.2/atomic-write-0.2.0.7-98GmY26ioTi1WK8wrO1RfX

dynamic-library-dirs: /usr/pkg/lib/aarch64-netbsd-ghc-9.8.2
data-dir:
    /usr/pkg/share/aarch64-netbsd-ghc-9.8.2/atomic-write-0.2.0.7

hs-libraries:         HSatomic-write-0.2.0.7-98GmY26ioTi1WK8wrO1RfX
depends:
    base-4.19.1.0-inplace bytestring-0.12.1.0-inplace
    directory-1.3.8.1-inplace filepath-1.4.200.1-inplace
    temporary-1.3-G5zkEvVlP3C5RKSlqw6h6v text-2.1.1-inplace
    unix-compat-0.7.1-FLyro5IwmnkLhiWD2eAVC9

haddock-interfaces:
    /usr/pkg/share/doc/aarch64-netbsd-ghc-9.8.2/atomic-write-0.2.0.7/html/atomic-write.haddock

haddock-html:
    /usr/pkg/share/doc/aarch64-netbsd-ghc-9.8.2/atomic-write-0.2.0.7/html
