Coder Social home page Coder Social logo

Comments (4)

bos avatar bos commented on May 22, 2024

(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.

bos avatar bos commented on May 22, 2024

(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.
I'm not sure which of Hugs or Cabal should change on the issue of where packages are instelled per-user. I know people would scream if cabal installed things in ~/lib by default, but perhaps if they're using hugs then they don't care. If we have to get hugs to change anyway to include the InstalledPackageInfo files then adding an extra default search path entry for a location under ~/.cabal/ would not be any more work.

from cabal.

bos avatar bos commented on May 22, 2024

(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.

tibbe avatar tibbe commented on May 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.