-
-
Notifications
You must be signed in to change notification settings - Fork 47
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
Docker images refactoring #37
Conversation
This commit add support for the darwin arm64 target. Additionally provides: - Update Go to v1.16.0 - Update fyne cli to v2.0.1 - Add darwin arm64 target - Remove darwin 386 target Fixes fyne-io#33
This reverts commit f9ae7eb.
Refactor docker images layout to ensure compatibility with previous versions of fyne-cross. In the details: - Add FreeBSD on arm64 target fyne-io#29 - Add the `darwin-image` command to build the darwin docker image - Add a dedicated docker image for windows - Update Go to v1.16.2 - Update fyne CLI to v2.0.1 - Update FreeBSD to v12.2 fyne-io#29 - Remove darwin 386 target - Remove the dependency from the docker/golang-cross image for the base image
Building the darwin image relies on Xcode.dmg. But if this is run on a mac they will be installed so the dmg file is gone but the SDK is available installed. Is there some way it could support both? |
When building from macOS the SDK could be already available on the host. This commit adds the `-no-docker` options to build directly from the host using the fyne CLI tool without using any docker image.
Good point, added the Not 100% sure about the |
Hmm. How about |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking really good. Will tests compiling later, but now I just had some suggestion to the docs.
Regarding wrapping the Fyne code in general tries to keep to around 120 Cols, though it’s not enforced. |
I just thought that it can be jarring to read manually wrapped text in some situations (save seen that on some sites), but I now see that GitHub handles it rather well in these situations. Most of my wrapping related comments are probably unnecessary then. |
It's part of the markdown spec that a single newline is not a break in the output content. |
Co-authored-by: Jacob <Jacalz@users.noreply.github.com>
Co-authored-by: Jacob <Jacalz@users.noreply.github.com>
Co-authored-by: Jacob <Jacalz@users.noreply.github.com>
Oh, yes. Might just have been good old Phanicator having some issues 😅 |
Thanks for feedback
Agree with the above especially with the not enforced in special case (i.e. when improve readibility). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Building for arm64 does not seem to work. It complains about it not being supported:
~/go/bin/fyne-cross freebsd -arch amd64,arm64 -app-id com.github.jacalz.wormhole-gui -icon internal/assets/icon/icon-512.png
[✗] could not make build context for freebsd OS: arch "arm64" is not supported. Supported: [amd64]
EDIT: I added the arch to the support list and got this error instead:
~/go/bin/fyne-cross freebsd -arch amd64,arm64 -app-id com.github.jacalz.wormhole-gui -icon internal/assets/icon/icon-512.png
[i] Target: freebsd/amd64
[i] Cleaning target directories...
[✓] "bin" dir cleaned: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/bin/freebsd-amd64
[✓] "dist" dir cleaned: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/dist/freebsd-amd64
[✓] "temp" dir cleaned: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/tmp/freebsd-amd64
[i] Checking for go.mod: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/go.mod
[✓] go.mod found
[i] Building binary...
# github.com/go-gl/glfw/v3.3/glfw
In file included from /go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200625191551-73d3c3675aa3/native_linbsd.go:10:
In file included from /go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200625191551-73d3c3675aa3/glfw/include/GLFW/glfw3native.h:114:
In file included from /freebsd/usr/local/include/GL/glx.h:32:
/freebsd/usr/local/include/GL/gl.h:56:11: warning: 'GLAPIENTRY' macro redefined [-Wmacro-redefined]
/go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200625191551-73d3c3675aa3/glfw/include/GLFW/glfw3.h:5863:10: note: previous definition is here
[✓] Binary: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/bin/freebsd-amd64/wormhole-gui
[i] Packaging app...
[✓] Package: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/dist/freebsd-amd64/wormhole-gui.tar.gz
[i] Target: freebsd/arm64
[i] Cleaning target directories...
[✓] "dist" dir cleaned: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/dist/freebsd-arm64
[✓] "temp" dir cleaned: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/tmp/freebsd-arm64
[✓] "bin" dir cleaned: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/fyne-cross/bin/freebsd-arm64
[i] Checking for go.mod: /home/jacob/go/src/github.com/Jacalz/wormhole-gui/go.mod
[✓] go.mod found
[i] Building binary...
docker: invalid reference format.
See 'docker run --help'.
[✗] exit status 125
How to use this? go get? |
|
You'd have to run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for using the wrong version for testing earlier. This works fine. I can't test FreeBSD arm64 binaries unfortunately as my RPi 4 gets stuck in a boot-loop for some reason when I try to boot FreeBSD on it (RPi4 support is in FreeBSD 13.0 and later).
To test this PR it is not needed. The images should be already available on Docker Hub. |
No worries, thanks for testing. Going to merge in develop. |
This PR ports the refactoring for the docker images done in #34 in order to support the latest versions of Go and macOS SDKs.
Since it introduces several features, it could be useful to merge in develop and make generally available.
Details:
darwin-image
command to build the darwin docker imageDocker images available in docker hub for testing: