unisonweb / unison

A friendly programming language from the future
https://unison-lang.org
Other
5.78k stars 270 forks source link

collecting steps for other convenient ucm deployment methods #1475

Open aryairani opened 4 years ago

aryairani commented 4 years ago

These would list any package dependencies such as libtinfo5 that our version of haskeline wants.

Ubuntu PPA:

https://askubuntu.com/a/71516 or https://packagecloud.io/l/apt-repository or https://gemfury.com/l/debian-repository

Debian repo:

https://www.jfrog.com/confluence/display/BT/Debian+Repositories / bug @stew 😃

Redhat/yum repo:

https://www.jfrog.com/confluence/display/BT/YUM+Repositories

Homebrew

Would adding an ncurses dependency be helpful for linux users (for libtinfo)? Several linux users have had libtinfo6 installed but not 5, and ucm complained; I bet it wouldn't help these users.

https://docs.brew.sh/Formula-Cookbook

Misc

To have Azure perform signing with unisoncomputing keys, we can use Secure Files.

stew commented 4 years ago

I created a repo for creating debian packages for ucm, and cut a release:

https://github.com/stew/unison-debian/releases/tag/0.0.1_M1l

I'm at least producing .debs now. I need to further document how to build them and how to build them for different debian/ubuntu versions and then work on scripts to package the resulting .debs into a debian repo that people can apt-get from.

aryairani commented 4 years ago

@stew NEAT. It's more involved than I realized! Made me happy to see the binary dependencies listed though.

stew commented 4 years ago

Yeah, this is more involved because I'm building it from source against the debian library, and I've kept the package policy compliant so theoretically this could be uploaded mostly as is to debian / ubuntu proper some day. This could be packaged much more simply if all one wanted to do was to copy the already compiled binary from the unison release

ceedubs commented 4 years ago

There's also a Nix derivation for ucm in nixpkgs here. So anyone using Nix can refer to the unison-ucm package.

In addition to being a deployment option, for those who use Nix this makes it really easy to drop into a shell and try out ucm without polluting their global PATH:

❯ nix-shell -p unison-ucm --command ucm

   _____     _             
  |  |  |___|_|___ ___ ___ 
  |  |  |   | |_ -| . |   |
  |_____|_|_|_|___|___|_|_|

  Welcome to Unison!

  I'm currently watching for changes to .u files under ~

  Type help to get help. 😎

.>