Pārlūkot izejas kodu

Using fyne-cross for compiling executables

  In the future I'll release binaries for different platforms, for now
I'll be testing using 'go run .' (or './build.sh' then
'./run-linux-amd64.sh').
Apollo 2 gadi atpakaļ
vecāks
revīzija
6bde8a3830
9 mainītis faili ar 70 papildinājumiem un 0 dzēšanām
  1. 2 0
      .gitignore
  2. BIN
      Icon.png
  3. 25 0
      README.md
  4. 21 0
      TODO.md
  5. 4 0
      build.sh
  6. 4 0
      clean-cross.sh
  7. 3 0
      go.mod
  8. 7 0
      go.sum
  9. 4 0
      run-linux-amd64.sh

+ 2 - 0
.gitignore

@@ -6,3 +6,5 @@ my-roku
 *.json
 *.toml
 
+# Don't upload fyne-cross stuff
+fyne-cross/tmp/

BIN
Icon.png


+ 25 - 0
README.md

@@ -0,0 +1,25 @@
+# myRoku
+
+Where my previous attempt [goRoku](https://git.red-green.com/david/goRoku), while was rather successful, I have decided to make a app.
+
+Much thanks goes to the [Fyne](https://fyne.io/) go-lang app framework, and myRoku gains all of it's cross platform support thru Fyne.
+
+## Current Version: v1.0-dev
+
+Currently in a developmental state `v1.0` will come with a long list of features:
+
+- Cross platform support (supporting the native development on the Linux and Android platforms and moving to Windows and possibly iOS flavors as time progresses)
+- Single Binary/Package (myRoku will strive to be single file or minimal files, this will allow "installation" to be quite simply drop the executable binary into your bin or run your system's installer to "install" the app)
+- Attempt of keeping original goRoku design layout (myRoku will be using a majority of the code-base from goRoku, with just a Fyne framework on top providing the GUI instead of it being web-based)
+- Minor improvements from the goRoku code-base (myRoku is it's ultimate successor, which means some of the original goRoku code will be improved for better/cleaner usage)
+
+> See [todo](TODO.md) for a list of things currently being worked on and or have been completed.
+
+## The __Future__
+
+Features that may or may not make it into future versions:
+
+- Possible "release" onto popular app stores like GooglePlay (this most likely will not happen, as this is an internal project and most likely will always be an internal project, i.e. not directly available to public)
+- Ensure cross platform support for mobile devices of varying screen sizes and models. (this should be simple to do thanks to Fyne, but some of the layout may need to change to support the varying use cases)
+
+> See [todo](TODO.md) for a list of things currently being worked on and or have been completed.

+ 21 - 0
TODO.md

@@ -0,0 +1,21 @@
+# myRoku - Todo
+
+## v1.0-dev
+
+- [ ] Ported goRoku's code-base
+- [ ] Tested code-base (as best we can)
+- [ ] Linux desktop app
+- [ ] More testing, this time on the Linux desktop app (thank you Fyne, you support testing app development)
+- [ ] Android app
+- [ ] Hmm testing, yup, this time on the Android app (if needed, to get the Android app it should just be asking Fyne to make a android executable then coping it onto a test device to play around with)
+- [ ] Simple build process for desktop and mobile (script it)
+
+## v1.0-rel
+
+- [ ] Release the Linux desktop application & Android app (more like ensure running some build script will build successfully, this includes writing docs on what you need to build)
+
+## __future__
+
+...
+
+> I'm not a time traveler, I'm a go coder.

+ 4 - 0
build.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+
+fyne-cross linux
+

+ 4 - 0
clean-cross.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+
+rm -r fyne-cross
+

+ 3 - 0
go.mod

@@ -6,9 +6,12 @@ require fyne.io/fyne/v2 v2.2.3
 
 require (
 	fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93 // indirect
+	github.com/BurntSushi/toml v1.1.0 // indirect
+	github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3 // indirect
 	github.com/fsnotify/fsnotify v1.5.4 // indirect
+	github.com/fyne-io/fyne-cross v1.3.0 // indirect
 	github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect
 	github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 // indirect
 	github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect

+ 7 - 0
go.sum

@@ -42,8 +42,12 @@ fyne.io/fyne/v2 v2.2.3/go.mod h1:MBoGuHzLLSXdQOWFAwWhIhYTEMp33zqtGCReSWhaQTA=
 fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93 h1:V2IC9t0Zj9Ur6qDbfhUuzVmIvXKFyxZXRJyigUvovs4=
 fyne.io/systray v1.10.1-0.20220621085403-9a2652634e93/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I=
 github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9 h1:1ltqoej5GtaWF8jaiA49HwsZD459jqm9YFz9ZtMFpQA=
+github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9/go.mod h1:7uhhqiBaR4CpN0k9rMjOtjpcfGd6DG2m04zQxKnWQ0I=
 github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
 github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
@@ -79,6 +83,8 @@ github.com/fredbi/uri v0.0.0-20181227131451-3dcfdacbaaf3/go.mod h1:CzM2G82Q9BDUv
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
 github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
+github.com/fyne-io/fyne-cross v1.3.0 h1:pU8+B0J1+xYQJ27TNRjXiV9qsGHuHFXTDlqp0zfEyWo=
+github.com/fyne-io/fyne-cross v1.3.0/go.mod h1:Kp7K91rS+2lmoa9g2kYolExO2I3BB/80no1wplc6mIw=
 github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe h1:A/wiwvQ0CAjPkuJytaD+SsXkPU0asQ+guQEIg1BJGX4=
 github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe/go.mod h1:d4clgH0/GrRwWjRzJJQXxT/h1TyuNSfF/X64zb/3Ggg=
 github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 h1:+31CdF/okdokeFNoy9L/2PccG3JFidQT3ev64/r4pYU=
@@ -450,6 +456,7 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220412211240-33da011f77ad h1:ntjMns5wyP/fN65tdBD4g8J5w8n015+iIIs9rtjXkY0=
 golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=

+ 4 - 0
run-linux-amd64.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+
+./fyne-cross/bin/linux-amd64/myRoku
+