packages feed

nix-serve-ng-1.0.0: nix-serve-ng.cabal

cabal-version:      3.0
name:               nix-serve-ng
version:            1.0.0
synopsis:
    A drop-in replacement for nix-serve that's faster and more stable

license:            BSD-3-Clause
license-file:       LICENSE
author:             Arista Networks
maintainer:         opensource@awakesecurity.com
copyright:          2022 Arista Networks

executable nix-serve
    hs-source-dirs:   src

    main-is:          Main.hs

    other-modules:    Nix
                    , Options

    -- https://nixos.org/manual/nix/stable/installation/supported-platforms.html
    if arch(x86_64) && os(linux)
      cxx-options:    -DSYSTEM="x86_64-linux"
    elif arch(aarch64) && os(linux)
      cxx-options:    -DSYSTEM="aarch64-linux"
    elif arch(aarch64) && os(darwin)
      cxx-options:    -DSYSTEM="aarch64-darwin"
    elif arch(x86_64) && os(darwin)
      cxx-options:    -DSYSTEM="x86_64-darwin"
    else
      buildable:      False

    include-dirs:     cbits

    cxx-sources:      cbits/nix.cpp

    cxx-options:      -std=c++17

    build-depends:    base < 5
                    , base16
                    , base32
                    , bytestring
                    , charset
                    , http-types
                    , managed
                    , megaparsec
                    , mtl
                    , network
                    , optparse-applicative
                    , vector
                    , wai
                    , wai-extra
                    , warp
                    , warp-tls

    pkgconfig-depends:
                      nix-store

    if os(darwin)
      extra-libraries: c++
    elif os(linux)
      extra-libraries: stdc++
    else
      buildable:      False

    default-language: Haskell2010

    ghc-options:      -Wall -threaded -O2 -rtsopts

benchmark benchmark
    hs-source-dirs:   benchmark

    main-is:          Main.hs

    type:             exitcode-stdio-1.0

    build-depends:    base
                    , async
                    , bytestring
                    , http-client
                    , text
                    , turtle
                    , tasty-bench
                    , temporary
                    , vector

    default-language: Haskell2010

    ghc-options:      -Wall -O2 -threaded