haskell / haskell/cabal

Setting temporary directory

Open
#4,671 1 comment 0 reactions 0 assignees View on GitHub
type: enhancement
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

I want to use `cabal-install` to build multiple packages on multiple cores with the `-j` option. The more threads I enable the more the harddisk rattles and the less speedup I get. I tried the option `--builddir=/ram/build` in order to let Cabal work in a ram disk. First, this fails since multiple packages seem to be build in the same directory, e.g. if multiple packages use `configure` (e.g. `network`) the files will clash. Second, there are still files that Cabal writes to `/tmp`.

Contributor guide

Open the contributing guide

Research direction

Start with cabal-install's handling of `--builddir`, then reproduce the issue using `-j` with multiple packages that use `configure`. Done means parallel package builds no longer clash in a shared build directory and the remaining temporary files are placed according to the requested temporary-directory behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
build-system, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.