packages feed

nostr-1.3.0.0: nostr.cabal

cabal-version:      3.0
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.

-- Initial package description 'nostr' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name:               nostr

-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
version:            1.3.0.0
bug-reports:        https://github.com/delirehberi/nostr.hs/issues

-- A short (one-line) description of the package.
synopsis:           Nostr library

-- A longer description of the package.
description:        A Haskell library for the Nostr protocol, providing
                    client and relay communication, event handling, and
                    support for various NIPs including authentication,
                    threading, and URI schemes.

-- URL for the project homepage or repository.
homepage:           https://nostrhs.emre.xyz

-- The license under which the package is released.
license:            MIT

-- The file containing the license text.
license-file:       LICENSE

-- The package author(s).
author:             Emre YILMAZ

-- An email address to which users can send suggestions, bug reports, and patches.
maintainer:         z@emre.xyz

-- A copyright notice.
-- copyright:
category:           Network
build-type:         Simple

-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files:    CHANGELOG.md

-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
-- extra-source-files:

source-repository head
  type:     git
  location: https://github.com/delirehberi/nostr.hs.git


common warnings
    ghc-options: -Wall

library
    -- Import common warning flags.
    import:           warnings

    -- Modules exported by the library.
    exposed-modules:  Nostr.Event , Nostr.Relay, Nostr.Crypto, Nostr.Client, Nostr.Nip19, Nostr.Nip05, Nostr.Nip21, Nostr.Nip11, Nostr.Nip65, Nostr.Nip04, Nostr.Nip57

    -- Modules included in this library but not exported.
    -- other-modules:

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:
    
    -- Other library packages from which modules are imported.
    build-depends:    base >=4.18.0.0 && <4.20
        , aeson 
        , bytestring 
        , text 
        , unix-time 
        , websockets
        , ppad-secp256k1 >= 0.4.0
        , ppad-fixed
        , nonempty-wrapper-text
        , cryptonite
        , memory
        , base16-bytestring
        , vector
        , entropy
        , containers
        , async
        , stm
        , http-conduit
        , mtl
        , time
        , wuss
        , bech32
        , base64-bytestring

    -- Directories containing source files.
    hs-source-dirs:   lib

    -- Base language which the package is written in.
    default-language: Haskell2010

executable nostr
    -- Import common warning flags.
    import:           warnings

    -- .hs or .lhs file containing the Main module.
    main-is:          Main.hs

    -- Modules included in this executable, other than Main.
    -- other-modules:

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- Other library packages from which modules are imported.
    build-depends:
        base >=4.18.0.0 && <4.20,
        nostr,
        aeson,
        bytestring,
        text,
        time

    -- Directories containing source files.
    hs-source-dirs:   app

    -- Base language which the package is written in.
    default-language: Haskell2010

executable nostr-example
    import:           warnings
    main-is:          Example.hs
    build-depends:
        base >=4.18.0.0 && <4.20,
        nostr,
        text,
        bytestring,
        time

    hs-source-dirs:   app
    default-language: GHC2021

test-suite nostr-test
    import:           warnings
    default-language: GHC2021
    type:             exitcode-stdio-1.0
    hs-source-dirs:   test
    main-is:          Main.hs
    other-modules:
        Test.Nostr.ClientSpec
        Test.Nostr.Nip19Spec
        Test.Nostr.EventSpec
        Test.Nostr.CryptoSpec
        Test.Nostr.RelaySpec
        Test.Nostr.Nip11Spec
        Test.Nostr.Nip65Spec
        Test.Nostr.Nip04Spec
        Test.Nostr.Nip57Spec
        Test.Nostr.Nip05Spec
        Test.Nostr.Nip21Spec
    build-depends:
        base >=4.18.0.0 && <4.20,
        nostr,
        hspec,
        QuickCheck,
        text,
        bytestring,
        aeson,
        containers,
        base64-bytestring