cabal-file: Cabal file access

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

cabal-file is a small library on top of the 'hackage-security' library for accessing the local Hackage repo index cache, and a command-line tool cblfile which can diff .cabal versions, list package versions, save a cabal file, and show metadata from the index. It uses simple-cabal to display package dependency lists.


[Skip to Readme]

Properties

Versions 0.1.0, 0.1.0, 0.1.1
Change log ChangeLog.md
Dependencies base (<5), bytestring, Cabal (>2.2), cabal-file, directory, extra, filepath, hackage-security, optparse-applicative, simple-cabal (>0.1), simple-cmd, simple-cmd-args (>=0.1.2), time [details]
License BSD-3-Clause
Copyright 2019-2020 Jens Petersen
Author Jens Petersen
Maintainer juhpetersen@gmail.com
Category Distribution
Source repo head: git clone https://github.com/juhp/cabal-file.git
Uploaded by JensPetersen at 2020-05-24T14:09:15Z

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for cabal-file-0.1.0

[back to package description]

cabal-file

cabal-file is a library on top of the hackage-security library for accessing cabal files and versions, and also a small tool for getting and comparing .cabal files.

Since it accesses package and .cabal file data directly from the local Hackage repo cache index tar archive under ~/.cabal/ it is quite fast.

Usage

List versions of a package:

$ cblfile list pandoc
0.4
:
:
2.9.2.1

Diff .cabal files of package versions

$ cblfile diff pandoc 2.8 2.9.2.1
--- pandoc-2.8.cabal    2020-05-24 19:47:58.487921450 +0800
+++ pandoc-2.9.2.1.cabal        2020-05-24 19:47:58.487921450 +0800
@@ -1,10 +1,10 @@
 name:            pandoc
-version:         2.8
+version:         2.9.2.1
 cabal-version:   2.0
:
:

Latest version of a package:

$ cblfile latest extra
1.7.1

Timestamp for the latest .cabal file (or for a specific version):

$ cblfile date dhall
2020-05-19 02:18:01 UTC

Save a .cabal file (latest or specific version)

$ cblfile get purescript
$ ls purescript.cabal
purescript.cabal

Check package source metadata:

$ cblfile metadata tls-1.5.4
Size: 150171
SHA256 Hash "ce42bfa581a50f62776581da4b86408ebb1a51bc6cb2f95ad0a2ac7caa19a437"

Depends output

cblfile depends outputs quite verbose package dependency lists.

Library

For library documentation see the Hackage.Index documentation.

If you want full diffs of Hackage sources you can try out cabal-diff from cabal-extras.