Comments (4)
(Imported comment by @dcoutts on 2006-01-09)
We install the InstalledPackageInfo with each package (I didn't know that, but apparently we do). So in theory all we need to do is read those files back in and we have a package database.
Of course it would be better if hugs came with the package registration files for all the core packages.
from cabal.
(Imported comment by @dcoutts on 2008-01-17)
So I'm happy with the idea that for hugs and nhc that we do not need a distinct concept of a package database. The package database can coincide with the location where packages are installed, and hugs/nhc just look in that dir for their packages. Cabal would also look there for the InstalledPackageInfo files. So the package db and the libdir are really the same thing.
Hugs already looks in ~/lib/hugs/* for package directories.
So for hugs there are two things to do:
- make Cabal and hugs agree on where the per-user install path for package should be. Currently cabal-install puts them in ~/.cabal/lib/hugs/* (or something like that).
- get the next release of hugs to include the InstalledPackageInfo files for all the packages that it comes with. This will enable cabal to know what packages are installed by reading these files, just as it does with ghc by asking ghc-pkg for the equivalent info.
from cabal.
(Imported comment by @dcoutts on 2008-08-15)
This isn't tht hard but needs changes in Hugs and a bit in Cabal and then testing and a new hugs release. The scheme with installed package info files should work for hugs, nhc and lhc. On the Cabal side of things the same implementation can be used for each.
from cabal.
Closing as there's been no activity in years.
We're cleaning up the bug tracker to make it useful again and are thus closing bugs that haven't seen any activity in a long time. Please re-open (or file a new bug) if the problem reappears.
from cabal.
Related Issues (20)
- `cabal bench` and `cabal test` should allow passing arguments via trailing `--` HOT 3
- Don't print benchmark results concurrently HOT 6
- Don't depend on `hashable` directly
- Informing the end-users about best practices for packaging Haskell code with(out) non-portable C flags. HOT 2
- Stricter solving preferences for deprecated packages and releases HOT 1
- Bootstrap plans still contain hashable-1.4.6.0 with +arch-native HOT 6
- Should `includes:` field be removed from the specification? HOT 4
- withFile: resource busy (file is locked) HOT 4
- Version 3.12.1.0 Fails to Bootstrap with Error "Installation directories are not prefix_relative" HOT 5
- Replace `<0` with some other construct to avoid confusion HOT 2
- cabal-install `haddock-project` includes sub-libraries with `visibility: hidden`
- Too many duplicates in hsc command line arguments, causing build failures due to GCC argument limits HOT 1
- PVP breakage in Cabal releases HOT 11
- PVP breakage: `Cabal-(syntax-)?3.12.1.0` HOT 6
- Regression in cabal-install-3.12.1.0: cabal check disregards inherited bound on `base` HOT 2
- External command system missing from 3.12.1.0 release notes HOT 3
- Add the cabal store ghc sub-directory to `cabal path` output
- Cabal-4569 happens when running `cabal repl --enable-multi-repl all` HOT 1
- Cabal ignores `hs-source-dirs:` if `main-is:` is a C source file HOT 26
- Cabal init first example with git readCreateProcessWithExitCode HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cabal.