hup alternatives and similar packages
Based on the "Distribution" category.
Alternatively, view hup alternatives based on common mentions on social networks and blogs.
-
stackage
Stable Haskell package sets: vetted consistent packages from Hackage -
Cabal-ide-backend
Official upstream development repository for Cabal and cabal-install -
redo
djb's redo implementation in Haskell (for Haskell from Scratch video series) -
cabal-dev
A wrapper program around cabal and cabal-install that maintains sandboxed build environments. -
hackage-security-HTTP
Hackage security framework based on TUF (The Update Framework) -
hackage-security
Hackage security framework based on TUF (The Update Framework) -
hackage-repo-tool
Hackage security framework based on TUF (The Update Framework) -
cabal-helper
Give Haskell development tools access to Cabal project environment. -
hackport
A command line tool to generate Gentoo ebuilds from Hackage packages. -
hackage-diff
Compare the public API of different versions of a Hackage library -
stackage-upload
A more secure version of cabal upload which uses HTTPS -
cabal-meta
avoid cabal dependency hell by installing all your cabal dependencies at the same time -
language-nix
Data types and useful functions to represent and manipulate the Nix language. | Source has moved to https://github.com/nixos/cabal2nix -
cblrepo
Tool to simplify managing a consistent set of Haskell packages for distributions. -
hackage-db
provide access to the Hackage database via Data.Map | Source has moved to https://github.com/nixos/cabal2nix -
haskell-packages
Haskell suite library for package management and integration with Cabal -
jailbreak-cabal
Strip version restrictions from build dependencies in Cabal files. -
cabal-dependency-licenses
Compose a list of a project's transitive dependencies with their licenses -
distribution-nixpkgs
Haskell types and functions to represent, query, and manipulate the Nixpkgs distribution. | Source has moved to https://github.com/nixos/cabal2nix -
haskell-updater
rebuilds Haskell packages after a GHC upgrade or a dependency upgrade -
cabal-uninstall
Very simple Haskell script to uninstall cabal packages -
stackage-update
Update your package index incrementally (requires git) -
dynamic-cabal
Dynamically load the Cabal library to use a newer version with the GHC API -
cabal-file-th
Template haskell function to bring cabal file fields into your source.
Collect and Analyze Billions of Data Points in Real Time
Do you think we are missing an alternative of hup or a related project?
README
hup 
Build status |
---|
Small program for building and uploading packages and documentation
built with stack
to a hackage server; a Haskellified version of
phadej's script,
which is a stack-enabled version of ekmett's script.
In addition to stack
, it requires the cabal
executable
(but will install an appropriate cabal
if it doesn't find one in the
binaries for the package snapshot your project is using).
Installation
Install in the standard Stack way with stack install hup
.
Or, if you're using Linux on x86_64
architecture, you can
download binaries from the GitHub repository, under "Releases".
Quick usage
Try:
$ cd /path/to/my/project
$ stack build
$ hup packboth -u myHackageUserID -p myHackagePassword
$ hup docboth -u myHackageUserID -p myHackagePassword
Usage
hup [COMMAND] ... [OPTIONS]
Build and/or upload packages or documentation to a hackage server. A server
url should be of the format PROTOCOL://SERVER[:PORT]/
, and defaults to
https://hackage.haskell.org/
if not specified.
A password can also be given in the PASSWORD
environment variable instead
of on the command line.
'hup --help=all' will give help for all commands.
Commands:
packup Upload FILE as a package (or candidate package). docbuild Build documentation for a package. docup Upload FILE as documentation. docboth Build and upload documentation for a package.
Common flags:
-v --verbose be verbose -h --help Display help message. '--help=all' will display help for all commnds. '--help=bash' will output code for bash command-line completion. -V --version Print version information --numeric-version Print just the version number
hup packup [OPTIONS] FILE
Upload FILE as a package (or candidate package).
Flags:
-s --server=URL
-c --candidate
-u --user=USER
-p --password=PASSWORD
hup docbuild [OPTIONS]
Build documentation for a package.
Flags:
-e --executables Run haddock for Executables targets
-t --tests Run haddock for Test Suite targets
-i --internal Run haddock for internal modules and include
all symbols
--haddock-arguments=ARGS extra args to pass to haddock
-q --quick quick build - don't build docco for
dependencies (links will be broken)
hup docup [OPTIONS] FILE
Upload FILE as documentation.
Flags:
-s --server=URL
-c --candidate
-u --user=USER
-p --password=PASSWORD
hup docboth [OPTIONS]
Build and upload documentation for a package.
Flags:
-e --executables Run haddock for Executables targets
-t --tests Run haddock for Test Suite targets
-i --internal Run haddock for internal modules and include
all symbols
--haddock-arguments=ARGS extra args to pass to haddock
-q --quick quick build - don't build docco for
dependencies (links may be broken)
-s --server=URL
-c --candidate
-u --user=USER
-p --password=PASSWORD
Troubleshooting
I get an error during upload that says "...: does not exist (no such protocol name: tcp)"
This is not actually a bug in hup
, but is found in e.g. Docker containers
that don't have all the packages needed for networking - see e.g.
here on StackOverflow.
You will need to install networking packages appropriate for your distro - on Ubuntu, something like ca-certificates, libgnutls28 (or another version of the GNU TLS library), and netbase.
I get some sort of error when building documents that says "...haddock: internal error: ... hGetContents: invalid argument (invalid byte sequence)"
Again, this isn't actually a bug in hup
, but happens (e.g. in Docker
containers) when the system locale is not properly set up (see a bug report
here arising from a
similar issue). Annoyingly, haddock
depends on the locale being properly set,
though it doesn't really seem necessary.
Try running locale-gen "en_US.UTF-8"
to generate an appropriate UTF-8
locale, and export LC_ALL="en_US.UTF-8"
so that the locale can be found
from environment variables.
Bash command-line completion
To enable bash command-completion:
Run
hup --help=bash > hup.complete
then either "source hup.complete
" or ". hup.complete
".
Defaults
Uses "https://hackage.haskell.org/
" as the default server location,
but see the DefaultServerUrl
module if you want to patch this to
something else before installing.
Bugs and limitations
- Not yet tested on MS Windows or MacOS