secretspec-0.19.0: secretspec.cabal
cabal-version: 2.4
name: secretspec
version: 0.19.0
synopsis: Haskell SDK for SecretSpec, a declarative secrets manager
description:
A thin client over the @secretspec-ffi@ C ABI (linked at build time).
Resolution (providers, chains, profiles, generation, @as_path@) happens in the
Rust core; this package marshals a JSON request to the native library and
parses the response, mirroring the Rust derive crate's vocabulary.
homepage: https://secretspec.dev/
license: Apache-2.0
license-file: LICENSE
author: Domen Kožar
maintainer: domen@enlambda.com
category: Configuration
build-type: Simple
flag use-pkg-config
description:
Locate secretspec_ffi and its link dependencies through pkg-config
(secretspec_ffi.pc) instead of command-line library and linker paths.
default: False
manual: True
library
exposed-modules: SecretSpec
hs-source-dirs: src
build-depends: base >=4.14 && <5
, aeson >=2.0 && <3
, bytestring <1
, containers <1
, directory <2
, text <3
-- The native resolver is linked at build time. The default path below uses
-- the static archive; pkg-config may select a static or shared install.
--
-- Without the flag: point --extra-lib-dirs at a directory containing ONLY
-- libsecretspec_ffi.a (so -lsecretspec_ffi resolves to the archive, not a
-- co-located .so), and pass the archive's transitive native deps via
-- --ghc-options=-optl<lib> (capture them with
-- `cargo rustc -p secretspec-ffi --crate-type staticlib -- --print native-static-libs`).
if flag(use-pkg-config)
pkgconfig-depends: secretspec_ffi
else
extra-libraries: secretspec_ffi
-- The Darwin frameworks among the archive's native dependencies, declared
-- so every final link (executable, test-suite, ghci) receives them through
-- the compiler driver.
if os(darwin)
frameworks: SystemConfiguration Security CoreFoundation
default-language: Haskell2010
ghc-options: -Wall
executable secretspec-quick-start-example
main-is: QuickStart.hs
hs-source-dirs: examples
build-depends: base
, containers
, secretspec
default-language: Haskell2010
ghc-options: -Wall
executable secretspec-scopes-example
main-is: Scopes.hs
hs-source-dirs: examples
build-depends: base
, secretspec
default-language: Haskell2010
ghc-options: -Wall
executable secretspec-report-example
main-is: Report.hs
hs-source-dirs: examples
build-depends: base
, secretspec
default-language: Haskell2010
ghc-options: -Wall
test-suite secretspec-test
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
build-depends: base
, secretspec
, aeson >=2.0
, bytestring
, containers
, directory
, filepath
, process
, text
default-language: Haskell2010
ghc-options: -Wall -threaded