Automic VaultAutomic Vault

brew

Installer hpack avec Homebrew, apt, Nix

Consultez les chemins d'installation, exécutables, métadonnées et notes de sécurité de hpack pour les workflows d'agents IA.

installation

Commandes d'installation supplémentaires

macOS

Homebrewvérifié · 100%
brew install hpack

local Homebrew formula metadata

aperçu

Résumé du paquet

Modern format for Haskell packages

Commandes et alias

  • hpack

historique

Historique du projet et usages

hpack is a Haskell packaging tool and package-description format built around `package.yaml`. It generates Cabal files while trying to reduce repetition and make common package metadata less verbose.

Historique du projet

Simon Hengel's hpack appeared on Hackage in April 2015 with version 0.1.0. The project README describes it as a modern alternative to the Cabal package format, guided by three principles: infer obvious information, give users control when needed, and avoid repeating metadata.

hpack developed alongside Cabal rather than replacing it. The executable reads `package.yaml` and renders a `.cabal` file, while its changelog tracks years of Cabal compatibility work: SPDX license handling, generated module behavior, internal libraries, `build-tool-depends`, Cabal version inference, and support for newer GHC and Cabal releases.

Historique d'adoption

The README documents native `package.yaml` support in Stack and cabal2nix, while Hackage lists reverse dependencies including stack, pantry, cabal2nix, stack2cabal, stack-lib, and stackage2nix. That places hpack in the machinery around Haskell project templates, Stackage snapshots, and Nix conversion.

Homebrew, Hackage, Stackage, and Linux distribution packaging make hpack available both as a Haskell library/program and as a standalone CLI. Its adoption is tied to `package.yaml` becoming a common Haskell project file, especially in Stack-oriented projects.

Modes d'utilisation

Users write package metadata in `package.yaml`. Stack can consume that file directly, cabal2nix supports it natively, and other workflows can run `hpack` to generate the `.cabal` file before building.

hpack also supports practical package-authoring features such as defaults files, globbing, verbatim Cabal fields, generated module controls, common fields, conditionals, executables, tests, benchmarks, and dependency syntax intended to keep package descriptions maintainable.

Pourquoi les passionnés de paquets s'y intéressent

hpack is important because it sits at the contested boundary between package metadata as a human-maintained source file and package metadata as generated build-tool input. Package nerds care about that boundary: generated `.cabal` files can reduce repetition, but they also introduce questions about source-of-truth, reproducibility, diffs, and downstream tooling.

Its long changelog is also a miniature history of Haskell packaging pressure points, from SPDX licenses and Cabal version syntax to generated modules and compatibility with Stack, Stackage, Nix, and newer Cabal releases.

Chronologie

  • 2015: Hackage records hpack 0.1.0 uploaded by Simon Hengel.
  • 0.18.0: The changelog adds command-line input-file handling and executable shorthand.
  • 0.29.0: The changelog adds Cabal 2.1/2.2-related rendering and SPDX license handling.
  • 0.36.0: The changelog changes `Paths_` module inference for package specs using spec-version 0.36.0 or later.
  • 2026: Hackage records hpack 0.39.6, adding top-level `codeberg` support.

Related projects

  • Cabal is the package format and build-tool ecosystem that hpack generates into.
  • Stack has built-in support for hpack's `package.yaml` workflow.
  • cabal2nix supports `package.yaml` natively, connecting hpack to Nix packaging workflows.
  • Stackage-related tools such as pantry, stack2cabal, stack-lib, and stackage2nix appear in Hackage reverse-dependency metadata.

posture de sécurité

Niveau de risque : vert

narrow executable package without higher-risk signals.

Classificateur de risque

risque vert · confiance faible · appliance

Pourquoi

  • narrow executable package without higher-risk signals

Signaux

  • metadata:no-higher-risk-signals

Comportement d'installation

  • Aucun hook post-install Homebrew n’est enregistré dans les métadonnées de formule.
  • Les métadonnées de bottle Homebrew sont disponibles pour 6 plateformes.
  • S’installe avec 1 dépendances d’exécution.
  • Les métadonnées de compilation listent 2 dépendances de compilation.

Revue recommandée

Avant une utilisation sans surveillance par un agent, vérifiez si l'outil lit des identifiants en clair, écrit un état distant, publie des artefacts ou lance des plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
package.yaml

exécutables

Exécutables installés

CommandeTypeExpositionNote
hpackcliexécutable global

fraîcheur

Version et fraîcheur

Ces signaux séparent l'âge de génération de la page, l'activité du gestionnaire de paquets et la comparaison avec les versions amont. Un retard de version n'est signalé que lorsqu'une URL de preuve et des versions comparables sont présentes.

page générée2026-07-25
version du gestionnaire0.39.6
gestionnaire mis à jour2026-07-22
données localesOK
amontnot checked
dernière version détectéenon détecté

https://github.com/sol/hpack

métadonnées d'installation

Métadonnées du paquet

Clé du paquetbrew:hpack
Version0.39.6
Gestionnaire de paquetsHomebrew
Page du gestionnaire de paquetshttps://formulae.brew.sh/formula/hpack
Page d'accueilhttps://github.com/sol/hpack
Dépôthttps://github.com/sol/hpack
Docs amonthttps://github.com/sol/hpack#readme
LicenceMIT
Archive sourcehttps://hackage.haskell.org/package/hpack-0.39.6/hpack-0.39.6.tar.gz
Dernière mise à jour2026-07-22T03:24:33Z
Pulseupdated
Dépendancesgmp
Dépendances de compilationcabal-install, ghc
Bibliothèques fournies par macOSlibffi
Bouteilledisponible (sur arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
post-install Homebrewnon défini
Serviceaucun déclaré

faits du registre

Détails de la base source

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namehpack
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

correspondances dans les bases sources

Autres enregistrements de gestionnaires de paquets

Les correspondances proviennent d’index externes de gestionnaires de paquets et restent séparées des liens de paquets Automic Vault locaux.

Debian apt95%

hpack 0.36.1-1+b1

alternative format for Haskell packages

https://github.com/sol/hpack#readme

sudo apt install hpack
  • Section: haskell
  • Architecture: amd64
  • Source Package: haskell-hpack
  • 6 Dépendances
  • normalized package name match
  • Correspondance par : Hpack
Debian stable package indexes · deb.debian.org · Debian stable package indexes: hpack from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

hpack

nix profile install nixpkgs#hpack
  • normalized package name match
  • Correspondance par : Hpack
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: hpack from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

hpack 0.35.2-1

alternative format for Haskell packages

https://github.com/sol/hpack#readme

sudo apt install hpack
  • Section: universe/haskell
  • Architecture: amd64
  • Source Package: haskell-hpack
  • 5 Dépendances
  • normalized package name match
  • Correspondance par : Hpack
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: hpack from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

piste source

Généré depuis les données du dépôt

Cette page est servie par av-web depuis l'artéfact SQLite privé des paquets généré par scripts/generate-pkg-sqlite.py.

Sources utilisées

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment