packages feed

hstratus-drive-0.1.0.1: hstratus-drive.cabal

cabal-version:      3.0
name:               hstratus-drive
version:            0.1.0.1
synopsis:           Access iCloud Drive
description:
  Browse and download files from iCloud Drive using an authenticated session
  from the @hstratus-auth@ library.

  Provides access to the main CloudDocs tree: fetching the root folder,
  listing folder contents, downloading files, and mutating the tree (create,
  rename, delete, upload).

  This library is unofficial and not supported by Apple. It may break
  without warning if Apple changes their API.

license:            BSD-3-Clause
license-file:       LICENSE
author:             Tim Emiola
maintainer:         Tim Emiola <adetokunbo@emio.la>
copyright:          (c) 2026 Tim Emiola
category:           Network
build-type:         Simple
tested-with:
    GHC == 9.2.8
  , GHC == 9.4.8
  , GHC == 9.6.7
  , GHC == 9.8.4
  , GHC == 9.10.2
  , GHC == 9.12.1
extra-doc-files:
  ChangeLog.md
  README.md

source-repository head
  type:     git
  location: https://github.com/adetokunbo/hstratus.git
  subdir:   hstratus-drive

library
  exposed-modules:
    Network.HStratus.Drive
    Network.HStratus.Drive.Node
  hs-source-dirs:   src
  build-depends:
    , base                 >=4.12 && <5
    , bytestring           >=0.10.8 && <0.11 || >=0.11.3 && <0.13
    , hstratus-auth        >=0.1 && <0.3
    , hstratus-drive:hstratus-drive-internal
    , text                 >=1.2.3 && <2.2
    , time                 >=1.8 && <1.15
  default-language: Haskell2010
  ghc-options:      -Wall -Wincomplete-uni-patterns -Wpartial-fields -fwarn-tabs

library hstratus-drive-internal
  exposed-modules:
    Network.HStratus.Internal.Drive.Download
    Network.HStratus.Internal.Drive.Endpoints
    Network.HStratus.Internal.Drive.Node
    Network.HStratus.Internal.Drive.NodeData
  hs-source-dirs:   src-internal
  build-depends:
    , aeson                >=2.0   && <2.3
    , base                 >=4.12 && <5
    , bytestring           >=0.10.8 && <0.11 || >=0.11.3 && <0.13
    , case-insensitive     >=1.2 && <1.3
    , containers           >=0.6 && <0.8
    , http-client          >=0.5 && <0.8
    , http-types           >=0.12.1 && <0.13
    , hstratus-auth        >=0.1 && <0.3
    , text                 >=1.2.3 && <2.2
    , time                 >=1.9 && <1.15
    , vector               >=0.12 && <0.14
  default-language: Haskell2010
  ghc-options:      -Wall -Wincomplete-uni-patterns -Wpartial-fields -fwarn-tabs

test-suite test
  type:             exitcode-stdio-1.0
  main-is:          Spec.hs
  hs-source-dirs:   test
  other-modules:
    HStratus.Drive.EndpointsSpec
    HStratus.Drive.MutationSpec
    HStratus.Drive.NodeSpec
    HStratus.Drive.UploadSpec
    HStratus.DriveSpec
  default-language: Haskell2010
  ghc-options:      -threaded -rtsopts -with-rtsopts=-N -Wall -fwarn-tabs
  build-depends:
    , aeson                >=2.0   && <2.3
    , base
    , bytestring           >=0.10.8 && <0.11 || >=0.11.3 && <0.13
    , containers           >=0.6 && <0.8
    , hspec                >=2.1 && <3.0
    , http-client          >=0.5 && <0.8
    , http-types           >=0.12.1 && <0.13
    , hstratus-auth        >=0.1 && <0.3
    , hstratus-drive
    , hstratus-drive:hstratus-drive-internal
    , temporary            >=1.2 && <1.4
    , text                 >=1.2.3 && <2.2
    , time                 >=1.9 && <1.15
    , wai                  >=3.2 && <3.3
    , warp                 >=3.2 && <3.5