enso-org / dataframes

A library for working with tabular data in Luna.
https://luna-lang.org
MIT License
6 stars 5 forks source link

Packaging on Linux #98

Closed mwu-tow closed 5 years ago

mwu-tow commented 5 years ago

This PR is a second iteration on Dataframes building & packaging automation. It adds building relocatable Linux (x64) packages that are uploaded to S3 (just like previously we had done with Windows packages).

The packaging script has been developed into full-fledged Haskell package. While the current stage is still largely provisional, I attempted to keep code organized and documented.

The code dealing with calls to external programs has been reorganized — each program got its own module. I have added a typeclass to provide uniform interface and sensible run-time diagnostics without code duplication. Not sure if this is idiomatic Haskell but I haven't got any better ideas.

The code intentionally doesn't attempt to deal with any other OS than Windows and Linux. It is expected that Mac support will be added in the next iteration.

As for the Linux packaging itself, it is slightly different from Windows: