-
Notifications
You must be signed in to change notification settings - Fork 15
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
Add snap support for linux #30
Add snap support for linux #30
Conversation
c1e333f
to
ce2e759
Compare
Lets pretend I didn't have to force push to stop Clippy from beating me over the head twice over and once more just to get the format nice and tidy................ |
Thanks for the PR! I'm about to move, so I won't be getting around to reviewing till mid July at the earliest |
No worries, this has no priority for anything. |
Would it be better to rebase this onto v2 instead? |
Bump. Any update on this? |
Forgot, thanks for the reminder! I'll write a note to take a look at this tomorrow. Would you mind switching the target to the dev v2 branch? And I should be good for testing. I'll just spin up a VM to make sure everything works as expected |
cb83dc5
to
c4bf09a
Compare
rebased and reworked for the dev v2 branch, verfied that the snapp installation ships with the same paths as flatpak and used those. When testing be aware that the built-in Ubuntu Store had 2 Steam packages: "Steam Installer" and "Steam" |
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.
Everything looks great, thanks!
* Bump version * Fully switch from `steamy-vdf` (#9) * feat: Switch appmanifest parsing to use `keyvalues-serde` * feat: Add example to showcase `SteamApp` struct changes * chore: Remove lingering debug `println!()` * fix: Switch some fields to optional * feat: Add `dlcappid` and `LauncherPath` to manifest * fix: Add more missing fields to `SteamApp` * Parsing tweaks * Expose `crate::steamapp` types * Placate clippy * Publish v2.0.0-alpha.0 * Experimental switch to iterator based api (#10) * Hack together experimental API * Get tests passing * Dont use the apps listing from `libraryfolders.vdf` * Fix windows build * Remove caching of values * Placate clippy * Custom error type (#29) * Add additional Steam search paths for Linux (#31) * Add additional Steam search paths for Linux * Fix invalid return type for locate_steam_dir * Fix formatting-related CI fail * impl std::error::Error for Error {} (#32) * Remove steamid-ng feature (keep public API stable) (#33) * Add Snap support for linux (#30) * Get things back to compiling and passing (#38) * Update dependencies (#39) * `cargo upgrade` * `cargo upgrade --incompatible` Everything seems to work fine on my machine. We'll see if CI has anything to say otherwise. We should really beef up our test suite too, but now I'm rambling * Switch tests to run in isolated dummy steam installations (#40) * Switch tests to run in isolated dummy steam installations * Placate clippy * Drastically simplify test helpers (#41) * Run `cargo test` in CI (#42) * Run `cargo test` in CI * `#[ignore]` a couple lingering doctests * Placate clippy (#43) * Placate clippy on more platforms (#44) * Run CI on more platforms/channels (#45) * Bundle existing CI jobs into one * Run CI on more platforms * Use `dtolnay/rust-toolchain` action * Setup CI caching * Run CI on stable and beta * Error cleanup (#46) * `ParseErrorInner` should **not** be part of the public API * `LibaryFolders` -> `LibraryFolders` * Make `Error` non-exhaustive * Add path to io error * Add path to parse error * Remove erroneous print * Fixup error for missing app installation * Unfocused polish (#47) * Refactor `StateFlags` * Restructure public api * `cargo fmt` * Rework `locate()` failures (#49) * Move unsupported OS failure to runtime * Move `locate()` behind a feature flag * Port compat tool (#50) * add method to query configured compatibility tool * Update things to better match new structure --------- Co-authored-by: Jan200101 <sentrycraft123@gmail.com> * Expose `Library::from_dir()` and `InstallDir::library_paths()` (#51) * Expose `Library::from_dir()` * Add a way to get just library paths * Another round of refactors (#52) * Rename `InstallDir` back to `SteamDir` * `FlagIter` -> `StateFlagIter` * `tests::test_helpers` -> `tests::helpers` * Conditionally ignore `shortcuts_extras` test * Provide more context on installation location failure (#53) * Prepare another alpha (#54) * Bump version to v2.0.0-alpha.1 * Make `App` plain data * Docs overhaul (#55) * Finally found an approach to doctest dependecies thats decent * Overhaul landing page * Make github syntax highlighting happy * `cargo fmt` * Overhaul all remaining existing docs * `cargo fmt` * Prepare the v2.0 beta release (#56) * `SteamDir::from_steam_dir` -> `SteamDir::from_dir` * `shortcuts_extra` is now just part of `steamlocate` * Make `app_id` name more consistent * `cargo fmt` * Update the README * Bump version to v2.0.0-beta.0 * Remove need to use `tempfile` (#57) * Remove need to use `tempfile` * Bump version to v2.0.0-beta.1 * Make `app.last_updated` actually optional (#59) * Fix wasm32 in general (#60) * Alias `lastupdated` for `last_updated` (#61) * Add failing test * Alias `last_updated` to `lastupdated` as well * Bump version to v2.0.0-beta.2 (#62) * Temporarily ignore broken test --------- Co-authored-by: Ethan Green <ethangreen.dev@gmail.com> Co-authored-by: Jan <sentrycraft123@gmail.com>
Steam exists on snap! (unsure if in an official capacity, but its packaged by Canonical).
I put the code after the generic
$HOME/.steam/steam
check, because in the small testing I did Proton was completely unusable so any other released should be preferred.