Skip to content

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