{"id":16733095,"url":"https://github.com/quchen/cabal-install-bin","last_synced_at":"2025-04-10T11:42:39.736Z","repository":{"id":25557543,"uuid":"28990677","full_name":"quchen/cabal-install-bin","owner":"quchen","description":"Install binary packages in a temporary Cabal sandbox","archived":false,"fork":false,"pushed_at":"2015-12-11T22:31:16.000Z","size":229,"stargazers_count":16,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-24T10:38:47.508Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quchen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-08T23:06:11.000Z","updated_at":"2016-08-03T22:55:04.000Z","dependencies_parsed_at":"2022-08-23T08:50:13.855Z","dependency_job_id":null,"html_url":"https://github.com/quchen/cabal-install-bin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quchen%2Fcabal-install-bin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quchen%2Fcabal-install-bin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quchen%2Fcabal-install-bin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quchen%2Fcabal-install-bin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quchen","download_url":"https://codeload.github.com/quchen/cabal-install-bin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248211711,"owners_count":21065815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T23:48:39.960Z","updated_at":"2025-04-10T11:42:39.714Z","avatar_url":"https://github.com/quchen.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Install binary packages in a temporary Cabal sandbox\n====================================================\n\n\n\nMotivation\n----------\n\nA common task to use Cabal for is to install binary packages. In order not to\npollute the global package space, this is often done in a sandbox. This small\nscript automates this process for packages that support it.\n\nMore accurately, the script does the following:\n\n1. Create a temporary directory\n2. Initialize a Cabal sandbox\n3. Build the desired binaries. Link statically, build with minimal profiling\n   overhead (no profiling, no shared libs, no Haddock).\n4. Install the binaries to `$HOME/.cabal/bin`\n5. Delete temporary directory\n\nUsage\n-----\n\n`cabal-install-bin (package)+`\n\n\n\nPrograms tested with\n--------------------\n\nThis process does obviously only work for relocatable binaries. The most common\nnon-relocatable types of binaries are dynamically linked ones and those that\nneed external data files. That said, many binaries I've installed for myself\nover the years were relocatable. Check whether the process worked after\nbuilding!\n\n### Successful\n\nProgram   | `--version` | package name\n----------|-------------|-------------\nC2Hsc     | 0.6.4       | c2hsc-0.6.5\nCabal     | 1.22.0.0    | cabal-install-1.22.0.0\nGHC Core  | n/a         | ghc-core-0.5.6\nHLint     | 1.9.15      | hlint-1.9.15\nHsColour  | 1.20        | hscolour-1.20.3\nPandoc    | 1.13.2      | pandoc-1.13.2\n\n### Status unknown\n\nThese programs were unsuccessfully built in the past, but due to multiple\npatches in the meantime they might work as intended now. I'll gladly take\nuser reports on success or failure.\n\nProgram   | package name  | Problem\n----------|---------------|-----------------------------------------------------\nAlex      | alex-3.1.4    | (may work, needs testing)\nHappy     | happy-1.19.5  | (Reported to work on OSX with GHC 7.8.3)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquchen%2Fcabal-install-bin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquchen%2Fcabal-install-bin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquchen%2Fcabal-install-bin/lists"}