name: hup
version: 0.3.0.3
synopsis: Upload packages and/or documentation to a hackage server
description:
Command-line application (plus an associated library) for uploading
Haskell packages or documentation to a hackage server.
.
Some sample command invocations:
@/hup packbuild/@ builds a source distribution @.tgz@
file, ready for uploading; @/hup packup somefile.tgz/@
uploads it to a hackage server (,
by default); and @/hup packboth/@ combines both steps.
.
Flags like @/[-c|--candidate]/@ allow you to upload a
candidate package instead.
.
Requires that @stack@ () be installed.
.
See the README for further details
(at )
homepage: https://github.com/phlummox/hup
license: BSD2
license-file: LICENSE
author: phlummox
maintainer: phlummox2@gmail.com
copyright: phlummox 2016-2021, others where indicated
category: Distribution, Web, Documentation
build-type: Simple
tested-with: GHC == 8.2.2, GHC == 8.6.5
-- until shelly is fixed, more recent
-- GHCs/versions of base won't build --
-- see https://github.com/phlummox/hup/issues/7
cabal-version: >=1.10
extra-source-files:
ChangeLog.md
, README.md
, stack-lts-3.yaml
, stack-lts-11.yaml
, stack-lts-14.yaml
source-repository head
type: git
location: https://github.com/phlummox/hup
Flag EnableWebTests
Description: Enable tests that do a (pretty minimal) check by running an actual
Warp web server. (Slower to build and run than other tests.)
Default: True
Manual: True
Flag ExtraGhcWarnings
Description: Enable extra ghc warnings
Default: True
Manual: True
-- This enables (or disables) tests that rely on
-- stack at runtime. (viz, tests using doctest.)
-- You can enable these tests from stack using
-- `--flag hup:BuildStackBasedTests`
Flag BuildStackBasedTests
Description: Enable tests requiring stack
Manual: True
Default: False
library
hs-source-dirs: src
exposed-modules:
Distribution.Hup
, Distribution.Hup.BuildTar
, Distribution.Hup.Parse
, Distribution.Hup.Types
, Distribution.Hup.Upload
build-depends:
base >= 4.8 && < 5
, bytestring
, directory
, filepath
, http-client
, http-client-tls
, http-types
, mtl >= 2.2.1
, split
, text < 2.0
, tar
, zlib
default-language: Haskell2010
if flag(ExtraGhcWarnings)
if impl(ghc >= 8.0.1)
-- -new-style warn options, plus
-- can use a few new warnings
ghc-options: -Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Wno-name-shadowing
-Wno-orphans
-Wno-type-defaults
-fwarn-tabs
else
ghc-options: -Wall
-fno-warn-name-shadowing
-fwarn-incomplete-record-updates
-fwarn-incomplete-uni-patterns
-fno-warn-type-defaults
-fwarn-tabs
if impl(ghc >= 8.4)
ghc-options: -Wmissing-export-lists
-Wpartial-fields
if impl(ghc >= 8.8)
ghc-options: -Wmissing-deriving-strategies
executable hup
hs-source-dirs: app
main-is: Main.hs
other-modules:
CmdArgs
, DefaultServerUrl
, Paths_hup
, SanityCheck
, Types
, Upload
, Stack
, DocBuilding
default-language: Haskell2010
build-depends:
base
, bytestring
, directory
, lifted-base
, mtl
-- avoid versions of shelly that don't
-- build on Windows - see https://github.com/phlummox/hup/issues/7
, shelly >= 1.6.6 && < 1.8.0
, tagsoup
, text
, transformers
, hup
, cmdargs
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
if flag(ExtraGhcWarnings)
if impl(ghc >= 8.0.1)
-- -new-style warn options, plus
-- can use a few new warnings
ghc-options: -Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Wno-name-shadowing
-Wno-orphans
-Wno-type-defaults
-fwarn-tabs
else
ghc-options: -Wall
-fno-warn-name-shadowing
-fwarn-incomplete-record-updates
-fwarn-incomplete-uni-patterns
-fno-warn-type-defaults
-fwarn-tabs
if impl(ghc >= 8.4)
ghc-options: -Wmissing-export-lists
-Wpartial-fields
if impl(ghc >= 8.8)
ghc-options: -Wmissing-deriving-strategies
test-suite hup-spec
type: exitcode-stdio-1.0
hs-source-dirs: test-hspec
main-is: Spec.hs
build-depends:
base
, bytestring
, filepath
, hspec-wai < 0.10
, http-client
, http-types
, hup
, hspec
, hspec-core
, QuickCheck
, scotty
, temporary
, text
, transformers
, wai
, wai-extra
, mtl
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
if flag(ExtraGhcWarnings)
if impl(ghc >= 8.0.1)
-- -new-style warn options, plus
-- can use a few new warnings
ghc-options: -Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Wno-name-shadowing
-Wno-orphans
-Wno-type-defaults
-fwarn-tabs
else
ghc-options: -Wall
-fno-warn-name-shadowing
-fwarn-incomplete-record-updates
-fwarn-incomplete-uni-patterns
-fno-warn-type-defaults
-fwarn-tabs
if impl(ghc >= 8.4)
ghc-options: -Wmissing-export-lists
-Wpartial-fields
if impl(ghc >= 8.8)
ghc-options: -Wmissing-deriving-strategies
default-language: Haskell2010
other-modules:
Distribution.Hup.WebTest
, Distribution.Hup.ParseSpec
, Distribution.Hup.Parse.Test
, Distribution.Hup.UploadSpec
, Distribution.Hup.Upload.Test
, Distribution.Hup.Upload.MockWebApp
if flag(EnableWebTests)
build-depends:
network
, vector
-- ridiculous. With cabal 1.24 and ghc 8.0.1, (a) installing dependencies
-- fails if 'vector' isn't added here (despite it not being a direct
-- dependency) and (b) the build takes much longer than with, e.g.
-- ghc 7.10.3.
-- TODO: track down the problem sometime.
, warp
cpp-options: -DWEB_TESTS
-- **
-- - Only runs using stack, so is disabled
-- by default
-- - Doesn't seem to run w/ lts-3 ... possibly
-- a bug in doctest, who knows
test-suite hup-doctest
type: exitcode-stdio-1.0
hs-source-dirs: test-doctest
main-is: DocTest.hs
if !(flag(BuildStackBasedTests))
buildable: False
else
build-depends: base
, hup
, doctest
, Glob
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010