Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cabalvm install status #1

Closed
psibi opened this issue Oct 16, 2016 · 4 comments
Closed

cabalvm install status #1

psibi opened this issue Oct 16, 2016 · 4 comments

Comments

@psibi
Copy link
Contributor

psibi commented Oct 16, 2016

Right now, I want to know if cabalvm install does this stuff:

  • Downloading Hackage package
  • Applying patch from this repository
  • Then registering the package with .ghcvm.

If this is done by cabalvm, then it has to be documented. If it doesn't, then we need to make sure that it is done.

Right now, trying cabalvm seems to install successfully (I'm not sure if it applied the patch - asking you instead):

root@c5c2b0f72f2f:~# cabalvm install containers
Resolving dependencies...
Configuring deepseq-1.4.2.0...
Configuring deepseq-1.4.2.0...
Building deepseq-1.4.2.0...
Building deepseq-1.4.2.0...
Preprocessing library deepseq-1.4.2.0...
[1 of 1] Compiling Control.DeepSeq  ( Control/DeepSeq.hs, dist/build/Control/DeepSeq.jar )
Linking dist/build/HSdeepseq-1.4.2.0.jar ...
In-place registering deepseq-1.4.2.0...
Creating package registration file:
/tmp/pkgConf-deepseq-1.4.27833686901102520059.0
Installing library in
/root/.cabalvm/lib/x86_64-linux-ghcvm-0.0.1-ghc7_10_3/deepseq-1.4.2.0
Registering deepseq-1.4.2.0...
Installed deepseq-1.4.2.0
Downloading containers-0.5.8.1...
Found patch in ghcvm-hackage for containers-0.5.8.1
Initialized empty Git repository in /tmp/cabal-tmp-384/containers-0.5.8.1/.git/
Configuring containers-0.5.8.1...
Configuring containers-0.5.8.1...
Building containers-0.5.8.1...
Building containers-0.5.8.1...
Preprocessing library containers-0.5.8.1...
[ 1 of 25] Compiling Data.Utils.PtrEquality ( Data/Utils/PtrEquality.hs, dist/build/Data/Utils/PtrEquality.jar )
[ 2 of 25] Compiling Data.Utils.StrictMaybe ( Data/Utils/StrictMaybe.hs, dist/build/Data/Utils/StrictMaybe.jar )
[ 3 of 25] Compiling Data.Utils.StrictPair ( Data/Utils/StrictPair.hs, dist/build/Data/Utils/StrictPair.jar )
[ 4 of 25] Compiling Data.Utils.StrictFold ( Data/Utils/StrictFold.hs, dist/build/Data/Utils/StrictFold.jar )
[ 5 of 25] Compiling Data.Utils.BitUtil ( Data/Utils/BitUtil.hs, dist/build/Data/Utils/BitUtil.jar )
[ 6 of 25] Compiling Data.Utils.BitQueue ( Data/Utils/BitQueue.hs, dist/build/Data/Utils/BitQueue.jar )
[ 7 of 25] Compiling Data.Sequence.Base ( Data/Sequence/Base.hs, dist/build/Data/Sequence/Base.jar )
[ 8 of 25] Compiling Data.Sequence    ( Data/Sequence.hs, dist/build/Data/Sequence.jar )
[ 9 of 25] Compiling Data.Tree        ( Data/Tree.hs, dist/build/Data/Tree.jar )
[10 of 25] Compiling Data.Graph       ( Data/Graph.hs, dist/build/Data/Graph.jar )
[11 of 25] Compiling Data.Set.Base    ( Data/Set/Base.hs, dist/build/Data/Set/Base.jar )
[12 of 25] Compiling Data.Set         ( Data/Set.hs, dist/build/Data/Set.jar )
[13 of 25] Compiling Data.Map.Base    ( Data/Map/Base.hs, dist/build/Data/Map/Base.jar )
[14 of 25] Compiling Data.Map.Strict.Internal ( Data/Map/Strict/Internal.hs, dist/build/Data/Map/Strict/Internal.jar )
[15 of 25] Compiling Data.Map.Strict  ( Data/Map/Strict.hs, dist/build/Data/Map/Strict.jar )
[16 of 25] Compiling Data.Map.Strict.Merge ( Data/Map/Strict/Merge.hs, dist/build/Data/Map/Strict/Merge.jar )
[17 of 25] Compiling Data.Map.Lazy.Merge ( Data/Map/Lazy/Merge.hs, dist/build/Data/Map/Lazy/Merge.jar )
[18 of 25] Compiling Data.Map.Lazy    ( Data/Map/Lazy.hs, dist/build/Data/Map/Lazy.jar )
[19 of 25] Compiling Data.Map         ( Data/Map.hs, dist/build/Data/Map.jar )
[20 of 25] Compiling Data.IntSet.Base ( Data/IntSet/Base.hs, dist/build/Data/IntSet/Base.jar )
[21 of 25] Compiling Data.IntSet      ( Data/IntSet.hs, dist/build/Data/IntSet.jar )
[22 of 25] Compiling Data.IntMap.Base ( Data/IntMap/Base.hs, dist/build/Data/IntMap/Base.jar )
[23 of 25] Compiling Data.IntMap.Strict ( Data/IntMap/Strict.hs, dist/build/Data/IntMap/Strict.jar )
[24 of 25] Compiling Data.IntMap.Lazy ( Data/IntMap/Lazy.hs, dist/build/Data/IntMap/Lazy.jar )
[25 of 25] Compiling Data.IntMap      ( Data/IntMap.hs, dist/build/Data/IntMap.jar )
Linking dist/build/HScontainers-0.5.8.1.jar ...
In-place registering containers-0.5.8.1...
Creating package registration file:
/tmp/pkgConf-containers-0.5.810599613932089018456.1
Installing library in
/root/.cabalvm/lib/x86_64-linux-ghcvm-0.0.1-ghc7_10_3/containers-0.5.8.1
Registering containers-0.5.8.1...
Installed containers-0.5.8.1
@rahulmutt
Copy link
Member

You'll see a message if it found a patch to apply like so:

Found patch in ghcvm-hackage for [package-name]

In the above example, there was no patch for deepseq

CabalVM always downloads from Hackage. The only thing is does different is modify the contents after downloading. And you can know whether it downloaded from Hackage or re-used what was already downloaded by looking at the

Downloading [package-name]

message.

Registering a package can be found out by the

Registering [package-name]

message.

@psibi
Copy link
Contributor Author

psibi commented Oct 17, 2016

Sorry, I think my question was not well formed. I wanted to know if this has been implemented in cabalvm right now ?

Doing a grep, I was not able to find out any matching source code. In fact, searching your name in git log didn't return me anything:

sibi::casey { ~/github/cabalvm }-> git log --author="Rahul Muttineni"

@rahulmutt
Copy link
Member

Yes, it has been implemented in cabalvm.

All the current cabalvm code is in the 1.22 branch of the rahulmutt/cabalvm repo. It's a bit confusing right now - I'll clean that up soon.

@psibi
Copy link
Contributor Author

psibi commented Oct 17, 2016

Ah, thanks. That was helpful.

psibi added a commit to psibi/eta-hackage that referenced this issue Oct 18, 2016
When I initially read the README file, I installed the package by
manually downloading the tar file and then applying the patch and then
finally doing a manual installation of it. This instruction will likely
help other peoples from falling into the same trap. Also we can close
issue typelead#1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants