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

SciPDL installer #31

Open
zmughal opened this issue Apr 3, 2015 · 9 comments
Open

SciPDL installer #31

zmughal opened this issue Apr 3, 2015 · 9 comments

Comments

@zmughal
Copy link
Member

zmughal commented Apr 3, 2015

Automate the process of building a SciPDL installer for Mac OSX, Windows, and (maybe) Linux.

@zmughal zmughal self-assigned this Apr 19, 2021
@zmughal zmughal transferred this issue from PDLPorters/pdl Dec 31, 2021
@mohawk2
Copy link
Member

mohawk2 commented Jan 9, 2022

This is a Jan 2014 doc by Matthew Kenworthy on making SciPDL: https://www.mail-archive.com/pdl-porters@jach.hawaii.edu/msg05839/scipdl-2.007-maverick.pod

@mohawk2
Copy link
Member

mohawk2 commented Jan 9, 2022

A better way entirely might be to make a brew recipe for PDL itself.

@zmughal
Copy link
Member Author

zmughal commented Jan 9, 2022

A better way entirely might be to make a brew recipe for PDL itself.

Yeah, that's #21. Homebrew is created for building from source (or creating bottles) for a specific macOS version.

The SciPDL would be separate from that however as it is made for distribution to any macOS version. It would require building with a minimum target. I have an example script to do this using MacPorts for a Perl Gtk3 application https://github.com/orbital-transfer-example/perl-gtk3-starter-basic/blob/v0.0.1/maint/devops.yml#L40, https://github.com/orbital-transfer-example/perl-gtk3-starter-basic/blob/v0.0.1/maint/helper.pl#L763.

@mohawk2
Copy link
Member

mohawk2 commented Jan 9, 2022

Great! I've read through the old SciPDL doc, and a big complication they had was from using the system Perl. Having just had to deal with the brew perl being upgraded, and having to remove the version-specific bits and then do lots of reinstallation in my local::lib dir, we'd want to avoid that here. Instead, we'd need to include our own Perl.

@karlglazebrook
Copy link
Member

karlglazebrook commented Jan 17, 2022

To answer a few questions:

SciPDL has only ever been MacOS.

My current version of SciPDL includes its own Perl. This has the advantage that it doesn't break if you update MacOS.

Matthew Kenworthy's instructions are now probably obsolete, since I took this back over a couple of years ago.

I no longer do 'MacOS packages', I understood these were deprecated or could only be done from Xcode? It does make it a bit nicer.

The current approach is to simply build the thing in /Applications/PDL and then copy those files in to a .dmg. One can then open the .dmg and do a drag to install, but then one has to run a script to bypass the Gatekeeper stuff. (Remove the quarantine flash from any files installed in this way). This is incredibly hacky and inelegant.

In terms of the 'automations' of the building, I do have a shell script that does the whole thing. It untars lots of packages, sometimes patches them, runs the configure/builds etc. There are about 7 of these, in addition to perl and PDL itself plus a dozen CPAN packages. I could certainly upload this to GitHub, or attach it here for you all to admire. However I would expect it to break if I started updating the various packages within it.

It is possible for the GitHub CI thing to build MacOS things?

@mohawk2
Copy link
Member

mohawk2 commented Jan 17, 2022

@karlglazebrook Please, please let us see the shell scripts etc! :-) Copy-paste them into this issue if that is convenient for you, we can learn from them. It's very understood that updates might break things, this is the nature of the beast. And GitHub CI absolutely can build and package MacOS .dmg; this is an article on how to do it: https://medium.com/flutter-community/build-sign-and-deliver-flutter-macos-desktop-applications-on-github-actions-5d9b69b0469c

Since I've been dipping my toe in the water of Debian packaging, I am considering making a "scipdl" package for Debian, although they are a very slow-moving target - Oct 2021's new "bullseye" stable release has PDL 2.025, from Nov 2020.

Also we might make a CPAN package that simply depends on the various CPAN modules, maybe called PDL::SciBundle (or ::SciKarl, why not). The benefit of this is it could update quickly. Ideas extremely welcome, particularly on the name.

@karlglazebrook
Copy link
Member

Sorry I just found a trove of old emails I had not seen!

Cut and paste FWIW

pgplot_hacks.zip

@karlglazebrook
Copy link
Member

Oops it deleted the two shell scripts. here again
Archive.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants