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

Switch to go mod and latest go, improve build #346

Open
wants to merge 9 commits into
base: 2.8.0-dev
Choose a base branch
from

Conversation

the-ress
Copy link

@the-ress the-ress commented Sep 6, 2022

I plan to contribute some fixes, but first I wanted to make the building and development experience a bit more pleasant.

Main changes:

  • Switch to go modules
  • Update to latest go - 1.19
  • Add cross compilation support (so I can build arm packages on my laptop)
  • Add automated github builds

Necessary changes for the above:

Aside from the gotk3-related changes, I didn't touch any .go files so I hope it won't collide with any other work that's going on. (Bulk of the changed files is the deleted vendors folder.)

I also tried merging these changes with 2.8 - there's only 1 very trivial conflict and it compiles fine.

@thebeline
Copy link
Contributor

Hmmm, interested to see the differences between this and #270

@the-ress
Copy link
Author

the-ress commented Oct 27, 2022

@thebeline
I looked at them and #346 does everything #270 does (and much more - switching to go modules, cross compilation, automated github builds).

There are some minor differences in tags - I didn't need to add the gdk_pixbuf_ tags and I needed glib_deprecated and cairo_1_14 that aren't included in #270. I also added BULLSEYE target (because why not).

Here's the Makefile diff between #270 and #346: https://github.com/Z-Bolt/OctoScreen/compare/cddd776..c165467#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52

@the-ress the-ress force-pushed the switch-to-go-mod branch 2 times, most recently from 15be7ea to 3580f83 Compare December 20, 2022 22:32
@the-ress the-ress changed the base branch from master to 2.8.0-dev June 11, 2023 21:32
@the-ress
Copy link
Author

the-ress commented Jun 11, 2023

Changed target do 2.8.0-dev

Update: Resolved conflicts and rebased to current 2.8.0-dev

@JeffB42
Copy link
Collaborator

JeffB42 commented Jun 20, 2023

@the-ress Thanks for the contribution. Just a heads up here... this PR probably won't be going into 2.8 (there are over 1,200 changes w/this PR, and I'm close to releasing).

Also, for releases after 2.8.x, I'm considering dropping GO and building OctoScreen as an Electron application using Typescript. I'll need to spike on this first, but the more I use GO and GTK, the less I like it.

@the-ress
Copy link
Author

the-ress commented Jun 20, 2023

Also, for releases after 2.8.x, I'm considering dropping GO and building OctoScreen as an Electron application using Typescript.

That's... unexpected. I'm worried it'll tank the performance, especially on boards like RPi Zero 2. Go is actually why I chose OctoScreen over OctoDash (OctoDash is using JS+HTML and was way too slow when I tried it.)

Edit: It's even noted in README:

[TouchUI] requires a browser to run, which consumes a lot of resources. This is the main reason OctoScreen was developed as an X application.

@the-ress
Copy link
Author

there are over 1,200 changes w/this PR

Most of that comes from the deleted vendors directory. The actual changes are like 36 files and most of that are one-liners to make the code compile with newer gotk3.

@the-ress the-ress force-pushed the switch-to-go-mod branch 2 times, most recently from e514a99 to 4d3dbc4 Compare June 20, 2023 19:56
@JeffB42
Copy link
Collaborator

JeffB42 commented Jul 10, 2023

That's... unexpected. I'm worried it'll tank the performance,

I will be keeping that in mind. It's not a sure thing, and I will be spiking on it later before making a decision.

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.

3 participants