Giter Club home page Giter Club logo

Comments (7)

joshua-stone avatar joshua-stone commented on July 30, 2024

@Matoking As noted by @gasinvein, a Protontricks flatpak could be included in flathub, so in theory the flatpak setup guide in the README could be simplified to:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --assumeyes flathub com.valvesoftware.Steam com.valvesoftware.Steam.Utility.protontricks
echo "alias protontricks-flat='flatpak run --command=protontricks com.valvesoftware.Steam --no-runtime'" >> ~/.bashrc

I've also found the Protontricks flatpak to be easy to build once the conventions for flatpak-builder are understood.

from protontricks.

Matoking avatar Matoking commented on July 30, 2024

I'll look into this later.

I prefer to point people towards a community maintained package rather than maintaining one myself, unless it's trivial to update and test. The Flatpak manifest would have to include winetricks and other related dependencies, and those would need to be updated when needed as well.

from protontricks.

joshua-stone avatar joshua-stone commented on July 30, 2024

As far as flatpaks go, protontricks should be one of the easier ones to maintain as it doesn't depend on very many components and doesn't tie into numerous subsystems. @gasinvein also put in the upfront work setting up a builder manifest which should save a lot of effort. With the initial manifest created and tested, maintaining it shouldn't be any more involved than updating the tag number and commit hash whenever you create a new release as well as periodically checking to make sure all of the dependency versions (winetricks, p7zip, yasm, and cabextract) are recent.

Here's an example (borrowed from an earlier comment) of updating the protonworks flatpak manifest to 1.3 before building:

flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo 
flatpak install --assumeyes flathub-beta com.valvesoftware.Steam
wget https://raw.githubusercontent.com/gasinvein/flatpak-apps-staging/com.valvesoftware.Steam.Utility.protontricks/master/com.valvesoftware.Steam.Utility.protontricks.yml
wget https://raw.githubusercontent.com/gasinvein/flatpak-apps-staging/com.valvesoftware.Steam.Utility.protontricks/master/com.valvesoftware.Steam.Utility.protontricks.metainfo.xml
sed -i "4ibranch: beta\nruntime-version: beta" com.valvesoftware.Steam.Utility.protontricks.yml
sed -i "s@tag: .*@tag: \"1.3\"@; s@commit: .*@commit: 5bfe33ea8bbe0c72b7c2175dcb4c7bd4f9fc9434@" com.valvesoftware.Steam.Utility.protontricks.yml
flatpak-builder --repo=protontricks --force-clean build-dir com.valvesoftware.Steam.Utility.protontricks.yml
flatpak --user remote-add --no-gpg-verify --if-not-exists protontricks protontricks
flatpak --user --assumeyes install protontricks com.valvesoftware.Steam.Utility.protontricks
echo "alias protontricks-flat='flatpak run --command=protontricks com.valvesoftware.Steam --no-runtime'" >> ~/.bashrc

I think the end goal is to include projects like this on flathub so multiple remotes don't have to be installed, but ideally have them maintained by upstream developers.

from protontricks.

Matoking avatar Matoking commented on July 30, 2024

Thanks, I got the build manifest working and tested the environment for a bit.

Executables like ar, perl and unrar are not installed in the manifest, but winetricks either has workarounds for missing executables (ar and unrar), or the commands themselves are used so infrequently it's probably not a problem (perl is used in a single Steam-related verb, which wouldn't make sense to run since there's no need to install a Windows version of Steam inside a Proton prefix).

The new update for Steam was pushed to stable a few hours ago, so I'm guessing the manifest should build without the branch: beta and runtime-version: beta options shortly and also be eligible for submission to Flathub.

from protontricks.

gasinvein avatar gasinvein commented on July 30, 2024

@Matoking ar and unrar should be easy to add, but perl may be tricky.

the manifest should build without the branch: beta and runtime-version: beta

After flathub/com.valvesoftware.Steam#509, it should be set to stable instead of beta.

I'll push and update to the manifest. Feel free to reuse it.

from protontricks.

joshua-stone avatar joshua-stone commented on July 30, 2024

@Matoking With the latest Protontricks manifest version provided by @gasinvein, it's easier than ever to build Protontricks with extra utilities sans Perl. It's now possible to build it with the stable branch of Steam:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --assumeyes flathub com.valvesoftware.Steam org.freedesktop.Sdk//19.08
wget https://raw.githubusercontent.com/gasinvein/flatpak-apps-staging/com.valvesoftware.Steam.Utility.protontricks/master/com.valvesoftware.Steam.Utility.protontricks.yml
wget https://raw.githubusercontent.com/gasinvein/flatpak-apps-staging/com.valvesoftware.Steam.Utility.protontricks/master/com.valvesoftware.Steam.Utility.protontricks.metainfo.xml
sed -i "s@tag: .*@tag: \"1.3\"@; s@commit: .*@commit: 5bfe33ea8bbe0c72b7c2175dcb4c7bd4f9fc9434@" com.valvesoftware.Steam.Utility.protontricks.yml
flatpak-builder --repo=protontricks --force-clean build-dir com.valvesoftware.Steam.Utility.protontricks.yml
flatpak --user remote-add --no-gpg-verify --if-not-exists protontricks protontricks
flatpak --user --assumeyes install protontricks com.valvesoftware.Steam.Utility.protontricks
echo "alias protontricks-flat='flatpak run --command=protontricks com.valvesoftware.Steam --no-runtime'" >> ~/.bashrc

As for actually packaging Perl, I don't see a dedicated runtime extension or a shared module, although there are some lines for building it in io.github.Hexchat.Plugin.Perl.json. Perhaps these lines could also be used for Protontricks?

from protontricks.

Matoking avatar Matoking commented on July 30, 2024

I've submitted the app for inclusion into the Flathub repository:
flathub/flathub#1259

Thanks for the help so far. 👍

from protontricks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.