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

Partial CHaP release #4411

Open
locallycompact opened this issue Jan 26, 2024 · 15 comments · May be fixed by IntersectMBO/cardano-haskell-packages#949
Open

Partial CHaP release #4411

locallycompact opened this issue Jan 26, 2024 · 15 comments · May be fixed by IntersectMBO/cardano-haskell-packages#949
Assignees
Labels
IMPROVEMENT Mark a PR as an improvement, for auto-generated CHANGELOG

Comments

@locallycompact
Copy link

The problem that you wish to solve

Could we get a release of the cardano-wallet cli on CHaP?

Description

As above,

Implementation suggestions

No response

@locallycompact locallycompact added ADDING FEATURE Mark a PR as adding a new feature, for auto-generated CHANGELOG IMPROVEMENT Mark a PR as an improvement, for auto-generated CHANGELOG labels Jan 26, 2024
@HeinrichApfelmus
Copy link
Contributor

May I inquire about the purpose? The main reason for releasing the cardano-wallet executable in CHaP would be to be able to depend upon it from other .cabal packages — do you have a particular cabal package in mind where you want to do this?

@locallycompact
Copy link
Author

locallycompact commented Jan 28, 2024

To include in horizon so it can be installed on a system without use of IFD, using the same build plan and dependency footprint as all the other cli tools.

https://gitlab.horizon-haskell.net/package-sets/horizon-cardano
https://gitlab.horizon-haskell.net/package-sets/horizon-cardano/-/blob/master/horizon.dhall

@euonymos
Copy link

Some tools, let's say Atlas PAB use cardano-wallet as a Haskell library, and they are forced to copy its gory cabal.project file which sucks. Their dependants have to do the same. Does is sound like a good argument to you @HeinrichApfelmus?

@abailly
Copy link
Collaborator

abailly commented Dec 10, 2024

Do we need release to CHaP, which will be somewhat complicated because CHaP is controlled by another organisation, or would a release to https://hackage.haskell.org be good?

@abailly
Copy link
Collaborator

abailly commented Dec 10, 2024

@euonymos Also, I would be interested in understanding which part of the cardano-wallet API you are using. A quick search in the PAB repository only showed cardano-wallet-primitives but I may have overlooked other uses.

@locallycompact
Copy link
Author

@abailly It would be unsatisfying to release to hackage in my opinion because the dependencies would not resolve without CHaP. Maybe cardano-foundation deserves its own release index?

@sourabhxyz
Copy link

@abailly Thank you for your interest in this issue. I would like to chime in regarding some of your remarks.

@euonymos Also, I would be interested in understanding which part of the cardano-wallet API you are using. A quick search in the PAB repository only showed cardano-wallet-primitives but I may have overlooked other uses.

@euonymos remark was wrt Atlas, an Haskell based transaction building tool. Inside Atlas, we use cardano-coin-selection package from cardano-wallet. Due to this dependency we have to import cabal.project details of cardano-wallet inside Atlas, here. Likewise, any project using Atlas in their stack have to do the same which is a huge bloat atm.

Do we need release to CHaP, which will be somewhat complicated because CHaP is controlled by another organisation, or would a release to https://hackage.haskell.org/ be good?

Isn't cardano-wallet itself dependent upon chap? I mean, how could then this package be uploaded onto Hackage as it would not build in the standard Hackage environment since Hackage has no access to chap? I could be missing something here.

@abailly
Copy link
Collaborator

abailly commented Dec 10, 2024

@locallycompact @sourabhxyz I agree depending on CHaP from Hackage is a major problem, I will raise an issue in the relevant repository to understand how we can streamline the release process there from here.

@abailly
Copy link
Collaborator

abailly commented Dec 10, 2024

So there's a script for adding packages to CHaP that we could use: https://github.com/IntersectMBO/cardano-haskell-packages?tab=readme-ov-file#-from-github

@abailly
Copy link
Collaborator

abailly commented Dec 10, 2024

I did a quick analysis of c-w dependency graph using cabal-plan and here is the local dependency graph:

deps

Restricting to the cardano-coin-selection package, this yields:

deps

@sourabhxyz Would that help if we published only the latter set? This seems a low-hanging fruit we can solve relatively easily.

@locallycompact Did you have request from people using horizon to be able to pull c-w executable from CHaP?

@locallycompact
Copy link
Author

It was originally a request from myself to myself but I suspect having atlas in horizon would also find use.

@sourabhxyz
Copy link

@abailly

@sourabhxyz Would that help if we published only the latter set? This seems a low-hanging fruit we can solve relatively easily.

Yes indeed, that's a great idea!

@abailly
Copy link
Collaborator

abailly commented Dec 10, 2024

Yes indeed, that's a great idea!

Would the latest version (2024.11.18) be good or do you need an earlier version in order to take advantage of this?

@abailly abailly changed the title CHaP release Partial CHaP release Dec 10, 2024
@abailly abailly self-assigned this Dec 10, 2024
@abailly abailly added Release and removed ADDING FEATURE Mark a PR as adding a new feature, for auto-generated CHANGELOG Release labels Dec 10, 2024
@sourabhxyz
Copy link

Would the latest version (2024.11.18) be good or do you need an earlier version in order to take advantage of this?

I'll need some time to evaluate it, but likely we can manage with latest version.

@euonymos
Copy link

Thank you a lot @abailly, I will try to find time to wire in chap's libs.

github-merge-queue bot pushed a commit that referenced this issue Dec 11, 2024
Everything is in the title: A small PR adding some documentation about
#4411
WilliamKingNoel-Bot pushed a commit that referenced this issue Dec 11, 2024
…ything is in the title: A small PR adding some documentation about #4411 Source commit: 3e617b9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IMPROVEMENT Mark a PR as an improvement, for auto-generated CHANGELOG
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants