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

Experimental (preview) Pharo packaging #25058

Closed
wants to merge 5 commits into from
Closed

Conversation

lukego
Copy link
Contributor

@lukego lukego commented Apr 20, 2017

This is an experimental new packaging of Pharo for nixpkgs. I am concerned that this may be a dead-end due to the xkcd 927 problem. There are too many ways to distribute and install Pharo applications and I may simply be making that worse. However, I would not like this work to be lost and so I share it here now.

This branch provides a few packages:

  • pharo-vm is a wrapper for starting a suitable virtual machine. These days there are at least three mutually incompatible variants of the VM and each application will work in exactly one of them. The wrapper hides this complexity from the user and chooses the right one automatically. (This is based on a script shared on an upstream pharo mailing list.)
  • Several applications (images): pharo-5.0, pharo-6.0, moose-6.1, etc. These are binaries from the internet and provided for convenient & so that they are tested for compatibility with the VMs.
  • Behind the scenes, three virtual machines. One (cog) is built from an old source release and the others (spur and spur64) are built from very recent code using different build options (32-bit vs 64-bit.)

Compared with the existing pharo support in nixpkgs this should be more compatible (updated VMs) and provides more images (additional to the "launcher" image that frankly does not seem to work that well or be very actively maintained.) This branch also features a rewritten virtual machine build derivation in build-vm.nix because the latest VMs have a different build procedure to the one that was packaged before.

Just now I am considering whether to drop branch entirely, or upstream the virtual machine part, or upstream the whole shebang. See squeak vm-dev mailing list post for the thought process.

Feedback on the overall direction from nixpkgs point of view would be welcome if anybody else is specifically interested in Pharo.

@mention-bot
Copy link

@lukego, thanks for your PR! By analyzing the history of the files in this pull request, we identified @DamienCassou and @globin to be potential reviewers.

@lukego
Copy link
Contributor Author

lukego commented Apr 20, 2017

Closing because this PR was only to share a work in progress. Likely to follow up with a new solution in the near future after Pharo 6.0 has shipped and upstream have more bandwidth find discussing the best solution.

@lukego lukego closed this Apr 20, 2017
@DamienCassou
Copy link
Contributor

I think your work is important, so please keep going. I'm using neither Pharo nor Nix anymore, but I would appreciate a good packaging if I had to use them again.

additional to the "launcher" image that frankly does not seem to work that well or be very actively maintained

I've indeed stopped maintaining it. Even though some people still use and maintain it, I agree with you I can't say that's very active maintenance.

@lukego
Copy link
Contributor Author

lukego commented Apr 22, 2017

Thanks for the encouragement, @DamienCassou :).

I will come back to this in a month or so after the Pharo 6.0 release when people upstream will have more bandwidth to discuss packaging.

I also need to better understand the Pharo Launcher (didn't realize that you wrote that, btw) and what the intended vm*image compatibility matrix is supposed to be.

@lukego
Copy link
Contributor Author

lukego commented Apr 23, 2017

@DamienCassou btw, the SmalltalkHub link shows no activity when I open it in Chrome on OSX (screenshot). Could be some browser/website issue misleading me to think the project is not active when it actually is. I'll be careful to get in touch with the right people via the mailing list.

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

Successfully merging this pull request may close these issues.

None yet

3 participants