threefoldtecharchive / jumpscaleX_core

Apache License 2.0
1 stars 6 forks source link

Improve install experience of 3sdk #823

Closed grimpy closed 4 years ago

grimpy commented 4 years ago

App needs to be signed with (mac): Contact Peter Van der Henst to get an account https://developer.apple.com/developer-id/

Do some investigation which combination of tools will give the best user experience

https://py2app.readthedocs.io/en/latest/tutorial.html#building-for-deployment
maybe this one creates .app dmg right away?
Tkinter could be used to embed your terminal
tkinter can do that
would be nice to have an icon in the app folder right (-:
small little thing but looks much better
xmonader commented 4 years ago

I don't think it's easy to do with tkinter, probably for linux can get away with xterm and frame id, but won't go far for other systems, even if you use VTE terminal (with a gtk app) that won't work for the other systems. What I saw for terminal in general either embed VTE (that won't work on windows) or fork the system terminal window e.g exec terminator

This one seems to work https://build-system.fman.io (PyQt based) solution that solves the deployment on the 3 systems and it was used for fman.io so maybe that's a better solution having GUI windows and options for the users.

waleedhammam commented 4 years ago

Checking brew and building the bin with it

waleedhammam commented 4 years ago

I've tried brew, I could build it locally using this formula

class JumpscalexCore < Formula
  desc "3sdk"
  homepage ""
  url "https://github.com/waleedhammam/jumpscaleX_core/archive/v10.5.2.tar.gz"
  sha256 "d2ce77a61a198b2cd53f4acce5fd7e5c36c369fc83a05b9f74314530b4f4a175"

  def install
    system "cd install && pip3 install -r requirements.txt"
    system "export PATH=$PATH:/usr/local/bin; cd install; ./package.sh"
    system "cd install && cp dist/3sdk /usr/bin/3sdk;"
  end

end

Screenshot from 2020-05-11 14-15-08

But the thing is it builds the binary from source code (on the client machine)

to create the binary we need to make a PR to homebrew repo with our formula and fulfill all the requirements in here https://docs.brew.sh/Acceptable-Formulae and maintain the releases like here https://docs.brew.sh/Acceptable-Formulae#niche-or-self-submitted-stuff

If so we can use bottles https://docs.brew.sh/Bottles to grab the binary after it created at their side

I will try now to make the formula with full dependencies and create a PR with my fork to try bottles

If the requirements was not fulfilled https://jonathanchang.org/blog/maintain-your-own-homebrew-repository-with-binary-bottles/ called tapes but it's not recommended and too expensive fir bintray account

waleedhammam commented 4 years ago

Created a formula at: https://github.com/waleedhammam/homebrew-core/commit/ea7bbdd88b2cf169afc3ad6cf42f95fdc66b0eb6 and made a PR, going to check bottles now if it can produce the correct binary

waleedhammam commented 4 years ago

Resolved the comments on the PR, this is the new formula https://github.com/waleedhammam/homebrew-core/blob/master/Formula/threesdk.rb

waleedhammam commented 4 years ago

Added more changes requested by homebrew team at :https://github.com/waleedhammam/homebrew-core/commit/327529bd41ce2e5828df055324eb04935d238d21

rkhamis commented 4 years ago

closing in favor of https://github.com/threefoldtech/home/issues/719