From eabe536603e1ad7155dadd231bb59615bcdeacb1 Mon Sep 17 00:00:00 2001 From: TabulateJarl8 Date: Wed, 23 Feb 2022 21:38:58 -0500 Subject: [PATCH 1/3] start --- Makefile | 2 ++ README.md | 2 +- winlib/WebView2Loader.dll | Bin 0 -> 137632 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 Makefile create mode 100644 winlib/WebView2Loader.dll diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8bdca72 --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +all: + echo "nope" diff --git a/README.md b/README.md index d961f31..7a550ac 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This program can either be used from a terminal, `./wordle_finder --help` for mo I provide pre-built binaries on the releases page. I do not test the Windows binary, but it may work. ### Windows Users -If you get an error about `WebView2Loader.dll` missing, you need to download it from somewhere online and put it in the same directory as `wordle_finder.exe`. I personally found the one from [dll-files.com](https://www.dll-files.com/webview2loader.dll.html) to work, but I did this in a VM and am not sure of the actual integrity of the file. +If you launch the program by double clicking and it immediately closes, or you get an error similar to this: `thread 'main' panicked at 'Error when running GUI: WebView2Error(WindowsError(Error { code: 0x80070002, message: The system cannot find the file specified., win32_error: 2 }))'`, then you should try installing the WebView2 Runtime from the [Microsoft website](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section). ## Building First, install rust using your package manager or from https://www.rust-lang.org/. After you have rust installed, download or clone the repository and then run `cargo build --release` in the repository folder. The binary should then be found at `./target/release/wordle_finder` or `./target/release/wordle_finder.exe` if you're on Windows. diff --git a/winlib/WebView2Loader.dll b/winlib/WebView2Loader.dll new file mode 100644 index 0000000000000000000000000000000000000000..5e7b05f32e5eba2df83cd0a6aad3a4f30ae95728 GIT binary patch literal 137632 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 literal 0 HcmV?d00001 From 184fa16ebb5e8e31c8f425cc91bc991a652b428a Mon Sep 17 00:00:00 2001 From: TabulateJarl8 Date: Wed, 23 Feb 2022 21:40:11 -0500 Subject: [PATCH 2/3] license --- winlib/LICENSE.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 winlib/LICENSE.txt diff --git a/winlib/LICENSE.txt b/winlib/LICENSE.txt new file mode 100644 index 0000000..45f0297 --- /dev/null +++ b/winlib/LICENSE.txt @@ -0,0 +1,27 @@ +Copyright (C) Microsoft Corporation. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * The name of Microsoft Corporation, or the names of its contributors +may not be used to endorse or promote products derived from this +software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file From dad1126fcb87bfe5a53cbd6a1225b0b4efe624dc Mon Sep 17 00:00:00 2001 From: TabulateJarl8 Date: Thu, 24 Feb 2022 12:34:29 -0500 Subject: [PATCH 3/3] fix windows version by distributing dll and launch GUI if no args are supplied --- .gitignore | 1 + Cargo.lock | 3 +- Cargo.toml | 3 +- Makefile | 29 ++++++++++++++++-- README.md | 12 ++++++-- src/main.rs | 5 +-- ...ENSE.txt => WebView2LoaderDLL-LICENSE.txt} | 0 ...View2Loader.dll => WebView2Loader_x64.dll} | Bin 8 files changed, 42 insertions(+), 11 deletions(-) rename winlib/{LICENSE.txt => WebView2LoaderDLL-LICENSE.txt} (100%) rename winlib/{WebView2Loader.dll => WebView2Loader_x64.dll} (100%) diff --git a/.gitignore b/.gitignore index ea8c4bf..4f96631 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +/dist diff --git a/Cargo.lock b/Cargo.lock index c7648ab..096f059 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1684,9 +1684,8 @@ checksum = "08cabc9f0066848fef4bc6a1c1668e6efce38b661d2aeec75d18d8617eebb5f1" [[package]] name = "wordle_finder" -version = "2.2.2" +version = "2.2.3" dependencies = [ - "atty", "clap", "regex", "serde", diff --git a/Cargo.toml b/Cargo.toml index 4703a11..522a3ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,11 @@ [package] name = "wordle_finder" -version = "2.2.2" +version = "2.2.3" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -atty = "0.2.14" clap = "3.0.14" regex = "1.5.4" serde = { version = "1.0.136", features = ["derive"] } diff --git a/Makefile b/Makefile index 8bdca72..699ee96 100644 --- a/Makefile +++ b/Makefile @@ -1,2 +1,27 @@ -all: - echo "nope" +.PHONY: all + +all: linux windows-x64 + +pre-build: + mkdir -p dist/ + +linux: pre-build + cargo build --release + cp -f ./target/release/wordle_finder ./dist/wordle_finder + strip ./dist/wordle_finder + +windows-x64: pre-build + cargo build --target x86_64-pc-windows-gnu --release + strip ./target/x86_64-pc-windows-gnu/release/wordle_finder.exe + cp -f ./winlib/WebView2Loader_x64.dll ./target/x86_64-pc-windows-gnu/release/build/WebView2Loader.dll + rm -f ./dist/windows_x64.zip + zip -rj \ + ./dist/windows_x64.zip \ + ./target/x86_64-pc-windows-gnu/release/build/WebView2Loader.dll \ + ./target/x86_64-pc-windows-gnu/release/wordle_finder.exe \ + LICENSE \ + ./winlib/WebView2LoaderDLL-LICENSE.txt \ + README.md + +clean: + rm -rf dist/ diff --git a/README.md b/README.md index 7a550ac..6e90bb2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# wordle-finder +# Wordle Finder Rust program to help find the wordle word ## Use -This program can either be used from a terminal, `./wordle_finder --help` for more info, or with the GUI frontend, launched by running `./wordle_finder -g` in a terminal +This program can be used from a terminal, run `./wordle_finder --help` for more info. If you'd like to use the GUI frontend, you can launch it by running `./wordle_finder -g` in a terminal or opening the binary from a file explorer.
GUI Frontend for version 2.0.0 @@ -16,4 +16,10 @@ I provide pre-built binaries on the releases page. I do not test the Windows bin If you launch the program by double clicking and it immediately closes, or you get an error similar to this: `thread 'main' panicked at 'Error when running GUI: WebView2Error(WindowsError(Error { code: 0x80070002, message: The system cannot find the file specified., win32_error: 2 }))'`, then you should try installing the WebView2 Runtime from the [Microsoft website](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section). ## Building -First, install rust using your package manager or from https://www.rust-lang.org/. After you have rust installed, download or clone the repository and then run `cargo build --release` in the repository folder. The binary should then be found at `./target/release/wordle_finder` or `./target/release/wordle_finder.exe` if you're on Windows. +First, install rust using your package manager or from https://www.rust-lang.org/. + +#### Linux systems with make +Linux systems with make installed can make the project that way `make linux` or `make windows-x64` will make the respective binaries and output them in the `dist/` folder. + +#### Other systems +Other systems can build the binary for their system by running `cargo build --release` in the repository folder. The resulting binary can be found at `./target/release/wordle_finder` or `./target/release/wordle_finder.exe` if you're on Windows. diff --git a/src/main.rs b/src/main.rs index 8b91229..af342fd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -56,8 +56,9 @@ fn main() { .required(false)) .get_matches(); - // run gui if specified or if not a tty (not running from a terminal) - if matches.is_present("gui") || !atty::is(atty::Stream::Stdout) { + // run gui if no args are specified (detecting a tty doesn't seem to work on windows) + // this should launch the GUI if run from a file explorer + if matches.is_present("gui") || std::env::args().len() == 1 { match gui::run_gui() { Err(error) => panic!("Error when running GUI: {:?}", error), _ => (), diff --git a/winlib/LICENSE.txt b/winlib/WebView2LoaderDLL-LICENSE.txt similarity index 100% rename from winlib/LICENSE.txt rename to winlib/WebView2LoaderDLL-LICENSE.txt diff --git a/winlib/WebView2Loader.dll b/winlib/WebView2Loader_x64.dll similarity index 100% rename from winlib/WebView2Loader.dll rename to winlib/WebView2Loader_x64.dll