install/OSX/Homebrewgit-annexhttp://git-annex.branchable.com/install/OSX/Homebrew/git-annexikiwiki2022-07-11T17:30:42ZCannot install c2hshttp://git-annex.branchable.com/install/OSX/Homebrew/comment_1_61cad5a309c3c4e3f278dec1890c9f40/IgorGanapolsky2016-10-24T18:05:51Z2016-10-24T18:05:51Z
<p>When I run the following command: <strong>cabal install c2hs --bindir=$HOME/bin</strong></p>
<p>I get the following error:</p>
<p>Error: some packages failed to install: c2hs-0.28.1 depends on language-c-0.5.0 which failed to install. language-c-0.5.0 failed during the configure step. The exception was: ExitFailure 1</p>
Man pages not included when installing via homebrewhttp://git-annex.branchable.com/install/OSX/Homebrew/comment_2_2f89cfbc42590885fb7e92a89d0f7895/Dan2022-07-11T17:30:42Z2022-07-11T17:30:42Z
<p>It seems that for me at least, OSX installations performed with <code>brew install git-annex</code> do not include man pages, e.g., if I subsequently run <code>man git-annex</code> I get the error <code>No manual entry for git-annex</code>. This isn't an enormous bother as I can instead browse documentation as needed on the website, but it's a headache when I'm working offline and even when not it can be irksome to have to leave the terminal.</p>
<p>Below I've pasted the <a href="https://github.com/Homebrew/homebrew-core/blob/0362892918d8e1c8d0b38c962e26a872e8612e71/Formula/git-annex.rb#L22-L27">relevant lines</a> that govern how homebrew performs the installation (or in practice, how the "bottle" is built as part of a CI process, and which bottle is typically "poured" by end users rather than compiling locally).</p>
<pre><code> def install
system "cabal", "v2-update"
system "cabal", "v2-install", *std_cabal_v2_args,
"--flags=+S3"
bin.install_symlink "git-annex" => "git-annex-shell"
end
</code></pre>
<p>Notably, it uses <code>cabal</code> to do the installation, but it doesn't quite follow any of the cabal-related patterns currently outlined on the <a href="https://git-annex.branchable.com/install/fromsource/">"installing from source" documentation</a>. I inspected the bottle that homebrew downloads, and indeed it contains just a handful of files that do not include the man pages, i.e.:</p>
<pre><code>.
├── CHANGELOG
├── COPYRIGHT
├── NEWS
├── README
├── bin
│ ├── git-annex
│ └── git-annex-shell -> git-annex
├── homebrew.git-annex.service
└── homebrew.mxcl.git-annex.plist
1 directory, 8 files
</code></pre>
<p>Is there an easy tweak to the cabal-based installation that homebrew currently uses to do its bottling that would include man pages, or would it be a potentially significant undertaking that would require an appreciably different build approach?</p>