Skip to content
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

Merged
merged 1 commit into from
Aug 5, 2023

Conversation

Jan200101
Copy link
Contributor

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.

@Jan200101 Jan200101 force-pushed the PR/steam-snap branch 2 times, most recently from c1e333f to ce2e759 Compare June 28, 2023 13:02
@Jan200101
Copy link
Contributor Author

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................

@CosmicHorrorDev
Copy link
Collaborator

Thanks for the PR! I'm about to move, so I won't be getting around to reviewing till mid July at the earliest

@CosmicHorrorDev CosmicHorrorDev self-requested a review June 29, 2023 01:09
@Jan200101
Copy link
Contributor Author

No worries, this has no priority for anything.

@Jan200101
Copy link
Contributor Author

Would it be better to rebase this onto v2 instead?

@Jan200101
Copy link
Contributor Author

Bump.

Any update on this?
If needed I can give a step by step guide on how to test the functionality.

@CosmicHorrorDev
Copy link
Collaborator

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

@Jan200101 Jan200101 changed the base branch from master to dev-v2.0 August 3, 2023 20:29
@Jan200101
Copy link
Contributor Author

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"

Copy link
Collaborator

@CosmicHorrorDev CosmicHorrorDev left a 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!

@CosmicHorrorDev CosmicHorrorDev merged commit ace7fca into WilliamVenner:dev-v2.0 Aug 5, 2023
3 checks passed
CosmicHorrorDev pushed a commit to CosmicHorrorDev/steamlocate-rs that referenced this pull request Dec 30, 2023
CosmicHorrorDev added a commit that referenced this pull request Feb 25, 2024
* 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>
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.

2 participants